/** * Function to get existing / build navigation for CiviCRM Admin Menu * * @static * @return array associated array */ static function getMenus() { $menus = array(); $menu = new CRM_Core_DAO_Menu(); $menu->domain_id = CRM_Core_Config::domainID(); $menu->find(); while ($menu->fetch()) { if ($menu->title) { $menus[$menu->path] = $menu->title; } } return $menus; }
static function store($truncate = TRUE) { // first clean up the db if ($truncate) { $query = 'TRUNCATE civicrm_menu'; CRM_Core_DAO::executeQuery($query); } $menuArray = self::items(); self::build($menuArray); $config = CRM_Core_Config::singleton(); foreach ($menuArray as $path => $item) { $menu = new CRM_Core_DAO_Menu(); $menu->path = $path; $menu->domain_id = CRM_Core_Config::domainID(); $menu->find(TRUE); $menu->copyValues($item); foreach (self::$_serializedElements as $element) { if (!isset($item[$element]) || $item[$element] == 'null') { $menu->{$element} = NULL; } else { $menu->{$element} = serialize($item[$element]); } } $menu->save(); } }