/** * Load newsfeed items * * @return Database_Result */ protected function get_items() { if (empty($this->_items)) { switch ($this->_type) { // Personal newsfeed case self::PERSONAL: $this->_items = Model_NewsfeedItem::find_items($this->max_items, $this->_user ? array($this->_user->id) : null); break; // Multiple user newsfeed // Multiple user newsfeed case self::USERS: $this->_items = empty($this->users) ? array() : Model_NewsfeedItem::find_items($this->max_items, $this->users); break; // All users // All users case self::ALL: default: $this->_items = Model_NewsfeedItem::find_items($this->max_items); break; } } return $this->_items; }
/** * Load newsfeed items * * @return boolean */ protected function _find_items() { if (empty($this->_items)) { $this->_items = $this->_personal ? Model_NewsfeedItem::find_items_personal($this->_user, $this->max_items) : Model_NewsfeedItem::find_items($this->max_items); } }
/** * Load newsfeed items. * * @return Model_NewsfeedItem[] */ protected function get_items() { if (empty($this->_items)) { switch ($this->_type) { // Personal newsfeed case self::PERSONAL: $this->_items = array(); foreach (Model_NewsfeedItem::find_items($this->max_items, $this->_user ? array($this->_user->id) : null) as $item) { $this->_items[] = $item; } break; // Multiple user newsfeed // Multiple user newsfeed case self::USERS: $this->_items = $this->aggregate(empty($this->users) ? array() : Model_NewsfeedItem::find_items($this->max_items * 2, $this->users)); break; // All users // All users case self::ALL: default: $this->_items = $this->aggregate(Model_NewsfeedItem::find_items($this->max_items * 2)); break; } } return count($this->_items) > $this->max_items ? array_slice($this->_items, 0, $this->max_items) : $this->_items; }