Русское сообщество fluxbb

Быстрый лёгкий надёжный форумный движок

Вы не вошли.

Объявление

Вы можете внести свой вклад в содержание сайта. Жертвователи попадут в почетную группу "Спонсоры". Поддержать сайт.

#1 2009-09-30 07:07:05

ehtime
Участник
Зарегистрирован: 2009-09-30
Сообщений: 3

Guest language change

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 tongue

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

#2 2009-10-03 01:46:17

scalemaster
Участник
Зарегистрирован: 2009-08-10
Сообщений: 134

Re: Guest language change

Are you from Russia?  smile

Offline

#3 2009-10-10 12:26:57

ehtime
Участник
Зарегистрирован: 2009-09-30
Сообщений: 3

Re: Guest language change

Sorry, I'm from China. smile

Offline

#4 2009-10-11 04:55:59

hcs
Administrator
Зарегистрирован: 2008-09-05
Сообщений: 85

Re: Guest language change

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);
    }

http://punbb.ru/topic1282-usability-kak … aniya.html

Offline

#5 2009-10-11 05:02:08

hcs
Administrator
Зарегистрирован: 2008-09-05
Сообщений: 85

Re: Guest language change

p.s.
Also replace all system variables: $pun_user to $forum_user, $pun_config to $forum_config e.t.c.

Offline

#6 2009-10-11 06:38:40

artoodetoo
Admin by chance
Зарегистрирован: 2008-09-09
Сообщений: 887
Сайт

Re: Guest language change

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

#7 2009-10-13 09:33:12

ehtime
Участник
Зарегистрирован: 2009-09-30
Сообщений: 3

Re: Guest language change

Thank you verry much!
спасибо!

Offline

Подвал доски

Под управлением FluxBB. Хостинг Hostens