'First Level Menu Position', 'userpage_id' => 'Userpage ID', 'virtualTypeName' => 'First Level Menu Name', 'enable'=>'First Level Menu visibility' ); protected $sorting = array('position'=>'asc'); const ENABLE_MENU = 1; const DISABLE_MENU = 0; const INDEX_PAGE_NAME = "index.php"; const DEFAULT_MENU_ID = -1; function updateMenuVisibility ($active_menu_id) { foreach ($this->find_all() as $menu) { if (!in_array($menu->id, $active_menu_id)) { $menu->enable = self::DISABLE_MENU; $menu->save(); } } } function getMenuTypes ($menu_id) { $menu_types = array(); $not_menu_types = array(); $menu_types_ids = ORM::factory('submenu')->getMenuTemplatetypesIds(); foreach (ORM::factory('templatetype')->find_all() as $type) { if ($type->isExist()) { if (!in_array($type->id, $menu_types_ids)) { $item = new stdClass(); $item->title = $type->list_name; $item->visibility = $type->isVisible(); $item->id = $type->id; $not_menu_types[] = $item; } } } $menu_types = ORM::factory('submenu')->getSubmenu($menu_id); return array($menu_types, $not_menu_types); } function getVirtualMenuList() { $menu_list = array(); foreach ($this->find_all() as $menu) { $item = new stdClass(); $item->menu_id = $menu->id; $item->page_id = $menu->userpage->id; $item->title = $menu->userpage->list_name; $item->position = $menu->position; $item->isActive = $menu->enable; $item->isIndex = $menu->isIndex();; $item->count_types = ORM::factory('submenu')->where('menu_id', $menu->id)->count_all(); $menu_list[] = $item; } return $menu_list; } function isIndex() { return !!($this->userpage->url_name == self::INDEX_PAGE_NAME); } function setInitialVirtualMenuName () { $virtualTypeName = array(79=>'Web Templates', 80=>'E-commerce Templates', 81=>'CMS & Blog Templates', 82=>'Corporate Design', 97=>'Video Templates', 98=>'Facebook Layouts', 93=>'Music'); foreach ($virtualTypeName as $userpage_id=>$virtualName) { $menu = $this->where('userpage_id', $userpage_id)->find(); if ($menu->isExist()) { $menu->virtualTypeName = mysql_real_escape_string($virtualName); $menu->enable = self::ENABLE_MENU; $menu->save(); } else { $this->virtualTypeName = mysql_real_escape_string($virtualName); $this->userpage_id = $userpage_id; $this->enable = ($menu->userpage->url_name == 'index.php')?self::ENABLE_MENU:self::DISABLE_MENU; $this->position = ($menu->userpage->url_name == 'index.php')?1:0; $this->save(); } } } function setVirtualMenu($menu_position) { foreach($menu_position as $position =>$menu_id) { $menu = $this->where('id', $menu_id)->find(); $menu->position = $position; $menu->save(); } } function isMenuExist($menu_id) { $menu = $this->where('id', $menu_id)->find(); return $menu->isExist(); } }