[ Index ]
 

Code source de SPIP 1.9.2c

Accédez au Source d'autres logiciels libres

title

Body

[fermer]

/ecrire/exec/ -> install.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  define("_ECRIRE_INSTALL", "1");
  16  define('_FILE_TMP', '_install');
  17  
  18  // http://doc.spip.org/@exec_install_dist
  19  function exec_install_dist()
  20  {
  21      $etape = _request('etape');
  22      if (_FILE_CONNECT) {
  23          echo minipres('AUTO', _T('avis_espace_interdit'));
  24          exit;
  25      } else {
  26  
  27      // On va supprimer les eventuelles vieilles valeurs de meta,
  28      // mais il faut relancer init_langues pour savoir quelles
  29      // sont les langues disponibles pour l'installation
  30      @unlink(_FILE_META);
  31      unset($GLOBALS['meta']);
  32      include_spip('inc/lang');
  33      init_langues(); // pourquoi faut-il l'appeler encore une fois ?
  34  
  35      include_spip('base/create');
  36      include_spip('base/db_mysql');
  37  
  38      $fonc = charger_fonction("etape_$etape", 'install');
  39      $fonc();
  40      }
  41  }
  42  
  43  //
  44  // Verifier que l'hebergement est compatible SPIP ... ou l'inverse :-)
  45  // (sert a l'etape 1 de l'installation)
  46  // http://doc.spip.org/@tester_compatibilite_hebergement
  47  function tester_compatibilite_hebergement() {
  48      $err = array();
  49  
  50      $p = phpversion();
  51      if (ereg('^([0-9]+)\.([0-9]+)\.([0-9]+)', $p, $regs)) {
  52          $php = array($regs[1], $regs[2], $regs[3]);
  53          $m = '4.0.8';
  54          $min = explode('.', $m);
  55          if ($php[0]<$min[0]
  56          OR ($php[0]==$min[0] AND $php[1]<$min[1])
  57          OR ($php[0]==$min[0] AND $php[1]==$min[1] AND $php[2]<$min[2]))
  58              $err[] = _T('install_php_version', array('version' => $p,  'minimum' => $m));
  59      }
  60  
  61      if (!function_exists('mysql_query'))
  62          $err[] = _T('install_extension_php_obligatoire')
  63          . " <a href='http://se.php.net/mysql'>MYSQL</a>";
  64  
  65      if (!function_exists('preg_match_all'))
  66          $err[] = _T('install_extension_php_obligatoire')
  67          . " <a href='http://se.php.net/pcre'>PCRE</a>";
  68  
  69      if ($a = @ini_get('mbstring.func_overload'))
  70          $err[] = _T('install_extension_mbstring')
  71          . "mbstring.func_overload=$a - <a href='http://se.php.net/mb_string'>mb_string</a>.<br /><small>";
  72  
  73      if ($err) {
  74              echo "<p class='verdana1 spip_large'><b>"._T('avis_attention').'</b></p><p>'._T('install_echec_annonce')."</p><ul>";
  75          while (list(,$e) = each ($err))
  76              echo "<li>$e</li>\n";
  77  
  78          # a priori ici on pourrait die(), mais il faut laisser la possibilite
  79          # de forcer malgre tout (pour tester, ou si bug de detection)
  80          echo "</ul><hr />\n";
  81      }
  82  }
  83  
  84  
  85  // Une fonction pour faciliter la recherche du login (superflu ?)
  86  // http://doc.spip.org/@login_hebergeur
  87  function login_hebergeur() {
  88      global $HTTP_X_HOST, $REQUEST_URI, $SERVER_NAME, $HTTP_HOST;
  89  
  90      $base_hebergeur = 'localhost'; # par defaut
  91  
  92      // Lycos (ex-Multimachin)
  93      if ($HTTP_X_HOST == 'membres.lycos.fr') {
  94          ereg('^/([^/]*)', $REQUEST_URI, $regs);
  95          $login_hebergeur = $regs[1];
  96      }
  97      // Altern
  98      else if (ereg('altern\.com$', $SERVER_NAME)) {
  99          ereg('([^.]*\.[^.]*)$', $HTTP_HOST, $regs);
 100          $login_hebergeur = ereg_replace('[^a-zA-Z0-9]', '_', $regs[1]);
 101      }
 102      // Free
 103      else if (ereg('(.*)\.free\.fr$', $SERVER_NAME, $regs)) {
 104          $base_hebergeur = 'sql.free.fr';
 105          $login_hebergeur = $regs[1];
 106      }
 107  
 108      return array($base_hebergeur, $login_hebergeur);
 109  }
 110  
 111  ?>


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