diff --git a/controllers/events.php b/controllers/events.php index 8b4f431..a07dc84 100755 --- a/controllers/events.php +++ b/controllers/events.php @@ -46,4 +46,40 @@ 'nbResults' => count($events), )); } + + /** + * Cette fonction supprimer une liste de sms reçus + * @param $csrf : Le jeton CSRF + * @param int... $ids : Les id des sms à supprimer + * @return boolean; + */ + public function delete($csrf) + { + //On vérifie que le jeton csrf est bon + if (!internalTools::verifyCSRF($csrf)) + { + $_SESSION['errormessage'] = 'Jeton CSRF invalide !'; + header('Location: ' . $this->generateUrl('events')); + return false; + } + + //On récupère les ids comme étant tous les arguments de la fonction et on supprime le premier (csrf) + $ids = func_get_args(); + unset($ids[0]); + + //Create de l'object de base de données + global $db; + + //Si on est pas admin + if (!$_SESSION['admin']) + { + $_SESSION['errormessage'] = 'Vous devez être administrateur pour effectuer cette action.'; + header('Location: ' . $this->generateUrl('events')); + return false; + } + + $db->deleteEventsIn($ids); + header('Location: ' . $this->generateUrl('events')); + return true; + } } diff --git a/controllers/receiveds.php b/controllers/receiveds.php index bb2854f..014a81c 100755 --- a/controllers/receiveds.php +++ b/controllers/receiveds.php @@ -91,4 +91,40 @@ $_SESSION['popup_nb_receiveds'] = $nbReceiveds; return true; } + + /** + * Cette fonction supprimer une liste de sms reçus + * @param $csrf : Le jeton CSRF + * @param int... $ids : Les id des sms à supprimer + * @return boolean; + */ + public function delete($csrf) + { + //On vérifie que le jeton csrf est bon + if (!internalTools::verifyCSRF($csrf)) + { + $_SESSION['errormessage'] = 'Jeton CSRF invalide !'; + header('Location: ' . $this->generateUrl('receiveds')); + return false; + } + + //On récupère les ids comme étant tous les arguments de la fonction et on supprime le premier (csrf) + $ids = func_get_args(); + unset($ids[0]); + + //Create de l'object de base de données + global $db; + + //Si on est pas admin + if (!$_SESSION['admin']) + { + $_SESSION['errormessage'] = 'Vous devez être administrateur pour effectuer cette action.'; + header('Location: ' . $this->generateUrl('receiveds')); + return false; + } + + $db->deleteReceivedsIn($ids); + header('Location: ' . $this->generateUrl('receiveds')); + return true; + } } diff --git a/controllers/sendeds.php b/controllers/sendeds.php index 68402eb..522241b 100755 --- a/controllers/sendeds.php +++ b/controllers/sendeds.php @@ -48,4 +48,40 @@ 'nbResults' => count($sendeds), )); } + + /** + * Cette fonction supprimer une liste de sms reçus + * @param $csrf : Le jeton CSRF + * @param int... $ids : Les id des sms à supprimer + * @return boolean; + */ + public function delete($csrf) + { + //On vérifie que le jeton csrf est bon + if (!internalTools::verifyCSRF($csrf)) + { + $_SESSION['errormessage'] = 'Jeton CSRF invalide !'; + header('Location: ' . $this->generateUrl('sendeds')); + return false; + } + + //On récupère les ids comme étant tous les arguments de la fonction et on supprime le premier (csrf) + $ids = func_get_args(); + unset($ids[0]); + + //Create de l'object de base de données + global $db; + + //Si on est pas admin + if (!$_SESSION['admin']) + { + $_SESSION['errormessage'] = 'Vous devez être administrateur pour effectuer cette action.'; + header('Location: ' . $this->generateUrl('sendeds')); + return false; + } + + $db->deleteSendedsIn($ids); + header('Location: ' . $this->generateUrl('sendeds')); + return true; + } } diff --git a/controllers/smsstop.php b/controllers/smsstop.php index e690075..29933b6 100755 --- a/controllers/smsstop.php +++ b/controllers/smsstop.php @@ -46,4 +46,40 @@ 'nbResults' => count($smsStops), )); } + + /** + * Cette fonction supprimer une liste de sms stop + * @param $csrf : Le jeton CSRF + * @param int... $ids : Les id des sms à supprimer + * @return boolean; + */ + public function delete($csrf) + { + //On vérifie que le jeton csrf est bon + if (!internalTools::verifyCSRF($csrf)) + { + $_SESSION['errormessage'] = 'Jeton CSRF invalide !'; + header('Location: ' . $this->generateUrl('smsstop')); + return false; + } + + //On récupère les ids comme étant tous les arguments de la fonction et on supprime le premier (csrf) + $ids = func_get_args(); + unset($ids[0]); + + //Create de l'object de base de données + global $db; + + //Si on est pas admin + if (!$_SESSION['admin']) + { + $_SESSION['errormessage'] = 'Vous devez être administrateur pour effectuer cette action.'; + header('Location: ' . $this->generateUrl('smsstop')); + return false; + } + + $db->deleteSmsStopsIn($ids); + header('Location: ' . $this->generateUrl('smsstop')); + return true; + } } diff --git a/model/DataBase.php b/model/DataBase.php index efe7ab7..4fef2c2 100755 --- a/model/DataBase.php +++ b/model/DataBase.php @@ -45,6 +45,25 @@ return $this->runQuery($query, $params); } + /** + * Supprime tous les sendeds dont l'id fait partie du tableau fourni + * @param $sendeds_ids : Tableau des id des sendeds à supprimer + * @return int : Nombre de lignes supprimées + */ + public function deleteSendedsIn($sendeds_ids) + { + $query = " + DELETE FROM sendeds + WHERE id "; + + //On génère la clause IN et les paramètres adaptés depuis le tableau des id + $generted_in = $this->generateInFromArray($sendeds_ids); + $query .= $generted_in['QUERY']; + $params = $generted_in['PARAMS']; + + return $this->runQuery($query, $params, self::ROWCOUNT); + } + /*********************************/ /* PARTIE DES REQUETES RECEIVEDS */ /*********************************/ @@ -159,6 +178,25 @@ return $this->runQuery($query, $params); } + /** + * Supprime tous les receivedss dont l'id fait partie du tableau fourni + * @param $receiveds_ids : Tableau des id des receiveds à supprimer + * @return int : Nombre de lignes supprimées + */ + public function deleteReceivedsIn($receiveds_ids) + { + $query = " + DELETE FROM receiveds + WHERE id "; + + //On génère la clause IN et les paramètres adaptés depuis le tableau des id + $generted_in = $this->generateInFromArray($receiveds_ids); + $query .= $generted_in['QUERY']; + $params = $generted_in['PARAMS']; + + return $this->runQuery($query, $params, self::ROWCOUNT); + } + /***********************************/ /* PARTIE DES REQUETES DISCUSSIONS */ /***********************************/ @@ -779,4 +817,51 @@ return $this->runQuery($query, $params, self::ROWCOUNT); } + + /******************************/ + /* PARTIE DES REQUETES EVENTS */ + /******************************/ + + /** + * Supprime tous les events dont l'id fait partie du tableau fourni + * @param $events_ids : Tableau des id des events à supprimer + * @return int : Nombre de lignes supprimées + */ + public function deleteEventsIn($events_ids) + { + $query = " + DELETE FROM events + WHERE id "; + + //On génère la clause IN et les paramètres adaptés depuis le tableau des id + $generted_in = $this->generateInFromArray($events_ids); + $query .= $generted_in['QUERY']; + $params = $generted_in['PARAMS']; + + return $this->runQuery($query, $params, self::ROWCOUNT); + } + + /********************************/ + /* PARTIE DES REQUETES SMS STOP */ + /********************************/ + + /** + * Supprime tous les sms_stops dont l'id fait partie du tableau fourni + * @param $sms_stops_ids : Tableau des id des sms_stops à supprimer + * @return int : Nombre de lignes supprimées + */ + public function deleteSmsStopsIn($sms_stops_ids) + { + $query = " + DELETE FROM sms_stop + WHERE id "; + + //On génère la clause IN et les paramètres adaptés depuis le tableau des id + $generted_in = $this->generateInFromArray($sms_stops_ids); + $query .= $generted_in['QUERY']; + $params = $generted_in['PARAMS']; + + return $this->runQuery($query, $params, self::ROWCOUNT); + } + } diff --git a/templates/commands/default.php b/templates/commands/default.php index 96d1a05..edbccb5 100755 --- a/templates/commands/default.php +++ b/templates/commands/default.php @@ -63,19 +63,18 @@ -