Ta lecture du code est erronée. DR_RC_PATH est fixée en priorité si une
variable serveur DC_RC_PATH est présente, et en cas d'absence une variable
serveur REDIRECT_DC_RC_PATH et, l'absence de ces 2 variables
d'environnement, par la valeur par défaut présente dans inc/prepend.php

Je te déconseille fortement de fixer des valeurs REDIRECT_XXX depuis tes
fichiers de configuration Apache (.htaccess compris) pour la simple et bonne
raison que ce préfixe REDIRECT_ est généralement rajouté dans
l'arrière-boutique par le serveur, suivant sa configuration (rewrite, proxy,
fastcgi ou non, etc.).



-----Message d'origine-----
De : dev-boun...@list.dotclear.org [mailto:dev-boun...@list.dotclear.org] De
la part de Christopher Crouzet
Envoyé : dimanche 1 septembre 2013 14:37
À : dev@list.dotclear.org
Objet : Re: [Dotclear Dev] REDIRECT_DC_RC_PATH

J'aurais rien contre mais apres lecture du code, ca m'est impossible. Je
souligne que l'idee est de n'avoir a bidouiller aucun fichier venant de
Dotclear et d'externaliser tout ce qui est config et tout le tsoin-tsoin.

Pour modifier la valeur DC_RC_PATH, il faudrait que je la change directement
dans le fichier `prepend.php` ce qui va a l'encontre de ce que je cherche.
Je pourrais modifier la valeur DC_RC_PATH directement dans mon fichier
index.php a moi mais ca ne marcherait que pour la partie public, pas pour la
partie admin.

Au final, Dotclear semble simplement assigner DC_RC_PATH avec
REDIRECT_DC_RC_PATH si la valeur existe, et apres recherche
REDIRECT_DC_RC_PATH ne semble qu'a ce genre de cas, donc pas de bobo a
premiere vue si tous les fichiers l'utilisant recoivent la meme update.



2013/9/1 Pep <p...@callmepep.org>

> Bonjour,
>
> Tu devrais déjà essayer de jouer avec une valeur DC_RC_PATH et non
> REDIRECT_DC_RC_PATH.
> Tu limiteras les risques de mauvaises surprises.
>
>
> -----Message d'origine-----
> De : dev-boun...@list.dotclear.org
> [mailto:dev-boun...@list.dotclear.org]
> De
> la part de Christopher Crouzet
> Envoyé : dimanche 1 septembre 2013 14:27 À : dev@list.dotclear.org
> Objet : [Dotclear Dev] REDIRECT_DC_RC_PATH
>
> Hello!
>
>
> Est-ce que quelqu'un s'est deja servi de cette variable ?
>
> Mon but serait de mettre le dossier `dotclear` quelque part sous mon
> www/ et de faire en sorte de le laisser intact, comme un vrai clone de
> ce qu'il y a sur le repo mercurial.
>
> C'est facile de definir de nouveaux chemins externes de plugins et
> cache grace a `DC_PLUGINS_ROOT` et `DC_TPL_CACHE`, ainsi que les
> chemins public et themes directement dans l'admin de Dotclear, mais
> par contre pour le `config.php`, c'est moins evident.
>
> J'ai vu que la variable `$_SERVER['REDIRECT_DC_RC_PATH']` semblait
> justement faire ca, donc je suis alle voir mon fichier .htaccess et y
> ai rajoute :
> SetEnv REDIRECT_DC_RC_PATH /config.php
>
> Le truc c'est qu'ensuite Dotclear va faire un `require` la-dessus, et
> donc ca va marcher seulement si le fichier .php qui est appele se
> trouve sur le document root. Donc ca marche bien quand on ouvre le
> fichier `index.php`du blog, mais ca ne marche plus quand on essaye
d'ouvrir l'admin.
>
> Il y a 2 solutions :
> - soit je me demerde dans le .htaccess a faire un truc du genre
> `SetEnv REDIRECT_DC_RC_PATH %{DOCUMENT_ROOT}/config.php`, mais non
> seulement ca me semble etre un peu du hack parceque `/config.php`
> devrait justement deja representer un chemin relatif depuis le root,
> mais surtout j'arrive pas a le faire marcher... la valeur
> %{DOCUMENT_ROOT} (et une autre infinite de variations que j'ai teste)
> ne sont pas converties en chemin, et PHP recoit le string
> %{DOCUMENT_ROOT} tel quel.
> - soit dans le code de Dotclear on rajoute manuellement le
> DocumentRoot, ce qui me semble etre mieux. Et pour pas casser l'ancien
> comportement, le fichier prepend.php serait modifie dans ce genre la :
>
> if (isset($_SERVER['DC_RC_PATH'])) {
>   define('DC_RC_PATH',$_SERVER['DC_RC_PATH']);
> } elseif (isset($_SERVER['REDIRECT_DC_RC_PATH']) &&
> isfile($_SERVER['REDIRECT_DC_RC_PATH'])) {
>   define('DC_RC_PATH',$_SERVER['REDIRECT_DC_RC_PATH']);
> } elseif (isset($_SERVER['REDIRECT_DC_RC_PATH']) &&
> isfile($_SERVER['DOCUMENT_ROOT'].$_SERVER['REDIRECT_DC_RC_PATH'])) {
>   define('DC_RC_PATH',$_SERVER['DOCUMENT_ROOT'] .
> $_SERVER['REDIRECT_DC_RC_PATH']);
> } else {
>   define('DC_RC_PATH',dirname(__FILE__).'/config.php');
> }
>
>
> Des avis ?
> Christopher.
> --
> Dev mailing list - Dev@list.dotclear.org -
> http://ml.dotclear.org/listinfo/dev
>
>
>
> --
> Dev mailing list - Dev@list.dotclear.org -
> http://ml.dotclear.org/listinfo/dev
>
--
Dev mailing list - Dev@list.dotclear.org -
http://ml.dotclear.org/listinfo/dev


-- 
Dev mailing list - Dev@list.dotclear.org - http://ml.dotclear.org/listinfo/dev

Répondre à