コード例 #1
0
 /**
  * Get IDs in a range
  *
  * @param int $offset   Offset from start
  * @param int $limit    Limit of number to get
  * @param int $since_id Since this notice
  * @param int $max_id   Before this notice
  *
  * @return Array IDs found
  */
 function getNotificationIds($offset, $limit, $since_id, $max_id)
 {
     $notification = new QvitterNotification();
     $notification->selectAdd();
     $notification->selectAdd('id');
     $notification->whereAdd(sprintf('qvitternotification.to_profile_id = "%s"', $notification->escape($this->target->id)));
     $notification->whereAdd(sprintf('qvitternotification.created >= "%s"', $notification->escape($this->target->created)));
     $notification->limit($offset, $limit);
     $notification->orderBy('qvitternotification.created DESC');
     if ($since_id) {
         $notification->whereAdd(sprintf('qvitternotification.id > %d', $notification->escape($since_id)));
     }
     if ($max_id) {
         $notification->whereAdd(sprintf('qvitternotification.id <= %d', $notification->escape($max_id)));
     }
     if (!$notification->find()) {
         return array();
     }
     $ids = $notification->fetchAll('id');
     return $ids;
 }
コード例 #2
0
 /**
  * Get IDs in a range
  *
  * @param int $offset   Offset from start
  * @param int $limit    Limit of number to get
  * @param int $since_id Since this notice
  * @param int $max_id   Before this notice
  *
  * @return Array IDs found
  */
 function getNotificationIds($offset, $limit, $since_id, $max_id)
 {
     $notification = new QvitterNotification();
     $notification->selectAdd();
     $notification->selectAdd('id');
     $notification->whereAdd(sprintf('qvitternotification.to_profile_id = "%s"', $notification->escape($this->target->id)));
     $notification->whereAdd(sprintf('qvitternotification.created >= "%s"', $notification->escape($this->target->created)));
     // the user might have opted out from certain notification types
     $current_profile = Profile::current();
     $disable_notify_replies_and_mentions = Profile_prefs::getConfigData($current_profile, 'qvitter', 'disable_notify_replies_and_mentions');
     $disable_notify_favs = Profile_prefs::getConfigData($current_profile, 'qvitter', 'disable_notify_favs');
     $disable_notify_repeats = Profile_prefs::getConfigData($current_profile, 'qvitter', 'disable_notify_repeats');
     $disable_notify_follows = Profile_prefs::getConfigData($current_profile, 'qvitter', 'disable_notify_follows');
     if ($disable_notify_replies_and_mentions == '1') {
         $notification->whereAdd('qvitternotification.ntype != "mention"');
         $notification->whereAdd('qvitternotification.ntype != "reply"');
     }
     if ($disable_notify_favs == '1') {
         $notification->whereAdd('qvitternotification.ntype != "like"');
     }
     if ($disable_notify_repeats == '1') {
         $notification->whereAdd('qvitternotification.ntype != "repeat"');
     }
     if ($disable_notify_follows == '1') {
         $notification->whereAdd('qvitternotification.ntype != "follow"');
     }
     $notification->limit($offset, $limit);
     $notification->orderBy('qvitternotification.created DESC');
     if ($since_id) {
         $notification->whereAdd(sprintf('qvitternotification.id > %d', $notification->escape($since_id)));
     }
     if ($max_id) {
         $notification->whereAdd(sprintf('qvitternotification.id <= %d', $notification->escape($max_id)));
     }
     if (!$notification->find()) {
         return array();
     }
     $ids = $notification->fetchAll('id');
     return $ids;
 }