public function action_forum() { $this->auto_render = FALSE; $info = array('title' => 'RSS Forum ' . Core::config('general.site_name'), 'pubDate' => date("r"), 'description' => __('Latest post published'), 'generator' => 'Open Classifieds'); $items = array(); $topics = new Model_Topic(); if (Model_Forum::current()->loaded()) { $topics->where('id_forum', '=', Model_Forum::current()->id_forum); } else { $topics->where('id_forum', '!=', NULL); } //any forum $topics = $topics->where('status', '=', Model_Topic::STATUS_ACTIVE)->where('id_post_parent', 'IS', NULL)->order_by('created', 'desc')->limit(Core::config('advertisement.feed_elements'))->cached()->find_all(); foreach ($topics as $topic) { $url = Route::url('forum-topic', array('seotitle' => $topic->seotitle, 'forum' => $topic->forum->seoname)); $items[] = array('title' => htmlspecialchars($topic->title, ENT_QUOTES), 'link' => $url, 'pubDate' => Date::mysql2unix($topic->created), 'description' => htmlspecialchars(Text::removebbcode($topic->description), ENT_QUOTES), 'guid' => $url); } $xml = Feed::create($info, $items); $this->response->headers('Content-type', 'text/xml'); $this->response->body($xml); }
public function action_search($search = NULL) { //template header $this->template->title = __('Forum Search'); $this->template->styles = array('css/forum.css' => 'screen'); $this->template->bind('content', $content); $topics = new Model_Topic(); $topics->where('status', '=', Model_Post::STATUS_ACTIVE)->where('id_forum', 'IS NOT', NULL)->where_open()->where('title', 'like', '%' . $search . '%')->or_where('description', 'like', '%' . $search . '%')->where_close(); $pagination = Pagination::factory(array('view' => 'pagination', 'total_items' => $topics->count_all(), 'items_per_page' => self::$items_per_page))->route_params(array('controller' => $this->request->controller(), 'action' => $this->request->action())); $pagination->title($this->template->title); $topics = $topics->order_by('created', 'desc')->limit($pagination->items_per_page)->offset($pagination->offset)->find_all(); $pagination = $pagination->render(); $this->template->content = View::factory('pages/forum/search', array('topics' => $topics, 'pagination' => $pagination)); }