View Full Version : How to fetch phrases of a vBulletin location (e.g. forumdisplay.php) ?
Adult SEO
02-28-2008, 06:39 AM
Dear vBulletin experts,
I am currently working on a new mod for vBulletin 3.7.0 B5 and would like to load the script of forumdisplay.php after loading the initialization of index.php so that sertain phrases of forumdisplay.php aren't yet loaded.
I have looked in the scripts for some time now but wasn't able to find the way that the prases are accumulated.
I was hoping someone from this forum could provide me with a tip or maybe even the answere on how the $vbphrase array is populated.
Best Regards,
Adult SEO
--------------- Added 1204188227 at 1204188227 ---------------
p.s. ofcourse I did find:
$vbphrase = init_language();
However, if you load this for the second time it will unset all phrases.
Marco van Herwaarden
02-28-2008, 06:45 AM
Sorry but i don't understand what you are trying.
Adult SEO
02-28-2008, 07:03 AM
Its really simple:
First I start index.php (a custom one, programmed by me)
Then, based on sertain settings it needs to load the forumdisplay.php with the forum ID preconfigured.
I use the folowing code currently (after standard index.php initialisation) and it will unset all phrases.
if (is_numeric($vbulletin->pcSys->domain["forum_id"]) && $vbulletin->pcSys->domain["forum_id"] > 0) {
$_GET["forumid"] = $_REQUEST["forumid"] = $_GET["f"] = $_REQUEST["f"] = $vbulletin->pcSys->domain["forum_id"]; //
} else {
$vbulletin->pcSys->fatal_error('No forum id configured for this domain');
}
$vbulletin->input->clean_array_gpc('r', array(
'referrerid' => TYPE_UINT,
'postid' => TYPE_UINT,
'threadid' => TYPE_UINT,
'forumid' => TYPE_INT,
'pollid' => TYPE_UINT,
'a' => TYPE_STR,
'mode' => TYPE_STR, // Threaded mode // may conflict with other 'mode' variables?
'nojs' => TYPE_BOOL,
));
$vbphrase = init_language();
$foruminfo = verify_id('forum', $vbulletin->GPC["forumid"], 0, 1);
$forumid =& $foruminfo['forumid'];
if (($foruminfo['styleoverride'] == 1 OR $vbulletin->userinfo['styleid'] == 0) AND !defined('BYPASS_STYLE_OVERRIDE'))
{
$codestyleid =& $foruminfo['styleid'];
}
// ################################################## ###########################
// Start initialisation
require_once(DIR . '/includes/functions_forumlist.php');
require_once(DIR . '/includes/functions_bigthree.php');
require_once(DIR . '/includes/functions_forumdisplay.php');
require_once(DIR . '/includes/functions_prefix.php');
Marco van Herwaarden
02-28-2008, 07:34 AM
You do realise that you will probably need a vBulletin license for each forum you create like this?
Adult SEO
02-28-2008, 07:44 AM
Yes, I am using vBulletin legally.
Marco van Herwaarden
02-28-2008, 08:19 AM
Not sure if you understood my remark. You will probably need a seperate license for each "forumid" you handle like this. Not 1 license for the entire installation.
Adult SEO
02-28-2008, 08:21 AM
Yes, that is correct. I will use 1 licence for every domain that uses the same base (vBulletin) platform.
Aldough, to make this answere more uniform. It is allowed to use a difrent domain for a subforum of a forum if it is clearly a subforum and the subject is relative to the main forum.
I have discussed this with support, it's also no problem with vBSEO. This is a great benefit for forum SEO.
--------------- Added 28 Feb 2008 at 11:39 ---------------
As of now I found the folowing solution, however it seems not all phrases are loaded yet and this may not be the perfect solution to do it. If anyone hase some advice it would be very nice.
define('THIS_SCRIPT', 'forumdisplay');
if (is_numeric($vbulletin->pcSys->domain["forum_id"]) && $vbulletin->pcSys->domain["forum_id"] > 0) {
$_GET["forumid"] = $_REQUEST["forumid"] = $_GET["f"] = $_REQUEST["f"] = $vbulletin->pcSys->domain["forum_id"]; //
} else {
$vbulletin->pcSys->fatal_error('No forum id configured for this domain');
}
$vbulletin->input->clean_array_gpc('r', array(
'referrerid' => TYPE_UINT,
'postid' => TYPE_UINT,
'threadid' => TYPE_UINT,
'forumid' => TYPE_INT,
'pollid' => TYPE_UINT,
'a' => TYPE_STR,
'mode' => TYPE_STR, // Threaded mode // may conflict with other 'mode' variables?
'nojs' => TYPE_BOOL,
));
unset($vbphrase);
unset($usercache[$vbulletin->userinfo["userid"]]);
$userinfo = fetch_userinfo($vbulletin->userinfo["userid"]);
foreach ($userinfo as $key => $value) {
$vbulletin->userinfo[$key] = $value;
}
unset($userinfo);
$vbphrase = init_language();
(updated 12:34)
The $phrasegroups array will be populated with the folowing variables:
Array ( [0] => forumdisplay [1] => inlinemod [2] => prefix [3] => global )
--------------- Added 28 Feb 2008 at 12:45 ---------------
It seems the script is correct and the $phrasegroups array is complete. So the script will work.
vBulletin® v3.8.12 by vBS, Copyright ©2000-2024, vBulletin Solutions Inc.