Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
  #1  
Old 12-23-2006, 05:02 AM
Michael Morris's Avatar
Michael Morris Michael Morris is offline
 
Join Date: Nov 2003
Location: Knoxville TN
Posts: 774
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default $_SESSION issues

Have some problems with the following code.

PHP Code:
if ($dialogmessage)
{
    if ((
$vbulletin->session->vars['dialog_display_time'] + 1200) < TIMENOW)
    {
        
$dialogid 'greeting';
        eval(
'$dialogs .= "' fetch_template('dialog') . '";');
        
$dialoglauncher "dialogLaunch('dialog_$dialogid');";
        
$vbulletin->session->vars['dialog_display_time'] = TIMENOW;
    }
    else if (
$vbulletin->options['sysannounce_global'] && (($vbulletin->session->vars['dialog_global_display_time'] + 1200) < TIMENOW))
    {
        
$dialogid 'greeting';
        eval(
'$dialogs .= "' fetch_template('dialog') . '";');
        
$dialoglauncher "dialogLaunch('dialog_$dialogid');";
        
$vbulletin->session->vars['dialog_global_display_time'] = TIMENOW;  
    }

I tried writing directly to $_SESSION but vbulletin apparently erases the contents of that var as a security precaution. I tried using

$vbulletin->session->vars['session_url']['dialog_global_display_time']

and that screwed things up. I'm at a loss here, I don't want to store this information on the user table but it's starting to look like I might have to for lack of a better way to carry this over

(For those wondering, the code launches an interstatial pop-up at session start with forum announcements or private messages. I don't want that interstatial launching once it's been seen. I'd like once per browser session but I'll settle for once per hour. The code is broken down slightly because I have a global announcement I use to warn users that I'm about to shut the boards down).
Reply With Quote
  #2  
Old 12-23-2006, 06:06 AM
Adrian Schneider's Avatar
Adrian Schneider Adrian Schneider is offline
 
Join Date: Jul 2004
Posts: 2,528
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

How are you storing it?

IIRC, the session array is for things from the session table, so if you are setting it via cookie you should use something like this,

PHP Code:
$dialogDisplayTime $vbulletin->input->clean_gpc('c''dialog_display_time'TYPE_UINT); 
Then access it via $dialogDisplayTime or $vbulletin->GPC['dialog_display_time']

(to set the cookie, use...)
PHP Code:
function vbsetcookie($name$value ''$permanent true$allowsecure true$httponly false
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 01:43 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.04754 seconds
  • Memory Usage 2,175KB
  • 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
  • (3)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (2)post_thanks_box
  • (2)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (2)post_thanks_postbit_info
  • (2)postbit
  • (2)postbit_onlinestatus
  • (2)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