Project

General

Profile

Bug(バグ) #125

参加コミュニティが0件の場合、マイホームのコミュニティ最新書き込み公開範囲にかかわらず全てのトピックが表示される

Added by kazuki nakasone over 10 years ago. Updated over 10 years ago.

Status:
Won't fix(対応せず)
Priority:
Normal(通常)
Assignee:
-
Target version:
-
Start date:
2009-10-26
Due date:
% Done:

0%

3.6 で発生するか:
Unknown (未調査)
3.8 で発生するか:
Unknown (未調査)

Description

以前のチケットはhttp://trac.openpne.jp/ticket/4307 です。

=== ■現象 ===
マイホーム(pc_frontend.php/member/home)にて、メンバーの参加コミュニティが0件の場合、「最新コミュニティ書き込み」「最新イベント書き込み」に参加していないコミュニティのトピック・イベントが公開設定に問わず表示される。そのため、トピック非公開のトピックもタイトルが表示されてしまう。

発生リビジョン::
trunk r12562

=== ■原因 ===
lib/model/doctrine/PluginCommunityTopicTable.class.php
{{{
50  public function retrivesByMemberId($memberId, $limit = 5)
51  {
52    $communityIds = Doctrine::getTable('Community')->getIdsByMemberId($memberId);
53    return $this->createQuery()
54      ->whereIn('community_id', $communityIds)
55      ->limit($limit)
56      ->orderBy('updated_at DESC')
57      ->execute();
58  }
}}}
52行目の$communityIdsには参加しているコミュニティのIDが入る。

もし1つも参加していなければ空のarray()。

このとき、53行目〜のDoctrine_QueryはwhereInの第2引数が空だと無視されるようで、以下のようなクエリを発行する。
{{{
SELECT * FROM community_topic LIMIT 5 ORDER BY updated_at DESC
}}}
WHERE句がないため、対象がすべてのコミュニティになってしまう。

=== ■修正内容 ===
もし$communityIdsが空だった場合は空配列を返す。

=== ■関連情報 ===

History

#1 Updated by Kousuke Ebihara over 10 years ago

  • Status changed from New(新規) to Won't fix(対応せず)

プラグインのチケットはこのプロジェクトでは対応しません

Also available in: Atom PDF