[ Index ] |
|
Code source de SPIP 1.8.3 |
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 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Thu Feb 22 22:27:47 2007 | par Balluche grâce à PHPXref 0.7 |