/** * get default menu set for admin * * @return menu */ function Core_adminMenusGetDefault() { $menus = Core_cacheLoad('admin', 'menus-0'); if (!$menus) { $menus = AdminVars::getByAdminId('admin_menu', 0); if ($menus) { $menus = json_decode($menus); } else { global $PLUGINS; // { setup standard menu items $menus = array('Pages' => array('_link' => 'pages.php'), 'Site Options' => array('General' => array('_link' => 'siteoptions.php'), 'Languages' => array('_link' => 'javascript:Core_screen(\'CoreSiteoptions\', \'js:Languages\')'), 'Locations' => array('_link' => 'javascript:Core_screen(\'CoreSiteoptions\', \'js:Locations\')'), 'Menus' => array('_link' => 'javascript:Core_screen(\'CoreSiteoptions\', \'js:Menus\')'), 'Emails' => array('_link' => 'javascript:Core_screen(\'CoreSiteoptions\', \'js:Emails\')'), 'Users' => array('_link' => 'siteoptions.php?page=users'), 'Plugins' => array('_link' => 'siteoptions.php?page=plugins'), 'Themes' => array('_link' => 'siteoptions.php?page=themes'), 'Timed Events' => array('_link' => 'javascript:Core_screen(\'CoreSiteoptions\', \'js:Cron\')'))); // } // { add custom items (from plugins) foreach ($PLUGINS as $pname => $p) { if (!isset($p['admin']) || !isset($p['admin']['menu'])) { continue; } foreach ($p['admin']['menu'] as $name => $page) { if (preg_match('/[^a-zA-Z0-9 >]/', $name)) { continue; // illegal characters in name } if (strpos($page, 'javascript:') === 0) { $link = $page; } else { $link = strpos($page, 'js:') === false ? $page : 'javascript:Core_screen(\'' . $pname . '\', \'' . $page . '\');'; } $json = '{"' . str_replace('>', '":{"', $name) . '":{"_link":"' . $link . '"}}' . str_repeat('}', substr_count($name, '>')); $menus = array_merge_recursive($menus, json_decode($json, true)); } } // } // { add final items // __('View Site') $menus['View Site'] = array('_link' => '/', '_target' => '_blank'); // __('Log Out') $menus['Log Out'] = array('_link' => '/?logout=1'); // __('Misc') __('File Manager') $menus['Misc']['File Manager'] = array('_link' => 'javascript:return window.open(\'/j/kfm/\', \'kfm\', ' . '\'modal,width=800,height=640\')'); // } AdminVars::set('admin_menu', json_encode($menus)); } Core_cacheSave('admin', 'menus-0', $menus); } return $menus; }