Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
  #1  
Old 06-18-2015, 07:39 PM
Wedframe Wedframe is offline
 
Join Date: Mar 2013
Posts: 48
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default ajax requests for postbit

Hello! I try to make custom plugin, and try to figure out, how I can use ajax requests for suitable changes in post content.
On hook bbcode_create:
PHP Code:
/// Get code HTML 
global $vbulletin$post

if (!
function_exists ('handle_geshi_code')) 

  function 
handle_geshi_code($code$lang
  { 
    require_once(
DIR '/geshi.php'); 
    
$codefind1 = array('<br>','<br />'); 
    
$codereplace1 = array('',''); 
    
$codefind2 = array('&gt;','&lt;','&quot;','&amp;','[',']',); 
    
$codereplace2 = array('>','<','"','&','[',']',); 
    
$code rtrim(str_replace($codefind1$codereplace1$code)); 
    
$code str_replace($codefind2$codereplace2$code); 
    
$geshi = new GeSHi($code$lang); 
    
$geshi->set_overall_style('font-size: 12px'); 
    
$geshi->enable_line_numbers(GESHI_NORMAL_LINE_NUMBERS); 
    
$code $geshi->parse_code(); 
    
$code preg_replace('/&amp;#([0-9]+);/''&#$1;'$code); 
    
$code str_replace(array('['']'), array('['']'), $code); 
    return 
$code
  } 


if (
$this->is_wysiwyg())  
  {  
        
$this->unparsed_tags = array( 
        
'phps',
        
'ahk',
    
'au3',
    
'avs',
        
'diff',
        
'xml'
  
); 
  } 
and on bbcode_fetch_tags
PHP Code:
$tag_list['no_option']['phps'] = array ( 
    
'callback' => 'handle_external'
    
'external_callback' => 'handle_geshi_php'
    
'disable_wordwrap' => true,   
    
'strip_empty' => true  
); 

if (!
function_exists ('handle_geshi_php')) 

  function 
handle_geshi_php(&$theobj, &$value, &$option
  { 
    
$code handle_geshi_code($value,'php'); 
    return 
'<div class="bbcode_container"><div id="geshipars"><script type="text/javascript" src="/geshi/scripts/geshi.js"><span onclick="return myfn(' $post['postid'] . ');">Click</span></a></div><div style="max-height: 300px;" class="bbcode_code">'.$code.'</div></div>'
  } 

with js:
Code:
function myfn(postid)
{
    var sUrl = 'ajax_geshi.php';
}
but in debugger I have:
postid = undefined
--------------------------------------
So... whats right syntax for this operation?
And next... how I can resolve bbcode-parsed text from current post?
Thanks!
Reply With Quote
  #2  
Old 06-21-2015, 10:07 PM
Wedframe Wedframe is offline
 
Join Date: Mar 2013
Posts: 48
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Please.... I dont ask to many((((
I`m just need to know right syntax to properly receive a postid in javascript.
Maybe at least someone tell in which files of vB, I can see similar operation?
Reply With Quote
  #3  
Old 06-23-2015, 04:21 PM
Scanu's Avatar
Scanu Scanu is offline
 
Join Date: Nov 2010
Posts: 829
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Seems like $post['postid'] is not defined yet on that hook, you can try $post['id'] or something like that but it could be more complex. Usually when I have this type of problems I search the file containing the hook bbcode_fetch_tags and see what's going on there. You may find there some variables containing the post id
Reply With Quote
2 благодарности(ей) от:
taravasya, Wedframe
  #4  
Old 06-24-2015, 02:12 PM
Wedframe Wedframe is offline
 
Join Date: Mar 2013
Posts: 48
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks, Andrea!
Your right.

I found how to define postid on any hooks)))
PHP Code:
global $vbulletin$post
$vbulletin->input->clean_gpc('r''postid'TYPE_UINT); 
And then I need it, I use:
PHP Code:
intval($vbulletin->GPC['postid']); 
At least it worked during tests...

How you think its good idea, or may be better found another way?
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 05:16 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.07913 seconds
  • Memory Usage 2,208KB
  • 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_code
  • (4)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
  • (2)post_thanks_box_bit
  • (4)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (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_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
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete