[ Index ]
 

Code source de SPIP 1.8.3

Accédez au Source d'autres logiciels libres | Soutenez Angelica Josefina !

title

Body

[fermer]

/ -> spip_test_dirs.php3 (source)

   1  <?php
   2  
   3  /***************************************************************************\
   4   *  SPIP, Systeme de publication pour l'internet                           *
   5   *                                                                         *
   6   *  Copyright (c) 2001-2005                                                *
   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("_TEST_DIRS")) return;
  14  define("_TEST_DIRS", "1");
  15  
  16  include ("ecrire/inc_version.php3");
  17  
  18  include_ecrire ("inc_presentation.php3");
  19  
  20  utiliser_langue_visiteur();
  21  
  22  
  23  //
  24  // Tente d'ecrire
  25  //
  26  function test_ecrire($my_dir) {
  27      $ok = true;
  28      $nom_fich = "$my_dir/test.txt";
  29      $f = @fopen($nom_fich, "w");
  30      if (!$f) $ok = false;
  31      else if (!@fclose($f)) $ok = false;
  32      else if (!@unlink($nom_fich)) $ok = false;
  33      return $ok;
  34  }
  35  
  36  //
  37  // teste les droits sur les repertoires $test_dirs declares dans inc_version
  38  //
  39  
  40  // rajouter celui passer dans l'url ou celui du source (a l'installation)
  41  
  42  if ($test_dir) {
  43    if (!ereg("/$", $test_dir)) $test_dir .= '/';
  44    if (!in_array($test_dir, $test_dirs)) $test_dirs[] = $test_dir;
  45   }
  46  else {
  47      if (!_FILE_CONNECT)
  48        $test_dirs[] = dirname(_FILE_CONNECT_INS);
  49  }
  50  
  51  unset($bad_dirs);
  52  unset($absent_dirs);
  53  
  54  while (list(, $my_dir) = each($test_dirs)) {
  55      if (!test_ecrire($my_dir)) {
  56          @umask(0);
  57          if (@file_exists($my_dir)) {
  58              @chmod($my_dir, 0777);
  59              // ???
  60              if (!test_ecrire($my_dir))
  61                  @chmod($my_dir, 0775);
  62              if (!test_ecrire($my_dir))
  63                  @chmod($my_dir, 0755);
  64              if (!test_ecrire($my_dir))
  65                  $bad_dirs[] = "<LI>".$my_dir;
  66          } else
  67              $absent_dirs[] = "<LI>".$my_dir;
  68      }
  69  }
  70  
  71  if ($bad_dirs OR $absent_dirs) {
  72      install_debut_html();
  73  
  74      if (!_FILE_CONNECT) {
  75          $titre = _T('dirs_preliminaire');
  76          $continuer = ' '._T('dirs_commencer');
  77      } else
  78          $titre = _T('dirs_probleme_droits');
  79  
  80      $bad_url = "spip_test_dirs.php3";
  81      if ($test_dir) $bad_url .= '?test_dir='.$test_dir;
  82  
  83      echo "<FONT FACE=\"Verdana,Arial,Helvetica,sans-serif\" SIZE=3>$titre</FONT>\n<p>";
  84      echo "<div align='right'>". menu_langues('var_lang_ecrire')."</div>\n";
  85  
  86      if ($bad_dirs) {
  87          echo "<p>";
  88          echo _T('dirs_repertoires_suivants',
  89              array('bad_dirs' => join(" ", $bad_dirs)));
  90          echo "<B>". _T('login_recharger')."</b>";
  91      }
  92  
  93      if ($absent_dirs) {
  94          echo "<p>";
  95          echo _T('dirs_repertoires_absents',
  96              array('bad_dirs' => join(" ", $absent_dirs)));
  97          echo "<B>". _T('login_recharger')."</b>";
  98      }
  99  
 100      echo $continuer.'. ';
 101      echo aide ("install0");
 102      echo "<p>";
 103  
 104      echo "<FORM ACTION='$bad_urls' METHOD='GET'>\n";
 105      echo "<DIV align='right'><INPUT TYPE='submit' CLASS='fondl' VALUE='". _T('login_recharger')."'></DIV>";
 106      echo "</FORM>";
 107  
 108      install_fin_html();
 109  
 110  } else {
 111      if (!_FILE_CONNECT)
 112          header("Location: " . _DIR_RESTREINT_ABS . "install.php3?etape=1");
 113      else
 114          header("Location: " . _DIR_RESTREINT_ABS);
 115  }
 116  
 117  ?>


Généré le : Thu Feb 22 22:27:47 2007 par Balluche grâce à PHPXref 0.7