ブログ - 最新エントリー
これは仕様なのだろうか?
ってことはないと思うけど...
Warning: parse_url(/modules/openid/try_auth.php?action=verify&openid_identifier=http://IdP/xxxx/&frompage=/) [function.parse-url]: Unable to parse URL in /xxxx/modules/legacy/kernel/Legacy_Controller.class.php on line 383
Fatal error: Call to a member function assign() on a non-object in /xxxx/modules/openid/index.php on line 14
(追記)
どうも parse_url() は query string にエンコードされていない http:// などが含まれている場合に、うまく動作しないという問題があるようだ...
今回の問題がこれとかかわるのかどうかは良くわからないが...
[XCL 2.1.4] または [XCL 2.1.5]の問題...
この件については
http://www.xugj.org/modules/d3forum/index.php?topic_id=754
に記述がある。
ってことはないと思うけど...
Warning: parse_url(/modules/openid/try_auth.php?action=verify&openid_identifier=http://IdP/xxxx/&frompage=/) [function.parse-url]: Unable to parse URL in /xxxx/modules/legacy/kernel/Legacy_Controller.class.php on line 383
Fatal error: Call to a member function assign() on a non-object in /xxxx/modules/openid/index.php on line 14
(追記)
どうも parse_url() は query string にエンコードされていない http:// などが含まれている場合に、うまく動作しないという問題があるようだ...
今回の問題がこれとかかわるのかどうかは良くわからないが...
[XCL 2.1.4] または [XCL 2.1.5]の問題...
この件については
http://www.xugj.org/modules/d3forum/index.php?topic_id=754
に記述がある。
動作確認OpenID認証局
・openid.ne.jp ◎
認証のときに毎回聞かれるのは仕方ないのか?
・hatena ○
認証はOK
ただ、メールアドレスなしで登録できてしまうのだ...
・profile.livedoor.com ×?
認証時にエラーが発生する。
もう一度繰り返すとなぜか登録できるが、メールアドレスなしで登録できてしまって良いのか?
・Yahoo! JAPAN ×(OpenID2.0)?
「このサイトには現在ログインできません」となる。その前にワーニングが出ている。
・mixi 未確認
・openid.ne.jp ◎
認証のときに毎回聞かれるのは仕方ないのか?
・hatena ○
認証はOK
ただ、メールアドレスなしで登録できてしまうのだ...
・profile.livedoor.com ×?
認証時にエラーが発生する。
もう一度繰り返すとなぜか登録できるが、メールアドレスなしで登録できてしまって良いのか?
・Yahoo! JAPAN ×(OpenID2.0)?
「このサイトには現在ログインできません」となる。その前にワーニングが出ている。
・mixi 未確認
■ファイルの展開
・XCL 2.1.5 を適当な場所で解凍する。
% unzip Package_Legacy_2_1_5.zip
・上書きしたくない不要なファイルを削除する
% cd Package_Legacy_2_1_5/html
% rm mainfile.php
% rm favicon.php
% rm -r templates_c cache uploads
% rm -r install
% cd ..
・ファイルを上書きコピーする
% tar -cf - html | (cd ターゲットディレクトリ; tar -xf -)
■管理画面からモジュールをアップデートする
互換モジュール
ユーザー管理
互換レンダーシステム
標準キャッシュモジュール
(プライベートメッセージ)
・XCL 2.1.5 を適当な場所で解凍する。
% unzip Package_Legacy_2_1_5.zip
・上書きしたくない不要なファイルを削除する
% cd Package_Legacy_2_1_5/html
% rm mainfile.php
% rm favicon.php
% rm -r templates_c cache uploads
% rm -r install
% cd ..
・ファイルを上書きコピーする
% tar -cf - html | (cd ターゲットディレクトリ; tar -xf -)
■管理画面からモジュールをアップデートする
互換モジュール
ユーザー管理
互換レンダーシステム
標準キャッシュモジュール
(プライベートメッセージ)
D3Blog [1.02.?] のRSS,RDFの出力でエラーが発生した。
どのようなエラーかというと
(IEの場合、FireFox ではエラーは出ない。)
いろいろ調べた結果次のように推測した。
RSSなどに表示する文字数を限定するために、xoops_substr() で、規定の文字数にカットしているようだが、これは当然ただの substr のちょっとしたラッパーのようだ。
ということで XMLやHTML の構文なんかお構いなしなのだ。
つまり、 & が &am で切られてしまえば、XML的にはエラー!
ということですね...
これを回避するには、構文をパースした上で文字をカットしないといけない...ということかぁ...ちょっと面倒だなぁ。
どちらかというと、原文を短くカットした上で加工したほうがいいか?
でも原文が HTML有効だったら同じことか...
どのようなエラーかというと
無効な文字がエンティティの範囲内に見つかりました。
行: 130 文字: 45
$modversion['onUninstall'] = '...</description>
(IEの場合、FireFox ではエラーは出ない。)
いろいろ調べた結果次のように推測した。
RSSなどに表示する文字数を限定するために、xoops_substr() で、規定の文字数にカットしているようだが、これは当然ただの substr のちょっとしたラッパーのようだ。
ということで XMLやHTML の構文なんかお構いなしなのだ。
つまり、 & が &am で切られてしまえば、XML的にはエラー!
ということですね...
これを回避するには、構文をパースした上で文字をカットしないといけない...ということかぁ...ちょっと面倒だなぁ。
どちらかというと、原文を短くカットした上で加工したほうがいいか?
でも原文が HTML有効だったら同じことか...
D3Blog [1.02.3] では問題なかったのだが [1.02.5a] では RSS,RDFなどで、HTML特殊文字を2重にエンコードしているように思える。
たとえば次のような感じ...
HTMLは無効にしてあります。
a['b'] = c;
としたものは [1.02.3] では正しく表示されるが、[1.02.5a] では
a[&39;b&39;] = c;
と表示されてしまう。
たとえば次のような感じ...
HTMLは無効にしてあります。
a['b'] = c;
としたものは [1.02.3] では正しく表示されるが、[1.02.5a] では
a[&39;b&39;] = c;
と表示されてしまう。
■Legacy_Controller で定義された下位互換用グローバル変数
・基本オブジェクトの取得
$root = XCube_Root::getSingleton()
$controller =& $root->mController
・基本オブジェクトの取得
$root = XCube_Root::getSingleton()
$controller =& $root->mController
■ファイル
modules/legacy/kernel/Legacy_Controller.class.php
■クラス定義
Legacy_Controller extends XCube_Controller
■生成
(include/cubecore_init.php)
$root->setupController() で XCube_Root から生成される。
modules/legacy/kernel/Legacy_Controller.class.php
■クラス定義
Legacy_Controller extends XCube_Controller
■生成
(include/cubecore_init.php)
$root->setupController() で XCube_Root から生成される。
これでいいのだろうか?
■Legacyなアクセス制御?
$mid = $xoopsModule->getVar('mid');
$groups = $xoopsUser->getGroups();
$gpermHandler =& xoops_gethandler('groupperm');
$gpermHandler->checkRight($permname, $mid, $groups);
■XCL流のアクセス制御?
$user->isInRole("Module.$mydirname.$permname")
■Legacyなアクセス制御?
$mid = $xoopsModule->getVar('mid');
$groups = $xoopsUser->getGroups();
$gpermHandler =& xoops_gethandler('groupperm');
$gpermHandler->checkRight($permname, $mid, $groups);
■XCL流のアクセス制御?
$user->isInRole("Module.$mydirname.$permname")
(settings/definition.inc.php)
■modules/
・XOOPS_MODULE_PATH
=XOOPS_ROOT_PATH."/modules"
・XOOPS_MODULE_URL
=XOOPS_URL."/modules"
■uploads/
・XOOPS_UPLOAD_PATH
=XOOPS_ROOT_PATH."/uploads"
・XOOPS_UPLOAD_URL
=XOOPS_URL."/uploads"
■themes/
・XOOPS_THEME_PATH
=XOOPS_ROOT_PATH."/themes"
・XOOPS_THEME_URL
=XOOPS_URL."/themes"
■modules/
・XOOPS_MODULE_PATH
=XOOPS_ROOT_PATH."/modules"
・XOOPS_MODULE_URL
=XOOPS_URL."/modules"
■uploads/
・XOOPS_UPLOAD_PATH
=XOOPS_ROOT_PATH."/uploads"
・XOOPS_UPLOAD_URL
=XOOPS_URL."/uploads"
■themes/
・XOOPS_THEME_PATH
=XOOPS_ROOT_PATH."/themes"
・XOOPS_THEME_URL
=XOOPS_URL."/themes"
altsys [0.58] のブロック管理画面では、
$modversion['block'] の
'show_func' と DB内の show_func が一致していないと、複製可能とみなしてくれない。
(正確には func_file と DBのfile、さらには template も)
というわけで、クラス化したブロックは複製可能マーク 'can_clone' をつけてあっても、ブロック管理画面では複製可能にならない。
(参照 libs/altsys/include/MyBlockAdmin.class.php)
これをとりあえずだますには、
show_func に cl:: に続けて class の内容を書けばよい...
うーん。これでいいのだろうか...
そもそも、Altsysが複製可能でないと判断する基準を理解できていないことに問題があるぞ >> 自分
$modversion['block'] の
'show_func' と DB内の show_func が一致していないと、複製可能とみなしてくれない。
(正確には func_file と DBのfile、さらには template も)
というわけで、クラス化したブロックは複製可能マーク 'can_clone' をつけてあっても、ブロック管理画面では複製可能にならない。
(参照 libs/altsys/include/MyBlockAdmin.class.php)
これをとりあえずだますには、
show_func に cl:: に続けて class の内容を書けばよい...
うーん。これでいいのだろうか...
そもそも、Altsysが複製可能でないと判断する基準を理解できていないことに問題があるぞ >> 自分