vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   $_SESSION issues (https://vborg.vbsupport.ru/showthread.php?t=134634)

Michael Morris 12-23-2006 05:02 AM

$_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).

Adrian Schneider 12-23-2006 06:06 AM

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



All times are GMT. The time now is 04:42 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01000 seconds
  • Memory Usage 1,722KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (3)bbcode_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (2)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete