/******************************************************************************* * Pour transformer votre Forum FSB 1.0.0 Beta 2 en FSB v1.00 * * date: 10/05/05 * *******************************************************************************/ # # [] ========== REQUETE SQL DANS phpMyAdmin (votre hébergement) =============== # # en remplaçant éventuellement fsb_ par votre préfixe de table # ALTER TABLE `fsb_messages_lus` ADD INDEX(`sujet_id`); ALTER TABLE `fsb_messages_lus` ADD INDEX(`membre_id`); ALTER TABLE `fsb_messages` ADD INDEX(`message_id`); ALTER TABLE `fsb_messages` ADD INDEX(`sujet_id`); # impératif pour le fonctionnement des messages non-lus DELETE FROM `fsb_messages_lus` WHERE forum_id=0; # # [] ========== COPIER LES FICHIERS ============================================ # # Voici les fichiers qu'il faut remplacer par les nouveaux. # Vous les trouverez en téléchargeant une nouvelle release ou bien ne téléchargeant le pack # de mise à jour avec ces fichiers en question. # includes/class/class_cache.php includes/class/class_mail.php includes/class/class_tpl.php includes/functions/fonctions_messages_lus.php # # [] ========== OUVRIR ========================================================= # admin/admin_index_cache.php # # [] ---------- chercher ------------------------------------------------------- # Correction de bug (a faire pour mettre la version de son forum à jour) # $exe = preg_replace('/fsb_/', $prefixe_tables, $explode[$i], 1); # # [] ---------- remplacer par ------------------------------------------------- # Correction de bug (a faire pour mettre la version de son forum à jour) # $exe = $explode[$i]; # # [] ========== OUVRIR ========================================================= # admin/admin_forum_gestion.php # # [] ---------- chercher ------------------------------------------------------- # Optimisation # $sql = 'DELETE FROM ' . SUJETS_TABLE . ' WHERE forum_id IN(' . $forums_id . ')'; if ( ! $bdd->requete($sql) ) { info($langue['er_titre'], sprintf($langue['er_select'], 'sujets'), __LINE__, __FILE__, $sql); } # # [] ---------- apres, ajouter ------------------------------------------------- # Optimisation # $sql = 'DELETE FROM ' . MESSAGES_LUS_TABLE . ' WHERE forum_id IN(' . $forums_id . ')'; if ( ! $bdd->requete($sql) ) { info($langue['er_titre'], sprintf($langue['er_select'], 'messages lus'), __LINE__, __FILE__, $sql); } # # [] ========== OUVRIR ========================================================= # admin/admin_membre_bannir.php # # [] ---------- chercher ------------------------------------------------------- # Amélioration (Impossibilité de bannir et supprimer le fondateur) # $sql = 'SELECT membre_aut FROM ' . MEMBRES_TABLE . ' WHERE membre_login = \'' . $var[$i] . '\''; if (!$result = $bdd->requete($sql)) { info($langue['er_titre'], sprintf($langue['er_select'], 'membres'), __LINE__, __FILE__, $sql); } $data = $bdd->tableau($result); if ($data['membre_aut'] == ADMIN) { info($langue['info_titre'], $langue['er_bannir_admin']); } # # [] ---------- remplacer par ------------------------------------------------- # Amélioration (Impossibilité de bannir et supprimer le fondateur) # $sql = 'SELECT membre_id, membre_aut FROM ' . MEMBRES_TABLE . ' WHERE membre_login = \'' . $var[$i] . '\''; if (!$result = $bdd->requete($sql)) { info($langue['er_titre'], sprintf($langue['er_select'], 'membres'), __LINE__, __FILE__, $sql); } $data = $bdd->tableau($result); if ($data['membre_aut'] == ADMIN) { info($langue['info_titre'], $langue['er_bannir_admin']); } else if ($data['membre_id'] == FONDATEUR) { info($langue['info_titre'], $langue['er_bannir_fondateur']); } # # [] ---------- supprimer ------------------------------------------------------- # Amélioration (ajout des masques de banissement : 127.0.*.* , *@yahoo.com, etc ...) # $var[$i] = ($type == BANNIR_IP) ? ip2long($var[$i]) : $var[$i]; # # [] ---------- chercher ------------------------------------------------------- # Amélioration (ajout des masques de banissement : 127.0.*.* , *@yahoo.com, etc ...) # 'OBJET' => ( $banis[$b]['bannis_type'] == BANNIR_IP ) ? long2ip($banis[$b]['bannis_objet']) : $banis[$b]['bannis_objet'], # # [] ---------- remplacer par ------------------------------------------------- # Amélioration (ajout des masques de banissement : 127.0.*.* , *@yahoo.com, etc ...) # 'OBJET' => $banis[$b]['bannis_objet'], # # [] ========== OUVRIR ========================================================= # Amélioration (Impossibilité de bannir et supprimer le fondateur) # admin/admin_membre_gestion.php # # [] ---------- chercher ------------------------------------------------------- # Amélioration (Impossibilité de bannir et supprimer le fondateur) # if ( (isset($HTTP_POST_VARS['supprimer_membre']) || isset($HTTP_POST_VARS['confirm_non']) || isset($HTTP_POST_VARS['confirm_oui'])) && $membre['membre_aut'] == ADMIN ) { # # [] ---------- apres, ajouter ------------------------------------------------- # Amélioration (Impossibilité de bannir et supprimer le fondateur) # if ($id == FONDATEUR) { info($langue['info_titre'], $langue['er_bannir_fondateur']); } # # [] ========== OUVRIR ========================================================= # connexion.php # # [] ---------- chercher ------------------------------------------------------- # Amélioration (ajout des masques de banissement : 127.0.*.* , *@yahoo.com, etc ...) # while ( $bannis = $bdd->tableau($result) ) { if ( $bannis['bannis_type'] == BANNIR_IP && $bannis['bannis_objet'] == long2ip($membre['membre_ip']) ) { $erreur = $langue['ip_est_bannie']; break; } else if ( $bannis['bannis_type'] == BANNIR_MEMBRE && strtolower($bannis['bannis_objet']) == strtolower($login) ) { $erreur = $langue['membre_est_banni']; break; } } # # [] ---------- remplacer par ------------------------------------------------- # Amélioration (ajout des masques de banissement : 127.0.*.* , *@yahoo.com, etc ...) # $tmp_ip = long2ip($membre['membre_ip']); $tmp_login = strtolower($login); while ($bannis = $bdd->tableau($result)) { if ($bannis['bannis_type'] == BANNIR_IP && is_matching($bannis['bannis_objet'], $tmp_ip)) { $erreur = $langue['ip_est_bannie']; break; } else if ($bannis['bannis_type'] == BANNIR_MEMBRE && is_matching(strtolower($bannis['bannis_objet']), $tmp_login)) { $erreur = $langue['membre_est_banni']; break; } } # # [] ---------- chercher ------------------------------------------------- # Correction de bug # define('FORUM', TRUE); # # [] ---------- apres ajouter ------------------------------------------------- # Correction de bug # define('PAGE_CONNEXION', TRUE); # # [] ========== OUVRIR ========================================================= # demarrage.php # # [] ---------- chercher ------------------------------------------------------- # Sécurité (important, mais a ne pas faire si vous avez déjà corrigé votre forum dans la précédente annonce) # // On désactive la fonction set_magic_quotes_runtime() set_magic_quotes_runtime(0); # # [] ---------- avant, ajouter ------------------------------------------------- # Sécurité (important, mais a ne pas faire si vous avez déjà corrigé votre forum dans la précédente annonce) # if (!defined('FORUM') && !defined('ADMINISTRATION')) { die('-[interdit]-'); } # # [] ---------- chercher ------------------------------------------------------- # Sécurité (important, mais a ne pas faire si vous avez déjà corrigé votre forum dans la précédente annonce) # if( ! get_magic_quotes_gpc() ) { for ( $i = 0; $i < 3; $i++ ) { while ( list($cle, $valeur) = each(${'HTTP_' . $globals[$i] . '_VARS'}) ) { unset($$cle); if ( is_array($valeur) ) { while ( list($cle_bis, $valeur_bis) = each($valeur) ) { ${'HTTP_' . $globals[$i] . '_VARS'}[$cle][$cle_bis] = addslashes($valeur_bis); } } else { ${'HTTP_' . $globals[$i] . '_VARS'}[$cle] = addslashes($valeur); } } } } # # [] ---------- remplacer par -------------------------------------------------- # Sécurité (important, mais a ne pas faire si vous avez déjà corrigé votre forum dans la précédente annonce) # $magic_quote = (!get_magic_quotes_gpc()) ? TRUE : FALSE; for ( $i = 0; $i < 3; $i++ ) { foreach (${'HTTP_' . $globals[$i] . '_VARS'} AS $cle => $valeur) { unset($$cle); if ($magic_quote) { if ( is_array($valeur) ) { foreach ($valeur AS $cle_bis => $valeur_bis) { ${'HTTP_' . $globals[$i] . '_VARS'}[$cle][$cle_bis] = addslashes($valeur_bis); } } else { ${'HTTP_' . $globals[$i] . '_VARS'}[$cle] = addslashes($valeur); } } } } # # [] ========== OUVRIR ========================================================= # forum.php # # [] ---------- chercher ------------------------------------------------------- # Optimisation # $cookie_sujet = ($membre['membre_id'] != INVITE) ? recuperer_nouveaux_messages($membre['membre_id'], $membre['derniere_visite']) : array(); # # [] ---------- remplacer par ------------------------------------------------- # Optimisation # $cookie_sujet = recuperer_nouveaux_messages($membre['membre_id'], $membre['derniere_visite']); # # [] ---------- chercher ------------------------------------------------------- # Optimisation (a faire pour que les messages non lus marchent) # $sujet_status = ($membre['membre_id'] != INVITE && is_array($cookie_sujet[$sujet[$t]['sujet_id']]) && $sujet[$t]['dernier_message_temps'] > $cookie_sujet[$sujet[$t]['sujet_id']]['dernier_message_lu']) ? NON_LU : LU; # # [] ---------- remplacer par ------------------------------------------------- # Optimisation (a faire pour que les messages non lus marchent) # $sujet_status = (is_array($cookie_sujet[$sujet[$t]['sujet_id']]) ) ? NON_LU : LU; # # [] ---------- chercher ------------------------------------------------------- # Validation XHTML # 'U_MARQUER_LU' => ajout_sid('forum.php?forum=' . $forum_id . '&marquer=true'), # # [] ---------- remplacer par ------------------------------------------------- # Validation XHTML # 'U_MARQUER_LU' => ajout_sid('forum.php?forum=' . $forum_id . '&marquer=true'), # # [] ========== OUVRIR ========================================================= # profil.php # # [] ---------- chercher ------------------------------------------------------- # Amélioration (ajout des masques de banissement : 127.0.*.* , *@yahoo.com, etc ...) # while ( $bannis = $bdd->tableau($result) ) { if ( $bannis['bannis_type'] == BANNIR_IP && $bannis['bannis_objet'] == long2ip($membre['membre_ip']) ) { $erreur .= $langue['ip_est_bannie'] . '
'; break; } else if ( $bannis['bannis_type'] == BANNIR_MEMBRE && strtolower($bannis['bannis_objet']) == strtolower($login) ) { $erreur .= $langue['membre_est_banni'] . '
'; break; } else if ( $bannis['bannis_type'] == BANNIR_MAIL && strtolower($bannis['bannis_objet']) == strtolower($email) ) { $erreur .= $langue['mail_est_banni'] . '
'; break; } } # # [] ---------- remplacer par ------------------------------------------------- # Amélioration (ajout des masques de banissement : 127.0.*.* , *@yahoo.com, etc ...) # $tmp_ip = long2ip($membre['membre_ip']); $tmp_login = strtolower($login); $tmp_email = strtolower($email); while ($bannis = $bdd->tableau($result)) { if ($bannis['bannis_type'] == BANNIR_IP && is_matching($bannis['bannis_objet'], $tmp_ip)) { $erreur .= $langue['ip_est_bannie'] . '
'; break; } else if ($bannis['bannis_type'] == BANNIR_MEMBRE && is_matching(strtolower($bannis['bannis_objet']), $tmp_login)) { $erreur .= $langue['membre_est_banni'] . '
'; break; } else if ($bannis['bannis_type'] == BANNIR_MAIL && is_matching(strtolower($bannis['bannis_objet']), $tmp_email)) { $erreur .= $langue['mail_est_banni'] . '
'; break; } } # # [] ---------- chercher ------------------------------------------------------- # Correction de bug # if (!preg_match('/(http|https):\/\/.*?\.(gif|jpg|jpeg\|png)/si', $lier_avatar)) # # [] ---------- remplacer par ------------------------------------------------- # Correction de bug # if (!preg_match('/(http|https):\/\/.*?\.(gif|jpg|jpeg|png)/si', $lier_avatar)) # # [] ---------- chercher ------------------------------------------------------- # Correction de bug # default: info($langue['er_titre'], $langue['mauvais_parametre'], __LINE__, __FILE__); break; } } # # [] ---------- apres, ajouter ------------------------------------------------- # Correction de bug # Attention à bien le placer en dessous des bonnes acolades # else { for ( $i = 0; $i < count($parametre); $i++ ) { $$parametre[$i] = stripslashes($HTTP_POST_VARS[$parametre[$i]]); } } # [] ========== OUVRIR ========================================================= # sujet.php # # [] ---------- chercher ------------------------------------------------------- # Optimisation # $cookie_sujet = ($membre['membre_id'] != INVITE) ? recuperer_nouveaux_messages($membre['membre_id'], $membre['derniere_visite'], $forum_id, $sujet_id) : array(); # # [] ---------- remplacer par ------------------------------------------------- # Optimisation # $cookie_sujet = recuperer_nouveaux_messages($membre['membre_id'], $membre['derniere_visite'], $forum_id, $sujet_id); # # # [] ---------- chercher ------------------------------------------------------- # Amélioration (Ne pas afficher d'image de mail pour les invités) # 'IMG_MAIL' => ( $message[$p]['membre_voir_mail'] ) ? '' . sprintf($theme['img'], 'themes/' . $membre['membre_theme'] . 'images/' . $membre['membre_langue'] . 'mail.gif', $langue['img_mail'], $langue['img_mail']) . '' : ( $config['mail_par_forum'] ? '' . sprintf($theme['img'], 'themes/' . $membre['membre_theme'] . 'images/' . $membre['membre_langue'] . 'mail.gif', $langue['img_mail'], $langue['img_mail']) . '' : '' ) # # [] ---------- remplacer par -------------------------------------------------- # Amélioration (Ne pas afficher d'image de mail pour les invités) # 'IMG_MAIL' => ($message[$p]['membre_voir_mail'] && $message[$p]['membre_id'] != INVITE) ? '' . sprintf($theme['img'], 'themes/' . $membre['membre_theme'] . 'images/' . $membre['membre_langue'] . 'mail.gif', $langue['img_mail'], $langue['img_mail']) . '' : (($config['mail_par_forum'] && $message[$p]['membre_id'] != INVITE) ? '' . sprintf($theme['img'], 'themes/' . $membre['membre_theme'] . 'images/' . $membre['membre_langue'] . 'mail.gif', $langue['img_mail'], $langue['img_mail']) . '' : '' ) # # [] ---------- chercher ------------------------------------------------------- # Correction de bug # $sujet_temp['dernier_message_temps'] = $sujet['dernier_message_temps']; # # [] ---------- apres, mettre -------------------------------------------------- # Correction de bug # $sujet_temp['forum_id'] = $sujet['forum_id']; # [] ========== OUVRIR ========================================================= # includes/constantes.php # # [] ---------- chercher ------------------------------------------------------- # Correction de bug # // Constante définissant le fait que le membre n'est pas connecté define('INVITE', 0); # # [] ---------- avant, ajouter ------------------------------------------------- # Amélioration (Impossibilité de bannir et supprimer le fondateur) # // Constante definissant l'ID du fondateur, le fondateur ne peut ni être banni, ni supprimé define('FONDATEUR', 1); # # [] ========== OUVRIR ========================================================= # includes/class/class_bdd_mysql.php # # [] ---------- chercher ------------------------------------------------------- # Optimisation # function requete($requete) { $this->nb_requete++; return @mysql_query($requete); } # # [] ---------- remplacer par ------------------------------------------------- # Optimisation # function requete($requete) { $this->nb_requete++; $sql = ' ' . $requete; if (strpos($sql, 'SELECT') || strpos($sql, 'SHOW') || strpos($sql, 'EXPLAIN') || strpos($sql, 'DESCRIBE')) { return (@mysql_query($requete)); } else { return (@mysql_unbuffered_query($requete)); } } # # [] ========== OUVRIR ========================================================= # includes/functions/fonctions_pages.php # # [] ---------- chercher ------------------------------------------------------- # Correction de bug # 'V_ACTION' => $v_action, # # [] ---------- remplacer par ------------------------------------------------- # Correction de bug # 'V_ACTION' => ajout_sid($v_action), # # [] ========== OUVRIR ========================================================= # index.php # # [] ---------- chercher ------------------------------------------------------- # Optimisation # $cookie_sujet = ($membre['membre_id'] != INVITE) ? recuperer_nouveaux_messages($membre['membre_id'], $membre['derniere_visite']) : array(); # # [] ---------- remplacer par ------------------------------------------------- # Optimisation # $cookie_sujet = recuperer_nouveaux_messages($membre['membre_id'], $membre['derniere_visite']); # # [] ========== OUVRIR ========================================================= # includes/functions/fonctions_hierarchie.php # # [] ---------- chercher ------------------------------------------------------- # Optimisation # if (in_array($valeur['forum_id'], $t_forum_id['t_ids']) && $valeur['dernier_message_temps'] > $valeur['dernier_message_lu']) # # [] ---------- remplacer par ------------------------------------------------- # Optimisation # if (in_array($valeur['forum_id'], $t_forum_id['t_ids'])) # # [] ---------- chercher ------------------------------------------------------- # Validation XHTML # $redirection_code = ( $redirection ) ? 'OnChange="if ( this.options[this.selectedIndex].value != 0 ) { redirection_forum(this.value); }"' : ''; $redirection_js = '