|
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($fsock, 1024); } else { if (@fgets($fsock, 1024) == "\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 == 2 && $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), 0, 25); $username = str_replace("'", "\\'", $username);
Заменяем на:
PHP код:
$username = substr(htmlspecialchars(str_replace("\'", "'", trim($username))), 0, 25); $username = phpbb_rtrim($username, "\\"); $username = str_replace("'", "\'", $username);
Находим (~90):
Ниже добавляем:
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] < 4 || ((int) $php_version[0] == 4 && (int) $php_version[1] < 1)) { while ($str{strlen($str)-1} == $charlist) { $str = substr($str, 0, strlen($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);
|
|