[ Index ]
 

Code source de SPIP 1.9.2c

Accédez au Source d'autres logiciels libres

title

Body

[fermer]

/ecrire/exec/ -> admin_tech.php (source)

   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     '&nbsp;',
  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          . '&nbsp;&nbsp; ('
 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')."&nbsp;";
 140      } else {
 141          $fichier_defaut = str_replace(array("@stamp@","@nom_site@"),array("",""),_SPIP_DUMP);
 142          $texte_compresse = _T('texte_non_compresse')."&nbsp;";
 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' />&nbsp;",
 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  ?>


Généré le : Wed Nov 21 10:20:27 2007 par Balluche grâce à PHPXref 0.7
  Clicky Web Analytics