Example #1
0
 public function procede()
 {
     try {
         if ($this->oRequest->existParam('confirm') && $this->oRequest->getParam('confirm', 'boolean')) {
             $this->sBuffer .= "<p><b>[Début du nettoyage]</b><br/>";
             $this->sBuffer .= "Sauvegarde de la base de donnée ... ";
             dumpSQL(Database::getInstance());
             $this->sBuffer .= "DONE !<br/>";
             //Nettoyage des flux RSS
             $this->sBuffer .= "Nettoyage des flux RSS ... ";
             $oResult = Database::cleanRss();
             if ($oResult == false) {
                 throw new Error("Erreur lors du nettoyage.", 1004);
             }
             $this->sBuffer .= Database::getInstance()->affected_rows . " suppressions !<br/>";
             //Nettoyage des torrents
             $this->sBuffer .= "Nettoyage des torrents ... ";
             $oResult = Database::cleanTorrents();
             if ($oResult == false) {
                 throw new Error("Erreur lors du nettoyage.", 1004);
             }
             $this->sBuffer .= Database::getInstance()->affected_rows . " suppressions !<br/>";
             //Nettoyage des releases
             $this->sBuffer .= "Nettoyage des releases ... ";
             $oResult = Database::cleanReleases();
             if ($oResult == false) {
                 throw new Error("Erreur lors du nettoyage.", 1004);
             }
             $this->sBuffer .= Database::getInstance()->affected_rows . " suppressions !<br/>";
             //Nettoyage des tags
             $this->sBuffer .= "Nettoyage des tags ... ";
             $oResult = Database::cleanTags();
             if ($oResult == false) {
                 throw new Error("Erreur lors du nettoyage.", 1004);
             }
             $this->sBuffer .= Database::getInstance()->affected_rows . " suppressions !<br/>";
             //Nettoyage des clés API
             $this->sBuffer .= "Nettoyage des clés API ... ";
             $oResult = Database::cleanApiKeys();
             if ($oResult == false) {
                 throw new Error("Erreur lors du nettoyage.", 1004);
             }
             $this->sBuffer .= Database::getInstance()->affected_rows . " suppressions !<br/>";
             //Nettoyage du flux Autoget
             $this->sBuffer .= "Nettoyage des flux Auto-get ... ";
             $oResult = Database::cleanAutoget();
             if ($oResult == false) {
                 throw new Error("Erreur lors du nettoyage.", 1004);
             }
             $this->sBuffer .= Database::getInstance()->affected_rows . " suppressions !<br/>";
             //Nettoyage des invitations
             $this->sBuffer .= "Nettoyage des invitations ... ";
             $oResult = Database::cleanInvites();
             if ($oResult == false) {
                 throw new Error("Erreur lors du nettoyage.", 1004);
             }
             $this->sBuffer .= Database::getInstance()->affected_rows . " suppressions !<br/>";
             //Nettoyage des passkeys
             $this->sBuffer .= "Nettoyage des passkeys ... ";
             $oResult = Database::cleanPasskey();
             if ($oResult == false) {
                 throw new Error("Erreur lors du nettoyage.", 1004);
             }
             $this->sBuffer .= Database::getInstance()->affected_rows . " suppressions !<br/>";
             //Nettoyage des sessions
             $this->sBuffer .= "Nettoyage des sessions ... ";
             $oResult = Database::cleanSessions();
             if ($oResult == false) {
                 throw new Error("Erreur lors du nettoyage.", 1004);
             }
             $this->sBuffer .= Database::getInstance()->affected_rows . " suppressions !<br/>";
             //Nettoyage des permissions
             $this->sBuffer .= "Nettoyage des permissions ... ";
             $oResult = Database::cleanPermissions();
             if ($oResult == false) {
                 throw new Error("Erreur lors du nettoyage.", 1004);
             }
             $this->sBuffer .= Database::getInstance()->affected_rows . " suppressions !<br/>";
             //Nettoyage des fiches
             $this->sBuffer .= "Nettoyage des fiches ... ";
             $oResult = Database::cleanFiches();
             if ($oResult == false) {
                 throw new Error("Erreur lors du nettoyage.", 1004);
             }
             $this->sBuffer .= Database::getInstance()->affected_rows . " suppressions !<br/>";
             //Nettoyage des catégories
             $this->sBuffer .= "Nettoyage des catégories ... ";
             $oResult = Database::cleanCategories();
             if ($oResult == false) {
                 throw new Error("Erreur lors du nettoyage.", 1004);
             }
             $this->sBuffer .= Database::getInstance()->affected_rows . " modifications !<br/>";
             $this->sBuffer .= "<b>[Fin du nettoyage]</b></p>";
             Logger::log('admin', 'Base de donnée purgée par ' . $this->oCurrentUser->getLogin());
         } else {
             $this->sBuffer .= '<p>La purge consiste en un nettoyage complet de votre base de donnée. Les données ne seront pas supprimées. <br/>' . '           Le script va supprimé les éléments orphelins (flux RSS sans tracker, torrent sans tracker, release sans torrent, tags sans release ...).<br/>' . '           Avant le nettoyage une sauvegarde complète de votre base de donnée va être effectuée. Vous retrouverez cette sauvegarde dans le dossier <b>saves</b>.<br/>' . '           <a href="index.php?p=purgebdd&confirm=true">J\'ai compris les implications et je confirme vouloir purger ma BDD.</a></p>';
         }
     } catch (Exception $ex) {
         $this->oView->addAlert($ex, 'danger');
     } finally {
         $this->oView->addData('content', $this->sBuffer);
         $this->oView->addData('titre', 'Nettoyage de la BDD');
         $this->oView->create();
     }
 }