[ Index ]
 

Code source de SPIP 1.9.2c

Accédez au Source d'autres logiciels libres

title

Body

[fermer]

/ecrire/install/ -> etape_4.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;    #securite
  14  
  15  include_spip('inc/headers');
  16  
  17  // http://doc.spip.org/@inc_install_4
  18  function install_etape_4_dist()
  19  {
  20      global $adresse_db, $choix_db, $login_db, $pass_db, $spip_lang_right, $spip_version, $table_new, $chmod;
  21  
  22      echo install_debut_html('AUTO', ' onLoad="document.getElementById(\'suivant\').focus();return false;"');
  23  
  24      echo info_etape(_T('info_creation_tables'));
  25  
  26      $link = mysql_connect("$adresse_db", "$login_db", "$pass_db");
  27  
  28      echo "<"."!-- $link ";
  29  
  30      if ($choix_db == "new_spip") {
  31          $sel_db = $table_new;
  32          mysql_query("CREATE DATABASE `$sel_db`");
  33      }
  34      else {
  35          $sel_db = $choix_db;
  36      }
  37      echo "$sel_db ";
  38  
  39      mysql_select_db($sel_db);
  40      spip_query("SELECT COUNT(*) FROM spip_meta");
  41      $nouvelle = spip_sql_errno();
  42      creer_base();
  43      include_spip('base/upgrade');
  44      maj_base();
  45      
  46      // Tester $mysql_rappel_nom_base
  47      $GLOBALS['mysql_rappel_nom_base'] = true;
  48      $GLOBALS['spip_mysql_db'] = $sel_db;
  49      $ok_rappel_nom = spip_query("INSERT INTO spip_meta (nom,valeur) VALUES ('mysql_rappel_nom_base', 'test')");
  50      if ($ok_rappel_nom) {
  51          echo " (ok rappel nom base `$sel_db`.spip_meta) ";
  52          $ligne_rappel = '';
  53          spip_query("DELETE FROM spip_meta WHERE nom='mysql_rappel_nom_base'");
  54      } else {
  55          echo " (erreur rappel nom base `$sel_db`.spip_meta $nouvelle) ";
  56          $GLOBALS['mysql_rappel_nom_base'] = false;
  57          $ligne_rappel = "\$GLOBALS['mysql_rappel_nom_base'] = false; ".
  58          "/* echec du test sur `$sel_db`.spip_meta lors de l'installation. */\n";
  59      }
  60  
  61      if ($nouvelle) {
  62          spip_query("INSERT INTO spip_meta (nom, valeur) VALUES ('nouvelle_install', 'oui')");
  63          $result_ok = !spip_sql_errno();
  64      } else {
  65        // en cas de reinstall sur mise a jour mal passee
  66            spip_query("DELETE FROM spip_meta WHERE nom='debut_restauration'");
  67          $result = spip_query("SELECT COUNT(*) FROM spip_articles");
  68          $result_ok = (spip_num_rows($result) > 0);
  69      }
  70      echo "($result_ok) -->";
  71  
  72      if($chmod) {
  73          $conn = "<"."?php\n";
  74          $conn .= "if (!defined(\"_ECRIRE_INC_VERSION\")) return;\n";
  75          $conn .= "define('_SPIP_CHMOD', ".$chmod.");\n";
  76          $conn .= "?".">";
  77          if (!ecrire_fichier(_FILE_CHMOD_INS . _FILE_TMP . '.php',
  78          $conn))
  79              redirige_par_entete(generer_url_ecrire('install'));
  80      }
  81  
  82      if ($result_ok) {
  83          if (preg_match(',(.*):(.*),', $adresse_db, $r))
  84              list(,$adresse_db, $port) = $r;
  85          else
  86              $port = '';
  87          $conn = "<"."?php\n";
  88          $conn .= "if (!defined(\"_ECRIRE_INC_VERSION\")) return;\n";
  89          $conn .= "\$GLOBALS['spip_connect_version'] = 0.4;\n";
  90          $conn .= $ligne_rappel;
  91          $conn .= "spip_connect_db("
  92              . "'$adresse_db','$port','$login_db','" . addcslashes($pass_db, "'\\") . "','$sel_db'"
  93              . ");\n";
  94          $conn .= "?".">";
  95  
  96          if (!ecrire_fichier(_FILE_CONNECT_INS . _FILE_TMP . '.php',
  97          $conn))
  98              redirige_par_entete(generer_url_ecrire('install'));
  99  
 100          echo "<p><b>"._T('info_base_installee')."</b></p><p>\n"._T('info_etape_suivante_1');
 101  
 102          echo generer_url_post_ecrire('install');
 103          echo "<input type='hidden' name='etape' value='5' />";
 104  
 105          echo bouton_suivant();
 106  
 107          echo "</form>";
 108      }
 109      else if ($result_ok) {
 110          echo _T('alerte_maj_impossible', array('version' => $spip_version));
 111      }
 112      else {
 113          echo "<b>"._T('avis_operation_echec')."</b> "._T('texte_operation_echec');
 114      }
 115  
 116      echo install_fin_html();
 117  }
 118  
 119  ?>


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