[SPIP] ~maj v2.1.25-->2.1.26
[velocampus/web/www.git] / www / ecrire / genie / maintenance.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2014 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
8 * *
9 * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
10 * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
11 \***************************************************************************/
12
13 if (!defined('_ECRIRE_INC_VERSION')) return;
14
15 // Diverses taches de maintenance
16 // http://doc.spip.org/@genie_maintenance_dist
17 function genie_maintenance_dist ($t) {
18
19 // (re)mettre .htaccess avec deny from all
20 // dans les deux repertoires dits inaccessibles par http
21 include_spip('inc/acces');
22 verifier_htaccess(_DIR_ETC);
23 verifier_htaccess(_DIR_TMP);
24
25 // Verifier qu'aucune table n'est crashee
26 if (!_request('reinstall'))
27 verifier_crash_tables();
28
29 return 1;
30 }
31
32
33 // http://doc.spip.org/@verifier_crash_tables
34 function verifier_crash_tables() {
35 if (spip_connect()) {
36 include_spip('base/serial');
37 include_spip('base/auxiliaires');
38 $crash = array();
39 foreach (array('tables_principales', 'tables_auxiliaires') as $com) {
40 foreach ($GLOBALS[$com] as $table => $desc) {
41 if (!sql_select('*', $table,'','','', 1)
42 AND !defined('spip_interdire_cache')) # cas "LOST CONNECTION"
43 $crash[] = $table;
44 }
45 }
46 #$crash[] = 'test';
47 if ($crash) {
48 ecrire_meta('message_crash_tables', serialize($crash));
49 spip_log('crash des tables', 'err');
50 spip_log($crash, 'err');
51 } else {
52 effacer_meta('message_crash_tables');
53 }
54
55 return $crash;
56 }
57
58 return false;
59 }
60
61 // http://doc.spip.org/@message_crash_tables
62 function message_crash_tables() {
63 if ($crash = verifier_crash_tables()) {
64 return
65 '<strong>' . _T('texte_recuperer_base') . '</strong><br />'
66 . ' <tt>'.join(', ', $crash).'</tt><br />'
67 . generer_form_ecrire('admin_repair',
68 _T('texte_crash_base'), '',
69 _T('bouton_tenter_recuperation'))
70 ;
71 }
72 }
73
74 ?>