]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Refs #2991. First round at rearranging and grouping admin menu based upon tasks.
authorbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>
Fri, 11 Mar 2011 23:14:09 +0000 (23:14 +0000)
committerbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>
Fri, 11 Mar 2011 23:14:09 +0000 (23:14 +0000)
git-svn-id: http://code.elgg.org/elgg/trunk@8654 36083f99-b078-4883-b0ff-0f9b5a30f544

20 files changed:
engine/handlers/page_handler.php
engine/lib/admin.php
engine/lib/widgets.php
languages/en.php
mod/developers/languages/en.php
mod/developers/start.php
mod/diagnostics/start.php
mod/externalpages/start.php
mod/logbrowser/start.php
mod/reportedcontent/start.php
mod/uservalidationbyemail/start.php
views/default/admin/settings/advanced.php [moved from views/default/admin/site/advanced.php with 100% similarity]
views/default/admin/settings/basic.php [moved from views/default/admin/site/basic.php with 100% similarity]
views/default/admin/settings/default_widgets.php [moved from views/default/admin/appearance/default_widgets.php with 85% similarity]
views/default/admin/settings/menu_items.php [moved from views/default/admin/appearance/menu_items.php with 100% similarity]
views/default/admin/settings/profile_fields.php [moved from views/default/admin/appearance/profile_fields.php with 83% similarity]
views/default/admin/settings/profile_fields/list.php [moved from views/default/admin/appearance/profile_fields/list.php with 100% similarity]
views/default/admin/sidebar.php
views/default/css/admin.php
views/default/js/admin.php

index bfdb0cee3480b122a538cbc9c2ec4c1da2e4a1bb..7b1b95459df8600251b1cf570521c1b11c571184 100644 (file)
@@ -32,7 +32,9 @@ require_once(dirname(dirname(__FILE__)) . "/start.php");
 
 $url = current_page_url();
 $new_url = preg_replace('#/pg/#', '/', $url);
+
 if ($url !== $new_url) {
+       die('site');
        header("HTTP/1.1 301 Moved Permanently"); 
        header("Location: $new_url"); 
 }
index 7774f78e0d613cf4d9c8bd604a64d9af9d88e468..39ba07ad30da489914cbbbadd2855440dd21d086 100644 (file)
@@ -117,18 +117,20 @@ function elgg_admin_notice_exists($id) {
  *
  * This function handles registering the parent if it has not been registered.
  *
+ * @param string $section    The menu section to add to
  * @param string $menu_id    The Unique ID of section
- * @param string $parent_id  If a child section, the parent section id.
- * @param int    $priority     The menu item priority
+ * @param string $parent_id  If a child section, the parent section id
+ * @param int    $priority   The menu item priority
  *
  * @return bool
  * @since 1.8.0
  */
-function elgg_register_admin_menu_item($menu_id, $parent_id = NULL, $priority = 100) {
+function elgg_register_admin_menu_item($section, $menu_id, $parent_id = NULL, $priority = 100) {
+       $menu_name = "admin-$section";
 
        // make sure parent is registered
-       if ($parent_id && !elgg_is_menu_item_registered('page', $parent_id)) {
-               elgg_register_admin_menu_item($parent_id);
+       if ($parent_id && !elgg_is_menu_item_registered($menu_name, $parent_id)) {
+               elgg_register_admin_menu_item($section, $parent_id);
        }
 
        // in the admin section parents never have links
@@ -143,7 +145,7 @@ function elgg_register_admin_menu_item($menu_id, $parent_id = NULL, $priority =
                $name = "$parent_id:$name";
        }
 
-       return elgg_register_menu_item('page', array(
+       return elgg_register_menu_item($menu_name, array(
                'name' => $name,
                'href' => $href,
                'text' => elgg_echo("admin:$name"),
@@ -181,39 +183,38 @@ function admin_init() {
 
        elgg_register_simplecache_view('js/admin');
 
-       // statistics
-       elgg_register_admin_menu_item('statistics', null, 60);
-       elgg_register_admin_menu_item('overview', 'statistics');
-
-       // site
-       elgg_register_admin_menu_item('site', null, 20);
-       elgg_register_admin_menu_item('basic', 'site', 10);
-       elgg_register_admin_menu_item('advanced', 'site', 20);
-
-       // appearance
-       elgg_register_admin_menu_item('appearance', null, 30);
-       elgg_register_admin_menu_item('menu_items', 'appearance', 10);
-       elgg_register_admin_menu_item('profile_fields', 'appearance', 20);
-
-       // users
-       elgg_register_admin_menu_item('users', null, 40);
-       elgg_register_admin_menu_item('add', 'users', 10);
-       elgg_register_admin_menu_item('online', 'users', 20);
-       elgg_register_admin_menu_item('newest', 'users', 30);
-
-       // plugins
-       elgg_register_admin_menu_item('plugins', null, 50);
-       elgg_register_admin_menu_item('simple', 'plugins', 10);
-       elgg_register_admin_menu_item('advanced', 'plugins', 20);
-
+       // administer
        // dashboard
-       elgg_register_menu_item('page', array(
+       elgg_register_menu_item('admin-administer', array(
                'name' => 'dashboard',
                'href' => 'admin/dashboard',
                'text' => elgg_echo('admin:dashboard'),
                'context' => 'admin',
                'priority' => 10,
        ));
+       // statistics
+       elgg_register_admin_menu_item('administer', 'statistics', null, 20);
+       elgg_register_admin_menu_item('administer', 'overview', 'statistics');
+
+       // users
+       elgg_register_admin_menu_item('administer', 'users', null, 20);
+       elgg_register_admin_menu_item('administer', 'online', 'users', 10);
+       elgg_register_admin_menu_item('administer', 'newest', 'users', 20);
+       elgg_register_admin_menu_item('administer', 'add', 'users', 30);
+
+       // configure
+       // plugins
+       elgg_register_admin_menu_item('configure', 'plugins', null, 10);
+       elgg_register_admin_menu_item('configure', 'simple', 'plugins', 10);
+       elgg_register_admin_menu_item('configure', 'advanced', 'plugins', 20);
+
+       // settings
+       elgg_register_admin_menu_item('configure', 'basic', 'settings', 10);
+       elgg_register_admin_menu_item('configure', 'advanced', 'settings', 20);
+       elgg_register_admin_menu_item('configure', 'menu_items', 'settings', 30);
+       elgg_register_admin_menu_item('configure', 'profile_fields', 'settings', 40);
+       // default widgets is added via an event handler elgg_default_widgets_init() because it
+       // requires additional setup.
 
        elgg_register_menu_item('topbar', array(
                'name' => 'administration',
@@ -255,12 +256,12 @@ function elgg_admin_add_plugin_settings_menu() {
                return FALSE;
        }
 
-       elgg_register_admin_menu_item('plugin_settings', null, 51);
+       elgg_register_admin_menu_item('configure', 'plugin_settings', null, 51);
 
        foreach ($active_plugins as $plugin) {
                $plugin_id = $plugin->getID();
                if (elgg_view_exists("settings/$plugin_id/edit")) {
-                       elgg_register_menu_item('page', array(
+                       elgg_register_menu_item('admin-configure', array(
                                'name' => $plugin_id,
                                'href' => "admin/plugin_settings/$plugin_id",
                                'text' => $plugin->manifest->getName(),
index 53b4a33094a59ca9ca96086b39f69faff5b8dec9..71f0c3ce94ae64c0b77193775827ecaa8c3c6bb8 100644 (file)
@@ -288,7 +288,7 @@ function elgg_default_widgets_init() {
        $CONFIG->default_widget_info = $default_widgets;
 
        if ($default_widgets) {
-               elgg_register_admin_menu_item('default_widgets', 'appearance', 30);
+               elgg_register_admin_menu_item('configure', 'default_widgets', 'settings');
 
                // override permissions for creating widget on logged out / just created entities
                elgg_register_plugin_hook_handler('container_permissions_check', 'object', 'elgg_default_widgets_permissions_override');
index 2084137b35b02d1655b1bee56f2f6fa437af72ac..290fa9dcfd696f5d21c3ee858bc4a57a2d978911 100644 (file)
@@ -372,7 +372,7 @@ $english = array(
        'profile:twitter' => "Twitter username",
        'profile:saved' => "Your profile was successfully saved.",
 
-       'admin:appearance:profile_fields' => 'Edit profile fields',
+       'admin:settings:profile_fields' => 'Edit profile fields',
        'profile:edit:default' => 'Edit profile fields',
        'profile:label' => "Profile label",
        'profile:type' => "Profile type",
@@ -511,6 +511,9 @@ $english = array(
 /**
  * Administration
  */
+       'admin:administer' => 'Administer',
+       'admin:configure' => 'Configure',
+       'admin:develop' => 'Develop',
 
        'admin:view_site' => 'View site',
        'admin:loggedin' => 'Logged in as %s',
@@ -533,16 +536,16 @@ $english = array(
        'admin:users' => "Users",
        'admin:users:online' => 'Currently Online',
        'admin:users:newest' => 'Newest',
-       'admin:users:add' => 'Add',
+       'admin:users:add' => 'Add New User',
        'admin:users:description' => "This admin panel allows you to control user settings for your site. Choose an option below to get started.",
        'admin:users:adduser:label' => "Click here to add a new user...",
        'admin:users:opt:linktext' => "Configure users...",
        'admin:users:opt:description' => "Configure users and account information. ",
        'admin:users:find' => 'Find',
 
-       'admin:site' => "Site",
-       'admin:site:basic' => 'Basic Settings',
-       'admin:site:advanced' => 'Advanced Settings',
+       'admin:settings' => 'Settings',
+       'admin:settings:basic' => 'Basic Settings',
+       'admin:settings:advanced' => 'Advanced Settings',
        'admin:site:description' => "This admin panel allows you to control global settings for your site. Choose an option below to get started.",
        'admin:site:opt:linktext' => "Configure site...",
        'admin:site:access:warning' => "Changing the access setting only affects the permissions on content created in the future.",
@@ -668,7 +671,7 @@ $english = array(
        'admin:user:ban:yes' => "User banned.",
        'admin:user:self:ban:no' => "You cannot ban yourself",
        'admin:user:unban:no' => "Can not unban user",
-       'admin:user:unban:yes' => "User un-banned.",
+       'admin:user:unban:yes' => "User unbanned.",
        'admin:user:delete:no' => "Can not delete user",
        'admin:user:delete:yes' => "The user %s has been deleted",
        'admin:user:self:delete:no' => "You cannot delete yourself",
@@ -683,7 +686,7 @@ $english = array(
        'admin:user:removeadmin:no' => "We could not remove administrator privileges from this user.",
        'admin:user:self:removeadmin:no' => "You cannot remove your own administrator privileges.",
 
-       'admin:appearance:menu_items' => 'Menu Items',
+       'admin:settings:menu_items' => 'Menu Items',
        'admin:menu_items:configure' => 'Configure main menu items',
        'admin:menu_items:description' => 'Select which menu items you want to show as featured links.  Unused items will be added as "More" at the end of the list.',
        'admin:menu_items:hide_toolbar_entries' => 'Remove links from tool bar menu?',
@@ -691,9 +694,9 @@ $english = array(
        'admin:add_menu_item' => 'Add a custom menu item',
        'admin:add_menu_item:description' => 'Fill out the Display name and URL to add custom items to your navigation menu.',
 
-       'admin:appearance:default_widgets' => 'Default Widgets',
-       'admin:appearance:default_widgets:unknown_type' => 'Unknown widget type',
-       'admin:appearance:default_widgets:instructions' => 'Add, remove, position, and configure default widgets for the selected widget page.'
+       'admin:settings:default_widgets' => 'Default Widgets',
+       'admin:default_widgets:unknown_type' => 'Unknown widget type',
+       'admin:default_widgets:instructions' => 'Add, remove, position, and configure default widgets for the selected widget page.'
                . '  These changes will apply only to new content on the site.',
 
 /**
index 7c9ec93d35f9d242beb847aa3bc99507d8b080e7..8bc1f596a4dcadf93dddb9ce63acf9c8edd3c77d 100644 (file)
@@ -7,7 +7,7 @@
 $english = array(
        // menu
        'admin:developers' => 'Developers',
-       'admin:developers:settings' => 'Settings',
+       'admin:developers:settings' => 'Developer Settings',
        'admin:developers:preview' => 'Theming Preview',
 
        // settings
index ff33f3e9155144d680cd46a013b62f340caec1a1..3c2f6bd5fcc010b330afc0fdf947458f55d4c3ee 100644 (file)
@@ -18,9 +18,8 @@ function developers_init() {
 
 function developers_setup_menu() {
        if (elgg_in_context('admin')) {
-               elgg_register_admin_menu_item('developers');
-               elgg_register_admin_menu_item('settings', 'developers');
-               elgg_register_admin_menu_item('preview', 'developers');
+               elgg_register_admin_menu_item('develop', 'settings', 'developers');
+               elgg_register_admin_menu_item('develop', 'preview', 'developers');
        }
 }
 
index 74c53e2f6d8406239fd7f00b8fb1b4f673ac8d87..d310684ba0e5a8cba88aadcb9eb4b1d8cfbc8906 100644 (file)
@@ -16,7 +16,7 @@ function diagnostics_init() {
        elgg_register_page_handler('diagnostics','diagnostics_page_handler');
 
        // Add admin menu item
-       elgg_register_admin_menu_item('diagnostics', 'utilities');
+       elgg_register_admin_menu_item('develop', 'diagnostics', 'utilities');
 
        // Register some actions
        $file = elgg_get_plugins_path() . "diagnostics/actions/download.php";
index 533d71104a39de08d7caa2ea989a44e3ecaa623a..9ec7c174e5e55a1d9a12a03e65ee6eb2cc891aeb 100644 (file)
@@ -11,7 +11,7 @@ function expages_init() {
        elgg_register_page_handler('expages', 'expages_page_handler');
 
        // add a menu item for the admin edit page
-       elgg_register_admin_menu_item('expages', 'site');
+       elgg_register_admin_menu_item('configure', 'expages', 'site');
 
        // add footer links
        expages_setup_footer_menu();
index 5b4e0541e6d4b4abc357c2b6962614067ab4bf48..eedc9d8add48480d788d99c426882fa511be3fd8 100644 (file)
@@ -14,7 +14,7 @@ function logbrowser_init() {
        
        elgg_register_plugin_hook_handler('register', 'menu:user_hover', 'logbrowser_user_hover_menu');
        
-       elgg_register_admin_menu_item('logbrowser', 'utilities');
+       elgg_register_admin_menu_item('administer', 'logbrowser', 'utilities');
 }
 
 /**
index a7e3afe197b5f7afa6f80a0b95b319c19fe84eee..406624e50fc92cb8db5ed7f16718eb88d4c8e2c1 100644 (file)
@@ -37,7 +37,8 @@ function reportedcontent_init() {
        elgg_register_plugin_hook_handler('register', 'menu:user_hover', 'reportedcontent_user_hover_menu');
 
        // Add admin menu item
-       elgg_register_admin_menu_item('reportedcontent', 'utilities');
+       // @todo Might want to move this to a 'feedback' section. something other than utils
+       elgg_register_admin_menu_item('administer', 'reportedcontent', 'utilities');
 
        elgg_register_widget_type(
                        'reportedcontent',
index 175905d1db42a6e84065f965fe2989cba703eb08..d3d0c3488a19e26a8cbf10183833963df4da685f 100644 (file)
@@ -39,7 +39,7 @@ function uservalidationbyemail_init() {
        elgg_register_plugin_hook_handler('public_pages', 'walled_garden', 'uservalidationbyemail_public_pages');
 
        // admin interface to manually validate users
-       elgg_register_admin_menu_item('unvalidated', 'users');
+       elgg_register_admin_menu_item('administer', 'unvalidated', 'users');
 
        elgg_extend_view('js/elgg', 'uservalidationbyemail/js');
 
similarity index 85%
rename from views/default/admin/appearance/default_widgets.php
rename to views/default/admin/settings/default_widgets.php
index 7462dfa7cd857147306480833b51674bda4ead7c..ce9f6a5c2059fd13b40d8cd510a385a561beaca3 100644 (file)
@@ -18,7 +18,7 @@ if (!$widget_context && $list) {
 $current_info = null;
 $tabs = array();
 foreach ($list as $info) {
-       $url = "admin/appearance/default_widgets?widget_context={$info['widget_context']}";
+       $url = "admin/settings/default_widgets?widget_context={$info['widget_context']}";
        $selected = false;
        if ($widget_context == $info['widget_context']) {
                $selected = true;
@@ -38,10 +38,10 @@ $tabs_vars = array(
 
 echo elgg_view('navigation/tabs', $tabs_vars);
 
-echo elgg_view('output/longtext', array('value' => elgg_echo('admin:appearance:default_widgets:instructions')));
+echo elgg_view('output/longtext', array('value' => elgg_echo('admin:default_widgets:instructions')));
 
 if (!$current_info) {
-       $content = elgg_echo('admin:appearance:default_widgets:unknown_type');
+       $content = elgg_echo('admin:default_widgets:unknown_type');
 } else {
        // default widgets are owned and saved to the site.
        elgg_set_page_owner_guid(elgg_get_config('site_guid'));
@@ -62,4 +62,4 @@ if (!$current_info) {
 }
 elgg_pop_context();
 
-echo $content;
\ No newline at end of file
+echo $content;
similarity index 83%
rename from views/default/admin/appearance/profile_fields.php
rename to views/default/admin/settings/profile_fields.php
index 7077687ccbf98a8cf340cd39689ca0bfd41e7cbc..e9dc609e3749bf8e0237eefd5c5813cce7235d74 100644 (file)
@@ -4,7 +4,7 @@
  */
 
 $add = elgg_view_form('profile/fields/add', array(), array());
-$list = elgg_view('admin/appearance/profile_fields/list');
+$list = elgg_view('admin/settings/profile_fields/list');
 $reset = elgg_view_form('profile/fields/reset', array(), array());
 
 $body = <<<__HTML
index b2c52070561b5922b4615c3f7812207ce001693b..a6c16c758620f9c1e35dc4a4c6ff4b6703b2a65d 100644 (file)
@@ -1,8 +1,17 @@
 <?php
 /**
- * Admin sidebar -- just outputs the page menu
+ * Admin sidebar -- just outputs the page menus
  */
+$sections = array('administer', 'configure', 'develop');
+$content = '';
 
-$content = elgg_view_menu('page', array('sort_by' => 'priority'));
+foreach ($sections as $section) {
+       $section_content = elgg_view_menu("admin-$section", array('sort_by' => 'priority', 'class' => 'mbl mts'));
+       
+       if ($section_content) {
+               $content .= '<h2>' . elgg_echo("admin:$section") . '</h2>';
+               $content .= $section_content;
+       }
+}
 
-echo elgg_view_module('main', '', $content);
\ No newline at end of file
+echo elgg_view_module('main', '', $content, array('class' => 'elgg-admin-sidebar-menu'));
\ No newline at end of file
index 1a8747f3a9fe931139cd63db8c1a4f8e7d0634dd..3a3c8eb165172d4842aecd002d87c4b96e708f0a 100644 (file)
@@ -266,7 +266,8 @@ table.mceLayout {
 /* ***************************************
        SIDEBAR MENU
 *************************************** */
-.elgg-menu-page a {
+.elgg-admin-sidebar-menu a {
+       border: 1px solid red;
        display: block;
        padding: 5px;
        color: #333333;
@@ -279,31 +280,32 @@ table.mceLayout {
        -moz-border-radius: 5px;
        border-radius: 5px;
 }
-.elgg-menu-page a:hover {
+
+.elgg-admin-sidebar-menu a:hover {
        text-decoration: none;
        background: black;
        color: white;
        border: 1px solid black;
 }
-.elgg-menu-page li.elgg-state-selected > a {
+.elgg-admin-sidebar-menu li.elgg-state-selected > a {
        background-color: #BBB;
 }
 
-.elgg-menu-page .elgg-menu-closed:before {
+.elgg-admin-sidebar-menu .elgg-menu-closed:before {
        content: "\25B8";
        padding-right: 4px;
 }
 
-.elgg-menu-page .elgg-menu-opened:before {
+.elgg-admin-sidebar-menu .elgg-menu-opened:before {
        content: "\25BE";
        padding-right: 4px;
 }
 
-.elgg-menu-page .elgg-child-menu {
+.elgg-admin-sidebar-menu .elgg-child-menu {
        display: none;
        padding-left: 30px;
 }
-.elgg-menu-page li.elgg-state-selected > ul {
+.elgg-admin-sidebar-menu li.elgg-state-selected > ul {
        display: block;
 }
 
index 15c74d4decd973ddd24e2e4df8cc9ff0e9c3e0b3..d37dc7a813a106891881cd29678c02b12068ac60 100644 (file)
@@ -16,6 +16,9 @@ elgg.admin.init = function () {
                $(this).stop().slideUp('medium');
        });
 
+       // semi-custom menus
+       $('.elgg-admin-sidebar-menu .elgg-menu-parent').live('click', elgg.ui.toggleMenu);
+
        // plugin screenshot modal
        $('.elgg-plugin-screenshot a').click(elgg.admin.displayPluginScreenshot);