These are the Changes from phpBB 2.0.14 to phpBB 2.0.15 summed up into a little Mod. This might be very helpful if you want to update your Board and have installed a bunch of Mods. Then it's normally easier to apply the Code Changes than to install all Mods again.
When you find a 'AFTER, ADD'-Statement, the Code have to be added after the last line quoted in the 'FIND'-Statement.
When you find a 'BEFORE, ADD'-Statement, the Code have to be added before the first line quoted in the 'FIND'-Statement.
When you find a 'REPLACE WITH'-Statement, the Code quoted in the 'FIND'-Statement have to be replaced completely with the quoted Code in the 'REPLACE WITH'-Statement.
After you have finished this tutorial, you have to upload the install/update_to_latest.php file, execute it and then delete it from your webspace.
- admin/admin_forums.php[/color][/size]
-
FIND - Line 236
AFTER, ADD
Code: Selecteer alles
if( $mode == "addforum" ) { list($cat_id) = each($HTTP_POST_VARS['addforum']);
Code: Selecteer alles
$cat_id = intval($cat_id);
- admin/admin_smilies.php[/color][/size]
-
FIND - Line 450
AFTER, ADD
Code: Selecteer alles
$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'];
Code: Selecteer alles
$smile_code = trim($smile_code); $smile_url = trim($smile_url); $smile_emotion = trim($smile_emotion);
- admin/pagestart.php[/color][/size]
-
FIND - Line 62
AFTER, ADD
Code: Selecteer alles
redirect("index.$phpEx?sid=" . $userdata['session_id']); }
Code: Selecteer alles
if (!$userdata['session_admin']) { redirect(append_sid("login.$phpEx?redirect=admin/&admin=1", true)); }
- db/postgres7.php[/color][/size]
-
FIND - Line 126
REPLACE WITH
Code: Selecteer alles
$query = preg_replace('#(.*WHERE.*)(username|user_email|ban_email) = \'(.*)\'#ise', "\"\\1LOWER(\\2) = '\" . strtolower('\\3') . \"'\"", $query);
Code: Selecteer alles
// $query = preg_replace('#(.*WHERE.*)(username|user_email|ban_email) = \'(.*)\'#ise', "\"\\1LOWER(\\2) = '\" . strtolower('\\3') . \"'\"", $query);
- groupcp.php[/color][/size]
-
FIND - Line 340
REPLACE WITH
Code: Selecteer alles
if ( !($row = $db->sql_fetchrow($result)) )
Code: Selecteer alles
if ( !($row = $db->sql_fetchrow($result)) || $row['is_auth_mod'] == 0 )
- includes/bbcode.php[/color][/size]
-
FIND - Line 127
AFTER, ADD
Code: Selecteer alles
{ global $lang, $bbcode_tpl;
Code: Selecteer alles
$text = preg_replace('#(script|about|applet|activex|chrome):#is', "\\1:", $text);
-
FIND - Line 197
REPLACE WITH
Code: Selecteer alles
// [img]image_url_here[/img] code.. // This one gets first-passed.. $patterns[] = "#\[img:$uid\](.*?)\[/img:$uid\]#si";
Code: Selecteer alles
// [img]image_url_here[/img] code.. // This one gets first-passed.. $patterns[] = "#\[img:$uid\]([^?].*?)\[/img:$uid\]#i";
-
FIND - Line 210
REPLACE WITH
Code: Selecteer alles
// [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";
Code: Selecteer alles
// [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
Code: Selecteer alles
*/ function make_clickable($text) {
Code: Selecteer alles
$text = preg_replace('#(script|about|applet|activex|chrome):#is', "\\1:", $text);
- includes/sessions.php[/color][/size]
-
FIND - Line 27
REPLACE WITH
Code: Selecteer alles
function session_begin($user_id, $user_ip, $page_id, $auto_create = 0, $enable_autologin = 0)
Code: Selecteer alles
function session_begin($user_id, $user_ip, $page_id, $auto_create = 0, $enable_autologin = 0, $admin = 0)
-
FIND - Line 158
REPLACE WITH
Code: Selecteer alles
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)";
Code: Selecteer alles
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
Code: Selecteer alles
{// ( $userdata['user_session_time'] > $expiry_time && $auto_create ) ? $userdata['user_lastvisit'] : ( $last_visit = ( $userdata['user_session_time'] > 0 ) ? $userdata['user_session_time'] : $current_time;
Code: Selecteer alles
if (!$admin) {
-
FIND - Line 189
REPLACE WITH
Code: Selecteer alles
$userdata['user_lastvisit'] = $last_visit; $sessiondata['autologinid'] = ( $enable_autologin && $sessionmethod == SESSION_METHOD_COOKIE ) ? $auto_login_key : '';
Code: Selecteer alles
} $userdata['user_lastvisit'] = $last_visit; $sessiondata['autologinid'] = (!$admin) ? (( $enable_autologin && $sessionmethod == SESSION_METHOD_COOKIE ) ? $auto_login_key : '') : $sessiondata['autologinid'];
-
FIND - Line 204
AFTER, ADD
Code: Selecteer alles
$userdata['session_page'] = $page_id; $userdata['session_start'] = $current_time; $userdata['session_time'] = $current_time;
Code: Selecteer alles
$userdata['session_admin'] = $admin;
-
FIND - Line 294
REPLACE WITH
Code: Selecteer alles
$sql = "UPDATE " . SESSIONS_TABLE . " SET session_time = $current_time, session_page = $thispage_id
Code: Selecteer alles
// 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[/color][/size]
-
FIND - Line 109
REPLACE WITH
Code: Selecteer alles
if( !$socket = fsockopen($board_config['smtp_host'], 25, $errno, $errstr, 20) )
Code: Selecteer alles
if( !$socket = @fsockopen($board_config['smtp_host'], 25, $errno, $errstr, 20) )
- includes/usercp_viewprofile.php[/color][/size]
-
FIND - Line 36
AFTER, ADD
Code: Selecteer alles
} $profiledata = get_userdata($HTTP_GET_VARS[POST_USERS_URL]);
Code: Selecteer alles
if (!$profiledata) { message_die(GENERAL_MESSAGE, $lang['No_user_id_specified']); }
- language/lang_english/lang_main.php[/color][/size]
-
FIND - Line 1021
AFTER, ADD
Code: Selecteer alles
$lang['An_error_occured'] = 'An Error Occurred'; $lang['A_critical_error'] = 'A Critical Error Occurred';
Code: Selecteer alles
$lang['Admin_reauthenticate'] = 'To administer the board you must re-authenticate yourself.';
- login.php[/color][/size]
-
FIND - Line 55
REPLACE WITH
Code: Selecteer alles
if( ( isset($HTTP_POST_VARS['login']) || isset($HTTP_GET_VARS['login']) ) && !$userdata['session_logged_in'] )
Code: Selecteer alles
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
Code: Selecteer alles
$session_id = session_begin($row['user_id'], $user_ip, PAGE_INDEX, FALSE, $autologin);
Code: Selecteer alles
$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
Code: Selecteer alles
if( !$userdata['session_logged_in'] )
Code: Selecteer alles
if( !$userdata['session_logged_in'] || (isset($HTTP_GET_VARS['admin']) && $userdata['session_logged_in'] && $userdata['user_level'] == ADMIN))
-
FIND - Line 211
REPLACE WITH
Code: Selecteer alles
make_jumpbox('viewforum.'.$phpEx, $forum_id); $template->assign_vars(array( 'USERNAME' => $username, 'L_ENTER_PASSWORD' => $lang['Enter_password'],
Code: Selecteer alles
$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[/color][/size]
-
FIND - Line 1110
REPLACE WITH
Code: Selecteer alles
$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));
Code: Selecteer alles
$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[/color][/size]
-
FIND - Line 553
BEFORE, ADD
Code: Selecteer alles
message_die(GENERAL_MESSAGE, $message); } } else if ( ( $mode == 'user' && ( isset($HTTP_POST_VARS['username']) || $user_id ) ) || ( $mode == 'group' && $group_id ) )
Code: Selecteer alles
$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) . ") AND user_level = " . MOD; if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, 'Could not update user level', '', __LINE__, __FILE__, $sql); } }
- includes/usercp_register.php[/color][/size]
-
FIND - Line 414
REPLACE WITH
Code: Selecteer alles
if (strtolower($username) != strtolower($userdata['username']))
Code: Selecteer alles
if (strtolower($username) != strtolower($userdata['username']) || $mode == 'register')