操作
Bug(バグ) #2597
完了管理画面のトピックコメントリストでトピックID以外で検索実行した場合結果がヒットしない
開始日:
2011-11-15
期日:
2013-06-11
進捗率:
100%
予定工数:
3.6 で発生するか:
Yes (はい)
[QA]バグ通知済:
いいえ
3.8 で発生するか:
Yes (はい)
opCommunityTopicPlugin 絞込条件:
説明
Overview (現象)¶
管理画面のトピックコメントリストでトピックID以外の項目(コメント番号、ニックネーム、コメント本文)で検索実行した場合結果がヒットしない。
イベントコメントリストでも同様に検索がヒットしない。
再現バージョン¶
- OpenPNE 3.6.0
- opCommunityTopicPlugin 1.0.2.2
その他のバージョンについては未確認
再現手順例¶
- pc_frontendにてコミュニティトピックを作成しコメントを付ける
- 管理画面にログインし、/pc_backend.php/communityTopic/topicCommentList にアクセスする
- 手順1で作成したコメントの番号をコメント番号検索フォームに入力し検索ボタンを押す
- 該当するコメントは存在しません。と表示される
Causes (原因)¶
検索フォームのニックネームに「OpenPNE君」と入れて検索した場合,下記のような SQL が発行されている.このクエリから分かる通り community_topic_id を検索対象に含んでいないにもかかわらず where 句に指定されていることから,「トピック ID が "" の場合かつニックネームに "OpenPNE君" が含まれるトピック」という集合を取得しようとしている.
SELECT COUNT AS num_results FROM (SELECT c.id FROM community_topic_comment c LEFT JOIN member m ON c.member_id = m.id WHERE (m.is_active = '1' OR m.is_active IS NULL) AND c.community_topic_id IN ('') AND m.name LIKE '%OpenPNE君%' GROUP BY c.id) dtrn_count_query;
Way to fix (修正内容)¶
検索フォームにトピック ID を指定していない場合にはクエリに条件を追加しないようにする.
試験項目表¶
操作