From f859e3eeb7036cb1b23f00aba2f310b741b3d8b9 Mon Sep 17 00:00:00 2001 From: "Committo,Ergo:sum" <esj@rezo.net> Date: Thu, 26 Jul 2007 07:49:23 +0000 Subject: [PATCH] =?UTF-8?q?L'action=20test=5Fdirs=20est=20en=20fait=20une?= =?UTF-8?q?=20=C3=A9tape=20d'installation,=20et=20migre=20donc=20dans=20le?= =?UTF-8?q?=20r=C3=A9pertoire=20Install/=20sous=20le=20nom=20etape=5Fchmod?= =?UTF-8?q?.=20Ses=20autres=20appels=20sont=20centralis=C3=A9s=20dans=20la?= =?UTF-8?q?=20fonction=20raler=5Ffichier=20de=20inc/flock,=20mais=20il=20f?= =?UTF-8?q?aut=20remarquer=20que=20la=20plupart=20sont=20devenus=20invisib?= =?UTF-8?q?les=20depuis=20l'introduction=20de=20async=5Fupload.=20J'ai=20r?= =?UTF-8?q?ajout=C3=A9=20une=20status=20401=20mais=20=C3=A7a=20n'a=20pas?= =?UTF-8?q?=20l'air=20de=20suffire.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitattributes | 2 +- ecrire/exec/export_all.php | 6 --- ecrire/exec/install.php | 2 +- ecrire/inc/flock.php | 10 +++-- ecrire/inc/getdocument.php | 4 +- ecrire/inc/headers.php | 7 ---- ecrire/install/etape_.php | 17 ++++---- .../test_dirs.php => install/etape_chmod.php} | 42 +++++++++---------- 8 files changed, 39 insertions(+), 51 deletions(-) rename ecrire/{action/test_dirs.php => install/etape_chmod.php} (80%) diff --git a/.gitattributes b/.gitattributes index bad91ba3da..80fc0a230d 100644 --- a/.gitattributes +++ b/.gitattributes @@ -391,7 +391,6 @@ ecrire/action/regler_moderation.php -text ecrire/action/reorganiser.php -text ecrire/action/supprimer.php -text ecrire/action/supprimer_traduction.php -text -ecrire/action/test_dirs.php -text ecrire/action/tester.php -text ecrire/action/tester_taille.php -text ecrire/action/tourner.php -text @@ -616,6 +615,7 @@ ecrire/install/etape_1.php -text ecrire/install/etape_2.php -text ecrire/install/etape_3.php -text ecrire/install/etape_4.php -text +ecrire/install/etape_chmod.php -text ecrire/install/etape_ldap1.php -text ecrire/install/etape_ldap2.php -text ecrire/install/etape_ldap3.php -text diff --git a/ecrire/exec/export_all.php b/ecrire/exec/export_all.php index dc906fea4c..10ce6e4e5c 100644 --- a/ecrire/exec/export_all.php +++ b/ecrire/exec/export_all.php @@ -27,12 +27,6 @@ function exec_export_all_dist() $dir = _DIR_DUMP; 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) include_spip('inc/meta'); lire_metas(); diff --git a/ecrire/exec/install.php b/ecrire/exec/install.php index beeba8b1ea..0c721096d4 100644 --- a/ecrire/exec/install.php +++ b/ecrire/exec/install.php @@ -21,7 +21,7 @@ define('_FILE_TMP', '_install'); function exec_install_dist() { $etape = _request('etape'); - if (_FILE_CONNECT) { + if (_FILE_CONNECT AND ($etape != 'chmod')) { echo minipres(); exit; } diff --git a/ecrire/inc/flock.php b/ecrire/inc/flock.php index 6c1db0cd85..8f5cd1ae9c 100644 --- a/ecrire/inc/flock.php +++ b/ecrire/inc/flock.php @@ -122,9 +122,12 @@ function raler_fichier($fichier) { include_spip('inc/minipres'); $dir = dirname($fichier); + http_status(401); echo minipres(_T('texte_inc_meta_2'), "<h4 style='color: red'>" . _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') . "</a> " . _T('texte_inc_meta_3', @@ -206,12 +209,11 @@ function sous_repertoire($base, $subdir='', $nobase = false, $tantpis=false) { fclose($f); else { spip_log("echec creation $base${subdir}"); + if ($tantpis) return ''; if (!_DIR_RESTREINT) $base = preg_replace(',^' . _DIR_RACINE .',', '',$base); if ($test) $base .= $subdir; - if ($tantpis) return ''; - include_spip('inc/headers'); - redirige_par_entete(generer_test_dirs($base, true)); + raler_fichier($base . '/.ok'); } spip_log("faux sous-repertoire $base${subdir}"); return "$baseaff${subdir}"; diff --git a/ecrire/inc/getdocument.php b/ecrire/inc/getdocument.php index 8928c5c776..7c40b9bba7 100644 --- a/ecrire/inc/getdocument.php +++ b/ecrire/inc/getdocument.php @@ -94,8 +94,8 @@ function deplacer_fichier_upload($source, $dest, $move=false) { if ($f) { fclose ($f); } else { - include_spip('inc/headers'); - redirige_par_entete(generer_test_dirs(dirname($dest), true)); + include_spip('inc/flock'); + raler_fichier($dest); } @unlink($dest); } diff --git a/ecrire/inc/headers.php b/ecrire/inc/headers.php index 5dacb329de..50f57c3bf8 100644 --- a/ecrire/inc/headers.php +++ b/ecrire/inc/headers.php @@ -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); -} ?> diff --git a/ecrire/install/etape_.php b/ecrire/install/etape_.php index d1f934909e..936a5ef2fe 100644 --- a/ecrire/install/etape_.php +++ b/ecrire/install/etape_.php @@ -15,20 +15,19 @@ if (!defined("_ECRIRE_INC_VERSION")) return; #securite // http://doc.spip.org/@inc_install_ function install_etape__dist() { - include_spip('inc/headers'); utiliser_langue_visiteur(); $menu_langues = menu_langues('var_lang_ecrire'); if (!$menu_langues) { - redirige_par_entete(generer_test_dirs()); + redirige_par_entete(generer_url_ecrire('install', "etape=chmod", true)); } else { 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", - "<div class='petit-centre'><p>",info_copyright(),"</p></div>\n", - "<p>",_T('install_select_langue'),"</p>", - "<div>",$menu_langues,"</div>\n", - generer_test_dirs('', bouton_suivant()); - echo install_fin_html(); + + $res = "<div><img alt='SPIP' src='" . _DIR_IMG_PACK . "logo-spip2.gif' /></div>\n" . + "<div class='petit-centre'><p>" .info_copyright() ."</p></div>\n" . + "<p>" ._T('install_select_langue') ."</p>" . + "<div>" .$menu_langues ."</div>\n" . + generer_form_ecrire('install', "<input type='hidden' name='etape' value='chmod' />" . bouton_suivant()); + echo minipres('AUTO', $res); } } ?> diff --git a/ecrire/action/test_dirs.php b/ecrire/install/etape_chmod.php similarity index 80% rename from ecrire/action/test_dirs.php rename to ecrire/install/etape_chmod.php index 99fa338dd4..bfcfb769fd 100644 --- a/ecrire/action/test_dirs.php +++ b/ecrire/install/etape_chmod.php @@ -71,16 +71,15 @@ function test_ecrire($my_dir) { // rajouter celui passer dans l'url ou celui du source (a l'installation) // -// http://doc.spip.org/@action_test_dirs_dist -function action_test_dirs_dist() +function install_etape_chmod_dist() { global $test_dirs; - $test_dir = _request('test_dir'); + $test_dir = _request('test_dir'); $chmod = 0; if ($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 { if (!_FILE_CONNECT) $test_dirs[] = dirname(_FILE_CONNECT_INS).'/'; @@ -91,13 +90,13 @@ function action_test_dirs_dist() while (list(, $my_dir) = each($test_dirs)) { $test = test_ecrire($my_dir); - if (!test_ecrire($my_dir)) { + if (!$test) { + $m = preg_replace(',^' . _DIR_RACINE . ',', '',$my_dir); if (@file_exists($my_dir)) { - $bad_dirs[] = "<li>".$my_dir."</li>"; + $bad_dirs[] = "<li>".$m."</li>"; } else - $absent_dirs[] = "<li>".$my_dir."</li>"; - } - $chmod = max($chmod, $test); + $absent_dirs[] = "<li>".$m."</li>"; + } else $chmod = max($chmod, $test); } if ($bad_dirs OR $absent_dirs) { @@ -124,19 +123,20 @@ function action_test_dirs_dist() array('bad_dirs' => join(" ", $absent_dirs))) . "<b>". _T('login_recharger')."</b>."; } + $res = "<p>" . $continuer . $res . aide ("install0") . "</p>"; + $t = _T('login_recharger'); - $res = "<p>" . $continuer . $res . aide ("install0") . "</p>" . - generer_test_dirs('', - (!$test_dir ? "" : + $t = (!$test_dir ? "" : "<input type='hidden' name='test_dir' value='$test_dir' />") - . "<div style='text-align: right'><input type='submit' class='fondl' value='$t' /></div>"); - echo minipres($titre, $res); - - } else { - if (!_FILE_CONNECT) - redirige_par_entete(generer_url_ecrire("install", "etape=1&chmod=".$chmod, true)); - else - redirige_par_entete(_DIR_RESTREINT_ABS); - } + . "<input type='hidden' name='etape' value='chmod' />" + . "<div style='text-align: right'><input type='submit' class='fondl' value='$t' /></div>"; + + echo minipres($titre, $res . generer_form_ecrire('install', $t)); + + } else { + if (!_FILE_CONNECT) + redirige_par_entete(generer_url_ecrire("install", "etape=1&chmod=".$chmod, true)); + else redirige_par_entete(generer_url_ecrire()); + } } ?> -- GitLab