Ejemplo n.º 1
0
 /**
  * @param array $settings
  */
 private function _get_bookmarks(array $settings)
 {
     $sql_array = $this->_get_bookmarks_sql();
     $this->forum_data->query()->set_sorting('t.topic_last_post_time')->fetch_custom($sql_array)->build(true, false);
     $topic_data = $this->forum_data->get_topic_data($settings['max_topics']);
     return array_values($topic_data);
 }
Ejemplo n.º 2
0
 /**
  * @return array|null
  */
 private function _get_topic_data()
 {
     $sql_array = array('WHERE' => array('t.poll_start <> 0'));
     $this->_limit_by_group($sql_array);
     $this->forum_data->query()->fetch_forum($this->settings['forum_ids'])->fetch_topic_type($this->settings['topic_type'])->fetch_topic($this->_get_array($this->settings['topic_ids']))->fetch_topic_poster($this->_get_array($this->settings['user_ids']))->set_sorting($this->_get_sorting())->fetch_custom($sql_array)->build();
     $topic_data = $this->forum_data->get_topic_data(1);
     return array_shift($topic_data);
 }
 /**
  * @return array
  */
 private function _get_topic_data()
 {
     $sort_order = array(FORUMS_ORDER_FIRST_POST => 't.topic_time', FORUMS_ORDER_LAST_POST => 't.topic_last_post_time', FORUMS_ORDER_LAST_READ => 't.topic_last_view_time');
     $range_info = $this->date_range->get($this->settings['date_range']);
     $this->forum->query()->fetch_forum($this->settings['forum_ids'])->fetch_topic_type($this->settings['topic_type'])->fetch_tracking_info($this->settings['enable_tracking'])->fetch_date_range($range_info['start'], $range_info['stop'])->set_sorting($sort_order[$this->settings['order_by']])->build();
     $topic_data = $this->forum->get_topic_data($this->settings['max_topics']);
     $this->topic_tracking_info = $this->forum->get_topic_tracking_info();
     return $topic_data;
 }
Ejemplo n.º 4
0
 /**
  * @param array $settings
  * @return array
  */
 private function _get_topics(array $settings)
 {
     if ($settings['topics_only']) {
         $sorting = 't.topic_last_post_time';
         $sql_array = $this->_get_topics_sql();
     } else {
         $sorting = 'p.post_time';
         $sql_array = $this->_get_posts_sql();
     }
     $this->forum_data->query()->set_sorting($sorting)->fetch_custom($sql_array)->build(true, false);
     $topic_data = $this->forum_data->get_topic_data($settings['max_topics']);
     return array_values($topic_data);
 }