vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   Adding a New Variable (https://vborg.vbsupport.ru/showthread.php?t=157798)

Remulon 10-07-2007 10:53 PM

Firstly, thanks to all who have posted to this thread.

I have now found a much easier way to do this. So this is for the people who may want to have this feature on their board (if any).

Rather than creating a new variable in the `setting` table (which mind you would be nice and easy for non-coders to edit in the admin cp), I have simply created a plugin which hooks at global_start (thanks Dismounted), and is just one line of code.

Code:

$vboptions['bbtitle_discrete'] = "My Discrete Forum Name";

Additionally, I had to replace the variable $vboptions['bbtitle'] to with $vboptions['bbtitle_discrete'] in all of the required phrases.

--------------------------------------------------------------------------------------------------

Now here is some food for thought:

I guess, one could probably still get this to work as I previously mentioned, with a new variable in the setting table.

All you would have to do is modify the plugin to retrieve the setting from the database, before setting the variable in the plugin, so that the variable isn't "hard coded" so to speak.

Maybe like this?
(Please note: The following code is not complete, it is merely an attempt to show an idea.)

SQL Code to add the new variable:
Code:

INSERT INTO `setting` VALUES ('bbtitle_discrete', 'address', 'My Discrete Forum Name', 'vBulletin Forums', '', 15, 0, 1, 'free', 'vbulletin', '', 0);
INSERT INTO `phrase` VALUES ('', -1, 'setting_bbtitle_discrete_desc', 'vbsettings', 'A discrete name for your forum. This appears in emails etc. (Wherever $vboptions[bbtitle_discrete] appears)', 'vbulletin', '', 0, '', 0);
INSERT INTO `phrase` VALUES ('', -1, 'setting_bbtitle_discrete_title', 'vbsettings', 'Discrete Forum Name', 'vbulletin', '', 0, '', 0);


New Plugin Code:
Code:

$con = the connection resource
$qry = mysql_query("SELECT `value` FROM `setting` WHERE `varname` = 'bbtitle_discrete';", $con);
$res = mysql_get_array($qry);

$vboptions['bbtitle_discrete'] = $res['value'];


Dilmah 10-07-2007 11:44 PM

Poor coding form to use an extra query just to select that one row.

If you add it as a setting it will get pulled into the registry when the other settings do. If anything, i'd say you didn't rebuild the datastore when you ran those queries, therefore it wasn't cached and getting fetched.

Remulon 10-07-2007 11:54 PM

Hi Dilmah,

Where were you a month ago?

Not even Moderators and a Board Coordinator could answer my questions as to why the setting value was not getting fetched. :confused:

Which forced me to try and do this a different way.

This is why I have removed the setting from the table and "hard-coded" it in a plugin.

Thanks Dilmah.

As for the rest of you, maybe you could take a leaf out of Dilmah's book on how to post a real reply to a question.

Dilmah 10-07-2007 11:58 PM

It's more a matter of trying things sequentially. You had created the setting, however the way you did it was what's important.

I'd guarantee you both Paul and Dismounted at least would have arrived at the same conclusion - they were trying to answer the questions but needed more information, hence the questions about how you created the setting.

Remulon 10-08-2007 12:04 AM

Well, I thought I answered all of their questions.

It seems that you had all of the information you required to give me an answer, did you not?

Remulon 02-28-2008 11:41 PM

Hi all..

Quote:

If you add it as a setting it will get pulled into the registry when the other settings do. If anything, i'd say you didn't rebuild the datastore when you ran those queries, therefore it wasn't cached and getting fetched.
Does anyone know how I can rebuild the datastore?

Thanks.

R.

:)

zmmmzz 03-01-2008 05:12 PM

I'm also interested in an answer

Opserty 03-02-2008 05:27 PM

<a href="http://members.vbulletin.com/api/vBulletin/_includes_adminfunctions_php.html#functionbuild_op tions" target="_blank">build_options</a>

BUT!

You shouldn't be manually editing the database in the first place, if you enable debug mode on your test board and go into vBulletin Options you will find that you can create New Settings (and Setting Groups). This way vBulletin will take care of everything related to updating the datastore, adding a row to the table e.t.c. just make sure that you set a product for it and it will also be exported with the product XML.


All times are GMT. The time now is 02:12 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.01174 seconds
  • Memory Usage 1,738KB
  • 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
  • (3)bbcode_code_printable
  • (1)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (8)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
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete