Hi,
I'm not a professionnal coder, but with permission from the original author, I have modify
this code (
Display ban reason on error page) to fit my needs (
Show time remaining for a temporary ban on forum home).
Everythings work great, but i'm really not sure about the memory saving tag: unset(). Must we put every variable that we have created (and don't need to show) in this???
Here's my code:
PHP Code:
if ($bbuserinfo[usergroupid] == 26) {
$fnbanneduserid = $bbuserinfo['userid'];
$fnbanneduser=$DB_site->query_first("SELECT bandate, liftdate FROM userban WHERE userid = $fnbanneduserid");
if ($fnbanneduser['liftdate'] == 0)
{
$fnbanneduser['banperiod'] = '<b>forever</b>';
$fnbanneduser['banlift'] = '<b>never</b>';
$fnbanneduser['banremaining'] = '<b>a long period of time</b>';
}
else
{
$fnbanneduser['banlift'] = vbdate("$vboptions[dateformat], ~$vboptions[timeformat]", $fnbanneduser['liftdate']);
$fnbanneduser['banperiod'] = ceil(($fnbanneduser['liftdate'] - $fnbanneduser['bandate']) / 86400);
if ($fnbanneduser['banperiod'] == 1)
{
$fnbanneduser['banperiod'] .= " day";
}
else
{
$fnbanneduser['banperiod'] .= " days";
}
$remain = $fnbanneduser['liftdate'] - TIMENOW;
$remain_days = floor($remain / 86400);
$remain_hours = ceil(($remain - ($remain_days * 86400)) / 3600);
if ($remain_hours == 24)
{
$remain_days += 1;
$remain_hours = 0;
}
if ($remain_days < 0)
{
$user['banremaining'] = "less than an hour";
}
else
{
if ($remain_days == 1)
{
$day_word = 'day';
}
else
{
$day_word = 'days';
}
if ($remain_hours == 1)
{
$hour_word = 'hour';
}
else
{
$hour_word = 'hours';
}
$fnbanneduser['banremaining'] = "$remain_days $day_word, $remain_hours $hour_word";
}
}
if ($fnbanneduser['bandate']) {
$fnbanneduser['bandate'] = vbdate($vboptions['dateformat'], $fnbanneduser['bandate']);
} else {
$fnbanneduser['bandate'] = 'N/D';
}
$fnbannedtext = "Looks like you broke one or more rules. You were banned on $user[bandate] for $fnbanneduser[banperiod].<BR><BR>The ban will be automatically lifted $fnbanneduser[banlift].<br><br>There is currently <b>$fnbanneduser[banremaining]</b> remaining.<br><br>After your ban time expires you will once again be able to access the forum.<br><br>If you have any questions as to why you were banned, feel free to PM or email the staff.<br><br>";
unset($fnbanneduserid, $fnbanneduser, $remain, $remain_days, $remain_hours, $day_word, $hour_word );
}
You can see that I have unset every variables:
PHP Code:
unset($fnbanneduserid, $fnbanneduser, $remain, $remain_days, $remain_hours, $day_word, $hour_word );
Is this ok???
Thank you very much!!!
(Note: With the original author permission, when this question will be answered, I will probably release this as a hack. I have see many request for something like that...)