Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 09-14-2007, 03:22 AM
Remulon Remulon is offline
 
Join Date: Sep 2007
Location: Australia
Posts: 26
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Adding a New Variable

Hi All,

I am trying to add a new variable to my vBulletin installation.

My vBulletin deals with sensitive content, and I require that the Forum Name sent in various emails, to be different to the actual Forum Name.
In other words, I need to mask the $vboptions[bbtitle] variable in certain places.

What I have done is changed $vboptions[bbtitle] to $vboptions[bbtitle_discrete] in the required phrases and then basically I have created a new record in the `setting` table for the $vboptions[bbtitle_discrete] variable.

This variable can now be edited in the adminCP, but the discrete forum name saved in this variable does not show up in the emails, or anywhere else for that matter.

I'm not sure if this is the correct way to go about it, but that is what I have so far.

Can anyone help me out, or suggest another way to do this?

Thanks in advance.

Remo
Reply With Quote
  #2  
Old 09-14-2007, 04:13 AM
Eikinskjaldi's Avatar
Eikinskjaldi Eikinskjaldi is offline
 
Join Date: Feb 2006
Location: Hell, never looked better
Posts: 572
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Your code has to know that it is supposed to use the new variable.

You will need to edit the code and templates which display the name, and swap the variable over.

Since its only emails you care about I'd concentrate on includes/functions_digest.php to start with
Reply With Quote
  #3  
Old 09-14-2007, 04:54 AM
Remulon Remulon is offline
 
Join Date: Sep 2007
Location: Australia
Posts: 26
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks Eikinskjaldi, I'm not sure if I'm on the right track though.

Like I said, I have replaced the variable in all of the phrases that I require and I have created the new variable in the `setting` table.

I checked out the "includes/functions_digest.php" file and it does not look to have any relevance to my problem.

It does not deal with pulling values from the setting table, it actually looks to pull stuff mainly dealing with threads and posts.

Please advise if I am missing something?
Reply With Quote
  #4  
Old 09-16-2007, 10:20 PM
Remulon Remulon is offline
 
Join Date: Sep 2007
Location: Australia
Posts: 26
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Can Anyone else offer any assistance on this?

Surely it can't be that difficult?

Thanks.

Remo
Reply With Quote
  #5  
Old 09-17-2007, 12:38 AM
Eikinskjaldi's Avatar
Eikinskjaldi Eikinskjaldi is offline
 
Join Date: Feb 2006
Location: Hell, never looked better
Posts: 572
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I guess it depends on what you mean by "various emails", I assumed you were using the builtin digest system.

Can you give more information on exactly where and when the new phrase is supposed to be seen.

A quick grep of the code shows 42 locations where bbtitle is used...sure you got them all?
Reply With Quote
  #6  
Old 09-17-2007, 04:01 AM
Remulon Remulon is offline
 
Join Date: Sep 2007
Location: Australia
Posts: 26
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks for your reply Eikinskjaldi.

Below is the list of phrases that I have edited to contain the variable $vboptions[bbtitle_discrete] in place of $vboptions[bbtitle].

Email Subject Text Phrases Containing 'bbtitle_discrete':
- accountlocked
- activateaccount_change
- contactus
- infraction_received
- lostpw
- moderation_deleted
- moderation_validated
- newuser
- parentcoppa_profile
- parentcoppa_register
- payment_received
- payment_reversed
- pmboxalmostfull
- pmboxfull
- pmreceived
- reportbadpost_discuss
- reportbadpost_nodiscuss
- resetpw
- warning_received

Email Body Text Phrases Containing 'bbtitle_discrete':
- accountlocked
- activateaccount
- activateaccount_change
- birthday
- contactus
- digestforum
- digestthread
- infraction_received_post
- infraction_received_profile
- lostpw
- moderation_deleted
- moderation_validated
- moderator
- newevent
- newuser
- notify
- paidsubscription_reminder
- parentcoppa_profile
- parentcoppa_register
- payment_received
- payment_reversed
- pmboxalmostfull
- pmboxfull
- pmreceived
- reminder
- resetpw
- sendtofriend
- usermessage
- warning_received_post
- warning_received_profile

Where is it that the variable $vboptions[bbtitle] is set in the code?
Does it have something to do with the $registry variable?

I am assuming that it is pulled out of the Database, set once, and then it is available to all scripts, similar to a type of global variable.

If I could find out how 'bbtitle' is declared so that it is available in all of these phrases, I could declare 'bbtitle_discrete' in a similar manner.

Thanks

Remo
Reply With Quote
  #7  
Old 09-17-2007, 05:03 AM
Dismounted's Avatar
Dismounted Dismounted is offline
 
Join Date: Jun 2005
Location: Melbourne, Australia
Posts: 15,047
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

$vbulletin->options['bbtitle'] is used in files.
Reply With Quote
  #8  
Old 09-17-2007, 05:19 AM
Remulon Remulon is offline
 
Join Date: Sep 2007
Location: Australia
Posts: 26
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Great, thanks Dismounted.

What I need to know now is where that variable is assigned its value, once the value has been retrieved from the database.

This is so that I can use the variable that I have added to the setting table in the same manner..

ie: $vbulletin->options['bbtitle_discrete']
Reply With Quote
  #9  
Old 09-17-2007, 07:50 AM
Eikinskjaldi's Avatar
Eikinskjaldi Eikinskjaldi is offline
 
Join Date: Feb 2006
Location: Hell, never looked better
Posts: 572
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Remulon View Post
Great, thanks Dismounted.

What I need to know now is where that variable is assigned its value, once the value has been retrieved from the database.

This is so that I can use the variable that I have added to the setting table in the same manner..

ie: $vbulletin->options['bbtitle_discrete']
At a guess the setting is in a loop of data from the db, like
while name=>value
option[name] = value


I don't know where that would be.

Here's a grep of all the include files that reference it, hope it helps

adminfunctions.php:124: <b><a href="../<?php echo $vbulletin->options['forumhome']; ?>.php"><?php echo $vbulletin->options['bbtitle']; ?></a></b><br />
adminfunctions.php:260: case 'AdminCP': $titlestring = iif($title, "$title - ") . $vbulletin->options['bbtitle'] . " - vBulletin $vbphrase[admin_control_panel]"; break;
adminfunctions.php:261: case 'ModCP': $titlestring = iif($title, "$title - ") . $vbulletin->options['bbtitle'] . " - vBulletin $vbphrase[moderator_control_panel]"; break;
adminfunctions.php:262: case 'Upgrade': $titlestring = iif($title, "vBulletin $title - ") . $vbulletin->options['bbtitle']; break;
adminfunctions.php:263: case 'Install': $titlestring = iif($title, "vBulletin $title - ") . $vbulletin->options['bbtitle']; break;
adminfunctions.php:264: default: $titlestring = iif($title, "$title - ") . $vbulletin->options['bbtitle'];
class_bbcode.php:2331: 'html' => '<a href="' . $prepend_path . 'showthread.php?' . $vbulletin->session->vars['sessionurl'] . 't=%2$s" title="' . htmlspecialchars_uni($vbulletin->options['bbtitle']) . ' - ' . $vbphrase['thread'] . ' %2$s">%1$s</a>',
class_bbcode.php:2345: 'html' => '<a href="' . $prepend_path . 'showthread.php?' . $vbulletin->session->vars['sessionurl'] . 'p=%2$s#post%2$s" title="' . htmlspecialchars_uni($vbulletin->options['bbtitle']) . ' - ' . $vbphrase['post'] . ' %2$s">%1$s</a>',
class_mail.php:196: $mailfromname = construct_phrase($this->fetch_first_line($vbphrase['x_mailer']), $vbulletin->options['bbtitle']);
class_mail.php:200: $mailfromname = $vbulletin->options['bbtitle'];
class_mail.php:218: $mailfromname = "$username @ " . $vbulletin->options['bbtitle'];
functions_online.php:214: $userinfo['where'] = '<a href="' . $vbulletin->options['forumhome'] . '.php' . $vbulletin->session->vars['sessionurl_q'] . '">' . $vbulletin->options['bbtitle'] . '</a>';
functions_online.php:892: $userinfo['where'] = '<a href="index.php?' . $vbulletin->session->vars['sessionurl'] . '">' . $vbulletin->options['bbtitle'] . '</a>';
functions_online.php:933: $userinfo['where'] = '<a href="' . $vbulletin->options['forumhome'] . '.php' . $vbulletin->session->vars['sessionurl_q'] . '">' . $vbulletin->options['bbtitle'] . "</a>";
functions_online.php:947: $userinfo['where'] = '<a href="' . $vbulletin->options['forumhome'] . '.php' . $vbulletin->session->vars['sessionurl_q'] . '">' . $vbulletin->options['bbtitle'] . "</a>";
functions_online.php:963: $userinfo['where'] = '<a href="' . $vbulletin->options['forumhome'] . '.php' . $vbulletin->session->vars['sessionurl_q'] . '">' . $vbulletin->options['bbtitle'] . "</a>";
functions.php:2602: $title = $vbulletin->options['bbtitle'];
functions.php:2730: $title = $vbulletin->options['bbtitle'];


line numbers are for 3.6.6
Reply With Quote
  #10  
Old 09-17-2007, 10:51 PM
Remulon Remulon is offline
 
Join Date: Sep 2007
Location: Australia
Posts: 26
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Yeah,

I think these are the ones that I am concerned with:

Quote:
class_mail.php:196: $mailfromname = construct_phrase($this->fetch_first_line($vbphrase['x_mailer']), $vbulletin->options['bbtitle']);
class_mail.php:200: $mailfromname = $vbulletin->options['bbtitle'];
class_mail.php:218: $mailfromname = "$username @ " . $vbulletin->options['bbtitle'];

I have changed these to be: $vbulletin->options['bbtitle_discrete'] but the problem is that when the emails are sent, this variable is empty.

In the same progression of code, where would the: $vbulletin->options['bbtitle'] variable be getting its value? (From the Database I know) But where is it set?

Quote:
At a guess the setting is in a loop of data from the db, like
while name=>value
option[name] = value


I don't know where that would be.

Thanks for your help Eikinskjaldi.

Can anyone else suggest a solution?

Remo.
Reply With Quote
Reply


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 11:38 AM.


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.04796 seconds
  • Memory Usage 2,268KB
  • 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
  • (3)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (10)postbit
  • (10)postbit_onlinestatus
  • (10)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
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete