XOOPS に piCalを入れるために mainfile.php に、XOOPS_TRUST_PATH を指定したのですが、認識しません。
なぜか、XOOPS_TRUST_PATH2 という名前だと認識します(が、もちろん protector モジュールでエラーになります)
mainfile.php
~
// It is synonym of $xoopsOption['nocommon']=1;
// But $xoopsOption['nocommon'] is deprecated.
//
define('XOOPS_TRUST_PATH', 'PATH1');
echo XOOPS_TRUST_PATH;
define('XOOPS_TRUST_PATH2', 'PATH2');
echo XOOPS_TRUST_PATH2;
と入れると、画面表示は
PATH2
Warning: include() [function.include]: Unable to access /modules/protector/include/precheck.inc.php in ~
と表示されます。つまり'XOOPS_TRUST_PATH'はdefineされない。
どこか壊れていますか?
それとも、define名で最後がPATHで終わる定義名は
セキュリティ上無効になるという器用な設定がphpにあります?
PHP では、定数を宣言できるのは一度きりです。
define('XOOPS_TRUST_PATH', '');
と一旦書いてしまったら、何度 XOOPS_TRUST_PATH を宣言し直しても XOOPS_TRUST_PATH の値は '' のままです。
設定ファイル内を「XOOPS_TRUST_PATH」で検索して、「define('XOOPS_TRUST_PATH', '');」のような宣言が引っかかったら、その箇所にパスを入れてみて下さい。
おお、ありました!
感謝しきりです!!
XOOPS_TRUST_PATH の利用は
protector関係固有ではなくて、XOOPS で標準的に組み込まれた構造だったんですね。