Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 General Discussions
  #1  
Old 07-21-2005, 01:19 PM
RaZor Edge's Avatar
RaZor Edge RaZor Edge is offline
 
Join Date: Jan 2002
Location: Quebec city
Posts: 70
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Question about unset()

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...)
Reply With Quote
  #2  
Old 07-21-2005, 01:21 PM
Xenon's Avatar
Xenon Xenon is offline
 
Join Date: Oct 2001
Location: Bavaria
Posts: 12,878
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

you don't have to unset every variable, as at the end of the script this will be done automatically.

just if you ahve very big arrays you won't use anymore you should do the unset to save memory
Reply With Quote
  #3  
Old 07-21-2005, 01:31 PM
RaZor Edge's Avatar
RaZor Edge RaZor Edge is offline
 
Join Date: Jan 2002
Location: Quebec city
Posts: 70
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Great!

So, I think I will only unset $fnbanneduser (related to my query).

Thank you very much for your fast answer!
Reply With Quote
  #4  
Old 07-21-2005, 01:33 PM
Xenon's Avatar
Xenon Xenon is offline
 
Join Date: Oct 2001
Location: Bavaria
Posts: 12,878
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

yep

you're welcome
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 03:22 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.03761 seconds
  • Memory Usage 2,228KB
  • Queries Executed 13 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (2)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (4)post_thanks_box
  • (4)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (4)post_thanks_postbit_info
  • (4)postbit
  • (4)postbit_onlinestatus
  • (4)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete