/** * Show files (table view) * * @param integer $id_area Area ID * @param string $category category * @param string $subcategory subcategory * @param integer $type type index * @param integer $pp pagination index * @return void */ public function index($id_area = 2, $category = '-', $subcategory = '-', $xtype = -1, $pp = 0, $str = '') { // load dictionary $this->dict->get_wordarray(array('files')); $amod = new Area_model(); list($id_area, $areas) = $amod->get_my_areas($id_area); // get page $page = $this->get_page('files'); $navbar = array($this->site->get_bredcrumb($page)); $category = urldecode($category); $subcategory = urldecode($subcategory); // content $view = new X4View_core('container'); $view->content = new X4View_core('files/file_list'); $view->content->page = $page; $view->content->navbar = $navbar; $view->content->id_area = $id_area; $view->content->xtype = $xtype; $view->content->category = $category; $view->content->subcategory = $subcategory; $view->content->str = $str; $mod = new File_model(); $view->content->items = X4Pagination_helper::paginate($mod->get_files($id_area, $category, $subcategory, $xtype, $str), $pp); $view->content->file_path = $mod->file_path; // area switcher $view->content->areas = $areas; // type switcher $view->content->types = $mod->get_types(); // files category switcher $view->content->categories = $mod->get_cat($id_area); // files subcategory switcher $view->content->subcategories = $mod->get_subcat($id_area, $category); $view->render(TRUE); }
/** * Show categories * * @param integer $id_area Area ID * @param string $lang Language code * @param string $tag * @return void */ public function index($id_area, $lang, $tag = '') { // load dictionary $this->dict->get_wordarray(array('categories', 'articles')); $area = new Area_model(); list($id_area, $areas) = $area->get_my_areas($id_area); $lang = empty($lang) ? X4Route_core::$lang : $lang; // get page $page = $this->get_page('categories'); $navbar = array($this->site->get_bredcrumb($page), array('articles' => 'index/' . $id_area . '/' . $lang)); $view = new X4View_core('container'); // content $mod = new Category_model(); $tags = $mod->get_tags($id_area, $lang); // if empty get the first available $tag = empty($tag) && !empty($tags) ? $tags[0]->tag : $tag; $view->content = new X4View_core('articles/category_list'); $view->content->page = $page; $view->content->navbar = $navbar; $view->content->items = $mod->get_categories($id_area, $lang, $tag); // tag switcher $view->content->tag = $tag; $view->content->tags = $tags; // area switcher $view->content->id_area = $id_area; $view->content->areas = $areas; // language switcher $view->content->lang = $lang; $lang = new Language_model(); $view->content->langs = $lang->get_languages(); $view->render(TRUE); }
/** * Show contexts * * @param integer $id_area Area ID * @param string $lang Language code * @return void */ public function index($id_area, $lang) { // load dictionary $this->dict->get_wordarray(array('contexts', 'articles')); $area = new Area_model(); list($id_area, $areas) = $area->get_my_areas($id_area); // get page $page = $this->get_page('contexts'); $navbar = array($this->site->get_bredcrumb($page), array('articles' => 'index/' . $id_area . '/' . $lang)); $view = new X4View_core('container'); // content $mod = new Context_model(); $view->content = new X4View_core('articles/context_list'); $view->content->page = $page; $view->content->navbar = $navbar; $view->content->items = $mod->get_contexts($id_area, $lang); // area switcher $view->content->id_area = $id_area; $view->content->areas = $areas; // language switcher $view->content->lang = $lang; $lang = new Language_model(); $view->content->langs = $lang->get_languages(); $view->render(TRUE); }
/** * Show areas (table view) * * @return void */ public function index() { // load the dictionary $this->dict->get_wordarray(array('areas')); // get page $page = $this->get_page('areas'); $navbar = array($this->site->get_bredcrumb($page)); // content $view = new X4View_core('container'); $view->content = new X4View_core('areas/areas'); $view->content->page = $page; $view->content->navbar = $navbar; $mod = new Area_model(); list($id_area, $areas) = $mod->get_my_areas(); $view->content->areas = $areas; $view->render(TRUE); }
/** * Show dictionary words by Language code, Area name and key * * @param string $code Language code * @param string $area Area name * @param string $what Dictionary key * @return void */ public function keys($code = '', $area = 'public', $what = '', $str = '') { // load dictionary $this->dict->get_wordarray(array('dictionary')); $area_mod = new Area_model(); list($id_area, $areas) = $area_mod->get_my_areas(2); if ($id_area != 2) { $area = $area_mod->get_var($id_area, 'areas', 'name'); } if (empty($str)) { $code = empty($code) ? X4Route_core::$lang : $code; // get page $page = $this->get_page('dictionary/keys'); // content $view = new X4View_core('container'); $view->content = new X4View_core('languages/words'); $view->content->page = $page; // keys $dict = new Dictionary_model(); $keys = $dict->get_keys($code, $area); $view->content->keys = $keys; // check empty what if (empty($what) && !empty($keys)) { $what = $keys[0]->what; } $view->content->items = $dict->get_words($code, $area, $what); $view->content->what = $what; $view->content->str = ''; // area switcher $view->content->area = $area; $view->content->areas = $areas; // language switcher $view->content->lang = $code; $lang = new Language_model(); $view->content->langs = $lang->get_languages(); header('Content-Type: text/html; charset=utf-8'); $view->render(TRUE); } else { $this->search($code, $area, $what, $str); } }
/** * Show pages * As default display public area pages * Display all child pages of a given page * If the page is the home of the area, then you also view the home * * @param integer $id_area Area ID * @param string $lang language code * @param string $xfrom page URL of origin * @return void */ public function index($id_area, $lang = '', $xfrom = 'home') { $area = new Area_model(); list($id_area, $areas) = $area->get_my_areas($id_area); // initialize parameters $lang = empty($lang) ? X4Route_core::$lang : $lang; $xfrom = str_replace('§', '/', urldecode($xfrom)); // load dictionary $this->dict->get_wordarray(array('pages')); $view = new X4View_core('container'); // content $view->content = new X4View_core('pages/pages'); //$view->page = $this->get_page('pages'); // content $mod = new Page_model($id_area, $lang); $view->content->id_area = $id_area; $view->content->lang = $lang; $view->content->xfrom = $xfrom; $view->content->area = $mod->get_var($id_area, 'areas', 'name'); $obj = $mod->get_page($xfrom); $view->content->page = $obj ? $obj : new Page_obj($id_area, $lang); $page = $this->get_page('pages'); $navbar = array($this->site->get_bredcrumb($page), array('areas' => 'index')); $view->content->navbar = $navbar; // referer $view->content->referer = urlencode('pages/index/' . $id_area . '/' . $lang . '/' . $xfrom); // pages to show $view->content->pages = $mod->get_pages($xfrom, $view->content->page->deep); // available menus $mod = new Menu_model(); $view->content->menus = $mod->get_menus($id_area, '', 'id'); // language switcher $lang = new Language_model(); $view->content->langs = $lang->get_languages(); // area switcher $view->content->areas = $areas; $view->render(TRUE); }
/** * Show modules * * @param integer $id_area Area ID * @param string $area Area name * @return void */ public function index($id_area = 2, $area = 'public') { // load dictionary $this->dict->get_wordarray(array('modules')); $area = new Area_model(); list($id_area, $areas) = $area->get_my_areas($id_area); $view = new X4View_core('container'); $view->content = new X4View_core('modules/module_list'); // get page $page = $this->get_page('modules'); $navbar = array($this->site->get_bredcrumb($page)); $view->content->navbar = $navbar; $view->content->page = $page; $view->content->id_area = $id_area; $view->content->area = $area->get_by_id($id_area); // get installed and installable plugins $mod = new X4Plugin_model(); $view->content->plugged = $mod->get_installed($id_area); $chk = AdmUtils_helper::get_ulevel(1, $_SESSION['xuid'], '_module_install'); $view->content->pluggable = !$chk || $chk->level < 4 ? array() : $mod->get_installable($id_area); // area switcher $view->content->areas = $areas; $view->render(TRUE); }
/** * Show articles (table view) * Can show articles by context, by category, by author, by key, by page * Default view is reverse chronological order * * @param integer $id_area Area ID * @param string $lang Language code * @param string $case view switcher * @param mixed $id_what view parameter * @param integer $pp index for pagination * @param string $str Search string * @return void */ public function index($id_area = 2, $lang = '', $case = 'latest_articles', $id_what = 0, $pp = 0, $str = '') { // load dictionary $this->dict->get_wordarray(array('articles')); $area = new Area_model(); list($id_area, $areas) = $area->get_my_areas($id_area); $_SESSION['referer'] = 'index/' . $id_area . '/' . $lang . '/' . $case . '/' . $id_what . '/' . $pp . '/' . $str; // get page $page = $this->get_page('articles'); $navbar = array($this->site->get_bredcrumb($page)); // content $mod = new Article_model(); $view = new X4View_core('container'); $view->content = new X4View_core('articles/article_list'); $view->content->navbar = $navbar; switch ($case) { case 'context_order': $cmod = new Context_model(); $con = $cmod->get_contexts($id_area, $lang); if ($id_what == 0 && $con) { $id_what = $con[0]->code; } $view->content->items = X4Pagination_helper::paginate($mod->get_by_context($id_area, $lang, $id_what, $str), $pp); $view->content->contexts = $con; break; case 'category_order': $cmod = new Category_model(); $ctg = $cmod->get_categories($id_area, $lang); if ($id_what === 0 && $ctg) { $id_what = $ctg[0]->name; } $view->content->items = X4Pagination_helper::paginate($mod->get_by_category($id_area, $lang, $id_what, $str), $pp); $view->content->categories = $ctg; break; case 'author_order': $aut = $mod->get_authors($id_area, $lang); if ($id_what == 0 && $aut) { $id_what = $aut[0]->id_editor; } $view->content->items = X4Pagination_helper::paginate($mod->get_by_author($id_area, $lang, $id_what, $str), $pp); $view->content->authors = $aut; break; case 'key_order': $keys = $mod->get_keys($id_area, $lang); if ($id_what == 0 && $keys) { $id_what = $keys[0]->xkeys; } $view->content->items = X4Pagination_helper::paginate($mod->get_by_key($id_area, $lang, $id_what, $str), $pp); $view->content->keys = $keys; break; case 'by_page': $pmod = new Page_model(); $spage = $pmod->get_by_id($id_what); $view->content->items = X4Pagination_helper::paginate($mod->get_by_page($id_area, $lang, $id_what, $str), $pp); $view->content->page = $spage; break; default: $view->content->items = X4Pagination_helper::paginate($mod->get_articles($id_area, $lang, 'id', $str), $pp); break; } // for the construction of the tabs $view->content->xcase = $case; $view->content->cases = $this->cases; $view->content->id_what = $id_what; $view->content->pp = $pp; $view->content->str = $str; // area switcher $view->content->id_area = $id_area; $view->content->areas = $areas; // language switcher $view->content->lang = $lang; $lang = new Language_model(); $view->content->langs = $lang->get_languages(); $view->render(TRUE); }