Быстрый лёгкий надёжный форумный движок
Вы не вошли.
Страницы 1
Hi,
I have posted a topic to seek help about guest language in fluxbb.org:
http://fluxbb.org/forums/post/25596/
Somebody suggested that maybe I can get help here
And I have changed some code according to this mod:
http://www.punres.org/desc.php?pid=510
Maybe because this is for version1.2, it can not run...
Anybody can help me? Thks!
Offline
Are you from Russia?
Offline
Sorry, I'm from China.
Offline
add into header :
<a href="change_lang.php?lang=English" style="float:left">English</a><!-- //--><a href="change_lang.php?lang=YOUR_LANG" style="float:right">YOUR_LANG</a>
Create change_lang.php:
define('PUN_ROOT', './');
require PUN_ROOT.'include/common.php';
if (isset($_GET['lang'])) {
if ($_GET['lang'] == "English")
$lang = "English";
if ($_GET['lang'] == "YOUR_LANG")
$lang = "YOUR_LANG";
if ($pun_user['is_guest']) {
if (version_compare(PHP_VERSION, '5.2.0', '>='))
setcookie('guest_language', $lang, time()+ 31536000, $cookie_path, $cookie_domain, $cookie_secure, true);
else
setcookie('guest_language', $lang, time()+ 31536000, $cookie_path.'; HttpOnly', $cookie_domain, $cookie_secure);
}
else {
if (!file_exists(PUN_ROOT.'lang/'.$lang.'/common.php'))
message($lang_common['Bad request']);
$db->query('UPDATE '.$db->prefix.'users SET language="'.$db->escape($lang).'" WHERE id='.$pun_user['id']) or error('Unable to update profile', __FILE__, __LINE__, $db->error());
}
}
$redirect_url = (isset($_SERVER['HTTP_REFERER']) && preg_match('#^'.preg_quote($pun_config['o_base_url']).'/(.*?)\.php#i', $_SERVER['HTTP_REFERER'])) ? htmlspecialchars($_SERVER['HTTP_REFERER']) : 'index.php';
redirect($redirect_url, $lang_common['Lang changed']);
NOTICE: replace YOUR_LANG to language name.
Open function.php find function set_default_user
find
$pun_user['is_guest'] = true;
add after:
if (isset($_COOKIE['guest_language'])) {
$pun_user['language'] = $_COOKIE['guest_language'];
}
else {
global $cookie_path, $cookie_domain, $cookie_secure, $cookie_seed;
$pun_user['language'] = $pun_config['o_default_lang'];
if (version_compare(PHP_VERSION, '5.2.0', '>='))
setcookie('guest_language', $pun_config['o_default_lang'], time()+ 31536000, $cookie_path, $cookie_domain, $cookie_secure, true);
else
setcookie('guest_language', $pun_config['o_default_lang'], time()+ 31536000, $cookie_path.'; HttpOnly', $cookie_domain, $cookie_secure);
}
Offline
p.s.
Also replace all system variables: $pun_user to $forum_user, $pun_config to $forum_config e.t.c.
Offline
It is right for v1.3.
FluxBB v1.4 like v1.2 uses $pun_* prefix
There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
Offline
Thank you verry much!
спасибо!
Offline
Страницы 1