vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   Need help getting setting value in postbit_display_start hook? (https://vborg.vbsupport.ru/showthread.php?t=190846)

Quarterbore 09-13-2008 09:24 PM

Need help getting setting value in postbit_display_start hook?
 
I have an issue that impacts vBulletin 3.7.3 which does not seem to impact 3.6.11 that has me stumped.

Specifically, I want to use a setting in an add-on product in a vBulletin template hook. The template hook I am working with is the postbit and postbit legacy and here are the specific details:


Plugin off hook: postbit_display_start

When I add the following code in 3.7.3:

PHP Code:

echo 'System Testing in Process!<br />';
echo 
'$vbulletin->options[bbactive] = ' $vbulletin->options[bbactive] . ' <br />';
exit(); 

I get the following:

Quote:

System Testing in Process!
$vbulletin->options[bbactive] =
Now, I think that is the proper way to get a variable and it works in 3.6.11 as in that version I get the obviously correct anwser of:

Quote:

System Testing in Process!
$vbulletin->options[bbactive] = 1
Is there something in vBulletin 3.7 that makes it necessary to globalize settings that they are available for the templates?

Obviously, my variable I want to use is a configuration option for "Show this in PostBit and PostBit Legacy" but literally no variables seem to be working?

It worked in a previous version of vBulletin 3.7 (I think I had it in 3.7.1 and it worked) but not in the current version and I am stumped!

Guest190829 09-13-2008 11:16 PM

Make sure the $vbulletin variable is a valid registry object...it could be possible that you are in a class (making the correct variable $this->registry instead of $vbulletin). Also, you should be using quotes around string array indexes.

Eg:

PHP Code:

$vbulletin->options['bbactive'


Quarterbore 09-14-2008 01:27 AM

Quote:

Originally Posted by Danny.VBT (Post 1621559)
Make sure the $vbulletin variable is a valid registry object...it could be possible that you are in a class (making the correct variable $this->registry instead of $vbulletin). Also, you should be using quotes around string array indexes.

Eg:

PHP Code:

$this->registry->options['bbactive'



Thanks! I did try both with and without the single string in my frustration...

So, I was supposed to be using the $this->registry instead as my new test code:

PHP Code:

echo 'System Testing in Process!<br />';
echo 
'$vbulletin->options[bbactive] = ' $vbulletin->options['bbactive'] . ' <br />';
echo 
'$this->registry->options[bbactive] = ' $this->registry->options[bbactive] . ' <br />'

Outputs like this:

Quote:

System Testing in Process!
$vbulletin->options[bbactive] =
$this->registry->options[bbactive] = 1
This is going to get complicated to cde so that this will work in both 3.6.x and 3.7.x. if they will require both setups but obviously it can be coded like:

PHP Code:

if($vbulletin->options['bbactive'] OR $this->registry->options['bbactive']{
     echo 
'Yo Dummy, your forums are on!';



Thanks for the help as I was really stumped!

Opserty 09-14-2008 09:30 AM

postbit_display_start is executed within a class so $this->registry should/will work on both versions...

Quarterbore 09-14-2008 10:55 PM

Quote:

Originally Posted by Opserty (Post 1621823)
postbit_display_start is executed within a class so $this->registry should/will work on both versions...

You are correct! I did test that so I could have one version of code and it did work in 3.6.11 and 3.7.3!


All times are GMT. The time now is 09:03 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.01243 seconds
  • Memory Usage 1,734KB
  • 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
  • (5)bbcode_php_printable
  • (5)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (5)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