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(); } }