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(); } }