diff --git a/admin/index.php b/admin/index.php index 2fc0d12..64fcac0 100644 --- a/admin/index.php +++ b/admin/index.php @@ -74,7 +74,7 @@ echo '
'."\n"; // Test et affichage du bouton de confirmation en cas de suppression de sondage $i=0; while($dsondage = $sondage->FetchNextObject(false)) { - if ($_POST["supprimersondage$i"]) { + if (issetAndNoEmpty('supprimersondage'.$i) === true) { echo ''."\n"; echo ''."\n"; @@ -83,17 +83,25 @@ while($dsondage = $sondage->FetchNextObject(false)) { } // Traitement de la confirmation de suppression - if ($_POST["confirmesuppression$i"]) { + if (issetAndNoEmpty('confirmesuppression'.$i) === true) { + // On inclut la routine de suppression $date=date('H:i:s d/m/Y'); - // requetes SQL qui font le ménage dans la base - $connect->Execute('DELETE FROM sondage LEFT INNER JOIN sujet_studs ON sujet_studs.id_sondage = sondage.id_sondage '. - 'LEFT INNER JOIN user_studs ON user_studs.id_sondage = sondage.id_sondage ' . - 'LEFT INNER JOIN comments ON comments.id_sondage = sondage.id_sondage ' . - "WHERE id_sondage = '$dsondage->id_sondage' "); + $req = 'DELETE s, su, u, c + FROM + sondage s LEFT JOIN sujet_studs su + ON su.id_sondage = s.id_sondage + LEFT JOIN user_studs u + ON u.id_sondage = s.id_sondage + LEFT JOIN comments c + ON c.id_sondage = s.id_sondage + WHERE s.id_sondage = '.$connect->Param('id_sondage'); + + $sql = $connect->Prepare($req); + $connect->Execute($sql, array($dsondage->id_sondage)); // ecriture des traces dans le fichier de logs - error_log($date . " SUPPRESSION: $dsondage->id_sondage\t$dsondage->format\t$dsondage->nom_admin\t$dsondage->mail_admin\t$nbuser\t$dsujets->sujet\n", 'logs_studs.txt'); + error_log($date . " SUPPRESSION: $dsondage->id_sondage\t$dsondage->format\t$dsondage->nom_admin\t$dsondage->mail_admin\n", 3, 'logs_studs.txt'); } $i++; @@ -143,5 +151,5 @@ echo ''."\n"; echo ''."\n"; // si on annule la suppression, rafraichissement de la page -if ($_POST["annulesuppression"]) { +if (issetAndNoEmpty('annulesuppression') === true) { } \ No newline at end of file diff --git a/scripts/nettoyage_sondage.php b/scripts/nettoyage_sondage.php index b905c5f..57ab487 100644 --- a/scripts/nettoyage_sondage.php +++ b/scripts/nettoyage_sondage.php @@ -50,13 +50,20 @@ while ($dsondage=$sondage->FetchNextObject(false)) { if ($date_courante > strtotime($dsondage->date_fin)) { //destruction des données dans la base - $req = 'DELETE FROM sondage LEFT INNER JOIN sujet_studs ON sujet_studs.id_sondage = sondage.id_sondage '. - 'LEFT INNER JOIN user_studs ON user_studs.id_sondage = sondage.id_sondage ' . - 'LEFT INNER JOIN comments ON comments.id_sondage = sondage.id_sondage ' . - "WHERE id_sondage = '$dsondage->id_sondage'; "; - echo $req; - $connect->Execute($req); + $req = 'DELETE s, su, u, c + FROM + sondage s LEFT JOIN sujet_studs su + ON su.id_sondage = s.id_sondage + LEFT JOIN user_studs u + ON u.id_sondage = s.id_sondage + LEFT JOIN comments c + ON c.id_sondage = s.id_sondage + WHERE s.id_sondage = '.$connect->Param('id_sondage'); + + $sql = $connect->Prepare($req); + $connect->Execute($sql, array($dsondage->id_sondage)); + // ecriture des traces dans le fichier de logs - error_log($date . " SUPPRESSION: $dsondage->id_sondage\t$dsondage->format\t$dsondage->nom_admin\t$dsondage->mail_admin\n", '../admin/logs_studs.txt'); + error_log($date . " SUPPRESSION: $dsondage->id_sondage\t$dsondage->format\t$dsondage->nom_admin\t$dsondage->mail_admin\n", 3, '../admin/logs_studs.txt'); } } \ No newline at end of file
'. _("Confirm removal of the poll ") .'"'.$dsondage->id_sondage.'" : '."\n"; echo '