プロジェクト

全般

プロフィール

Bug(バグ) #375

完了

コミュニティに全く参加していない場合に最新情報の取得で全コミュニティを対象としてしまう

Masato Nagasawa さんがほぼ15年前に追加. 14年以上前に更新.

ステータス:
Fixed(完了)
優先度:
Normal(通常)
担当者:
対象バージョン:
開始日:
2009-12-21
期日:
進捗率:

100%

予定工数:
3.6 で発生するか:
[QA]バグ通知済:
3.8 で発生するか:
opCommunityTopicPlugin 絞込条件:

説明

コミュニティに全く参加していない場合に
トピック/イベントの最新情報の取得で全コミュニティを対象にしてしまうため、
ホーム画面の表示に時間がかかっています。

Doctrine::getTable('Community')->getIdsByMemberId($memberId);

このメソッドはメンバーが参加しているコミュニティを返しますが、
参加数が0であった場合にarray()を返すようになっています。

->whereIn('community_id', $communityIds)

その配列で whereIn を行っているので、
配列の要素数が0であった場合に全コミュニティを対象としてしまっています。

Community::getIdsByMemberId メソッドを使用している個所は以下の通りです。

lib/model/doctrine/PluginCommunityEventTable.class.php
52:    $communityIds = Doctrine::getTable('Community')->getIdsByMemberId($memberId);
67:    $communityIds = Doctrine::getTable('Community')->getIdsByMemberId($memberId);

lib/model/doctrine/PluginCommunityTopicTable.class.php
52:    $communityIds = Doctrine::getTable('Community')->getIdsByMemberId($memberId);
101:    $communityIds = Doctrine::getTable('Community')->getIdsByMemberId($memberId);
対象個所:
  • コミュニティ最新書き込み
  • コミュニティ最新イベント

対処としては、配列の要素数が0であった場合に配列に0を挿入する事で回避できると思います。

Kousuke Ebihara さんが14年以上前に更新

  • 対象バージョン0.9.7 にセット

Kousuke Ebihara さんが14年以上前に更新

  • ステータスNew(新規) から Accepted(着手) に変更
  • 担当者Kousuke Ebihara にセット

Kousuke Ebihara さんが14年以上前に更新

  • ステータスAccepted(着手) から Pending Review(レビュー待ち) に変更
  • 進捗率0 から 50 に変更

更新履歴 r13492 で適用されました。

Kousuke Ebihara さんが14年以上前に更新

  • ステータスPending Review(レビュー待ち) から Fixed(完了) に変更
  • 進捗率50 から 100 に変更

他の形式にエクスポート: Atom PDF