Skip to content
Extraits de code Groupes Projets
Valider 02a88224 rédigé par Fil's avatar Fil
Parcourir les fichiers

gestion des erreurs dues aux droits d'ecriture : seule l'interdiction d'ecrire...

gestion des erreurs dues aux droits d'ecriture : seule l'interdiction d'ecrire dans le CACHE est redhibitoire ; les autres erreurs n'envoient dans spip_test_dirs qu'a partir de l'esapce prive, et uniquement en cas de besoin (upload image) ou de risque securite (ecrire/data). S'il y a un pb dans ecrire/ (inc_meta_cache), l'admin est averti en rouge, sans que ca soit bloquant.
parent 78198b71
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -62,9 +62,14 @@ function ecrire_acces() { ...@@ -62,9 +62,14 @@ function ecrire_acces() {
unset($logins); unset($logins);
while($row = mysql_fetch_array($result)) $logins[$row[0]] = $row[1]; while($row = mysql_fetch_array($result)) $logins[$row[0]] = $row[1];
$fichier = fopen($htpasswd, "w"); $fichier = @fopen($htpasswd, "w");
ecrire_logins($fichier, $logins); if ($fichier) {
fclose($fichier); ecrire_logins($fichier, $logins);
fclose($fichier);
} else {
@header ("Location: ../spip_test_dirs.php3");
exit;
}
$query = "SELECT login, htpass FROM spip_auteurs WHERE statut = '0minirezo'"; $query = "SELECT login, htpass FROM spip_auteurs WHERE statut = '0minirezo'";
$result = mysql_query($query); $result = mysql_query($query);
......
...@@ -84,9 +84,15 @@ function lire_meta_maj($nom) { ...@@ -84,9 +84,15 @@ function lire_meta_maj($nom) {
} }
$s .= '?'.'>'; $s .= '?'.'>';
$f = fopen("inc_meta_cache.php3", "wb"); $f = @fopen("inc_meta_cache.php3", "wb");
fputs($f, $s); if ($f) {
fclose($f); fputs($f, $s);
fclose($f);
} else {
global $connect_statut;
if ($connect_statut == '0minirezo')
echo "<h4 font color=red>Veuillez, en tant qu'administrateur du site, <a href='../spip_test_dirs.php3'>v&eacute;rifier les droits d'ecriture</a> sur le r&eacute;pertoire ecrire/ </h4>\n";
}
} }
......
...@@ -24,8 +24,11 @@ function creer_repertoire($base, $subdir) { ...@@ -24,8 +24,11 @@ function creer_repertoire($base, $subdir) {
include("$path/.test"); include("$path/.test");
} }
if (!$ok) { if (!$ok) {
$f = fopen("$base/.plat", "w"); $f = @fopen("$base/.plat", "w");
fclose($f); if ($f)
fclose($f);
else
@header("Location: spip_test_dirs.php3");
} }
return $ok; return $ok;
} }
......
...@@ -95,9 +95,21 @@ function deplacer_fichier_upload($source, $dest) { ...@@ -95,9 +95,21 @@ function deplacer_fichier_upload($source, $dest) {
exit; exit;
} }
umask('0000');
$ok = @copy($source, $dest); $ok = @copy($source, $dest);
if (!$ok) $ok = @move_uploaded_file($source, $dest); if (!$ok) $ok = @move_uploaded_file($source, $dest);
@chmod($loc, 0666); if ($ok)
@chmod($dest, '0666');
else {
$f = @fopen($dest,'w');
if ($f)
fclose ($f);
else {
@header ("Location: spip_test_dirs.php3?test_dir=".dirname($dest));
exit;
}
}
return $ok; return $ok;
} }
......
...@@ -22,7 +22,12 @@ cette page</A> afin de commencer r&eacute;ellement l'installation."; ...@@ -22,7 +22,12 @@ cette page</A> afin de commencer r&eacute;ellement l'installation.";
// teste les droits sur les repertoires // teste les droits sur les repertoires
// //
if (!file_exists("inc_connect.php3")){ if (!file_exists("inc_connect.php3")){
$test_dirs = array("CACHE", "IMG", "ecrire", "ecrire/data", "ecrire/upload");
if ($test_dir)
$test_dirs[] = $test_dir;
else
$test_dirs = array("CACHE", "IMG", "ecrire", "ecrire/data", "ecrire/upload");
unset($bad_dirs); unset($bad_dirs);
while (list(, $my_dir) = each($test_dirs)) { while (list(, $my_dir) = each($test_dirs)) {
$ok = true; $ok = true;
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter