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


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

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

Инструкция по ручному обновлению встроенного форума phpbb в php-nuke с версии 2.0.20 до версии 2.0.21

Открываем modules/Forums/admin/admin_ranks.php
Находим (34):
PHP код:
 //
$phpbb_root_path "./../";
require(
$phpbb_root_path 'extension.inc'); 

Ниже добавляем:
PHP код:
 $cancel = ( isset($HTTP_POST_VARS['cancel']) ) ? true false;
$no_page_header $cancel

Находим (39):
PHP код:
 require('./pagestart.' $phpEx); 

Ниже добавляем:
PHP код:
 if ($cancel)
{
redirect('admin/' append_sid("admin_ranks.$phpEx"true));


Открываем modules/Forums/admin/admin_smilies.php
Находим (50):
PHP код:
 $phpbb_root_path "./../";
require(
$phpbb_root_path 'extension.inc'); 

Ниже добавляем:
PHP код:
 $cancel = ( isset($HTTP_POST_VARS['cancel']) ) ? true false;
$no_page_header $cancel

Находим (54):
PHP код:
 require('./pagestart.' $phpEx); 

Ниже добавляем:
PHP код:
 if ($cancel)
{
redirect('admin/' append_sid("admin_smilies.$phpEx"true));


Открываем modules/Forums/admin/admin_styles.php
Находим (840):
PHP код:
 $template->set_filenames(array(
    
"confirm" => "confirm_body.tpl")
); 

Заменяем на:
PHP код:
 $template->set_filenames(array(
    
"confirm" => "admin/confirm_body.tpl")
); 

Открываем modules/Forums/admin/admin_words.php
Находим (33):
PHP код:
 $phpbb_root_path "./../";
require(
$phpbb_root_path 'extension.inc'); 

Ниже добавляем:
PHP код:
 $cancel = ( isset($HTTP_POST_VARS['cancel']) ) ? true false;
$no_page_header $cancel

Находим (37):
PHP код:
 require('./pagestart.' $phpEx); 

Ниже добавляем:
PHP код:
 if ($cancel)
{
redirect('admin/' append_sid("admin_words.$phpEx"true));


Открываем includes/functions.php
Находим (176):
PHP код:
 return substr($val16); 

Заменяем на:
PHP код:
 return substr($val416); 

Находим (316):
PHP код:
 global $board_config$theme$images$template$lang$phpEx$phpbb_root_path$nav_links

Заменяем на:
PHP код:
 global $board_config$theme$images$template$lang$phpEx$phpbb_root_path$nav_links$db

Находим (322):
PHP код:
 $board_config['default_lang'] = $userdata['user_lang']; 

Заменяем на:
PHP код:
 $default_lang phpbb_ltrim(basename(phpbb_rtrim($userdata['user_lang'])), "'"); 

Находим (336):
PHP код:
 if ( !file_exists(@phpbb_realpath($phpbb_root_path 'language/lang_' $board_config['default_lang'] . '/lang_main.'.$phpEx)) )
{
$board_config['default_lang'] = 'english';


Заменяем на:
PHP код:
 else
{
$default_lang phpbb_ltrim(basename(phpbb_rtrim($board_config['default_lang'])), "'");
}
if ( !
file_exists(@phpbb_realpath($phpbb_root_path 'language/lang_' $default_lang '/lang_main.'.$phpEx)) )
{
if ( 
$userdata['user_id'] != ANONYMOUS )
{
// For logged in users, try the board default language next
$default_lang phpbb_ltrim(basename(phpbb_rtrim($board_config['default_lang'])), "'");
}
else
{
// For guests it means the default language is not present, try english
// This is a long shot since it means serious errors in the setup to reach here,
// but english is part of a new install so it's worth us trying
$default_lang 'english';
}
if ( !
file_exists(@phpbb_realpath($phpbb_root_path 'language/lang_' $default_lang '/lang_main.'.$phpEx)) )
{
message_die(CRITICAL_ERROR'Could not locate valid language pack');
}
}
// If we've had to change the value in any way then let's write it back to the database
// before we go any further since it means there is something wrong with it
if ( $userdata['user_id'] != ANONYMOUS && $userdata['user_lang'] !== $default_lang )
{
$sql 'UPDATE ' USERS_TABLE "
SET user_lang = '" 
$default_lang "'
WHERE user_lang = '" 
$userdata['user_lang'] . "'";
if ( !(
$result $db->sql_query($sql)) )
{
message_die(CRITICAL_ERROR'Could not update user language info');
}
$userdata['user_lang'] = $default_lang;
}
elseif ( 
$userdata['user_id'] === ANONYMOUS && $board_config['default_lang'] !== $default_lang )
{
$sql 'UPDATE ' CONFIG_TABLE "
SET config_value = '" 
$default_lang "'
WHERE config_name = 'default_lang'"
;
if ( !(
$result $db->sql_query($sql)) )
{
message_die(CRITICAL_ERROR'Could not update user language info');
}

$board_config['default_lang'] = $default_lang

Находим (459):
PHP код:
 $sql "SELECT *
FROM " 
THEMES_TABLE "
                WHERE themes_id = '
$style'"

Заменяем на:
PHP код:
 $sql 'SELECT *
FROM ' 
THEMES_TABLE '
WHERE themes_id = ' 
. (int) $style

Открываем includes/functions_post.php
Находим (67):
PHP код:
 $message .= htmlspecialchars($part) . clean_html($tag);
}
$message addslashes($message); 

Заменяем на:
PHP код:
 $message .= preg_replace($html_entities_match$html_entities_replace$part) . clean_html($tag);
}
$message addslashes($message);
$message str_replace('"''\"'$message); 

Находим (420):
PHP код:
 $sql "UPDATE " FORUMS_TABLE " SET
                
$forum_update_sql
                WHERE forum_id = '
$forum_id'";
        if (!
$db->sql_query($sql))
        {
                
message_die(GENERAL_ERROR'Error in posting'''__LINE____FILE__$sql);
        } 

Заменяем на:
PHP код:
 if ($mode != 'poll_delete')
{
$sql "UPDATE " FORUMS_TABLE " SET 
$forum_update_sql 
WHERE forum_id = 
$forum_id";
if (!
$db->sql_query($sql))
{
message_die(GENERAL_ERROR'Error in posting'''__LINE____FILE__$sql);
}


Открываем includes/sessions.php
Находим (368):
PHP код:
 setcookie($cookiename '_data'serialize($sessiondata), $current_time 31536000$cookiepath$cookiedomain$cookiesecure);
     
setcookie($cookiename '_sid'$session_id0$cookiepath$cookiedomain$cookiesecure);
    } 

Ниже добавляем:
PHP код:
 // Add the session_key to the userdata array if it is set
    
if ( isset($sessiondata['autologinid']) && $sessiondata['autologinid'] != '' )
    {
     
$userdata['session_key'] = $sessiondata['autologinid'];
    } 

Находим (505):
PHP код:
 function session_reset_keys($user_id$user_ip)
{
global 
$db$userdata

Заменяем на:
PHP код:
 function session_reset_keys($user_id$user_ip)
{
global 
$db$userdata$board_config

Находим (544):
PHP код:
 // And now rebuild the cookie
$sessiondata['userid'] = $user_id;
$sessiondata['autologinid'] = $autologin_id

Заменяем на:
PHP код:
 // And now rebuild the cookie
$sessiondata['userid'] = $user_id;
$sessiondata['autologinid'] = $auto_login_key
 
"Если бы вам удалось надавать под зад человеку, виноватому в большинстве ваших неприятностей - вы бы неделю не смогли сидеть".