Un petit bug du à un morceau de code mal placé...
Lorsqu'on supprime un membre, si il a un avatar uploadé, celui-ci n'est pas supprimé.
Voici une petite correction :
Lorsqu'on supprime un membre, si il a un avatar uploadé, celui-ci n'est pas supprimé.
Voici une petite correction :
Code (Sélectionner le code)
#
# [1] ---------- ouvrir --------------------------------------------------------
#
admin_membre_gestion.php
#
# [2] ---------- chercher --------------------------------------------------------
#
if ( isset($HTTP_POST_VARS['confirm_oui']) )
{
$sql = 'DELETE FROM ' . MEMBRES_TABLE . '
WHERE membre_id = \'' . $id . '\'';
if ( ! $result = $bdd->requete($sql) )
{
info($langue['er_titre'], sprintf($langue['er_delete'], 'membres'), __LINE__, __FILE__, $sql);
}
$sql = 'UPDATE ' . SUJETS_TABLE . '
SET membre_id = \'' . INVITE . '\'
WHERE membre_id = \'' . $id . '\'';
if ( ! $result = $bdd->requete($sql) )
{
info($langue['er_titre'], sprintf($langue['er_update'], 'sujets'), __LINE__, __FILE__, $sql);
}
$sql = 'UPDATE ' . MESSAGES_TABLE . '
SET membre_id = \'' . INVITE . '\'
WHERE membre_id = \'' . $id . '\'';
if ( ! $result = $bdd->requete($sql) )
{
info($langue['er_titre'], sprintf($langue['er_update'], 'messages'), __LINE__, __FILE__, $sql);
}
for ( $f = 0; $f < $compte_forum; $f++ )
{
if( $forum[$f]['dernier_posteur_id'] == $id )
{
$forum[$f]['dernier_posteur_id'] = 0;
}
}
$cache->write_in_cache($forum, 'forum', $compte_forum);
$sql = 'SELECT membre_avatar FROM ' . MEMBRES_TABLE . ' WHERE membre_id = \'' . $id . '\'';
if( ! $result = $bdd->requete($sql) )
{
info($langue['er_titre'], sprintf($langue['er_select'], 'membres'), __LINE__, __FILE__, $sql);
}
$avatar = $bdd->tableau($result);
if( preg_match('`(\./){1}(.*?)`si', $avatar['membre_avatar']) )
{
$avatar = preg_replace('`\./`si', '../', $avatar['membre_avatar']);
if( file_exists($avatar) )
{
unlink($avatar);
}
}
info($langue['info_titre'], $langue['membre_est_supprime'] . '<br /><br />' . sprintf($langue['retour_gestion_membre'], ajout_sid('admin_membre_gestion.php')) . '<br /><br />' . sprintf($langue['retour_index_admin'], ajout_sid('index.php')));
}
#
# [3] ---------- remplacer par --------------------------------------------------------
#
if ( isset($HTTP_POST_VARS['confirm_oui']) )
{
$sql = 'SELECT membre_avatar FROM ' . MEMBRES_TABLE . ' WHERE membre_id = \'' . $id . '\'';
if( ! $result = $bdd->requete($sql) )
{
info($langue['er_titre'], sprintf($langue['er_select'], 'membres'), __LINE__, __FILE__, $sql);
}
$avatar = $bdd->tableau($result);
if( preg_match('`(\./){1}(.*?)`si', $avatar['membre_avatar']) )
{
$avatar = preg_replace('`\./`si', '../', $avatar['membre_avatar']);
if( file_exists($avatar) )
{
unlink($avatar);
}
}
$sql = 'DELETE FROM ' . MEMBRES_TABLE . '
WHERE membre_id = \'' . $id . '\'';
if ( ! $result = $bdd->requete($sql) )
{
info($langue['er_titre'], sprintf($langue['er_delete'], 'membres'), __LINE__, __FILE__, $sql);
}
$sql = 'UPDATE ' . SUJETS_TABLE . '
SET membre_id = \'' . INVITE . '\'
WHERE membre_id = \'' . $id . '\'';
if ( ! $result = $bdd->requete($sql) )
{
info($langue['er_titre'], sprintf($langue['er_update'], 'sujets'), __LINE__, __FILE__, $sql);
}
$sql = 'UPDATE ' . MESSAGES_TABLE . '
SET membre_id = \'' . INVITE . '\'
WHERE membre_id = \'' . $id . '\'';
if ( ! $result = $bdd->requete($sql) )
{
info($langue['er_titre'], sprintf($langue['er_update'], 'messages'), __LINE__, __FILE__, $sql);
}
for ( $f = 0; $f < $compte_forum; $f++ )
{
if( $forum[$f]['dernier_posteur_id'] == $id )
{
$forum[$f]['dernier_posteur_id'] = 0;
}
}
$cache->write_in_cache($forum, 'forum', $compte_forum);
info($langue['info_titre'], $langue['membre_est_supprime'] . '<br /><br />' . sprintf($langue['retour_gestion_membre'], ajout_sid('admin_membre_gestion.php')) . '<br /><br />' . sprintf($langue['retour_index_admin'], ajout_sid('index.php')));
}





