はじめまして,tab6433と申します。お世話になっております。
イベント案内モジュール2.41をXOOPS Cube Legacy 2.1.3に導入して試用してみたところ,いくつか PHP の Notice が発生するケースがありました。別のトピックで Notice だから気にしないでも,というお話でしたが,やはり気にはなりましたので(笑),自力で修正してみました。一応,修正後にNoticeが出なくなることは確認しましたが,もし的外れな修正でなければ,バージョンアップの際にでも反映していただけると有り難いです。
こちらの環境は Mac OS X 10.5.2+PHP 5.2.4+MySQL5.0.45,モジュールとして他にALTSYS 0.56,pico 1.2,webLogD3 1.53,bulettin2.12 などを使用しています。もし私の環境固有の問題で発生するNoticeでしたら申し訳ありません。
-----
[管理者メニューの『新規登録のメール通知』]
Notice [PHP]: Use of undefined constant _MD_INFO_NODATA - assumed '_MD_INFO_NODATA' in file modules/eguide/admin/index.php line 202
⇒language/japanese/main.php 163行目の「define("_MD_INFO_NODATA","データがありません");」を
同フォルダ/common.php に移動
[登録がない時の『定員一括編集』クリック]
Notice [PHP]: Undefined variable: eid in file modules/eguide/collect.php line 136
Notice [PHP]: Undefined variable: eid in file modules/eguide/collect.php line 139
Notice [PHP]: Undefined variable: eid in file modules/eguide/collect.php line 140
Notice [PHP]: Undefined index: in file modules/eguide/collect.php line 140
⇒collect.php:137,140,141行目で変数$eidに値が入っていない(empty)場合の対処
[登録がある時の『イベント案内』クリック]
Notice [PHP]: Undefined index: body in file modules/eguide/functions.php line 76
⇒index.php:87行目に「$event['body']='';」を追加。functions.phpの
edit_eventdata関数で,引数の連想配列の 'body' の値を取ろうとして,入っていないので失敗していた。
[登録がある時の『定員一括編集』クリック]
Notice [PHP]: Undefined index: body in file modules/eguide/functions.php line 76
⇒collect.php:106行めに「$event['body']='';」を追加。理由は上と同じ。
[予約申込から『予約を申し込む』ボタンを押した時]
Notice [PHP]: Undefined property: XoopsMultiMailerLocal::$need_encode in file language/japanese/xoopsmailerlocal.php line 197
Notice [PHP]: Undefined property: XoopsMultiMailerLocal::$mail_overload in file language/japanese/xoopsmailerlocal.php line 208
Notice [PHP]: Undefined property: XoopsMultiMailerLocal::$need_encode in file language/japanese/xoopsmailerlocal.php line 197
Notice [PHP]: Undefined property: XoopsMultiMailerLocal::$mail_overload in file language/japanese/xoopsmailerlocal.php line 208
⇒language/japanese/xoopsmailerlocal.php:197行目「need_encode」を「needs_encode」に修正
⇒同じく208行目「mail_overload」を「needs_encode」に修正
[『予約済みイベント』から『予約取消』をクリックして『送信』ボタンを押した時]
Notice [PHP]: Undefined index: summery in file modules/eguide/functions.php line 75
Notice [PHP]: Undefined index: body in file modules/eguide/functions.php line 76
⇒reserv.php:58行目に「$data['summary']=''; $data['body']='';」を追加。[登録がある時]と同じ理由。
-----
また,以下の Notice については対処法が分かりませんでした。
[イベント登録直後]
Notice [PHP]: Undefined index: catid in file modules/eguide/event.php line 30
⇒不明(確かに'catid'の値を取ろうとしている)
-----
以上です。
このフォーラムに新しいトピックを立てることはできません