ここの情報は古いです。ご理解頂いた上でお取り扱いください。

Opened 10 years ago

Closed 10 years ago

#4307 closed defect (invalid)

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

Reported by: kiwa Owned by: nobody
Priority: minor Milestone:
Component: plugins Version: 3.1.x
Keywords: opCommunityTopicPlugin Cc:

Description (last modified by fukamachi)

■現象

マイホーム(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が空だった場合は空配列を返す。

■関連情報

Change History (4)

comment:1 Changed 10 years ago by kiwa

Description: modified (diff)

comment:2 Changed 10 years ago by kiwa

Description: modified (diff)

comment:3 Changed 10 years ago by fukamachi

Description: modified (diff)

comment:4 Changed 10 years ago by nakasone

Resolution: invalid
Status: newclosed

3系のチケットはredmineにて対応します。

http://redmine.openpne.jp/issues/125

Note: See TracTickets for help on using tickets.