Example #1
0
 public function countMinutesPerWeek($activityId, $roomId, $tst, $reservation_id = null)
 {
     $c = ReservationPeer::getWeekCriteria($tst);
     $c->addAnd(ReservationPeer::CARD_ID, $this->getId(), Criteria::EQUAL);
     $c->addAnd(ReservationPeer::ACTIVITY_ID, $activityId, Criteria::EQUAL);
     $zones = $this->getActiveSubscriptionsZones($activityId, $roomId);
     $rooms = ZonePeer::getRooms($zones);
     $rooms_ids = array();
     foreach ($rooms as $room) {
         $rooms_ids[] = $room->getId();
     }
     $c->addJoin(ReservationPeer::ROOMPROFILE_ID, RoomprofilePeer::ID);
     $c->addAnd(RoomprofilePeer::ROOM_ID, $rooms_ids, Criteria::IN);
     if (!is_null($reservation_id)) {
         $c->addand(ReservationPeer::ID, $reservation_id, Criteria::NOT_EQUAL);
     }
     $c->clearSelectColumns();
     $c->addSelectColumn('SUM(' . ReservationPeer::DURATION . ')');
     $c->setLimit(1);
     $stmt = ReservationPeer::doSelectStmt($c);
     if ($row = $stmt->fetch(PDO::FETCH_NUM)) {
         return $row[0];
     }
     return 0;
 }