voici la mise à jour de phpBB 2.0.14 à phpBB 2.0.15
[Ce message est une simple traduction des informations contenues dans ce message de phpBB.com]
Vous trouverez ci-dessous les changements à effectuer pour passer de phpBB 2.0.14 à phpBB 2.0.15, le tout résumé sous la forme d'un MOD. Cela peut vous être utile si vous voulez mettre à jour un forum où des MODs ont été installés. En effet, il est généralement plus simple d'appliquer des modifications directement sur le code source de phpBB que de réinstaller les MODs.
Si vous ne savez pas comment installer un MOD, une aide est disponible ici :http://forums.phpbb-fr.com/viewtopic_59762.html
Lorsque vous tombez sur la déclaration 'AJOUTER APRES', le code doit être ajouté après la dernière ligne citée dans la déclaration 'TROUVER'.
Lorsque vous tombez sur la déclaration 'AJOUTER AVANT', le code doit être ajouté avant la première ligne citée dans la déclaration 'TROUVER'.
Lorsque vous tombez sur la déclaration 'REMPLACER PAR', le code cité dans la déclaration 'TROUVER' doit complètement être remplacé par le code cité dans la déclaration 'REMPLACER PAR'.
Après avoir effectué les modifications, vous devez envoyer le fichier update_to_latest.php sur votre serveur et l'éxécuter, puis enfin le supprimer.
Instructions pas à pas:
- Créer un répertoire nommé install à la racine de votre installation de phpBB, ex: http://www.votresite.com/phpbb/install/
Attention, la création du répertoire install bloquera temporairement l'accès à votre forum, ne vous affolez pas, il vous suffira de le supprimer pour que tout revienne à la normale- Envoyer update_to_latest.php dans le répertoire install
- Exécuter update_to_latest.php depuis votre navigateur internet en vous rendant simplement à l'url suivante :
http://www.votresite.com/phpbb/install/ ... latest.php- Supprimer le répertoire install et tout ce qu'il contient
Télécharger les fichiers nécessaire à la mise à jour (seul update_to_latest.php devrait vous intéresser).
Instructions pour mise à jour du code :
- admin/admin_forums.php
- TROUVER - Ligne 236
- Code: Tout sélectionner
if( $mode == "addforum" )
{
list($cat_id) = each($HTTP_POST_VARS['addforum']);
AJOUTER APRES
- Code: Tout sélectionner
$cat_id = intval($cat_id);
- admin/admin_smilies.php
- TROUVER - Ligne 450
- Code: Tout sélectionner
$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'];
AJOUTER APRES
- Code: Tout sélectionner
$smile_code = trim($smile_code);
$smile_url = trim($smile_url);
$smile_emotion = trim($smile_emotion);
- admin/pagestart.php
- TROUVER - Ligne 62
- Code: Tout sélectionner
redirect("index.$phpEx?sid=" . $userdata['session_id']);
}
AJOUTER APRES
- Code: Tout sélectionner
if (!$userdata['session_admin'])
{
redirect(append_sid("login.$phpEx?redirect=admin/&admin=1", true));
}
- db/postgres7.php
- TROUVER - Ligne 126
- Code: Tout sélectionner
$query = preg_replace('#(.*WHERE.*)(username|user_email|ban_email) = \'(.*)\'#ise', "\"\\1LOWER(\\2) = '\" . strtolower('\\3') . \"'\"", $query);
REMPLACER PAR
- Code: Tout sélectionner
// $query = preg_replace('#(.*WHERE.*)(username|user_email|ban_email) = \'(.*)\'#ise', "\"\\1LOWER(\\2) = '\" . strtolower('\\3') . \"'\"", $query);
- groupcp.php
- TROUVER - Ligne 340
- Code: Tout sélectionner
if ( !($row = $db->sql_fetchrow($result)) )
REMPLACER PAR
- Code: Tout sélectionner
if ( !($row = $db->sql_fetchrow($result)) || $row['is_auth_mod'] == 0 )
- includes/bbcode.php
- TROUVER - Ligne 127
- Code: Tout sélectionner
{
global $lang, $bbcode_tpl;
AJOUTER APRES
$text = preg_replace('#(script|about|applet|activex|chrome):#is', "\\1:", $text);- TROUVER - Ligne 197
- Code: Tout sélectionner
// [img]image_url_here[/img] code..
// This one gets first-passed..
$patterns[] = "#\[img:$uid\](.*?)\[/img:$uid\]#si";
REMPLACER PAR
- Code: Tout sélectionner
// [img]image_url_here[/img] code..
// This one gets first-passed..
$patterns[] = "#\[img:$uid\]([^?].*?)\[/img:$uid\]#i";- TROUVER - Ligne 210
- Code: Tout sélectionner
// [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";
REMPLACER PAR
- Code: Tout sélectionner
// [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";- TROUVER - Ligne 619
- Code: Tout sélectionner
*/
function make_clickable($text)
{
AJOUTER APRES
$text = preg_replace('#(script|about|applet|activex|chrome):#is', "\\1:", $text);
- includes/sessions.php
- TROUVER - Ligne 27
- Code: Tout sélectionner
function session_begin($user_id, $user_ip, $page_id, $auto_create = 0, $enable_autologin = 0)
REMPLACER PAR
- Code: Tout sélectionner
function session_begin($user_id, $user_ip, $page_id, $auto_create = 0, $enable_autologin = 0, $admin = 0)- TROUVER - Ligne 158
- Code: Tout sélectionner
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)";
REMPLACER PAR
- Code: Tout sélectionner
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)";- TROUVER - Ligne 180
- Code: Tout sélectionner
{// ( $userdata['user_session_time'] > $expiry_time && $auto_create ) ? $userdata['user_lastvisit'] : (
$last_visit = ( $userdata['user_session_time'] > 0 ) ? $userdata['user_session_time'] : $current_time;
AJOUTER APRES
- Code: Tout sélectionner
if (!$admin)
{- TROUVER - Ligne 189
- Code: Tout sélectionner
$userdata['user_lastvisit'] = $last_visit;
$sessiondata['autologinid'] = ( $enable_autologin && $sessionmethod == SESSION_METHOD_COOKIE ) ? $auto_login_key : '';
REMPLACER PAR
- Code: Tout sélectionner
}
$userdata['user_lastvisit'] = $last_visit;
$sessiondata['autologinid'] = (!$admin) ? (( $enable_autologin && $sessionmethod == SESSION_METHOD_COOKIE ) ? $auto_login_key : '') : $sessiondata['autologinid'];- TROUVER - Ligne 204
- Code: Tout sélectionner
$userdata['session_page'] = $page_id;
$userdata['session_start'] = $current_time;
$userdata['session_time'] = $current_time;
AJOUTER APRES
- Code: Tout sélectionner
$userdata['session_admin'] = $admin;- TROUVER - Ligne 294
- Code: Tout sélectionner
$sql = "UPDATE " . SESSIONS_TABLE . "
SET session_time = $current_time, session_page = $thispage_id
REMPLACER PAR
- Code: Tout sélectionner
// 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
- TROUVER - Ligne 109
- Code: Tout sélectionner
if( !$socket = fsockopen($board_config['smtp_host'], 25, $errno, $errstr, 20) )
REMPLACER PAR
- Code: Tout sélectionner
if( !$socket = @fsockopen($board_config['smtp_host'], 25, $errno, $errstr, 20) )
- includes/usercp_viewprofile.php
- TROUVER - Ligne 36
- Code: Tout sélectionner
}
$profiledata = get_userdata($HTTP_GET_VARS[POST_USERS_URL]);
AJOUTER APRES
- Code: Tout sélectionner
if (!$profiledata)
{
message_die(GENERAL_MESSAGE, $lang['No_user_id_specified']);
}
- language/lang_english/lang_main.php
- TROUVER - Ligne 1021
- Code: Tout sélectionner
$lang['An_error_occured'] = 'An Error Occurred';
$lang['A_critical_error'] = 'A Critical Error Occurred';
AJOUTER APRES
- Code: Tout sélectionner
$lang['Admin_reauthenticate'] = 'To administer the board you must re-authenticate yourself.';
- language/lang_french/lang_main.php
- TROUVER - Ligne 1021
- Code: Tout sélectionner
$lang['An_error_occured'] = 'Une Erreur est Survenue';
$lang['A_critical_error'] = 'Une Erreur Critique est Survenue';
AJOUTER APRES
- Code: Tout sélectionner
$lang['Admin_reauthenticate'] = 'Pour administrer le forum, vous devez vous authentifier de nouveau.';
- login.php
- TROUVER - Ligne 55
- Code: Tout sélectionner
if( ( isset($HTTP_POST_VARS['login']) || isset($HTTP_GET_VARS['login']) ) && !$userdata['session_logged_in'] )
REMPLACER PAR
- Code: Tout sélectionner
if( ( isset($HTTP_POST_VARS['login']) || isset($HTTP_GET_VARS['login']) ) && (!$userdata['session_logged_in'] || isset($HTTP_POST_VARS['admin'])) )- TROUVER - Ligne 80
- Code: Tout sélectionner
$session_id = session_begin($row['user_id'], $user_ip, PAGE_INDEX, FALSE, $autologin);
REMPLACER PAR
- Code: Tout sélectionner
$admin = (isset($HTTP_POST_VARS['admin'])) ? 1 : 0;
$session_id = session_begin($row['user_id'], $user_ip, PAGE_INDEX, FALSE, $autologin, $admin);- TROUVER - Ligne 162
- Code: Tout sélectionner
if( !$userdata['session_logged_in'] )
REMPLACER PAR
- Code: Tout sélectionner
if( !$userdata['session_logged_in'] || (isset($HTTP_GET_VARS['admin']) && $userdata['session_logged_in'] && $userdata['user_level'] == ADMIN))- TROUVER - Ligne 211
- Code: Tout sélectionner
make_jumpbox('viewforum.'.$phpEx, $forum_id);
$template->assign_vars(array(
'USERNAME' => $username,
'L_ENTER_PASSWORD' => $lang['Enter_password'],
REMPLACER PAR
- Code: Tout sélectionner
$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
- TROUVER - Ligne 1110
- Code: Tout sélectionner
$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));
REMPLACER PAR
- Code: Tout sélectionner
$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
- TROUVER - Ligne 553
- Code: Tout sélectionner
message_die(GENERAL_MESSAGE, $message);
}
}
else if ( ( $mode == 'user' && ( isset($HTTP_POST_VARS['username']) || $user_id ) ) || ( $mode == 'group' && $group_id ) )
AJOUTER AVANT
- Code: Tout sélectionner
$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
- TROUVER - Ligne 414
- Code: Tout sélectionner
if (strtolower($username) != strtolower($userdata['username']))
REMPLACER PAR
- Code: Tout sélectionner
if (strtolower($username) != strtolower($userdata['username']) || $mode == 'register')
@+ & bonne mise à jour.
[ MAJ 14-05-2005 ] Galixte

