\modules\piCal0.84\class\piCal.php Line 157
もしかしたら、
header( $reload_str4header ) ;
でしょうか。
Line 156 で $reload_str4header がセットされただけで未使用だったので。
\modules\piCal0.84\include\read_configs.php Line 90
リファレンスを受け取るようですが、Noticeが表示されます。
私の力量では詳細までは判りませんが、XoopsMemberHandler(member.php)のgetGroupsByUser関数はリファレンスを返す作りになっていない為にNoticeが表示されるのかな。
XoopsMembershipHandler extends XoopsObjectHandler(group.php)のgetGroupsByUser関数はリファレンスを返してますね。
\modules\piCal0.84\class\piCal_xoops.php Line 1010
\modules\piCal0.84\admin\admin.php Line 122
リファレンスの受け取り。
XoopsGroupPerm extends XoopsObjectのgetItemIds関数はリファレンスを返してくれない。
\modules\piCal0.84\admin\mygrouppermform.php Line 160 では値をそのまま受け取っていますね。
\modules\piCal0.84\class\piCal_xoops.php に記述された、以下の関数は「配列を返す」とコメントに書かれていますが、使用時にはリファレンスを受け取ろうとしてNoticeが出るように感じます。
get_blockarray_coming_event
get_blockarray_new_event
get_blockarray_date_event
リファレンスの受け取りに関しては、私の能力を越えた部分ですから詳細不明につき、見当違いな書き込みなら無視して下さい。
-----
他所の投稿へのコメントも合わさせてここに書かせて頂きます。
Quote:
GIJOE:
留守中にいろいろとレスをつけていただき、ありがとうございました。かなり多くのスレッドが解決していてとても助かりました。
意味が判っての投稿なら良いのでしょうが、中途半端な理解力での投稿ばかりで、ご迷惑をおかけしていないかと心配しています。
新刊本「PHP サイバーテロの技法 攻撃と防御の実際」の発売日が待ち遠しいです。(^o^)ワクワク
-----
今回はさらに中途半端ですが、よろしくお願いします。
okuhikiさん、こんにちは。またまた、丁寧なご指摘ありがとうございます。
Quote:
\modules\piCal0.84\class\piCal.php Line 157
もしかしたら、
header( $reload_str4header ) ;
でしょうか。
Line 156 で $reload_str4header がセットされただけで未使用だったので。
typoのご指摘ありがとうございます。0.84a で修正します。
Quote:
\modules\piCal0.84\include\read_configs.php Line 90
リファレンスを受け取るようですが、Noticeが表示されます。
私の力量では詳細までは判りませんが、XoopsMemberHandler(member.php)のgetGroupsByUser関数はリファレンスを返す作りになっていない為にNoticeが表示されるのかな。
XoopsMembershipHandler extends XoopsObjectHandler(group.php)のgetGroupsByUser関数はリファレンスを返してますね。
とりあえずスカラー型および配列型は「参照を返す」こと自体がPHPの特性に合っていません。というわけで、ハンドラなどの、明示的なオブジェクト以外については、値で受け取るようにします。
このあたり、XOOPSの初期設計の問題でもありますね。module.textsanitizer.php なんかは、やたらと参照渡しを利用していますが、PHPの特性(リファレンスカウント)を知っていたらこんなコードにはなりません。これらもすべて値渡しに統一すべきでしょう。
Quote:
\modules\piCal0.84\class\piCal_xoops.php に記述された、以下の関数は「配列を返す」とコメントに書かれていますが、使用時にはリファレンスを受け取ろうとしてNoticeが出るように感じます。
get_blockarray_coming_event
get_blockarray_new_event
get_blockarray_date_event
これも私のミスですね。
PHPでは、配列であろうと、参照ではなく値で受け取るべきです。
0.84aの変更で、piCalが出すNoticeが無くなれば良いのですが。