[ Index ] |
|
Code source de SPIP 1.9.2c |
1 <?php 2 3 /***************************************************************************\ 4 * SPIP, Systeme de publication pour l'internet * 5 * * 6 * Copyright (c) 2001-2007 * 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 /* 16 * REMARQUE IMPORTANTE : SECURITE 17 * Ce systeme de reparation doit pouvoir fonctionner meme si 18 * la table spip_auteurs est en panne : on n'appelle donc pas 19 * inc_auth ; seule l'authentification ftp est exigee 20 * 21 */ 22 23 $GLOBALS['connect_statut'] = '0minirezo'; 24 25 include_spip('inc/admin'); 26 include_spip('inc/texte'); 27 include_spip('inc/minipres'); 28 include_spip('base/db_mysql'); 29 30 // http://doc.spip.org/@verifier_base 31 function verifier_base() { 32 $res1= spip_query("SHOW TABLES"); 33 if (!$res1) return false; 34 35 $res = ""; 36 while ($tab = spip_fetch_array($res1,SPIP_NUM)) { 37 $res .= "<p><b>".$tab[0]."</b> "; 38 39 $result_repair = spip_query("REPAIR TABLE ".$tab[0]); 40 if (!$result_repair) return false; 41 42 $result = spip_fetch_array(spip_query("SELECT COUNT(*) AS n FROM ".$tab[0])); 43 if (!$result) return false; 44 45 $count = $result['n']; 46 if ($count>1) 47 $res .= "("._T('texte_compte_elements', array('count' => $count)).")\n"; 48 else if ($count==1) 49 $res .= "("._T('texte_compte_element', array('count' => $count)).")\n"; 50 else 51 $res .= "("._T('texte_vide').")\n"; 52 53 $row = spip_fetch_array($result_repair,SPIP_NUM); 54 $ok = ($row[3] == 'OK'); 55 56 if (!$ok) 57 $res .= "<pre><span style='color: red; font-weight: bold;'>".htmlentities(join("\n", $row))."</span></pre>\n"; 58 else 59 $res .= " "._T('texte_table_ok')."<br />\n"; 60 61 } 62 63 return $res; 64 } 65 66 // http://doc.spip.org/@exec_admin_repair_dist 67 function exec_admin_repair_dist() 68 { 69 $ok = false; 70 $version_mysql = spip_mysql_version(); 71 if (!$version_mysql) 72 $message = _T('avis_erreur_connexion_mysql'); 73 else { 74 if ($version_mysql < '3.23.14') 75 $message = _T('avis_version_mysql', array('version_mysql' => $version_mysql)); 76 else { 77 $message = _T('texte_requetes_echouent'); 78 $ok = true; 79 } 80 } 81 82 $action = _T('texte_tenter_reparation'); 83 84 if ($ok) { 85 debut_admin("admin_repair", $action, $message); 86 87 if (! $res = verifier_base()) 88 $res = "<br /><br /><span style='color: red; font-weight: bold;'><tt>"._T('avis_erreur_mysql').' '.spip_sql_errno().': '.spip_sql_error() ."</tt></span><br /><br /><br />\n"; 89 fin_admin($action); 90 echo minipres(_T('texte_tentative_recuperation'), $res); 91 } 92 else { 93 echo minipres(_T('titre_reparation'), "<p>$message</p>"); 94 } 95 } 96 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Wed Nov 21 10:20:27 2007 | par Balluche grâce à PHPXref 0.7 |
![]() |