|
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($val, 4, 16);
Находим (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_id, 0, $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;
|
|