public function get_posts($tid, $from, $topic_info) { $post = new \CODOF\Forum\Post($this->db); $posts = array(); $num_pages = 'not_passed'; $posts_per_page = \CODOF\Util::get_opt("num_posts_per_topic"); $title = \CODOF\Filter::URL_safe($topic_info['title']); if (isset($_GET['str'])) { $num_pages = 'calc_count'; } if (isset($_GET['str']) && $_GET['str'] != "") { $user = \CODOF\User\User::get(); if (!$user->can('use search')) { exit('permission denied'); } $search = new \CODOF\Search\Search(); $search->str = $_GET['str']; $search->num_results = $posts_per_page; $search->from = $from * $search->num_results; if ($num_pages == 'calc_count') { $search->count_rows = true; } $search->tid = $tid; $search->match_titles = 'No'; $search->order = $_GET['order']; $search->sort = $_GET['sort']; $search->time_within = $_GET['search_within']; $res = $search->search(); if ($num_pages == 'calc_count') { $num_pages = $post->get_num_pages($search->get_total_count(), $search->num_results); } $post->topic_post_id = $topic_info['post_id']; $post->tuid = $topic_info['uid']; $post->cat_id = $topic_info['cat_id']; $post->tid = $tid; $post->safe_title = $title; $post->from = $from; $posts = $post->gen_posts_arr($res, $search); //var_dump($topics); } else { $topic = new \CODOF\Forum\Topic($this->db); $num_pages = $topic->get_num_pages($topic_info['no_posts'], $posts_per_page); $post->topic_post_id = $topic_info['post_id']; $post->tuid = $topic_info['uid']; $post->cat_id = $topic_info['cat_id']; $post->tid = $tid; $post->safe_title = $title; $post->from = $from; $posts = $post->get_posts($tid, $from); } return array("posts" => $posts, "num_pages" => $num_pages); }
public function listTaggedTopics($tag, $page = 1) { $posts_per_page = \CODOF\Util::get_opt("num_posts_all_topics"); if ($page == null) { $page = 1; } $page = (int) $page; if ($page <= 1) { $from = 0; } else { $from = ($page - 1) * $posts_per_page; } $topics = new \Controller\Ajax\forum\topics(); $taggedTopics = $topics->getTaggedTopics($tag, $from); $topic = new \CODOF\Forum\Topic($this->db); $num_pages = $topic->get_num_pages($topic->getTaggedTopicsCount($tag), $posts_per_page); $url = 'tags/' . $tag . '/'; $curr_page = $page; //var_dump($taggedTopics); $this->smarty->assign('tag', $tag); $this->smarty->assign('curr_page', $curr_page); $this->smarty->assign('url', RURI . $url); $this->smarty->assign('num_pages', $num_pages); $this->smarty->assign('topics', json_encode($taggedTopics)); $this->smarty->assign('tags', json_encode($taggedTopics['tags'])); $this->css_files = array('tags'); $this->js_files = array(array('tags/tags.js', array('type' => 'defer'))); $this->view = 'forum/tags'; \CODOF\Store::set('sub_title', $tag . ' - ' . _t('Tags')); }