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

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

Вы не вошли.

Объявление

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

#1 2008-05-12 02:11:42

Richter
Гость

Nombstring хак

Следующий хак можно применять при наличии отсутствия(;)) расширения mbstring, предназначенного для работы с многобайтными кодировками.

install.php, ищем проверку на предмет наличия функции mb_internal_encoding:

if (! function_exists('mb_internal_encoding')) 
    exit ('Эта сборка использует utf-8 кодировку, но ваш интерпретатор PHP сконфигурирован без поддержки utf-8. В PHP для Windows достаточно убрать комментарий в php.ini в строке extension=php_mbstring.dll <br> Обратитесь к официальной документации за разъяснениями: <a href="http://ru2.php.net/install.windows.extensions">http://ru2.php.net/install.windows.extensions</a>');

комментируем:

/*
if (! function_exists('mb_internal_encoding')) 
    exit ('Эта сборка использует utf-8 кодировку, но ваш интерпретатор PHP сконфигурирован без поддержки utf-8. В PHP для Windows достаточно убрать комментарий в php.ini в строке extension=php_mbstring.dll <br> Обратитесь к официальной документации за разъяснениями: <a href="http://ru2.php.net/install.windows.extensions">http://ru2.php.net/install.windows.extensions</a>');    
*/

Берём файл nombstring.php из вложения, распаковываем в директорию include/.

include/common.php, ищем проверку на предмет наличия функции mb_internal_encoding:

// EXTENDED UTF SUPPORT BEGIN
if ((isset($lang_common['lang_multibyte']) && $lang_common['lang_multibyte']))
{

    if (! function_exists('mb_internal_encoding')) 
        exit ('For work with utf-8 encoding needed MBSTRING extension!');
    mb_internal_encoding('UTF-8');
    function my_strlen($s)     {return mb_strlen($s);}
    function pun_strtolower($s) {return mb_strtolower($s);}
    function pun_strtoupper($s) {return mb_strtoupper($s);}
    mb_internal_encoding('UTF-8');
}

непосредственно перед проверкой подключаем nombstring.php:

// EXTENDED UTF SUPPORT BEGIN
if ((isset($lang_common['lang_multibyte']) && $lang_common['lang_multibyte']))
{

    include 'nombstring.php';
    if (! function_exists('mb_internal_encoding')) 
        exit ('For work with utf-8 encoding needed MBSTRING extension!');
    mb_internal_encoding('UTF-8');
    function my_strlen($s)     {return mb_strlen($s);}
    function pun_strtolower($s) {return mb_strtolower($s);}
    function pun_strtoupper($s) {return mb_strtoupper($s);}
    mb_internal_encoding('UTF-8');
}

Устанавливаем форум, должно работать. Естественно, форум с хаком работает медленнее, нежели чем при использовании функций mbstring.

Редактировался Richter (2008-05-12 02:28:45)

Подвал доски

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