Quote:In Recent we loop through $message again with a for/next loop but now with $i as counter variable.
No... I not about this...
I insert code for check here...
for ($i = 0; $i < @data; $i++) {
($mtime, $curboard, $tnum, $treplies) = split(/\|/, $data[$i]);
fopen(REC_THRETXT, "$datadir/$tnum.txt") || next;
while (<REC_THRETXT>) { $message = $_; }
# get only the last post for this thread.
fclose(REC_THRETXT);
chomp $message;
if ($message) {
($msub, $mname, $memail, $mdate, $musername, $micon, $mattach, $mip, $message, $mns) = split(/\|/, $message);
$messages[$numfound] = "$curboard|$tnum|$treplies|$msub|$mname|$mdate|$musername";
$numfound++;
}
if ($numfound == $display) { last; }
}
After insert...
for ($i = 0; $i < @data; $i++) {
($mtime, $curboard, $tnum, $treplies) = split(/\|/, $data[$i]);
fopen(REC_THRETXT, "$datadir/$tnum.txt") || next;
while (<REC_THRETXT>) { $message = $_; }
# get only the last post for this thread.
fclose(REC_THRETXT);
chomp $message;
if ($message) {
($msub, $mname, $memail, $mdate, $musername, $micon, $mattach, $mip, $message, $mns) = split(/\|/, $message);
$readlevel = 0;
if ($message =~ /^\[admin only\]/) { $readlevel = 5; }
elsif ($message =~ /^\[gmod only\]/) { $readlevel = 4; }
elsif ($message =~ /^\[mod only\]/) { $readlevel = 3; }
elsif ($message =~ /^\[member only\]/){ $readlevel = 1; }
else { $readlevel = 0; }
if (($iamguest && $readlevel > 0) || (!$iamguest && !$iammod && !$iamgmod && !$iamadmin && $readlevel > 2) || (($iammod && !$iamadmin) && $readlevel > 3) || ($iamgmod && $readlevel > 4)){
next;
}
$messages[$numfound] = "$curboard|$tnum|$treplies|$msub|$mname|$mdate|$musername";
$numfound++;
}
if ($numfound == $display) { last; }
}
And for user forum print last 10 messages, and not confused he... if on forum last 5 messages posting with flag GMod only...
I make this on my forum...