示例#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();
     }
 }
示例#2
0
文件: install.php 项目: Jatax/TKS
    } finally {
        $oMainView->addData('body', $oController->getView());
        $oMainView->create();
        echo $oMainView->getCode();
    }
} else {
    $oMainView = new View('gabarit');
    $oMainView->addData('titre', Config::get('sitetitle'));
    $oMainView->addData('login', 'Visiteur');
    $oMainView->addData('script', '');
    $oMainView->addData('menuItems', array());
    $sBuffer = '';
    try {
        //DB dump
        require './func/dumpSQL.func.php';
        dumpSQL(Database::getInstance());
        require './install/update/config.inc.php';
        require './install/update/update.class.php';
        while (Config::get('version') != $sLastVersion) {
            $sClassName = 'Update' . str_replace('.', '', Config::get('version'));
            $sClassFile = "./install/update/" . Config::get('version') . ".update.php";
            require $sClassFile;
            $oUpdate = new $sClassName();
            $oUpdate->setRequest($oRequest);
            $oUpdate->procede();
            $sBuffer .= $oUpdate->getView();
        }
        $oMainView->addAlert('Remplacez la variable suivant dans "./include/config.inc.php" : $sVersion = "' . $sLastVersion . '";', 'warning');
        $oMainView->addAlert('Votre script est maintenant en ' . $sLastVersion . '.', 'success');
    } catch (Error $e) {
        $oMainView->addAlert($e, 'danger');