[ 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 include_spip('inc/presentation'); 16 17 // http://doc.spip.org/@exec_admin_tech_dist 18 function exec_admin_tech_dist() 19 { 20 global $connect_statut, $connect_login, $connect_toutes_rubriques, $couleur_foncee, $flag_gz, $options; 21 22 $commencer_page = charger_fonction('commencer_page', 'inc'); 23 echo $commencer_page(_T('titre_admin_tech'), "configuration", "base"); 24 25 echo "<br />"; 26 27 if ($connect_statut != '0minirezo' ){ 28 echo _T('avis_non_acces_page'); 29 echo fin_gauche(), fin_page(); 30 exit; 31 } 32 echo "<br /><br />"; 33 gros_titre(_T('titre_admin_tech')); 34 if ($connect_toutes_rubriques) { 35 echo barre_onglets("administration", "sauver"); 36 debut_gauche(); 37 debut_boite_info(); 38 echo _T('info_gauche_admin_tech'); 39 fin_boite_info(); 40 $repertoire = _DIR_DUMP; 41 if(!@file_exists($repertoire)) { 42 $repertoire = preg_replace(','._DIR_TMP.',', '', $repertoire); 43 $repertoire = sous_repertoire(_DIR_TMP, $repertoire); 44 } 45 $dir_dump = $repertoire; 46 } else { 47 debut_gauche(); 48 $dir_dump = determine_upload(); 49 } 50 51 $dir_dump = joli_repertoire($dir_dump); 52 53 debut_droite(); 54 55 // 56 // Sauvegarde de la base 57 // 58 59 debut_cadre_relief(); 60 61 // a passer en fonction 62 if (substr(_DIR_IMG, 0, strlen(_DIR_RACINE)) === _DIR_RACINE) 63 $dir_img = substr(_DIR_IMG,strlen(_DIR_RACINE)); 64 else 65 $dir_img = _DIR_IMG; 66 67 echo "<table border='0' cellspacing='0' cellpadding='5' width=\"100%\">", 68 "<tr><td style='background-color: ", $couleur_foncee, ";'><b>", 69 "<span style='color: #FFFFFF;' class='verdana1 spip_medium'>", _T('texte_sauvegarde'), "</span></b></td></tr><tr><td class='serif'>", 70 generer_url_post_ecrire("export_all", "reinstall=non"), 71 "\n<div><p style='text-align: justify;'>", 72 http_img_pack('warning.gif', _T('info_avertissement'), 73 "style='width: 48px; height: 48px; float: right;margin: 10px;'"), 74 _T('texte_admin_tech_01', 75 array('dossier' => '<i>'.$dir_dump.'</i>', 'img'=>'<i>'.$dir_img.'</i>')), 76 ' ', 77 _T('texte_admin_tech_02'), 78 "</p>"; 79 80 $file = nom_fichier_dump(); 81 $nom = "\n<input name='nom_sauvegarde' size='40' value='$file' />"; 82 $znom = "\n<input name='znom_sauvegarde' size='40' value='$file' />"; 83 if ($flag_gz) { 84 85 echo "\n<p style='text-align: justify;'>", 86 _T('texte_admin_tech_03'), 87 "</p>\n<p>", 88 "\n<input type='radio' name='gz' value='1' id='gz_on' checked='checked' /><label for='gz_on'> ", 89 _T('bouton_radio_sauvegarde_compressee', array('fichier'=>'')), 90 " </label><br />\n", 91 '<b>' . $dir_dump . "</b>", 92 $znom, 93 "<b>.xml.gz</b><br /><br />", 94 "\n<input type='radio' name='gz' value='0' id='gz_off' /><label for='gz_off'>", 95 _T('bouton_radio_sauvegarde_non_compressee', array('fichier'=>'')), 96 '</label><br /><b>', 97 $dir_dump, 98 "</b>$nom<b>.xml</b><br /></p>\n"; 99 } 100 else { 101 echo "\n<p style='text-align: justify;'>", 102 _T('texte_sauvegarde_compressee', 103 array('fichier'=>'<br /><b>' . $dir_dump . "</b>$nom<b>.xml</b>")); 104 echo "\n<input type='hidden' name='gz' value='0' /></p>"; 105 } 106 107 108 echo "\n<div style='text-align: right'><input class='fondo' type='submit' value='", _T('texte_sauvegarde_base'), "' /></div></div></form>"; 109 110 echo "</td></tr>"; 111 echo "</table>"; 112 113 114 // 115 // Restauration de la base 116 // 117 118 if ($connect_toutes_rubriques) { 119 120 $liste_dump = preg_files(_DIR_DUMP,'\.xml(\.gz)?$',50,false); 121 $selected = end($liste_dump); 122 $liste_choix = "<ul>"; 123 foreach($liste_dump as $key=>$fichier){ 124 $affiche_fichier = substr($fichier,strlen(_DIR_DUMP)); 125 $liste_choix.="\n<li><input type='radio' name='archive' value='" 126 . $affiche_fichier 127 . "' id='dump_$key' " 128 . (($fichier==$selected)?"checked='checked' ":"") 129 . "/>\n<label for='dump_$key'>" 130 . $file = str_replace('/', ' / ', $affiche_fichier) 131 . ' (' 132 . _T('taille_octets', 133 array('taille' => number_format(filesize($fichier), 0, ' ', ' '))) 134 . ')</label></li>'; 135 } 136 137 if ($flag_gz) { 138 $fichier_defaut = str_replace(array("@stamp@","@nom_site@"),array("",""),_SPIP_DUMP) . '.gz'; 139 $texte_compresse = _T('texte_compresse_ou_non')." "; 140 } else { 141 $fichier_defaut = str_replace(array("@stamp@","@nom_site@"),array("",""),_SPIP_DUMP); 142 $texte_compresse = _T('texte_non_compresse')." "; 143 } 144 145 echo "\n<table border='0' cellspacing='1' cellpadding='8' width=\"100%\">", 146 "<tr><td style='background-color: #eeeecc;'><b>", 147 "<span style='color: #000000;' class='verdana1 spip_medium'>", _T('texte_restaurer_base')."</span></b></td></tr>", 148 "<tr><td class='serif'>\n", 149 generer_url_post_ecrire("import_all"), 150 "\n<p style='text-align: justify;'> ", 151 _T('texte_restaurer_sauvegarde', array('dossier' => '<i>'.$dir_dump.'</i>')), 152 '</p>', 153 _T('entree_nom_fichier', array('texte_compresse' => $texte_compresse)), 154 $liste_choix, 155 "\n<li><input type='radio' name='archive' value='' />", 156 "\n<span class='spip_medium'><input type='text' name='archive_perso' value='$fichier_defaut' size='30' /></span></li></ul>"; 157 158 debut_cadre_relief(); 159 echo "<p><input name='insertion' type='checkbox' /> ", 160 _T('sauvegarde_fusionner'), 161 '</p>'; 162 echo "<p>", 163 _T('sauvegarde_url_origine'), 164 "<br /><input name='url_site' type='text' size='60'/>", 165 '</p>'; 166 fin_cadre_relief(); 167 168 echo "\n<div align='right'><input class='fondo' type='submit' value='", 169 _T('bouton_restaurer_base'), 170 "' /></div></form>", 171 "\n</td></tr>", 172 "</table>"; 173 174 } 175 176 // 177 // Lien vers la reparation 178 // 179 180 if ($options == "avancees" AND $connect_toutes_rubriques) { 181 $res = spip_mysql_version(); 182 if ($res >= '3.23.14') { 183 echo "<table border='0' cellspacing='1' cellpadding='8' width=\"100%\">"; 184 echo "<tr><td style='background-color: #eeeecc;'><b>"; 185 echo "<span style='color: #000000;' class='verdana1 spip_medium'>", _T('texte_recuperer_base'), "</span></b></td></tr>", 186 "<tr><td class='serif'>", 187 generer_url_post_ecrire("admin_repair"), 188 "\n<p style='text-align: justify;'>"._T('texte_crash_base'), 189 "\n</p><div align='right'><input class='fondo' type='submit' value='", 190 _T('bouton_tenter_recuperation'), 191 "' /></div></form>", 192 "</td></tr>", 193 "</table>"; 194 } 195 } 196 197 fin_cadre_relief(); 198 199 echo "<br />"; 200 201 echo fin_gauche(), fin_page(); 202 } 203 204 205 // http://doc.spip.org/@nom_fichier_dump 206 function nom_fichier_dump() 207 { 208 global $connect_toutes_rubriques; 209 210 if ($connect_toutes_rubriques AND file_exists(_DIR_DUMP)) 211 $dir = _DIR_DUMP; 212 else $dir = determine_upload(); 213 214 $site = isset($GLOBALS['meta']['nom_site']) 215 ? preg_replace(",\W,is","_", substr(trim($GLOBALS['meta']['nom_site']),0,20)) 216 : 'spip'; 217 218 $site .= '_' . date('Ymd'); 219 220 $nom = $site; 221 $cpt=0; 222 while (file_exists($dir. $nom . ".xml") OR 223 file_exists($dir. $nom . ".xml.gz")) { 224 $nom = $site . sprintf('_%03d', ++$cpt); 225 } 226 return $nom; 227 } 228 ?>
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 |
![]() |