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 cartella 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, iniziamo:
- admin/admin_forums.php
-
FIND - Line 236
AFTER, ADD
Codice: Seleziona tutto
if( $mode == "addforum" ) { list($cat_id) = each($HTTP_POST_VARS['addforum']);
Codice: Seleziona tutto
$cat_id = intval($cat_id);
- admin/admin_smilies.php
-
FIND - Line 450
AFTER, ADD
Codice: Seleziona tutto
$smile_code = ( isset($HTTP_POST_VARS['smile_code']) ) ? $HTTP_POST_VARS['smile_code'] : $HTTP_GET_VARS['smile_code']; $smile_url = ( isset($HTTP_POST_VARS['smile_url']) ) ? $HTTP_POST_VARS['smile_url'] : $HTTP_GET_VARS['smile_url']; $smile_emotion = ( isset($HTTP_POST_VARS['smile_emotion']) ) ? $HTTP_POST_VARS['smile_emotion'] : $HTTP_GET_VARS['smile_emotion'];
Codice: Seleziona tutto
$smile_code = trim($smile_code); $smile_url = trim($smile_url); $smile_emotion = trim($smile_emotion);
- admin/pagestart.php
-
FIND - Line 62
AFTER, ADD
Codice: Seleziona tutto
redirect("index.$phpEx?sid=" . $userdata['session_id']); }
Codice: Seleziona tutto
if (!$userdata['session_admin']) { redirect(append_sid("login.$phpEx?redirect=admin/&admin=1", true)); }
- db/postgres7.php
-
FIND - Line 126
REPLACE WITH
Codice: Seleziona tutto
$query = preg_replace('#(.*WHERE.*)(username|user_email|ban_email) = \'(.*)\'#ise', "\"\\1LOWER(\\2) = '\" . strtolower('\\3') . \"'\"", $query);
Codice: Seleziona tutto
// $query = preg_replace('#(.*WHERE.*)(username|user_email|ban_email) = \'(.*)\'#ise', "\"\\1LOWER(\\2) = '\" . strtolower('\\3') . \"'\"", $query);
- groupcp.php
-
FIND - Line 340
REPLACE WITH
Codice: Seleziona tutto
if ( !($row = $db->sql_fetchrow($result)) )
Codice: Seleziona tutto
if ( !($row = $db->sql_fetchrow($result)) || $row['is_auth_mod'] == 0 )
- includes/bbcode.php
-
FIND - Line 127
AFTER, ADD
Codice: Seleziona tutto
{ global $lang, $bbcode_tpl;
Codice: Seleziona tutto
$text = preg_replace('#(script|about|applet|activex|chrome):#is', "\\1:", $text);
-
FIND - Line 197
REPLACE WITH
Codice: Seleziona tutto
// [img]image_url_here[/img] code.. // This one gets first-passed.. $patterns[] = "#\[img:$uid\](.*?)\[/img:$uid\]#si";
Codice: Seleziona tutto
// [img]image_url_here[/img] code.. // This one gets first-passed.. $patterns[] = "#\[img:$uid\]([^?].*?)\[/img:$uid\]#i";
-
FIND - Line 210
REPLACE WITH
Codice: Seleziona tutto
// [url=xxxx://www.phpbb.com]phpBB[/url] code.. $patterns[] = "#\[url=([\w]+?://[^ \"\n\r\t<]*?)\](.*?)\[/url\]#is"; $replacements[] = $bbcode_tpl['url3']; // [url=www.phpbb.com]phpBB[/url] code.. (no xxxx:// prefix). $patterns[] = "#\[url=((www|ftp)\.[^ \"\n\r\t<]*?)\](.*?)\[/url\]#is";
Codice: Seleziona tutto
// [url=xxxx://www.phpbb.com]phpBB[/url] code.. $patterns[] = "#\[url=([\w]+?://[^ \"\n\r\t<]*?)\]([^?].*?)\[/url\]#i"; $replacements[] = $bbcode_tpl['url3']; // [url=www.phpbb.com]phpBB[/url] code.. (no xxxx:// prefix). $patterns[] = "#\[url=((www|ftp)\.[^ \"\n\r\t<]*?)\]([^?].*?)\[/url\]#i";
-
FIND - Line 619
AFTER, ADD
Codice: Seleziona tutto
*/ function make_clickable($text) {
Codice: Seleziona tutto
$text = preg_replace('#(script|about|applet|activex|chrome):#is', "\\1:", $text);
- includes/sessions.php
-
FIND - Line 27
REPLACE WITH
Codice: Seleziona tutto
function session_begin($user_id, $user_ip, $page_id, $auto_create = 0, $enable_autologin = 0)
Codice: Seleziona tutto
function session_begin($user_id, $user_ip, $page_id, $auto_create = 0, $enable_autologin = 0, $admin = 0)
-
FIND - Line 158
REPLACE WITH
Codice: Seleziona tutto
SET session_user_id = $user_id, session_start = $current_time, session_time = $current_time, session_page = $page_id, session_logged_in = $login WHERE session_id = '" . $session_id . "' AND session_ip = '$user_ip'"; if ( !$db->sql_query($sql) || !$db->sql_affectedrows() ) { $session_id = md5(uniqid($user_ip)); $sql = "INSERT INTO " . SESSIONS_TABLE . " (session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in) VALUES ('$session_id', $user_id, $current_time, $current_time, '$user_ip', $page_id, $login)";
Codice: Seleziona tutto
SET session_user_id = $user_id, session_start = $current_time, session_time = $current_time, session_page = $page_id, session_logged_in = $login, session_admin = $admin WHERE session_id = '" . $session_id . "' AND session_ip = '$user_ip'"; if ( !$db->sql_query($sql) || !$db->sql_affectedrows() ) { list($sec, $usec) = explode(' ', microtime()); mt_srand((float) $sec + ((float) $usec * 100000)); $session_id = md5(uniqid(mt_rand(), true)); $sql = "INSERT INTO " . SESSIONS_TABLE . " (session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in, session_admin) VALUES ('$session_id', $user_id, $current_time, $current_time, '$user_ip', $page_id, $login, $admin)";
-
FIND - Line 180
AFTER, ADD
Codice: Seleziona tutto
{// ( $userdata['user_session_time'] > $expiry_time && $auto_create ) ? $userdata['user_lastvisit'] : ( $last_visit = ( $userdata['user_session_time'] > 0 ) ? $userdata['user_session_time'] : $current_time;
Codice: Seleziona tutto
if (!$admin) {
-
FIND - Line 189
REPLACE WITH
Codice: Seleziona tutto
$userdata['user_lastvisit'] = $last_visit; $sessiondata['autologinid'] = ( $enable_autologin && $sessionmethod == SESSION_METHOD_COOKIE ) ? $auto_login_key : '';
Codice: Seleziona tutto
} $userdata['user_lastvisit'] = $last_visit; $sessiondata['autologinid'] = (!$admin) ? (( $enable_autologin && $sessionmethod == SESSION_METHOD_COOKIE ) ? $auto_login_key : '') : $sessiondata['autologinid'];
-
FIND - Line 204
AFTER, ADD
Codice: Seleziona tutto
$userdata['session_page'] = $page_id; $userdata['session_start'] = $current_time; $userdata['session_time'] = $current_time;
Codice: Seleziona tutto
$userdata['session_admin'] = $admin;
-
FIND - Line 294
REPLACE WITH
Codice: Seleziona tutto
$sql = "UPDATE " . SESSIONS_TABLE . " SET session_time = $current_time, session_page = $thispage_id
Codice: Seleziona tutto
// A little trick to reset session_admin on session re-usage $update_admin = (!defined('IN_ADMIN') && $current_time - $userdata['session_time'] > ($board_config['session_length']+60)) ? ', session_admin = 0' : ''; $sql = "UPDATE " . SESSIONS_TABLE . " SET session_time = $current_time, session_page = $thispage_id$update_admin
- includes/smtp.php
-
FIND - Line 109
REPLACE WITH
Codice: Seleziona tutto
if( !$socket = fsockopen($board_config['smtp_host'], 25, $errno, $errstr, 20) )
Codice: Seleziona tutto
if( !$socket = @fsockopen($board_config['smtp_host'], 25, $errno, $errstr, 20) )
- includes/usercp_viewprofile.php
-
FIND - Line 36
AFTER, ADD
Codice: Seleziona tutto
} $profiledata = get_userdata($HTTP_GET_VARS[POST_USERS_URL]);
Codice: Seleziona tutto
if (!$profiledata) { message_die(GENERAL_MESSAGE, $lang['No_user_id_specified']); }
- language/lang_italian/lang_main.php
-
FIND - Line 1021
AFTER, ADD
Codice: Seleziona tutto
$lang['An_error_occured'] = 'Si è verificata una condizione di errore'; $lang['A_critical_error'] = 'Si è verificata una condizione di errore critica';
Codice: Seleziona tutto
$lang['Admin_reauthenticate'] = ' Per amministrare il forum ti devi riautenticare.';
- login.php
-
FIND - Line 55
REPLACE WITH
Codice: Seleziona tutto
if( ( isset($HTTP_POST_VARS['login']) || isset($HTTP_GET_VARS['login']) ) && !$userdata['session_logged_in'] )
Codice: Seleziona tutto
if( ( isset($HTTP_POST_VARS['login']) || isset($HTTP_GET_VARS['login']) ) && (!$userdata['session_logged_in'] || isset($HTTP_POST_VARS['admin'])) )
-
FIND - Line 80
REPLACE WITH
Codice: Seleziona tutto
$session_id = session_begin($row['user_id'], $user_ip, PAGE_INDEX, FALSE, $autologin);
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);
-
FIND - Line 162
REPLACE WITH
Codice: Seleziona tutto
if( !$userdata['session_logged_in'] )
Codice: Seleziona tutto
if( !$userdata['session_logged_in'] || (isset($HTTP_GET_VARS['admin']) && $userdata['session_logged_in'] && $userdata['user_level'] == ADMIN))
-
FIND - Line 211
REPLACE WITH
Codice: Seleziona tutto
make_jumpbox('viewforum.'.$phpEx, $forum_id); $template->assign_vars(array( 'USERNAME' => $username, 'L_ENTER_PASSWORD' => $lang['Enter_password'],
Codice: Seleziona tutto
$s_hidden_fields .= (isset($HTTP_GET_VARS['admin'])) ? '<input type="hidden" name="admin" value="1" />' : ''; make_jumpbox('viewforum.'.$phpEx, $forum_id); $template->assign_vars(array( 'USERNAME' => $username, 'L_ENTER_PASSWORD' => (isset($HTTP_GET_VARS['admin'])) ? $lang['Admin_reauthenticate'] : $lang['Enter_password'],
- viewtopic.php
-
FIND - Line 1110
REPLACE WITH
Codice: Seleziona tutto
$message = str_replace('\"', '"', substr(@preg_replace('#(\>(((?>([^><]+|(?R)))*)\<))#se', "@preg_replace('#\b(" . $highlight_match . ")\b#i', '<span style=\"color:#" . $theme['fontcolor3'] . "\"><b>\\\\1</b></span>', '\\0')", '>' . $message . '<'), 1, -1));
Codice: Seleziona tutto
$message = str_replace('\"', '"', substr(@preg_replace('#(\>(((?>([^><]+|(?R)))*)\<))#se', "@preg_replace('#\b(" . str_replace('\\', '\\\\', $highlight_match) . ")\b#i', '<span style=\"color:#" . $theme['fontcolor3'] . "\"><b>\\\\1</b></span>', '\\0')", '>' . $message . '<'), 1, -1));
- admin/admin_ug_auth.php
-
FIND - Line 553
BEFORE, ADD
Codice: Seleziona tutto
message_die(GENERAL_MESSAGE, $message); } } else if ( ( $mode == 'user' && ( isset($HTTP_POST_VARS['username']) || $user_id ) ) || ( $mode == 'group' && $group_id ) )
Codice: Seleziona tutto
$sql = 'SELECT user_id FROM ' . USER_GROUP_TABLE . " WHERE group_id = $group_id"; $result = $db->sql_query($sql); $group_user = array(); while ($row = $db->sql_fetchrow($result)) { $group_user[$row['user_id']] = $row['user_id']; } $db->sql_freeresult($result); $sql = "SELECT ug.user_id, COUNT(auth_mod) AS is_auth_mod FROM " . AUTH_ACCESS_TABLE . " aa, " . USER_GROUP_TABLE . " ug WHERE ug.user_id IN (" . implode(', ', $group_user) . ") AND aa.group_id = ug.group_id AND aa.auth_mod = 1 GROUP BY ug.user_id"; if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, 'Could not obtain moderator status', '', __LINE__, __FILE__, $sql); } while ($row = $db->sql_fetchrow($result)) { if ($row['is_auth_mod']) { unset($group_user[$row['user_id']]); } } $db->sql_freeresult($result); if (sizeof($group_user)) { $sql = "UPDATE " . USERS_TABLE . " SET user_level = " . USER . " WHERE user_id IN (" . implode(', ', $group_user) . ")"; if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, 'Could not update user level', '', __LINE__, __FILE__, $sql); } }
- includes/usercp_register.php
-
FIND - Line 414
REPLACE WITH
Codice: Seleziona tutto
if (strtolower($username) != strtolower($userdata['username']))
Codice: Seleziona tutto
if (strtolower($username) != strtolower($userdata['username']) || $mode == 'register')