vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   How to fetch phrases of a vBulletin location (e.g. forumdisplay.php) ? (https://vborg.vbsupport.ru/showthread.php?t=171629)

Adult SEO 02-28-2008 06:39 AM

How to fetch phrases of a vBulletin location (e.g. forumdisplay.php) ?
 
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 [DATE]1204188227[/DATE] at [TIME]1204188227[/TIME] ---------------

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.

Code:

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.

PHP Code:

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.


All times are GMT. The time now is 05:26 AM.

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