Skip to content
Extraits de code Groupes Projets
Valider f859e3ee rédigé par esj's avatar esj
Parcourir les fichiers

L'action test_dirs est en fait une étape d'installation, et migre donc dans le...

L'action test_dirs est en fait une étape d'installation, et migre donc dans le répertoire Install/ sous le nom etape_chmod. Ses autres appels sont centralisés dans la fonction raler_fichier de inc/flock, mais il faut remarquer que la plupart sont devenus invisibles depuis l'introduction de async_upload. J'ai rajouté une status 401 mais ça n'a pas l'air de suffire.
parent 06bd7807
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -391,7 +391,6 @@ ecrire/action/regler_moderation.php -text ...@@ -391,7 +391,6 @@ ecrire/action/regler_moderation.php -text
ecrire/action/reorganiser.php -text ecrire/action/reorganiser.php -text
ecrire/action/supprimer.php -text ecrire/action/supprimer.php -text
ecrire/action/supprimer_traduction.php -text ecrire/action/supprimer_traduction.php -text
ecrire/action/test_dirs.php -text
ecrire/action/tester.php -text ecrire/action/tester.php -text
ecrire/action/tester_taille.php -text ecrire/action/tester_taille.php -text
ecrire/action/tourner.php -text ecrire/action/tourner.php -text
...@@ -616,6 +615,7 @@ ecrire/install/etape_1.php -text ...@@ -616,6 +615,7 @@ ecrire/install/etape_1.php -text
ecrire/install/etape_2.php -text ecrire/install/etape_2.php -text
ecrire/install/etape_3.php -text ecrire/install/etape_3.php -text
ecrire/install/etape_4.php -text ecrire/install/etape_4.php -text
ecrire/install/etape_chmod.php -text
ecrire/install/etape_ldap1.php -text ecrire/install/etape_ldap1.php -text
ecrire/install/etape_ldap2.php -text ecrire/install/etape_ldap2.php -text
ecrire/install/etape_ldap3.php -text ecrire/install/etape_ldap3.php -text
......
...@@ -27,12 +27,6 @@ function exec_export_all_dist() ...@@ -27,12 +27,6 @@ function exec_export_all_dist()
$dir = _DIR_DUMP; $dir = _DIR_DUMP;
else $dir = determine_upload(); else $dir = determine_upload();
if (!is_writable($dir)) {
include_spip('inc/headers');
$dir = preg_replace(",^" . _DIR_RACINE .",", '', $dir);
redirige_par_entete(generer_test_dirs($dir, true));
}
// utiliser une version fraiche des metas (ie pas le cache) // utiliser une version fraiche des metas (ie pas le cache)
include_spip('inc/meta'); include_spip('inc/meta');
lire_metas(); lire_metas();
......
...@@ -21,7 +21,7 @@ define('_FILE_TMP', '_install'); ...@@ -21,7 +21,7 @@ define('_FILE_TMP', '_install');
function exec_install_dist() function exec_install_dist()
{ {
$etape = _request('etape'); $etape = _request('etape');
if (_FILE_CONNECT) { if (_FILE_CONNECT AND ($etape != 'chmod')) {
echo minipres(); echo minipres();
exit; exit;
} }
......
...@@ -122,9 +122,12 @@ function raler_fichier($fichier) ...@@ -122,9 +122,12 @@ function raler_fichier($fichier)
{ {
include_spip('inc/minipres'); include_spip('inc/minipres');
$dir = dirname($fichier); $dir = dirname($fichier);
http_status(401);
echo minipres(_T('texte_inc_meta_2'), "<h4 style='color: red'>" echo minipres(_T('texte_inc_meta_2'), "<h4 style='color: red'>"
. _T('texte_inc_meta_1', array('fichier' => $fichier)) . _T('texte_inc_meta_1', array('fichier' => $fichier))
. " <a href='" . generer_test_dirs($dir) . "'>" . " <a href='"
. generer_url_ecrire('install', "etape=chmod&test_dir=$dir")
. "'>"
. _T('texte_inc_meta_2') . _T('texte_inc_meta_2')
. "</a> " . "</a> "
. _T('texte_inc_meta_3', . _T('texte_inc_meta_3',
...@@ -206,12 +209,11 @@ function sous_repertoire($base, $subdir='', $nobase = false, $tantpis=false) { ...@@ -206,12 +209,11 @@ function sous_repertoire($base, $subdir='', $nobase = false, $tantpis=false) {
fclose($f); fclose($f);
else { else {
spip_log("echec creation $base${subdir}"); spip_log("echec creation $base${subdir}");
if ($tantpis) return '';
if (!_DIR_RESTREINT) if (!_DIR_RESTREINT)
$base = preg_replace(',^' . _DIR_RACINE .',', '',$base); $base = preg_replace(',^' . _DIR_RACINE .',', '',$base);
if ($test) $base .= $subdir; if ($test) $base .= $subdir;
if ($tantpis) return ''; raler_fichier($base . '/.ok');
include_spip('inc/headers');
redirige_par_entete(generer_test_dirs($base, true));
} }
spip_log("faux sous-repertoire $base${subdir}"); spip_log("faux sous-repertoire $base${subdir}");
return "$baseaff${subdir}"; return "$baseaff${subdir}";
......
...@@ -94,8 +94,8 @@ function deplacer_fichier_upload($source, $dest, $move=false) { ...@@ -94,8 +94,8 @@ function deplacer_fichier_upload($source, $dest, $move=false) {
if ($f) { if ($f) {
fclose ($f); fclose ($f);
} else { } else {
include_spip('inc/headers'); include_spip('inc/flock');
redirige_par_entete(generer_test_dirs(dirname($dest), true)); raler_fichier($dest);
} }
@unlink($dest); @unlink($dest);
} }
......
...@@ -112,11 +112,4 @@ function envoie_image_vide() { ...@@ -112,11 +112,4 @@ function envoie_image_vide() {
} }
*/ */
// http://doc.spip.org/@generer_test_dirs
function generer_test_dirs($arg='', $redirect=false)
{
if (!is_string($redirect))
return generer_url_public('', "action=test_dirs" . ($arg ? "&test_dir=$arg" : ''), $redirect);
else return generer_form_public('test_dirs', $redirect);
}
?> ?>
...@@ -15,20 +15,19 @@ if (!defined("_ECRIRE_INC_VERSION")) return; #securite ...@@ -15,20 +15,19 @@ if (!defined("_ECRIRE_INC_VERSION")) return; #securite
// http://doc.spip.org/@inc_install_ // http://doc.spip.org/@inc_install_
function install_etape__dist() function install_etape__dist()
{ {
include_spip('inc/headers');
utiliser_langue_visiteur(); utiliser_langue_visiteur();
$menu_langues = menu_langues('var_lang_ecrire'); $menu_langues = menu_langues('var_lang_ecrire');
if (!$menu_langues) { if (!$menu_langues) {
redirige_par_entete(generer_test_dirs()); redirige_par_entete(generer_url_ecrire('install', "etape=chmod", true));
} else { } else {
include_spip('inc/presentation'); // pour info_copyright include_spip('inc/presentation'); // pour info_copyright
echo install_debut_html();
echo "<div><img alt='SPIP' src='" . _DIR_IMG_PACK . "logo-spip2.gif' /></div>\n", $res = "<div><img alt='SPIP' src='" . _DIR_IMG_PACK . "logo-spip2.gif' /></div>\n" .
"<div class='petit-centre'><p>",info_copyright(),"</p></div>\n", "<div class='petit-centre'><p>" .info_copyright() ."</p></div>\n" .
"<p>",_T('install_select_langue'),"</p>", "<p>" ._T('install_select_langue') ."</p>" .
"<div>",$menu_langues,"</div>\n", "<div>" .$menu_langues ."</div>\n" .
generer_test_dirs('', bouton_suivant()); generer_form_ecrire('install', "<input type='hidden' name='etape' value='chmod' />" . bouton_suivant());
echo install_fin_html(); echo minipres('AUTO', $res);
} }
} }
?> ?>
...@@ -71,16 +71,15 @@ function test_ecrire($my_dir) { ...@@ -71,16 +71,15 @@ function test_ecrire($my_dir) {
// rajouter celui passer dans l'url ou celui du source (a l'installation) // rajouter celui passer dans l'url ou celui du source (a l'installation)
// //
// http://doc.spip.org/@action_test_dirs_dist function install_etape_chmod_dist()
function action_test_dirs_dist()
{ {
global $test_dirs; global $test_dirs;
$test_dir = _request('test_dir'); $test_dir = _request('test_dir');
$chmod = 0; $chmod = 0;
if ($test_dir) { if ($test_dir) {
if (substr($test_dir,-1)!=='/') $test_dir .= '/'; if (substr($test_dir,-1)!=='/') $test_dir .= '/';
if (!in_array($test_dir, $test_dirs)) $test_dirs[] = $test_dir; if (!in_array($test_dir, $test_dirs)) $test_dirs[] = _DIR_RACINE . $test_dir;
} else { } else {
if (!_FILE_CONNECT) if (!_FILE_CONNECT)
$test_dirs[] = dirname(_FILE_CONNECT_INS).'/'; $test_dirs[] = dirname(_FILE_CONNECT_INS).'/';
...@@ -91,13 +90,13 @@ function action_test_dirs_dist() ...@@ -91,13 +90,13 @@ function action_test_dirs_dist()
while (list(, $my_dir) = each($test_dirs)) { while (list(, $my_dir) = each($test_dirs)) {
$test = test_ecrire($my_dir); $test = test_ecrire($my_dir);
if (!test_ecrire($my_dir)) { if (!$test) {
$m = preg_replace(',^' . _DIR_RACINE . ',', '',$my_dir);
if (@file_exists($my_dir)) { if (@file_exists($my_dir)) {
$bad_dirs[] = "<li>".$my_dir."</li>"; $bad_dirs[] = "<li>".$m."</li>";
} else } else
$absent_dirs[] = "<li>".$my_dir."</li>"; $absent_dirs[] = "<li>".$m."</li>";
} } else $chmod = max($chmod, $test);
$chmod = max($chmod, $test);
} }
if ($bad_dirs OR $absent_dirs) { if ($bad_dirs OR $absent_dirs) {
...@@ -124,19 +123,20 @@ function action_test_dirs_dist() ...@@ -124,19 +123,20 @@ function action_test_dirs_dist()
array('bad_dirs' => join(" ", $absent_dirs))) . array('bad_dirs' => join(" ", $absent_dirs))) .
"<b>". _T('login_recharger')."</b>."; "<b>". _T('login_recharger')."</b>.";
} }
$res = "<p>" . $continuer . $res . aide ("install0") . "</p>";
$t = _T('login_recharger'); $t = _T('login_recharger');
$res = "<p>" . $continuer . $res . aide ("install0") . "</p>" . $t = (!$test_dir ? "" :
generer_test_dirs('',
(!$test_dir ? "" :
"<input type='hidden' name='test_dir' value='$test_dir' />") "<input type='hidden' name='test_dir' value='$test_dir' />")
. "<div style='text-align: right'><input type='submit' class='fondl' value='$t' /></div>"); . "<input type='hidden' name='etape' value='chmod' />"
echo minipres($titre, $res); . "<div style='text-align: right'><input type='submit' class='fondl' value='$t' /></div>";
} else { echo minipres($titre, $res . generer_form_ecrire('install', $t));
if (!_FILE_CONNECT)
redirige_par_entete(generer_url_ecrire("install", "etape=1&chmod=".$chmod, true)); } else {
else if (!_FILE_CONNECT)
redirige_par_entete(_DIR_RESTREINT_ABS); redirige_par_entete(generer_url_ecrire("install", "etape=1&chmod=".$chmod, true));
} else redirige_par_entete(generer_url_ecrire());
}
} }
?> ?>
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