PNEオーナーズクラブより転記
(http://owners.pne.jp/?m=pc&a=page_c_topic_detail&target_c_commu_topic_id=72)
環境:
OpenPNE 2.10.4
Windows Server 2003, MySQL5.0
イベントの追加時、「募集期限」の欄が必須ではないにもかかわらず、
設定せずに「確認画面」→「作成」と進むと、
イベントが作成されずに終わってしまいます。
そのときのURLは以下になります。
http://SNSのURL/?m=pc&a=page_c_event_detail&target_c_commu_topic_id=0
標準のヘッダの下に、
「このページにはアクセスすることができません。 」
と表示されます。
ソースを追ってみましたが、具体的には、
commu.php 2620行付近
function db_commu_insert_c_commu_topic 内
$data += array(
'open_date' => $open_date,
'open_date_comment' => $topic['open_date_comment'],
'open_pref_id' => intval($topic['open_pref_id']),
'open_pref_comment' => $topic['open_pref_comment'],
'invite_period' => $invite_period,
);
にて、$invite_periodが空のため、DB(MySQL)へのinsert時に失敗しているものと思います。
'invite_period'の行をコメントアウトすると、正常にイベントが作成されました。
$invite_periodが空の場合について、$dataに追加しない等、何らかの回避処理が
必要と思います。
また、function db_commu_update_c_commu_topicでも同様の処理が必要と思われます。
よろしくお願いいたします。