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 - [email protected] - http://ml.dotclear.org/listinfo/dev

Répondre à