Показать сообщение отдельно
Soniks вне форума      Старый Обновляем форум phpBB 2.0.11 до 2.0.12 #1  
Soniks
Администратор
Регистрация: 16.01.2005
Сообщения: 4,814


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Soniks Посетить домашнюю страницу Soniks Найти все сообщения от Soniks Добавить Soniks в список друзей  
23.02.2005, 04:22

Если вы производили какие-либо изменения в коде форума, то вам тогда проще обновить самим (вручную), а иначе просто скачайте BBtoNuke 2.0.12 и скопируйте в дерикторию с нюкой.

Обновляем вручную:

Открываем modules/Forums/admin/admin_db_utilities.php
Находим (~733):
PHP код:
 $tables = array('auth_access''banlist''categories''config''disallow''forums''forum_prune''groups''posts''posts_text''privmsgs''privmsgs_text''ranks''search_results''search_wordlist''search_wordmatch''sessions''smilies''themes''themes_name''topics''topics_watch''user_group''users''vote_desc''vote_results''vote_voters''words'); 

Заменяем на:
PHP код:
 $tables = array('auth_access''banlist''categories''config''disallow''forums''forum_prune''groups''posts''posts_text''privmsgs''privmsgs_text''ranks''search_results''search_wordlist''search_wordmatch''sessions''smilies''themes''themes_name''topics''topics_watch''user_group''users''vote_desc''vote_results''vote_voters''words''confirm'); 


Открываем modules/Forums/admin/index.php
Находим (~597):
PHP код:
 "L_NO_GUESTS_BROWSING" => $lang['No_users_browsing'])
     );


Ниже добавляем:
PHP код:
 // Check for new version
$current_version explode('.''2' $board_config['version']);
$minor_revision = (int) $current_version[2];
 
$errno 0;
$errstr $version_info '';
 
if (
$fsock = @fsockopen('www.phpbb.com'80$errno$errstr))
{
     @
fputs($fsock"GET /updatecheck/20x.txt HTTP/1.1\r\n");
     @
fputs($fsock"HOST: www.phpbb.com\r\n");
     @
fputs($fsock"Connection: close\r\n\r\n");
 
     
$get_info false;
     while (!@
feof($fsock))
     {
         if (
$get_info)
         {
            
$version_info .= @fread($fsock1024);
         }
         else
         {
            if (@
fgets($fsock1024) == "\r\n")
            {
             
$get_info true;
            }
         }
     }
     @
fclose($fsock);
 
     
$version_info explode("\n"$version_info);
     
$latest_head_revision = (int) $version_info[0];
     
$latest_minor_revision = (int) $version_info[2];
     
$latest_version = (int) $version_info[0] . '.' . (int) $version_info[1] . '.' . (int) $version_info[2];
 
     if (
$latest_head_revision == && $minor_revision == $latest_minor_revision)
     {
         
$version_info '<p style="color:green">' $lang['Version_up_to_date'] . '</p>';
     }
     else
     {
         
$version_info '<p style="color:red">' $lang['Version_not_up_to_date'];
         
$version_info .= '<br />' sprintf($lang['Latest_version_info'], $latest_version) . sprintf($lang['Current_version_info'], '2' $board_config['version']) . '</p>';
     }
}
else
{
     if (
$errstr)
     {
         
$version_info '<p style="color:red">' sprintf($lang['Connect_socket_error'], $errstr) . '</p>';
     }
     else
     {
         
$version_info '<p>' $lang['Socket_functions_disabled'] . '</p>';
     }
}
 
$version_info .= '<p>' $lang['Mailing_list_subscribe_reminder'] . '</p>';
 
 
$template->assign_vars(array(
     
'VERSION_INFO' => $version_info,
     
'L_VERSION_INFORMATION' => $lang['Version_information'])
); 

Открываем modules/Forums/common.php
Находим (~56):
PHP код:
 $test = array('HTTP_GET_VARS' => NULL'HTTP_POST_VARS' => NULL'HTTP_COOKIE_VARS' => NULL'HTTP_SERVER_VARS' => NULL'HTTP_ENV_VARS' => NULL'HTTP_POST_FILES' => NULL); 


Заменяем на:
PHP код:
 $test = array('HTTP_GET_VARS' => NULL'HTTP_POST_VARS' => NULL'HTTP_COOKIE_VARS' => NULL'HTTP_SERVER_VARS' => NULL'HTTP_ENV_VARS' => NULL'HTTP_POST_FILES' => NULL'phpEx' => NULL'phpbb_root_path' => NULL); 

Находим (~72):
PHP код:
 else if (@ini_get('register_globals') == '1' || strtolower(@ini_get('register_globals')) == 'on')
{
// PHP4+ path 

Ниже добавляем:
PHP код:
 $not_unset = array('HTTP_GET_VARS''HTTP_POST_VARS''HTTP_COOKIE_VARS''HTTP_SERVER_VARS''HTTP_SESSION_VARS''HTTP_ENV_VARS''HTTP_POST_FILES''phpEx''phpbb_root_path''name''admin''nukeuser''user''no_page_header'); 

Находим (~82):
PHP код:
 unset($input['input']);
 
while (list(
$var,) = @each($input))
if (
$var != 'phpbb_root_path' && $var != 'no_page_header' && $var != 'phpEx' && $var != 'admin' && $var != 'user' && $var != 'name' && $var != 'nukeuser')
{
unset($
$var);


Заменяем на:
PHP код:
 unset($input['input']);
unset(
$input['not_unset']);
while (list(
$var,) = @each($input))
{
     if (!
in_array($var$not_unset))
     {
         unset($
$var);
     }


Находим (~225):
PHP код:
 $client_ip = ( !empty($HTTP_SERVER_VARS['REMOTE_ADDR']) ) ? $HTTP_SERVER_VARS['REMOTE_ADDR'] : ( ( !empty($HTTP_ENV_VARS['REMOTE_ADDR']) ) ? $HTTP_ENV_VARS['REMOTE_ADDR'] : $REMOTE_ADDR ); 

Заменяем на:
PHP код:
 $client_ip = ( !empty($HTTP_SERVER_VARS['REMOTE_ADDR']) ) ? $HTTP_SERVER_VARS['REMOTE_ADDR'] : ( ( !empty($HTTP_ENV_VARS['REMOTE_ADDR']) ) ? $HTTP_ENV_VARS['REMOTE_ADDR'] : getenv('REMOTE_ADDR') ); 


Открываем includes/functions.php
Находим (~85):
PHP код:
 $username htmlspecialchars(rtrim(trim($username), "\\"));
$username substr(str_replace("\\'""'"$username), 025);
$username str_replace("'""\\'"$username); 

Заменяем на:
PHP код:
 $username substr(htmlspecialchars(str_replace("\'""'"trim($username))), 025);
$username phpbb_rtrim($username"\\"); 
$username str_replace("'""\'"$username); 

Находим (~90):
PHP код:
 return $username;


Ниже добавляем:
PHP код:
 // added at phpBB 2.0.12 to fix a bug in PHP 4.3.10 (only supporting charlist in php >= 4.1.0)
function phpbb_rtrim($str$charlist false)
{
if (
$charlist === false)
{
     return 
rtrim($str);
}
 
$php_version explode('.'PHP_VERSION);
 
// php version < 4.1.0
if ((int) $php_version[0] < || ((int) $php_version[0] == && (int) $php_version[1] < 1))
{
     while (
$str{strlen($str)-1} == $charlist)
     {
         
$str substr($str0strlen($str)-1);
     }
}
else
{
     
$str rtrim($str$charlist);
}
 
return 
$str;


Находим (~634):
PHP код:
 $debug_text .= '</br /><br />Line : ' $err_line '<br />File : ' $err_file

Заменяем на:
PHP код:
 $debug_text .= '</br /><br />Line : ' $err_line '<br />File : ' basename($err_file);