Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
  #1  
Old 02-15-2008, 09:02 AM
Farcaster Farcaster is offline
 
Join Date: Dec 2005
Posts: 386
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Callback Function and $GLOBAL variable

I am writing a modification that adds a custom bbcode tag.

So, I have this that is being eval'd on the bbcode_create hook:

PHP Code:
if (!function_exists('handle_bbcode_roll'))
{

    function 
handle_bbcode_roll(&$parser$text$option)
    {

        
// MOVED FROM IF (class_exists...
        
$GLOBALS['dicehistory'] .= "$text";
        
        if (
class_exists('vB_BbCodeParser_Wysiwyg') AND is_a($parser'vB_BbCodeParser_Wysiwyg'))
        {
            return 
$text;
        } else {
            
            
            return 
"<div><span class=\"die_description\">* $text *</span></div>";        
        }          
    }
}

$this->tag_list['option']['roll'] = array(
        
'callback' => 'handle_external',
        
'strip_empty' => false,
        
'stop_parse' => true,
        
'disable_smilies' => true,
        
'disable_wordwrap' => true,
        
'strip_space_after' => 1,
        
'external_callback' => 'handle_bbcode_roll'
    
); 
Later in the postdata_presave, I am trying to access this $GLOBALS['dicehistory'], and I am getting nothing at all. It seems that I cannot access the global array from within the callback function. Can anyone tell me why this is and how I can pass something back to be accessed during postdata_presave? (Forget that this particular example is pretty meaningless.. I do have a reason for wanting to do this)
Reply With Quote
  #2  
Old 02-15-2008, 09:08 AM
Marco van Herwaarden Marco van Herwaarden is offline
 
Join Date: Jul 2004
Posts: 25,415
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Okay let's take this step by step.

First are you sure that this part of the code is executed, or does it only execute the first part of the if (ie. have a valid 'vB_BbCodeParser_Wysiwyg')
Reply With Quote
  #3  
Old 02-15-2008, 03:55 PM
Farcaster Farcaster is offline
 
Join Date: Dec 2005
Posts: 386
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

It was parsing the tag as I expected, but just to test, I moved the $GLOBALS['dicehistory'] outside of the IF statement (modified PHP above to reflect). It had no effect. The variable is still empty when I try to access it either in the postdata_presave or even bbcode_parse_complete.

And thank you for trying to help! I appreciate it.
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 10:20 PM.


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.06096 seconds
  • Memory Usage 2,176KB
  • Queries Executed 11 (?)
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
  • (1)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (3)post_thanks_box
  • (3)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (3)post_thanks_postbit_info
  • (3)postbit
  • (3)postbit_onlinestatus
  • (3)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_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