[phpBB] Come aggiornare dalla versione 2.0.14 alla 2.0.15

Php, PHP-Nuke, phpBB, Html, CSS, Javascript e tutto ciò che concerne la gestione siti web.
Avatar utente
AleSSaNDRo
WebMaster
WebMaster
Messaggi: 2363
Iscritto il: 24/04/2003, 1:11
Località: Milano

[phpBB] Come aggiornare dalla versione 2.0.14 alla 2.0.15

Messaggio da AleSSaNDRo »

Da phpBB 2.0.14 a phpBB 2.0.15

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! :wink:), eseguilo e poi elimina la cartella.

Ok, iniziamo:

  • admin/admin_forums.php
  1. FIND - Line 236

    Codice: Seleziona tutto

    
    	if( $mode == "addforum" )
    	{
    		list($cat_id) = each($HTTP_POST_VARS['addforum']);
    
    AFTER, ADD

    Codice: Seleziona tutto

    
    		$cat_id = intval($cat_id);
    
  • admin/admin_smilies.php
  1. FIND - Line 450

    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'];
    
    AFTER, ADD

    Codice: Seleziona tutto

    
    			$smile_code = trim($smile_code);
    			$smile_url = trim($smile_url);
    			$smile_emotion = trim($smile_emotion);
    
  • admin/pagestart.php
  1. FIND - Line 62

    Codice: Seleziona tutto

    
    	redirect("index.$phpEx?sid=" . $userdata['session_id']);
    }
    
    
    AFTER, ADD

    Codice: Seleziona tutto

    
    if (!$userdata['session_admin'])
    {
    	redirect(append_sid("login.$phpEx?redirect=admin/&admin=1", true));
    }
    
    
  • db/postgres7.php
  1. FIND - Line 126

    Codice: Seleziona tutto

    
    			$query = preg_replace('#(.*WHERE.*)(username|user_email|ban_email) = \'(.*)\'#ise', "\"\\1LOWER(\\2) = '\" . strtolower('\\3') . \"'\"", $query);
    
    REPLACE WITH

    Codice: Seleziona tutto

    
    //			$query = preg_replace('#(.*WHERE.*)(username|user_email|ban_email) = \'(.*)\'#ise', "\"\\1LOWER(\\2) = '\" . strtolower('\\3') . \"'\"", $query);
    
  • groupcp.php
  1. FIND - Line 340

    Codice: Seleziona tutto

    
    			if ( !($row = $db->sql_fetchrow($result)) )
    
    REPLACE WITH

    Codice: Seleziona tutto

    
    			if ( !($row = $db->sql_fetchrow($result)) || $row['is_auth_mod'] == 0 )
    
  • includes/bbcode.php
  1. FIND - Line 127

    Codice: Seleziona tutto

    
    {
    	global $lang, $bbcode_tpl;
    
    
    AFTER, ADD

    Codice: Seleziona tutto

    
    	$text = preg_replace('#(script|about|applet|activex|chrome):#is', "\\1:", $text);
    
    
  2. FIND - Line 197

    Codice: Seleziona tutto

    
    	// [img]image_url_here[/img] code..
    	// This one gets first-passed..
    	$patterns[] = "#\[img:$uid\](.*?)\[/img:$uid\]#si";
    
    REPLACE WITH

    Codice: Seleziona tutto

    
    	// [img]image_url_here[/img] code..
    	// This one gets first-passed..
    	$patterns[] = "#\[img:$uid\]([^?].*?)\[/img:$uid\]#i";
    
  3. FIND - Line 210

    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";
    
    REPLACE WITH

    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";
    
  4. FIND - Line 619

    Codice: Seleziona tutto

    
     */
    function make_clickable($text)
    {
    
    AFTER, ADD

    Codice: Seleziona tutto

    
    	$text = preg_replace('#(script|about|applet|activex|chrome):#is', "\\1&#058;", $text);
    
  • includes/sessions.php
  1. FIND - Line 27

    Codice: Seleziona tutto

    
    function session_begin($user_id, $user_ip, $page_id, $auto_create = 0, $enable_autologin = 0)
    
    REPLACE WITH

    Codice: Seleziona tutto

    
    function session_begin($user_id, $user_ip, $page_id, $auto_create = 0, $enable_autologin = 0, $admin = 0)
    
  2. FIND - Line 158

    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)";
    
    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, 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)";
    
  3. FIND - Line 180

    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; 
    
    
    AFTER, ADD

    Codice: Seleziona tutto

    
    		if (!$admin)
    		{
    
  4. FIND - Line 189

    Codice: Seleziona tutto

    
    
    		$userdata['user_lastvisit'] = $last_visit;
    
    		$sessiondata['autologinid'] = ( $enable_autologin && $sessionmethod == SESSION_METHOD_COOKIE ) ? $auto_login_key : '';
    
    REPLACE WITH

    Codice: Seleziona tutto

    
    		}
    
    		$userdata['user_lastvisit'] = $last_visit;
    
    		$sessiondata['autologinid'] = (!$admin) ? (( $enable_autologin && $sessionmethod == SESSION_METHOD_COOKIE ) ? $auto_login_key : '') : $sessiondata['autologinid'];
    
  5. FIND - Line 204

    Codice: Seleziona tutto

    
    	$userdata['session_page'] = $page_id;
    	$userdata['session_start'] = $current_time;
    	$userdata['session_time'] = $current_time;
    
    AFTER, ADD

    Codice: Seleziona tutto

    
    	$userdata['session_admin'] = $admin;
    
  6. FIND - Line 294

    Codice: Seleziona tutto

    
    					$sql = "UPDATE " . SESSIONS_TABLE . " 
    						SET session_time = $current_time, session_page = $thispage_id 
    
    REPLACE WITH

    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
  1. FIND - Line 109

    Codice: Seleziona tutto

    
    	if( !$socket = fsockopen($board_config['smtp_host'], 25, $errno, $errstr, 20) )
    
    REPLACE WITH

    Codice: Seleziona tutto

    
    	if( !$socket = @fsockopen($board_config['smtp_host'], 25, $errno, $errstr, 20) )
    
  • includes/usercp_viewprofile.php
  1. FIND - Line 36

    Codice: Seleziona tutto

    
    }
    $profiledata = get_userdata($HTTP_GET_VARS[POST_USERS_URL]);
    
    
    AFTER, ADD

    Codice: Seleziona tutto

    
    if (!$profiledata)
    {
    	message_die(GENERAL_MESSAGE, $lang['No_user_id_specified']);
    }
    
    
  • language/lang_italian/lang_main.php
  1. FIND - Line 1021

    Codice: Seleziona tutto

    
    $lang['An_error_occured'] = 'Si è verificata una condizione di errore';
    $lang['A_critical_error'] = 'Si è verificata una condizione di errore critica';
    
    
    AFTER, ADD

    Codice: Seleziona tutto

    
    $lang['Admin_reauthenticate'] = ' Per amministrare il forum ti devi riautenticare.';
    
    
  • login.php
  1. FIND - Line 55

    Codice: Seleziona tutto

    
    	if( ( isset($HTTP_POST_VARS['login']) || isset($HTTP_GET_VARS['login']) ) && !$userdata['session_logged_in'] )
    
    REPLACE WITH

    Codice: Seleziona tutto

    
    	if( ( isset($HTTP_POST_VARS['login']) || isset($HTTP_GET_VARS['login']) ) && (!$userdata['session_logged_in'] || isset($HTTP_POST_VARS['admin'])) )
    
  2. FIND - Line 80

    Codice: Seleziona tutto

    
    					$session_id = session_begin($row['user_id'], $user_ip, PAGE_INDEX, FALSE, $autologin);
    
    REPLACE WITH

    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);
    
  3. FIND - Line 162

    Codice: Seleziona tutto

    
    	if( !$userdata['session_logged_in'] )
    
    REPLACE WITH

    Codice: Seleziona tutto

    
    	if( !$userdata['session_logged_in'] || (isset($HTTP_GET_VARS['admin']) && $userdata['session_logged_in'] && $userdata['user_level'] == ADMIN))
    
  4. FIND - Line 211

    Codice: Seleziona tutto

    
    
    		make_jumpbox('viewforum.'.$phpEx, $forum_id);
    		$template->assign_vars(array(
    			'USERNAME' => $username,
    
    			'L_ENTER_PASSWORD' => $lang['Enter_password'],
    
    REPLACE WITH

    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
  1. FIND - Line 1110

    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));
    
    REPLACE WITH

    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
  1. FIND - Line 553

    Codice: Seleziona tutto

    
    		message_die(GENERAL_MESSAGE, $message);
    	}
    }
    else if ( ( $mode == 'user' && ( isset($HTTP_POST_VARS['username']) || $user_id ) ) || ( $mode == 'group' && $group_id ) )
    
    BEFORE, ADD

    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
  1. FIND - Line 414

    Codice: Seleziona tutto

    
    			if (strtolower($username) != strtolower($userdata['username']))
    
    REPLACE WITH

    Codice: Seleziona tutto

    
    			if (strtolower($username) != strtolower($userdata['username']) || $mode == 'register')
    

Chi c’è in linea

Visitano il forum: Bing [Bot], Claude [Bot] e 0 ospiti