コード例 #1
0
ファイル: showroom.php プロジェクト: plusjade/plusjade
 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);
 }
コード例 #2
0
ファイル: calendar.php プロジェクト: plusjade/plusjade
 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);
 }
コード例 #3
0
ファイル: blog.php プロジェクト: plusjade/plusjade
 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);
 }
コード例 #4
0
ファイル: forum.php プロジェクト: plusjade/plusjade
 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);
 }