public function getActiveSubscriptionsZones($activityId = null, $roomId = null) { $c = SubscriptionPeer::getActiveCriteria(); $c->addAnd(SubscriptionPeer::CARD_ID, $this->getId(), Criteria::EQUAL); $c->addJoin(SubscriptionPeer::ZONE_ID, ZonePeer::ID); if (!is_null($activityId)) { $c->addAnd(SubscriptionPeer::ACTIVITY_ID, $activityId); } if (!is_null($roomId)) { $c = SubscriptionPeer::getHasRoomCriteria($roomId, $c); } $c->addGroupByColumn(ZonePeer::ID); return ZonePeer::doSelect($c); }