/*******************************************************************************
* 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 = '