vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB4 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=252)
-   -   Help. Where I can hook to show different post text depending on user ID? (https://vborg.vbsupport.ru/showthread.php?t=261184)

cheaton 03-30-2011 11:36 AM

Help. Where I can hook to show different post text depending on user ID?
 
Please help me to solve my problem ...

I am writing a script that handles my own bbtag ([test_results] for example) in messages that are visible to all users. But I can't find right place to analyze can user view text plased inside tag ...?

This is a handler for [test_results]xxx[/test_results] tag, I am setting this hook on bbcode_create

PHP Code:

if (function_exists("handle_testResults") == false

  function 
handle_testResults(&$parser$param
  { 
   global 
$vbulletin

if (
$vbulletin->userinfo['userid'] == 2)
{
return 
"HERE TEXT WICH THIS USER CAN VIEW";
}
else
{
return 
"YOU CANNOT VIEW THIS MESSAGE!";

  } 

  
$this->tag_list['no_option']['test_results']['callback'] = 'handle_external'
  
$this->tag_list['no_option']['test_results']['external_callback'] = 'handle_testResults'


But this way doesn't change message for guests for example, it show "HERE TEXT WICH THIS USER CAN VIEW" for all users.

Help me to find right plase for this code, so I can show custom text for some users or groups, and other users. Also where I can plase same code, to prevent users to view this text if user will click "Answer with quotation" button in reply text...

Sorry for my bad english and thanks for your help...

Lynne 03-30-2011 01:49 PM

If you are in debug mode, then you get a list of the hooks the page goes through on the bottom of the page. I'd try a few of the hook locations around where the postbit_display_* hooks are:
Code:

showthread_query
bbcode_fetch_tags
bbcode_create
showthread_postbit_create
postbit_factory
postbit_display_start
reputation_image
bbcode_parse_start
postbit_imicons
postbit_display_complete


cheaton 03-30-2011 02:27 PM

Quote:

Originally Posted by Lynne (Post 2179101)
If you are in debug mode, then you get a list of the hooks the page goes through on the bottom of the page. I'd try a few of the hook locations around where the postbit_display_* hooks are:

Thank you for your advice. Looks like I've set hooks right before, looks like my problem in appears, because this code doesn't work

if (function_exists("handle_testResults") == false)
{
function handle_testResults(&$parser, $param)
{
global $post, $vbulletin;


echo "111111111111111111111111111111";
return "222222222222222222222222";
}
}

$this->tag_list['no_option']['test_results']['callback'] = 'handle_external';
$this->tag_list['no_option']['test_results']['external_callback'] = 'handle_testResults';

I think here I am using incorrect call to my function, wich must return "222222222222222222222222" instead text inside tag...

Actualy bbcode_create works, but it display same result for all users...:-( How I can process post only if it have [test_results] tag for each user with his own result? Just I don't want to parse all messages in thread, I am trying to make code, wich will work only with messages with custom tag. Thanks.


All times are GMT. The time now is 08:28 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.01068 seconds
  • Memory Usage 1,731KB
  • 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
  • (1)bbcode_code_printable
  • (1)bbcode_php_printable
  • (1)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (3)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