vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3 Articles (https://vborg.vbsupport.ru/forumdisplay.php?f=187)
-   -   Variable's For Beginners (https://vborg.vbsupport.ru/showthread.php?t=119116)

melefire 06-19-2006 10:00 PM

Variable's For Beginners
 
I hope that no one already wrote this.
Copyright 2006 MeleFire, You may not move this article from vBulletin.org

Description:
When writing hacks you may somtimes use the 'vBulletin Options' system, this system allows you to easily add your own options page for your hack. It also gives you variables that look like:
Code:

$vbulletin->options[optionname]
Those variables are good for conditional statments but if in the admincp your option requires the admin to enter text(not just yes or no) and then you attempt to put that variable inside a template so the text the admin entered will come up you will get the words:
Code:

Array[optionname]
So basically that dosn't work at all.

How to Fix the Problem:
Fixing the problem is not very hard. But you will need to have complete accses to the PHP page that calls the template. If you do not have a PHP page or a template visit this article, it tells how to make a custom vBulletin PHP/Template page.

Now you must open up your PHP page and find this code:*
Code:

$navbits[$parent] =
Add under:
Code:

$myvariable = $vbulletin->options[youroptionname]
Remember to replace myvariable with whatever you want your variable to be called and to replace youroptionname with what ever your option is called.
*If you did not find the first code you may just place the second code any where after the 'START MAIN SCRIPT'.

FAQ:
Q: Where is my option name?

A: On your options page for your hack(in DEBUG mode) click edit find varname: This is your option name.
http://img210.imageshack.us/img210/5...name5rl.th.jpg

Q: What version of vBulletin will this work for?

A: 3.5.0 - 3.6 Beta 2, but only 3.5.4 and 3.6 Beta 2 have been heavily tested.

----------
I hope this helped, please give me feedback!:classic:

Zachery 06-20-2006 10:15 AM

Well, in the tempates you need to use $vboptions[foo] instead of $vbulletin->options[foo]. If you want to use $vbulletin->options[foo] in templates you need to use {$vbulletin-options['foo']} and all is well. The former ($vboptions[foo]) would be prefered in the templates for easy reading as well as figuring out where they come from.

melefire 06-20-2006 10:19 AM

opps oh well, this way works too though

Zachery 06-20-2006 10:28 AM

I wanted to confirm some things before I posted more, so from marco and alan-cit from irc.

You should really refrence varibles instead of copying them.

$myvarible =& $vbulletin->options['foo'];

Since we just want to reassign it an easier to remember name, and since this I assume would be used just for an easier to read option, it will save on memory. If we needed to change $myvarible for some reason, like +1 we would change the original as well, in which case we would want to copy it


All times are GMT. The time now is 07:50 PM.

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.01260 seconds
  • Memory Usage 1,717KB
  • 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
  • (4)bbcode_code_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (4)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