Skip to content
Extraits de code Groupes Projets
Bifurcation depuis spip / spip
23271 validations de retard le dépôt en amont.
  • Fil's avatar
    17be4f79
    gestion des erreurs dues aux droits d'ecriture : seule l'interdiction d'ecrire... · 17be4f79
    Fil a rédigé
    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.details supplementaires : distinction phase d'install/ phase de reparation
    17be4f79
    Historique
    gestion des erreurs dues aux droits d'ecriture : seule l'interdiction d'ecrire...
    Fil a rédigé
    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.details supplementaires : distinction phase d'install/ phase de reparation
spip_test_dirs.php3 1,78 Kio
<?php

include("ecrire/inc_version.php3");

include_ecrire("inc_presentation.php3");

function bad_dirs($bad_dirs, $test_dir, $install) {
	if ($install) {
		$titre = "Pr&eacute;liminaire : <B>R&eacute;gler les droits d'acc&egrave;s</B>";
		$continuer = " afin de commencer r&eacute;ellement l'installation";
	} else
		$titre = "<b>Probl&egrave;me de droits d'acc&egrave;s</b>";

	echo "<BR><FONT FACE=\"Verdana,Arial,Helvetica,sans-serif\" SIZE=3>$titre</FONT>
		<P><B>Les r&eacute;pertoires suivants ne sont pas accessibles en &eacute;criture&nbsp;: <ul>$bad_dirs.</ul> </B>
		<P>Pour y rem&eacute;dier, utilisez votre client FTP afin de r&eacute;gler les droits d'acc&egrave;s de chacun
		de ces r&eacute;pertoires. La proc&eacute;dure est expliqu&eacute;e en d&eacute;tail dans le guide d'installation.
		<P>Une fois cette manipulation effectu&eacute;e, vous pourrez <B><A HREF='spip_test_dirs.php3";
	if ($test_dir) echo '?test_dir='.$test_dir;
	echo "'>recharger cette page</A>$continuer.";
}

//
// teste les droits sur les repertoires
//

$install = !file_exists("ecrire/inc_connect.php3");

if ($test_dir)
	$test_dirs[] = $test_dir;
else
	$test_dirs = array("CACHE", "IMG", "ecrire", "ecrire/data", "ecrire/upload");
	unset($bad_dirs);

while (list(, $my_dir) = each($test_dirs)) {
	$ok = true;
	$nom_fich = "$my_dir/test.txt";
	$f = @fopen($nom_fich, "w");
	if (!$f) $ok = false;
	else if (!@fclose($f)) $ok = false;
	else if (!@unlink($nom_fich)) $ok = false;
	
	if (!$ok) $bad_dirs[] = "<LI>".$my_dir;
}

if ($bad_dirs) {
	$bad_dirs = join(" ", $bad_dirs);
	install_debut_html();
	bad_dirs($bad_dirs, $test_dir, $install);

	if ($install)
		echo aide ("install0");

	install_fin_html();
} else {
	if ($install)
		header("Location: ./ecrire/install.php3?etape1=oui");
	else
		header("Location: ./ecrire/");
}

?>