[SPIP][PLUGINS] v3.0-->v3.2
[lhc/web/www.git] / www / ecrire / genie / maintenance.php
index 9f76add..b646f20 100644 (file)
@@ -3,18 +3,37 @@
 /***************************************************************************\
  *  SPIP, Systeme de publication pour l'internet                           *
  *                                                                         *
- *  Copyright (c) 2001-2016                                                *
+ *  Copyright (c) 2001-2017                                                *
  *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
  *                                                                         *
  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
 \***************************************************************************/
 
-if (!defined('_ECRIRE_INC_VERSION')) return;
+/**
+ * Gestion des différentes tâches de maintenance
+ *
+ * @package SPIP\Core\Genie\Maintenance
+ */
 
-// Diverses taches de maintenance
-// http://doc.spip.org/@genie_maintenance_dist
-function genie_maintenance_dist ($t) {
+if (!defined('_ECRIRE_INC_VERSION')) {
+       return;
+}
+
+/**
+ * Diverses tâches de maintenance
+ *
+ * - (re)mettre .htaccess avec 'Deny from all'
+ *   dans les deux répertoires dits inaccessibles par http
+ * - Vérifier qu'aucune table ne s'est crashée
+ *
+ * @uses verifier_htaccess()
+ * @uses verifier_crash_tables()
+ *
+ * @param object $t
+ * @return bool Toujours à true.
+ */
+function genie_maintenance_dist($t) {
 
        // (re)mettre .htaccess avec deny from all
        // dans les deux repertoires dits inaccessibles par http
@@ -23,14 +42,26 @@ function genie_maintenance_dist ($t) {
        verifier_htaccess(_DIR_TMP);
 
        // Verifier qu'aucune table n'est crashee
-       if (!_request('reinstall'))
+       if (!_request('reinstall')) {
                verifier_crash_tables();
+       }
 
        return 1;
 }
 
 
-// http://doc.spip.org/@verifier_crash_tables
+/**
+ * Vérifier si une table a crashé
+ *
+ * Pour cela, on vérifie si on peut se connecter à la base de données.
+ *
+ * @see message_crash_tables()
+ *
+ * @return bool|array
+ *     Si pas de table de crashée, on retourne `false`.
+ *     Sinon,  retourne un tableau contenant tous les noms
+ *     des tables qui ont crashé.
+ */
 function verifier_crash_tables() {
        if (spip_connect()) {
                include_spip('base/serial');
@@ -38,9 +69,12 @@ function verifier_crash_tables() {
                $crash = array();
                foreach (array('tables_principales', 'tables_auxiliaires') as $com) {
                        foreach ($GLOBALS[$com] as $table => $desc) {
-                               if (!sql_select('*', $table,'','','', 1)
-                               AND !defined('spip_interdire_cache')) # cas "LOST CONNECTION"
+                               if (!sql_select('*', $table, '', '', '', 1)
+                                       and !defined('spip_interdire_cache')
+                               ) # cas "LOST CONNECTION"
+                               {
                                        $crash[] = $table;
+                               }
                        }
                }
                #$crash[] = 'test';
@@ -58,17 +92,25 @@ function verifier_crash_tables() {
        return false;
 }
 
-// http://doc.spip.org/@message_crash_tables
+/**
+ * Vérifier si une table a crashé et crée un message en conséquence.
+ *
+ * S'il y a un crash, on affiche un message avec le nom
+ * de la ou des tables qui ont crashé.
+ * On génère un lien vers la page permettant la
+ * réparation de la base de données.
+ *
+ * @uses verifier_crash_tables()
+ *
+ * @return string
+ */
 function message_crash_tables() {
        if ($crash = verifier_crash_tables()) {
-               return 
-               '<strong>' . _T('texte_recuperer_base') . '</strong><br />'
-               . ' <tt>'.join(', ', $crash).'</tt><br />'
-               . generer_form_ecrire('base_repair',
-                       _T('texte_crash_base'), '',
-                       _T('bouton_tenter_recuperation'))
-               ;
+               return
+                       '<strong>' . _T('texte_recuperer_base') . '</strong><br />'
+                       . ' <tt>' . join(', ', $crash) . '</tt><br />'
+                       . generer_form_ecrire('base_repair',
+                               _T('texte_crash_base'), '',
+                               _T('bouton_tenter_recuperation'));
        }
 }
-
-?>