はじめまして、windjetです、どうぞよろしくお願いします。
お問合せ窓口 (ccenter) 0.92を正常にインストールしましたが、
お問合せ窓口- あなたの問合せの所にクリックすると、一番したに以下の警告メッセージが出てきます。
Notice [PHP]: Undefined variable: combo in file modules/ccenter/list.php line 30
お問合せ窓口- 受付担当デスクの所にクリックすると、一番したに以下の警告メッセージが出てきます。
Notice [PHP]: Undefined index: ctime in file modules/ccenter/reception.php line 91
環境:
Apache 1.3.37
PHP 5.2.5
MySQL 5.1.22-rc
ホダ塾ディストリビューションHD-1.0.4(XOOPS Cube Legacy 2.1.7)
この警告メッセージはどういう意味ですか?何か取り除く方法はありますか?
それに、これを無視してモジュールも正常に使えますか?
解決策がありましたらアドバイスをお願いします。
コーディングのミスですが、放置しても害はないものです。
気になるなら次のパッチでも摘要してください。
--- list.php 26 Sep 2007 07:08:58 -0000 1.4
+++ list.php 5 Oct 2009 05:42:10 -0000
@@ -27,7 +27,7 @@
$orders=array('mtime'=>'ASC', 'formid'=>'ASC', 'touid'=>'ASC', 'status'=>'ASC',
'orders'=>array('mtime'));
-$listctrl = new ListCtrl('mylist', $orders, $combo);
+$listctrl = new ListCtrl('mylist', $orders);
$cond = " AND ".$listctrl->sqlcondition();
--- reception.php 5 Jun 2009 09:20:08 -0000 1.11
+++ reception.php 5 Oct 2009 05:57:37 -0000
@@ -88,7 +88,6 @@
$form['description'] = $myts->displayTarea($form['description']);
}
$form['mdate'] = formatTimestamp($form['mtime']);
-$form['cdate'] = formatTimestamp($form['ctime']);
foreach ($items as $k=>$item) {
if (empty($item['label'])) unset($items[$k]);
}
ご返事ありがとうございました。もうすこし再調査してみたいですが、 'ctime' でgrepすると、以下の結果が出ました:
......\ccenter\admin\msgadm.php(189,44) [SJIS]: $data['cdate'] = formatTimestamp($data['ctime'], 'm');
......\ccenter\index.php(168,2) [SJIS]: 'ctime'=>$now, 'mtime'=>$now, 'atime'=>$now,
......\ccenter\message.php(78,35) [SJIS]: 'cdate'=>formatTimestamp($data['ctime']),
......\ccenter\reception.php(91,40) [SJIS]: $form['cdate'] = formatTimestamp($form['ctime']);
......\ccenter\reception.php(136,44) [SJIS]: $data['cdate'] = formatTimestamp($data['ctime']);
'ctime' に関連する変数はどこでも定義されてない判明。
そして、 'cdate' でgrepすると、以下の結果出ました:
......\ccenter\admin\msgadm.php(189,11) [SJIS]: $data['cdate'] = formatTimestamp($data['ctime'], 'm');
......\ccenter\admin\msgadm.php(192,29) [SJIS]: 'stat'=>_AM_MSG_STATUS, 'cdate'=>_AM_MSG_CTIME,
......\ccenter\message.php(78,4) [SJIS]: 'cdate'=>formatTimestamp($data['ctime']),
......\ccenter\reception.php(91,7) [SJIS]: $form['cdate'] = formatTimestamp($form['ctime']);
......\ccenter\reception.php(136,11) [SJIS]: $data['cdate'] = formatTimestamp($data['ctime']);
$data['cdate'] と $form['cdate'] は使ってないみたいので、捨ててもいい気がします。
'cdate'=>formatTimestamp($data['ctime']), に 'ctime' を 'mtime' に変更しても論理てきに行けそうです。
以上の調査結果に基づいて変更したファイルは以下の四つです。
①list.php 一箇所変更
30行目変更: $listctrl = new ListCtrl('mylist', $orders, $combo); を $listctrl = new ListCtrl('mylist', $orders); に変更する。
②reception.php 二箇所削除
91行目削除: //$form['cdate'] = formatTimestamp($form['ctime']);
136行目削除: //$data['cdate'] = formatTimestamp($data['ctime']);
③message.php 一箇所変更
78行目変更: 'cdate'=>formatTimestamp($data['ctime']), を 'cdate'=>formatTimestamp($data['mtime']), に変更する。
④msgadm.php 一箇所削除
189行目削除: //$data['cdate'] = formatTimestamp($data['ctime'], 'm');
勝手にソースを変更してすみませんが、以上の変更は大丈夫ですか?
ご指摘どうも。
ctime は、使いどころがないので削ったものです。残ってるのは残骸なので削除しちゃえばいいです。
ところで、
引用:
勝手にソースを変更してすみませんが、以上の変更は大丈夫ですか?
なんて質問は意味ありませんよ。
GPL で公開しているのだから勝手に変更 OK だし、変更が大丈夫かと問われても GPL はもともと無保証ですから。