View Full Version : Condition to force language selection for one or many forums ..
K a M a L
12-21-2011, 02:02 PM
Hello ,
please I want help with condition to force language selection for one or two forums
what hook should I use and what is the condition ?
alshakar
03-04-2012, 12:41 PM
I want the same. Is there is anyone that can help
Maybe you can try this out (it's code for a plugin using hook fetch_userinfo_query):
if (!function_exists('init_start_get_forum'))
{
function init_start_get_forum()
{
global $vbulletin;
if (defined('FRIENDLY_URL_LINK'))
{
require_once(DIR . '/includes/class_friendly_url.php');
vB_Friendly_Url::fetchLibrary($vbulletin, FRIENDLY_URL_LINK . '|nosession');
}
$vbulletin->input->clean_array_gpc('r', array(
'postid' => TYPE_UINT,
'threadid' => TYPE_UINT,
'forumid' => TYPE_INT,
'pollid' => TYPE_UINT,
));
$forumid = -1;
if ($vbulletin->GPC['postid'])
{
$forum = $vbulletin->db->query_first("SELECT thread.forumid FROM " . TABLE_PREFIX . "post AS post
LEFT JOIN " . TABLE_PREFIX . "thread AS thread ON (post.threadid = thread.threadid)
WHERE post.postid = " . $vbulletin->GPC['postid']);
}
else if ($vbulletin->GPC['threadid'])
{
$forum = $vbulletin->db->query_first("SELECT forumid FROM " . TABLE_PREFIX . "thread AS thread
WHERE threadid = " . $vbulletin->GPC['threadid']);
}
else if ($vbulletin->GPC['forumid'])
{
$forumid = $vbulletin->GPC['forumid'];
}
else if ($vbulletin->GPC['pollid'] AND THIS_SCRIPT == 'poll')
{
$forum = $vbulletin->db->query_first("SELECT poll.*, thread.threadid
FROM " . TABLE_PREFIX . "poll AS poll
INNER JOIN " . TABLE_PREFIX . "thread AS thread ON (thread.pollid = poll.pollid AND thread.open <> 10)
WHERE poll.pollid = " . $vbulletin->GPC['pollid']);
}
if (is_array($forum))
{
$forumid = $forum['forumid'];
}
return $forumid;
}
}
global $bootstrap, $vbulletin;
if (get_class($bootstrap) == 'vB_Bootstrap_Forum')
{
if (isset($vbulletin->styleid) AND !isset($vbulletin->session))
{
if (($fid = init_start_get_forum()) != -1)
{
if (in_array($fid, array(4, 5))) // force language 2 for forumids 4 and 5
{
$languageid = 2;
}
}
unset($fid);
}
}
Of course you must edit the code (the lines in red) to enter the forum and language ids you want.
It seems to work based on one phrase that I added to a test language, but I haven't tested it beyond that.
vBulletin® v3.8.12 by vBS, Copyright ©2000-2025, vBulletin Solutions Inc.