Questo tutorial permette ai Webmaster che hanno moddato parecchio il proprio forum, di patcharselo da soli.
Dopo che hai finito di applicare queste modifiche, crea una cartella con nome install nella root del tuo forum(per capirci, dove si trova config.php) e uploda dentro a questa il file(update_to_latest.php) che è allegato a questo topic(possono vederlo e scaricarlo solo gli utenti registrati) dopo aver ovviamente prima scompattato il file(visto che è .zip! ), eseguilo e poi elimina la cartella.
Ok, pronto?
- admin/admin_board.php
-
CERCA - Linea 19
SOSTITUISCI CON
Codice: Seleziona tutto
$module['General']['Configuration'] = "$file";
Codice: Seleziona tutto
$module['General']['Configuration'] = $file;
-
CERCA - Linea 194
DOPO, AGGIUNGI
Codice: Seleziona tutto
"L_MAX_POLL_OPTIONS" => $lang['Max_poll_options'], "L_FLOOD_INTERVAL" => $lang['Flood_Interval'], "L_FLOOD_INTERVAL_EXPLAIN" => $lang['Flood_Interval_explain'],
Codice: Seleziona tutto
'L_MAX_LOGIN_ATTEMPTS' => $lang['Max_login_attempts'], 'L_MAX_LOGIN_ATTEMPTS_EXPLAIN' => $lang['Max_login_attempts_explain'], 'L_LOGIN_RESET_TIME' => $lang['Login_reset_time'], 'L_LOGIN_RESET_TIME_EXPLAIN' => $lang['Login_reset_time_explain'], 'MAX_LOGIN_ATTEMPTS' => $new['max_login_attempts'], 'LOGIN_RESET_TIME' => $new['login_reset_time'],
- admin/admin_db_utilities.php
-
CERCA - Linea 696
SOSTITUISCI CON
Codice: Seleziona tutto
$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');
Codice: Seleziona tutto
$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', 'sessions_keys');
- admin/admin_disallow.php
-
CERCA - Linea 28
SOSTITUISCI CON
Codice: Seleziona tutto
$module['Users']['Disallow'] = append_sid($filename);
Codice: Seleziona tutto
$module['Users']['Disallow'] = $filename;
- admin/admin_ranks.php
-
CERCA - Linea 27
SOSTITUISCI CON
Codice: Seleziona tutto
$module['Users']['Ranks'] = "$file";
Codice: Seleziona tutto
$module['Users']['Ranks'] = $file;
- admin/admin_styles.php
-
CERCA - Linea 30
SOSTITUISCI CON
Codice: Seleziona tutto
$module['Styles']['Manage'] = "$file";
Codice: Seleziona tutto
$module['Styles']['Manage'] = $file;
- admin/admin_users.php
-
CERCA - Linea 180
DOPO, AGGIUNGI
Codice: Seleziona tutto
message_die(GENERAL_ERROR, 'Could not delete user from banlist table', '', __LINE__, __FILE__, $sql); }
Codice: Seleziona tutto
$sql = "DELETE FROM " . SESSIONS_TABLE . " WHERE session_user_id = $user_id"; if ( !$db->sql_query($sql) ) { message_die(GENERAL_ERROR, 'Could not delete sessions for this user', '', __LINE__, __FILE__, $sql); } $sql = "DELETE FROM " . SESSIONS_KEYS_TABLE . " WHERE user_id = $user_id"; if ( !$db->sql_query($sql) ) { message_die(GENERAL_ERROR, 'Could not delete auto-login keys for this user', '', __LINE__, __FILE__, $sql); }
-
CERCA - Linea 234
SOSTITUISCI CON
Codice: Seleziona tutto
$username = ( !empty($HTTP_POST_VARS['username']) ) ? trim(strip_tags(htmlspecialchars($HTTP_POST_VARS['username']))) : '';
Codice: Seleziona tutto
$username = ( !empty($HTTP_POST_VARS['username']) ) ? phpbb_clean_username($HTTP_POST_VARS['username']) : '';
-
CERCA - Linea 407
SOSTITUISCI CON
Codice: Seleziona tutto
if( @file_exists(@phpbb_realpath("./" . $board_config['avatar_path'] . "/" . $this_userdata['user_avatar'])) ) { @unlink("./" . $board_config['avatar_path'] . "/" . $this_userdata['user_avatar']);
Codice: Seleziona tutto
if( @file_exists(@phpbb_realpath('./../' . $board_config['avatar_path'] . "/" . $this_userdata['user_avatar'])) ) { @unlink('./../' . $board_config['avatar_path'] . "/" . $this_userdata['user_avatar']);
- admin/admin_words.php
-
CERCA - Linea 28
SOSTITUISCI CON
Codice: Seleziona tutto
$module['General']['Word_Censor'] = "$file";
Codice: Seleziona tutto
$module['General']['Word_Censor'] = $file;
- admin/index.php
-
CERCA - Linea 63
SOSTITUISCI CON
Codice: Seleziona tutto
include($file);
Codice: Seleziona tutto
include('./' . $file);
-
CERCA - Linea 237
SOSTITUISCI CON
Codice: Seleziona tutto
if( preg_match("/^(3\.23|4\.)/", $version) ) { $db_name = ( preg_match("/^(3\.23\.[6-9])|(3\.23\.[1-9][1-9])|(4\.)/", $version) ) ? "`$dbname`" : $dbname;
Codice: Seleziona tutto
if( preg_match("/^(3\.23|4\.|5\.)/", $version) ) { $db_name = ( preg_match("/^(3\.23\.[6-9])|(3\.23\.[1-9][1-9])|(4\.)|(5\.)/", $version) ) ? "`$dbname`" : $dbname;
- includes/bbcode.php
-
CERCA - Linea 203
SOSTITUISCI CON
Codice: Seleziona tutto
$patterns[] = "#\[url\]([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*?)\[/url\]#is"; $replacements[] = $bbcode_tpl['url1']; // [url]www.phpbb.com[/url] code.. (no xxxx:// prefix). $patterns[] = "#\[url\]((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*?)\[/url\]#is";
Codice: Seleziona tutto
$patterns[] = "#\[url\]([\w]+?://([\w\#$%&~/.\-;:=,?@\]+]|\[(?!url=))*?)\[/url\]#is"; $replacements[] = $bbcode_tpl['url1']; // [url]www.phpbb.com[/url] code.. (no xxxx:// prefix). $patterns[] = "#\[url\]((www|ftp)\.([\w\#$%&~/.\-;:=,?@\]+]|\[(?!url=))*?)\[/url\]#is";
-
CERCA - Linea 255
SOSTITUISCI CON
Codice: Seleziona tutto
$text = bbencode_first_pass_pda($text, $uid, '/\[quote=(\\\".*?\\\")\]/is', '[/quote]', '', false, '', "[quote:$uid=\\1]");
Codice: Seleziona tutto
$text = bbencode_first_pass_pda($text, $uid, '/\[quote=\\\\"(.*?)\\\\"\]/is', '[/quote]', '', false, '', "[quote:$uid=\\\"\\1\\\"]");
-
CERCA - Linea 392
SOSTITUISCI CON
Codice: Seleziona tutto
if( preg_match('#\[quote=\\\"#si', $possible_start, $match) && !preg_match('#\[quote=\\\"(.*?)\\\"\]#si', $possible_start) ) { // OK we are in a quote tag that probably contains a ] bracket. // Grab a bit more of the string to hopefully get all of it.. if ($close_pos = strpos($text, '"]', $curr_pos + 9)) { if (strpos(substr($text, $curr_pos + 9, $close_pos - ($curr_pos + 9)), '[quote') === false) { $possible_start = substr($text, $curr_pos, $close_pos - $curr_pos + 2);
Codice: Seleziona tutto
if( preg_match('#\[quote=\\\"#si', $possible_start, $match) && !preg_match('#\[quote=\\\"(.*?)\\\"\]#si', $possible_start) ) { // OK we are in a quote tag that probably contains a ] bracket. // Grab a bit more of the string to hopefully get all of it.. if ($close_pos = strpos($text, '"]', $curr_pos + 14)) { if (strpos(substr($text, $curr_pos + 14, $close_pos - ($curr_pos + 14)), '[quote') === false) { $possible_start = substr($text, $curr_pos, $close_pos - $curr_pos + 7);
- common.php
-
CERCA - Linea 223
SOSTITUISCI CON
Codice: Seleziona tutto
message_die(GENERAL_MESSAGE, 'Please ensure both the install/ and contrib/ directories are deleted');
Codice: Seleziona tutto
message_die(GENERAL_MESSAGE, 'Please_remove_install_contrib');
- includes/functions.php
-
CERCA - Linea 161
SOSTITUISCI CON
Codice: Seleziona tutto
$sql .= ( ( is_integer($user) ) ? "user_id = $user" : "username = '" . $user . "'" ) . " AND user_id <> " . ANONYMOUS;
Codice: Seleziona tutto
$sql .= ( ( is_integer($user) ) ? "user_id = $user" : "username = '" . str_replace("\'", "''", $user) . "'" ) . " AND user_id <> " . ANONYMOUS;
- includes/functions_post.php
-
CERCA - Linea 28
SOSTITUISCI CON
Codice: Seleziona tutto
$html_entities_match = array('#&(?!(\#[0-9]+;))#', '#<#', '#>#'); $html_entities_replace = array('&', '<', '>');
Codice: Seleziona tutto
$html_entities_match = array('#&(?!(\#[0-9]+;))#', '#<#', '#>#', '#"#'); $html_entities_replace = array('&', '<', '>', '"');
- includes/usercp_confirm.php
-
CERCA - Linea 156
SOSTITUISCI CON
Codice: Seleziona tutto
if (!empty($HTTP_GET_VARS['c'])) { $_png = define_raw_pngs(); $char = substr($code, intval($HTTP_GET_VARS['c']) - 1, 1); header('Content-Type: image/png'); header('Cache-control: no-cache, no-store'); echo base64_decode($_png[$char]); unset($_png); exit; }
Codice: Seleziona tutto
$_png = define_raw_pngs(); $char = substr($code, -1); header('Content-Type: image/png'); header('Cache-control: no-cache, no-store'); echo base64_decode($_png[$char]); unset($_png); exit;
- includes/usercp_register.php
-
CERCA - Linea 110
SOSTITUISCI CON
Codice: Seleziona tutto
$strip_var_list = array('username' => 'username', 'email' => 'email', 'icq' => 'icq', 'aim' => 'aim', 'msn' => 'msn', 'yim' => 'yim', 'website' => 'website', 'location' => 'location', 'occupation' => 'occupation', 'interests' => 'interests'); $strip_var_list['confirm_code'] = 'confirm_code';
Codice: Seleziona tutto
$strip_var_list = array('email' => 'email', 'icq' => 'icq', 'aim' => 'aim', 'msn' => 'msn', 'yim' => 'yim', 'website' => 'website', 'location' => 'location', 'occupation' => 'occupation', 'interests' => 'interests', 'confirm_code' => 'confirm_code');
-
CERCA - Linea 126
PRIMA, AGGIUNGI
Codice: Seleziona tutto
$trim_var_list = array('cur_password' => 'cur_password', 'new_password' => 'new_password', 'password_confirm' => 'password_confirm', 'signature' => 'signature');
Codice: Seleziona tutto
$username = ( !empty($HTTP_POST_VARS['username']) ) ? phpbb_clean_username($HTTP_POST_VARS['username']) : '';
-
CERCA - Linea 301
PRIMA, AGGIUNGI
Codice: Seleziona tutto
if ($row['code'] != $confirm_code)
Codice: Seleziona tutto
// Only compare one char if the zlib-extension is not loaded if (!@extension_loaded('zlib')) { $row['code'] = substr($row['code'], -1); }
- language/lang_english/lang_admin.php
-
CERCA - Linea 749
PRIMA, AGGIUNGI
Codice: Seleziona tutto
// // That's all Folks!
Codice: Seleziona tutto
// // Login attempts configuration // $lang['Max_login_attempts'] = 'Allowed login attempts'; $lang['Max_login_attempts_explain'] = 'The number of allowed board login attempts.'; $lang['Login_reset_time'] = 'Login lock time'; $lang['Login_reset_time_explain'] = 'Time in minutes the user have to wait until he is allowed to login again after exceeding the number of allowed login attempts.';
- language/lang_english/lang_main.php
-
CERCA - Linea 1021
PRIMA, AGGIUNGI
Codice: Seleziona tutto
// // That's all, Folks!
Codice: Seleziona tutto
$lang['Login_attempts_exceeded'] = 'The maximum number of %s login attempts has been exceeded. You are not allowed to login for the next %s minutes.'; $lang['Please_remove_install_contrib'] = 'Please ensure both the install/ and contrib/ directories are deleted';
- login.php
-
CERCA - Linea 60
SOSTITUISCI CON
Codice: Seleziona tutto
$sql = "SELECT user_id, username, user_password, user_active, user_level
Codice: Seleziona tutto
$sql = "SELECT user_id, username, user_password, user_active, user_level, user_login_tries, user_last_login_try
-
CERCA - Linea 79
PRIMA, AGGIUNGI
Codice: Seleziona tutto
if( md5($password) == $row['user_password'] && $row['user_active'] )
Codice: Seleziona tutto
// If the last login is more than x minutes ago, then reset the login tries/time if ($row['user_last_login_try'] && $board_config['login_reset_time'] && $row['user_last_login_try'] < (time() - ($board_config['login_reset_time'] * 60))) { $db->sql_query('UPDATE ' . USERS_TABLE . ' SET user_login_tries = 0, user_last_login_try = 0 WHERE user_id = ' . $row['user_id']); $row['user_last_login_try'] = $row['user_login_tries'] = 0; } // Check to see if user is allowed to login again... if his tries are exceeded if ($row['user_last_login_try'] && $board_config['login_reset_time'] && $board_config['max_login_attempts'] && $row['user_last_login_try'] >= (time() - ($board_config['login_reset_time'] * 60)) && $row['user_login_tries'] >= $board_config['max_login_attempts']) { message_die(GENERAL_MESSAGE, sprintf($lang['Login_attempts_exceeded'], $board_config['max_login_attempts'], $board_config['login_reset_time'])); }
-
CERCA - Linea 97
DOPO, AGGIUNGI
Codice: Seleziona tutto
$admin = (isset($HTTP_POST_VARS['admin'])) ? 1 : 0; $session_id = session_begin($row['user_id'], $user_ip, PAGE_INDEX, FALSE, $autologin, $admin);
Codice: Seleziona tutto
// Reset login tries $db->sql_query('UPDATE ' . USERS_TABLE . ' SET user_login_tries = 0, user_last_login_try = 0 WHERE user_id = ' . $row['user_id']);
-
CERCA - Linea 115
PRIMA, AGGIUNGI
Codice: Seleziona tutto
$redirect = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : ''; $redirect = str_replace('?', '&', $redirect);
Codice: Seleziona tutto
// Save login tries and last login if ($row['user_id'] != ANONYMOUS) { $sql = 'UPDATE ' . USERS_TABLE . ' SET user_login_tries = user_login_tries + 1, user_last_login_try = ' . time() . ' WHERE user_id = ' . $row['user_id']; $db->sql_query($sql); }
- privmsg.php
-
CERCA - Linea 38
SOSTITUISCI CON
Codice: Seleziona tutto
$html_entities_match = array('#&(?!(\#[0-9]+;))#', '#<#', '#>#'); $html_entities_replace = array('&', '<', '>');
Codice: Seleziona tutto
$html_entities_match = array('#&(?!(\#[0-9]+;))#', '#<#', '#>#', '#"#'); $html_entities_replace = array('&', '<', '>', '"');
- templates/subSilver/admin/board_config_body.tpl
-
CERCA - Linea 59
DOPO, AGGIUNGI
Codice: Seleziona tutto
<td class="row2"><input class="post" type="text" size="3" maxlength="4" name="flood_interval" value="{FLOOD_INTERVAL}" /></td> </tr>
Codice: Seleziona tutto
<tr> <td class="row1">{L_MAX_LOGIN_ATTEMPTS}<br /><span class="gensmall">{L_MAX_LOGIN_ATTEMPTS_EXPLAIN}</span></td> <td class="row2"><input class="post" type="text" size="3" maxlength="4" name="max_login_attempts" value="{MAX_LOGIN_ATTEMPTS}" /></td> </tr> <tr> <td class="row1">{L_LOGIN_RESET_TIME}<br /><span class="gensmall">{L_LOGIN_RESET_TIME_EXPLAIN}</span></td> <td class="row2"><input class="post" type="text" size="3" maxlength="4" name="login_reset_time" value="{LOGIN_RESET_TIME}" /></td> </tr>
- templates/subSilver/admin/index_body.tpl
-
CERCA - Linea 46
DOPO, AGGIUNGI
Codice: Seleziona tutto
<td class="row2"><b>{GZIP_COMPRESSION}</b></td> </tr> </table>
Codice: Seleziona tutto
<h1>{L_VERSION_INFORMATION}</h1> {VERSION_INFO} <br />
-
CERCA - Linea 87
SOSTITUISCI CON (quindi elimina)
Codice: Seleziona tutto
<h1>{L_VERSION_INFORMATION}</h1> {VERSION_INFO} <br />
Codice: Seleziona tutto