public function fillData($period, $defaultSchedules) { $usersDao = BOL_UserDao::getInstance(); $scheduleDao = NOTIFICATIONS_BOL_ScheduleDao::getInstance(); $query = "REPLACE INTO " . $this->getTableName() . " (`userId`, `timeStamp`) SELECT DISTINCT u.id, UNIX_TIMESTAMP() FROM " . $usersDao->getTableName() . " u\n LEFT JOIN " . $scheduleDao->getTableName() . " s ON u.id = s.userId\n WHERE (IF( s.schedule IS NULL, :ds, s.schedule )=:as AND u.activityStamp < :as ) OR IF( s.schedule IS NULL, :ds, s.schedule )=:is ORDER BY u.activityStamp DESC"; return $this->dbo->query($query, array('as' => time() - $period, 'ds' => $defaultSchedules, 'is' => NOTIFICATIONS_BOL_Service::SCHEDULE_IMMEDIATELY, 'as' => NOTIFICATIONS_BOL_Service::SCHEDULE_AUTO)); }
/** * Returns an instance of class (singleton pattern implementation). * * @return NOTIFICATIONS_BOL_ScheduleDao */ public static function getInstance() { if (self::$classInstance === null) { self::$classInstance = new self(); } return self::$classInstance; }
public function setSchedule($userId, $schedule) { $entity = $this->scheduleDao->findByUserId($userId); if ($entity === null) { $entity = new NOTIFICATIONS_BOL_Schedule(); $entity->userId = $userId; } else { if ($entity->schedule == $schedule) { return false; } } $entity->schedule = $schedule; $this->scheduleDao->save($entity); return true; }