3b32ac359506e3d4357447a8e16a764e67485804
[lhc/web/www.git] / www / ecrire / exec / base_repair.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2017 *
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 /**
14 * Gestion d'affichage de la page de réparation de la base de données
15 *
16 * ## REMARQUE IMPORTANTE : SÉCURITÉ
17 *
18 * Ce systeme de réparation doit pouvoir fonctionner même si
19 * la table spip_auteurs est en panne : index.php n'appelle donc pas
20 * inc_auth ; seule l'authentification FTP est exigée.
21 *
22 * @package SPIP\Core\Exec
23 */
24
25 if (!defined('_ECRIRE_INC_VERSION')) {
26 return;
27 }
28
29
30 /**
31 * Réparer la base de données
32 */
33 function exec_base_repair_dist() {
34 $ok = false;
35 if (!spip_connect()) {
36 $message = _T('titre_probleme_technique');
37 } else {
38 $version_sql = sql_version();
39 if (!$version_sql) {
40 $message = _T('avis_erreur_connexion_mysql');
41 } else {
42 $message = _T('texte_requetes_echouent');
43 $ok = true;
44 }
45 $action = _T('texte_tenter_reparation');
46 }
47 if ($ok) {
48 $admin = charger_fonction('admin', 'inc');
49 echo $admin('repair', $action, $message, true);
50 } else {
51 include_spip('inc/minipres');
52 echo minipres(_T('titre_reparation'), "<p>$message</p>");
53 }
54 }