diff --git a/admin/index.php b/admin/index.php index 6891c87..34679ac 100644 --- a/admin/index.php +++ b/admin/index.php @@ -87,33 +87,13 @@ while($dsondage = $sondage->FetchNextObject(false)) { // On inclut la routine de suppression $date=date('H:i:s d/m/Y'); - $connect->StartTrans(); - - $req = 'DELETE FROM sondage WHERE id_sondage = ' . $connect->Param('id_sondage') ; - $sql = $connect->Prepare($req); - $connect->Execute($sql, array($dsondage->id_sondage)); - - $req = 'DELETE FROM sujet_studs WHERE id_sondage = ' . $connect->Param('id_sondage') ; - $sql = $connect->Prepare($req); - $connect->Execute($sql, array($dsondage->id_sondage)); - - $req = 'DELETE FROM user_studs WHERE id_sondage = ' . $connect->Param('id_sondage') ; - $sql = $connect->Prepare($req); - $connect->Execute($sql, array($dsondage->id_sondage)); - - $req = 'DELETE FROM comments WHERE id_sondage = ' . $connect->Param('id_sondage') ; - $sql = $connect->Prepare($req); - $connect->Execute($sql, array($dsondage->id_sondage)); - - if (! $connect->HasFailedTrans() ) { + if ( remove_sondage( $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", 3, 'logs_studs.txt'); } - $connect->CompleteTrans(); - } $i++; diff --git a/adminstuds.php b/adminstuds.php index af324ce..9887f22 100644 --- a/adminstuds.php +++ b/adminstuds.php @@ -313,29 +313,9 @@ if (isset($_POST["confirmesuppression"]) || isset($_POST["confirmesuppression_x" $nbuser=$user_studs->RecordCount(); $date=date('H:i:s d/m/Y:'); - $connect->StartTrans(); + remove_sondage( $numsondage ) ; - $req = 'DELETE FROM sondage WHERE id_sondage = ' . $connect->Param('numsondage') ; - $sql = $connect->Prepare($req); - $connect->Execute($sql, array($numsondage)); - - $req = 'DELETE FROM sujet_studs WHERE id_sondage = ' . $connect->Param('numsondage') ; - $sql = $connect->Prepare($req); - $connect->Execute($sql, array($numsondage)); - - $req = 'DELETE FROM user_studs WHERE id_sondage = ' . $connect->Param('numsondage') ; - $sql = $connect->Prepare($req); - $connect->Execute($sql, array($numsondage)); - - $req = 'DELETE FROM comments WHERE id_sondage = ' . $connect->Param('numsondage') ; - $sql = $connect->Prepare($req); - $connect->Execute($sql, array($numsondage)); - - $suppression_OK = ! $connect->HasFailedTrans() ; - $connect->CompleteTrans(); - - - if ( $suppression_OK ) { + if ( remove_sondage( $numsondage ) ) { // on ecrit dans le fichier de logs la suppression du sondage error_log($date . " SUPPRESSION: $dsondage->id_sondage\t$dsondage->format\t$dsondage->nom_admin\t$dsondage->mail_admin\n", 3, 'admin/logs_studs.txt'); diff --git a/fonctions.php b/fonctions.php index adc128b..16f09b5 100644 --- a/fonctions.php +++ b/fonctions.php @@ -203,6 +203,33 @@ function getUrlSondage($id, $admin = false) return $url; } +function remove_sondage( $numsondage ){ + + $connect->StartTrans(); + + $req = 'DELETE FROM sondage WHERE id_sondage = ' . $connect->Param('numsondage') ; + $sql = $connect->Prepare($req); + $connect->Execute($sql, array($numsondage)); + + $req = 'DELETE FROM sujet_studs WHERE id_sondage = ' . $connect->Param('numsondage') ; + $sql = $connect->Prepare($req); + $connect->Execute($sql, array($numsondage)); + + $req = 'DELETE FROM user_studs WHERE id_sondage = ' . $connect->Param('numsondage') ; + $sql = $connect->Prepare($req); + $connect->Execute($sql, array($numsondage)); + + $req = 'DELETE FROM comments WHERE id_sondage = ' . $connect->Param('numsondage') ; + $sql = $connect->Prepare($req); + $connect->Execute($sql, array( $numsondage )); + + $suppression_OK = ! $connect->HasFailedTrans() ; + $connect->CompleteTrans(); + + return $suppression_OK ; + +} + $connect=connexion_base(); @@ -216,4 +243,4 @@ define('NO_POLL_ID', 0x0001000000); define('INVALID_EMAIL', 0x0010000000); define('TITLE_EMPTY', 0x0100000000); define('INVALID_DATE', 0x1000000000); -$err = 0; \ No newline at end of file +$err = 0; diff --git a/scripts/nettoyage_sondage.php b/scripts/nettoyage_sondage.php index 665ac58..9ed2ca4 100644 --- a/scripts/nettoyage_sondage.php +++ b/scripts/nettoyage_sondage.php @@ -49,32 +49,13 @@ $sondage=$connect->Execute("select * from sondage"); while ($dsondage=$sondage->FetchNextObject(false)) { if ($date_courante > strtotime($dsondage->date_fin)) { //destruction des données dans la base - $connect->StartTrans(); - $req = 'DELETE FROM sondage WHERE id_sondage = ' . $connect->Param('id_sondage') ; - $sql = $connect->Prepare($req); - $connect->Execute($sql, array($dsondage->id_sondage)); - - $req = 'DELETE FROM sujet_studs WHERE id_sondage = ' . $connect->Param('id_sondage') ; - $sql = $connect->Prepare($req); - $connect->Execute($sql, array($dsondage->id_sondage)); - - $req = 'DELETE FROM user_studs WHERE id_sondage = ' . $connect->Param('id_sondage') ; - $sql = $connect->Prepare($req); - $connect->Execute($sql, array($dsondage->id_sondage)); - - $req = 'DELETE FROM comments WHERE id_sondage = ' . $connect->Param('id_sondage') ; - $sql = $connect->Prepare($req); - $connect->Execute($sql, array($dsondage->id_sondage)); - - if ( ! $connect->HasFailedTrans() ) { + if ( remove_sondage( $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", 3, '../admin/logs_studs.txt'); } - $connect->CompleteTrans(); - } }