Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions

Reply
 
Thread Tools Display Modes
  #11  
Old 07-15-2009, 10:39 AM
Gargi Gargi is offline
 
Join Date: May 2008
Posts: 49
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

php basics, I see

Thanks for that hint! Also works with the if / else and so on.

PHP Code:
$tag_list['option']['count'] = array(  
    
'callback' => 'handle_external'
    
'external_callback' => 'handle_bbcode_count_callback',  
    
'strip_empty' => true  
);  
   
if(!
function_exists('handle_bbcode_count_callback'))  
{  
    function 
handle_bbcode_count_callback(&$parsed$value$option)  
    {  
                if ( 
$option )
                  {
                  
$result $option;         
                  return 
"Hello this is ".$value.",<br />my number is ".$result;
                  }
                  else 
                 {
                  
$result $option;         
                  return 
"Hello this is ".$value.",<br />my number is ".$result;
                  }
     }  



Now I just have to find out how to use otpion and no_option in order to get two different outputs.

cu
Gargi
Reply With Quote
  #12  
Old 07-15-2009, 10:47 AM
Dismounted's Avatar
Dismounted Dismounted is offline
 
Join Date: Jun 2005
Location: Melbourne, Australia
Posts: 15,047
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Gargi View Post
Now I just have to find out how to use otpion and no_option in order to get two different outputs.
Just use two different functions.
Reply With Quote
  #13  
Old 07-15-2009, 11:14 AM
Gargi Gargi is offline
 
Join Date: May 2008
Posts: 49
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Jeppa. That did the trick:

PHP Code:
$tag_list['option']['trace'] = array(  
    
'callback' => 'handle_external'
    
'external_callback' => 'handle_bbcode_trace_callback',  
    
'strip_empty' => true  
);

$tag_list['no_option']['trace'] = array(  
    
'callback' => 'handle_external'
    
'external_callback' => 'handle_bbcode_trace_callback2',  
    
'strip_empty' => true  
);  
   
if(!
function_exists('handle_bbcode_trace_callback'))  
{  
    function 
handle_bbcode_trace_callback(&$parsed$value$option)  
    {  
     if ( 
$option )
     {
     
$result $option;         
     return 
"Hello this is ".$value.",<br />my number is ".$result;
     }
     else 
     {
     
$result $option;         
     return 
"Hello this is ".$value.",<br />my number is ".$result;
     }
    }  
}

if(!
function_exists('handle_bbcode_trace_callback2'))  
{  
    function 
handle_bbcode_trace_callback2(&$parsed$value$option)  
    {  
    return 
"Hello this is ".$value."!"
    }  

From here all gates are open now Thanks for your help!

cu
Gargi
Reply With Quote
  #14  
Old 07-16-2009, 10:13 PM
Gargi Gargi is offline
 
Join Date: May 2008
Posts: 49
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Nice thing is, that this way I'm able to use multiple options devided maybe by a ";" .

[tag="opt1;opt2"]value[/tag]

PHP Code:
$tag_list['option']['XYZ'] = array(   
    
'callback' => 'handle_external',  
    
'external_callback' => 'handle_bbcode_XYZ_callback',   
    
'strip_empty' => true   
);   
if(!
function_exists('handle_bbcode_XYZ_callback'))   
{  
    function 
handle_bbcode_XYZ_callback(&$parsed$value$option)   
    {   
      
     
$split explode(";"$option);
     return 
$split[0]."<br />".$split[1];
     }

Very handy if you need some more variables for a function.

cu
Gargi
Reply With Quote
  #15  
Old 07-17-2009, 02:01 AM
1Unreal 1Unreal is offline
 
Join Date: Jul 2008
Location: London
Posts: 372
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Someone should write a tutorial on this, it was really hard to work out how to do it the first time.
Reply With Quote
  #16  
Old 07-19-2009, 06:12 PM
Gargi Gargi is offline
 
Join Date: May 2008
Posts: 49
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by 1Unreal View Post
Someone should write a tutorial on this, it was really hard to work out how to do it the first time.
Since english is not my mothertongue it will be hard work to write an english tutorial. But I'll trie it and will post it here. But give me some extra time to do it

cu
Gargi
Reply With Quote
  #17  
Old 08-04-2009, 11:09 AM
Jhonnyf's Avatar
Jhonnyf Jhonnyf is offline
 
Join Date: Nov 2007
Location: In my mind
Posts: 196
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Work fine, but, How about Switch Standard and Avanced editor? o Preview Message.. this is Parsed but not restore to BBCODE original form
Reply With Quote
  #18  
Old 08-04-2009, 12:51 PM
ragtek ragtek is offline
 
Join Date: Mar 2006
Location: austria, croatia
Posts: 1,630
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I think you would also need a plugin at bbcode_create hook
PHP Code:
if ($this->is_wysiwyg())
{
    
$this->unparsed_tags[] = 'xyz';

xyz = your tag
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:20 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.04345 seconds
  • Memory Usage 2,258KB
  • 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
  • (4)bbcode_php
  • (2)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (8)post_thanks_box
  • (8)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (8)post_thanks_postbit_info
  • (8)postbit
  • (8)postbit_onlinestatus
  • (8)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
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete