public function _index($showroom, $sub_tool = FALSE) { $url_array = uri::url_array(); list($page_name, $first_node, $item) = $url_array; $page_name = $this->get_page_name($page_name, 'showroom', $showroom->id); # parse the params. $params = explode('|', $showroom->params); $primary = new View("public_showroom/display/wrapper"); # what is the url asking for? if ('get' == $url_array['0'] or empty($first_node)) { # if empty, display default category $primary->items = empty($showroom->home_cat) ? '(Home Category not set)' : self::items_category($page_name, $showroom, (int) $showroom->home_cat); } elseif (is_numeric($first_node)) { if ('0' == substr($first_node, 0, 1)) { $primary->item = self::item($page_name, $first_node, $item); } else { $primary->items = self::items_category($page_name, $showroom, $first_node); } } else { Event::run('system.404'); } # determine the category to highlight. $first_node = empty($first_node) ? $showroom->home_cat : $first_node; # how do we show the category list on every showroom page? $category_list = ''; if (!empty($params[0])) { if ('flat' == $params[0]) { # showing only root categories. $root_cats = ORM::factory('showroom_cat')->where(array('fk_site' => $this->site_id, 'showroom_id' => $showroom->id, 'local_parent' => $showroom->root_id))->orderby(array('lft' => 'asc'))->find_all(); $category_list = Tree::display_flat_tree('showroom', $root_cats, $page_name, $first_node); } else { $category_list = Tree::display_tree('showroom', $showroom->showroom_cats, $page_name, $first_node); } } $primary->categories = $category_list; # add custom javascript; $primary->global_readyJS(self::javascripts($showroom)); # admin js hack. if ($this->client->can_edit($this->site_id)) { $primary->global_readyJS(' $("#click_hook").click(function(){ $().add_toolkit_items("showroom"); }); '); } return $this->wrap_tool($primary, 'showroom', $showroom); }
public function _index($calendar, $sub_tool = FALSE) { # $date format = year-month-day list($page_name, $action, $date) = Uri::url_array(); $page_name = $this->get_page_name($page_name, 'calendar', $calendar->id); $action = empty($action) ? 'nonsense' : $action; if ('tool' == $action) { $date = null; } $primary = new View('public_calendar/small/index'); switch ($action) { case 'day': $primary->events = $this->day($calendar->id, $date); break; } $primary->calendar = $this->month($page_name, $calendar->id, $date); # get the custom javascript; $primary->global_readyJS(self::javascripts()); return $this->wrap_tool($primary, 'calendar', $calendar); }
public function _index($blog) { #echo kohana::debug($blog);die(); date_default_timezone_set('America/Los_Angeles'); # just for now list($page_name, $action, $value, $value2) = Uri::url_array(); $page_name = $this->get_page_name($page_name, 'blog', $blog->id); $action = (empty($action) or 'tool' == $action) ? 'homepage' : $action; $view = new View("public_blog/blogs/index"); $view->tool_id = $blog->id; $view->set_global('blog_page_name', $page_name); $view->tags = $this->get_tags($blog->id); $view->sticky_posts = $this->get_sticky_posts($blog->sticky_posts); $view->recent_comments = $this->get_recent_comments($blog->id); switch ($action) { case 'entry': $content = self::single_post($page_name, $value); break; case 'tag': $content = self::tag_search($blog->id, $value); break; case 'archive': $content = self::show_archive($blog->id, $value, $value2); break; case 'homepage': # blog homepage $blog_posts = $this->db->query("\n SELECT blog_posts.*, \n DATE_FORMAT(created, '%M %e, %Y, %l:%i%p') as created_on,\n GROUP_CONCAT(DISTINCT blog_post_tags.value ORDER BY blog_post_tags.value separator ',') as tag_string,\n COUNT(DISTINCT blog_post_comments.id) as comments\n FROM blog_posts\n LEFT JOIN blog_post_tags ON blog_posts.id = blog_post_tags.blog_post_id\n LEFT JOIN blog_post_comments ON blog_posts.id = blog_post_comments.blog_post_id\n WHERE blog_posts.blog_id = '{$blog->id}'\n AND blog_posts.fk_site = '{$this->site_id}' \n AND blog_posts.status = 'publish'\n GROUP BY blog_posts.id \n ORDER BY created DESC\n "); $content = new View('public_blog/blogs/multiple_posts'); $content->blog_posts = $blog_posts; break; default: Event::run('system.404'); break; } $view->content = $content; # get the custom javascript; $view->global_readyJS(self::javascripts()); return $this->wrap_tool($view, 'blog', $blog); }
public function _index($forum) { $url_array = Uri::url_array(); $page_name = $this->get_page_name($url_array['0'], 'forum', $forum->id); $data = $url_array['2']; $data2 = $url_array['3']; $action = (empty($url_array['1']) or 'tool' == $url_array['1']) ? 'index' : $url_array['1']; $wrapper = new View('public_forum/forums/index'); switch ($action) { case 'index': $wrapper->content = self::posts_wrapper($page_name, $forum->id, 'all'); break; case 'category': $wrapper->content = self::posts_wrapper($page_name, $forum->id, $data); break; case 'view': $wrapper->content = self::comments_wrapper($page_name, $forum->id, $data, $data2); break; case 'vote': $wrapper->content = self::vote($page_name, $forum->id, $data, $data2); break; case 'submit': $wrapper->content = self::submit($page_name, $forum->id); break; case 'edit': $wrapper->content = self::edit($page_name, $forum->id, $data, $data2); break; case 'my': $wrapper->content = self::my($page_name, $forum->id, $data, $data2); break; default: die("{$page_name} : {$action} : trigger 404 not found"); } $wrapper->page_name = $page_name; $wrapper->categories = self::categories($forum->id); # get the custom javascript; $wrapper->global_readyJS(self::javascripts()); return $this->wrap_tool($wrapper, 'forum', $forum); }