diff options
-rw-r--r-- | config/global.ini.php | 2 | ||||
-rw-r--r-- | core/Menu/Abstract.php | 4 | ||||
-rw-r--r-- | core/Menu/Admin.php | 29 | ||||
-rw-r--r-- | lang/en.php | 4 | ||||
-rw-r--r-- | plugins/CoreAdminHome/CoreAdminHome.php | 6 | ||||
-rw-r--r-- | plugins/CoreAdminHome/templates/footer.tpl | 3 | ||||
-rw-r--r-- | plugins/CoreAdminHome/templates/header.tpl | 4 | ||||
-rw-r--r-- | plugins/CoreAdminHome/templates/menu.css | 69 | ||||
-rw-r--r-- | plugins/CoreAdminHome/templates/menu.tpl | 27 | ||||
-rw-r--r-- | plugins/CoreAdminHome/templates/styles.css | 4 | ||||
-rw-r--r-- | plugins/CorePluginsAdmin/CorePluginsAdmin.php | 5 | ||||
-rw-r--r-- | plugins/DBStats/DBStats.php | 2 | ||||
-rw-r--r-- | plugins/Installation/Installation.php | 2 | ||||
-rw-r--r-- | plugins/PrivacyManager/PrivacyManager.php | 2 | ||||
-rw-r--r-- | plugins/SecurityInfo/SecurityInfo.php | 2 | ||||
-rw-r--r-- | plugins/SitesManager/SitesManager.php | 4 | ||||
-rw-r--r-- | plugins/UserCountry/UserCountry.php | 2 | ||||
-rw-r--r-- | plugins/UsersManager/UsersManager.php | 8 | ||||
-rw-r--r-- | plugins/VisitorGenerator/VisitorGenerator.php | 6 |
19 files changed, 130 insertions, 55 deletions
diff --git a/config/global.ini.php b/config/global.ini.php index 276d6fcfa6..f448840403 100644 --- a/config/global.ini.php +++ b/config/global.ini.php @@ -56,7 +56,7 @@ track_visits_inside_piwik_ui = 0 ; if set to 1, javascript and css files will be included individually ; this option must be set to 1 when adding, removing or modifying javascript and css files -disable_merged_assets = 0 +disable_merged_assets = 1 ; If set to 1, all requests to piwik.php will be forced to be 'new visitors' tracker_always_new_visitor = 0 diff --git a/core/Menu/Abstract.php b/core/Menu/Abstract.php index d1b483721b..50222d15e7 100644 --- a/core/Menu/Abstract.php +++ b/core/Menu/Abstract.php @@ -86,7 +86,9 @@ abstract class Piwik_Menu_Abstract if (!isset($this->menu[$menuName]) || empty($subMenuName)) { $this->menu[$menuName]['_url'] = $url; - $this->menu[$menuName]['_order'] = $order; + if(empty($subMenuName)) { + $this->menu[$menuName]['_order'] = $order; + } $this->menu[$menuName]['_name'] = $menuName; $this->menu[$menuName]['_hasSubmenu'] = false; $this->menu[$menuName]['_tooltip'] = $tooltip; diff --git a/core/Menu/Admin.php b/core/Menu/Admin.php index ddc7da32fd..6e2dd5b018 100644 --- a/core/Menu/Admin.php +++ b/core/Menu/Admin.php @@ -54,12 +54,15 @@ function Piwik_GetCurrentAdminMenuName() $menu = Piwik_GetAdminMenu(); $currentModule = Piwik::getModule(); $currentAction = Piwik::getAction(); - foreach($menu as $name => $parameters) + foreach($menu as $name => $submenu) { - if($parameters['_url']['module'] == $currentModule - && $parameters['_url']['action'] == $currentAction) - { - return $name; + foreach($submenu as $subMenuName => $parameters) { + if(strpos($subMenuName, '_') !== 0 && + $parameters['_url']['module'] == $currentModule + && $parameters['_url']['action'] == $currentAction) + { + return $subMenuName; + } } } return false; @@ -85,7 +88,21 @@ function Piwik_GetAdminMenu() */ function Piwik_AddAdminMenu( $adminMenuName, $url, $displayedForCurrentUser = true, $order = 10 ) { - Piwik_Menu_Admin::getInstance()->add($adminMenuName, null, $url, $displayedForCurrentUser, $order); + Piwik_Menu_Admin::getInstance()->add('General_Settings', $adminMenuName, $url, $displayedForCurrentUser, $order); +} + +/** + * Adds a new AdminMenu entry with a submenu. + * + * @param string $adminMenuName + * @param string $adminSubMenuName + * @param string $url + * @param boolean $displayedForCurrentUser + * @param int $order + */ +function Piwik_AddAdminSubMenu( $adminMenuName, $adminSubMenuName, $url, $displayedForCurrentUser = true, $order = 10 ) +{ + Piwik_Menu_Admin::getInstance()->add($adminMenuName, $adminSubMenuName, $url, $displayedForCurrentUser, $order); } /** diff --git a/lang/en.php b/lang/en.php index 8c6280676d..1827a686bc 100644 --- a/lang/en.php +++ b/lang/en.php @@ -434,7 +434,10 @@ $translations = array( 'API_LoadedAPIs' => 'Successfully loaded %s APIs', 'API_TopLinkTooltip' => 'Access your Web Analytics data programmatically through a simple API in json, xml, etc.', 'CoreAdminHome_PluginDescription' => 'Administration area of Piwik.', + 'CoreAdminHome_MenuCommunity' => 'Community', + 'CoreAdminHome_MenuDiagnostic' => 'Diagnostic', 'CoreAdminHome_MenuGeneralSettings' => 'General settings', + 'CoreAdminHome_MenuManage' => 'Manage', 'CoreAdminHome_Administration' => 'Administration', 'CoreAdminHome_EmailServerSettings' => 'Email server settings', 'CoreAdminHome_OptOutForYourVisitors' => 'Piwik opt-out for your visitors', @@ -638,6 +641,7 @@ $translations = array( 'CorePluginsAdmin_Deactivate' => 'Deactivate', 'CorePluginsAdmin_Activate' => 'Activate', 'CorePluginsAdmin_MenuPlugins' => 'Plugins', + 'CorePluginsAdmin_MenuPluginsInstalled' => 'Installed', 'CorePluginsAdmin_PluginCannotBeFound' => 'This plugin cannot be found!', 'CoreUpdater_PluginDescription' => 'Piwik updating mechanism', 'CoreUpdater_UpdateTitle' => 'Update', diff --git a/plugins/CoreAdminHome/CoreAdminHome.php b/plugins/CoreAdminHome/CoreAdminHome.php index 6619e07876..98a3424638 100644 --- a/plugins/CoreAdminHome/CoreAdminHome.php +++ b/plugins/CoreAdminHome/CoreAdminHome.php @@ -95,7 +95,11 @@ class Piwik_CoreAdminHome extends Piwik_Plugin function addMenu() { - Piwik_AddAdminMenu('CoreAdminHome_MenuGeneralSettings', + Piwik_AddAdminSubMenu('CoreAdminHome_MenuManage', NULL, "", Piwik::isUserHasSomeAdminAccess(), $order = 1); + Piwik_AddAdminSubMenu('CoreAdminHome_MenuCommunity', NULL, "", Piwik::isUserHasSomeAdminAccess(), $order = 3); + Piwik_AddAdminSubMenu('CoreAdminHome_MenuDiagnostic', NULL, "", Piwik::isUserHasSomeAdminAccess(), $order = 10); + Piwik_AddAdminSubMenu('General_Settings', NULL, "", Piwik::isUserHasSomeAdminAccess(), $order = 5); + Piwik_AddAdminSubMenu('General_Settings', 'CoreAdminHome_MenuGeneralSettings', array('module' => 'CoreAdminHome', 'action' => 'generalSettings'), Piwik::isUserHasSomeAdminAccess(), $order = 6); diff --git a/plugins/CoreAdminHome/templates/footer.tpl b/plugins/CoreAdminHome/templates/footer.tpl index dddeb80fcd..266836f2d5 100644 --- a/plugins/CoreAdminHome/templates/footer.tpl +++ b/plugins/CoreAdminHome/templates/footer.tpl @@ -1,4 +1,5 @@ </div> +</div> {include file="CoreHome/templates/piwik_tag.tpl"} </body> -</html>
\ No newline at end of file +</html> diff --git a/plugins/CoreAdminHome/templates/header.tpl b/plugins/CoreAdminHome/templates/header.tpl index 402bd7abbf..a6a9fefa23 100644 --- a/plugins/CoreAdminHome/templates/header.tpl +++ b/plugins/CoreAdminHome/templates/header.tpl @@ -32,12 +32,12 @@ {include file="CoreHome/templates/js_disabled_notice.tpl"} </div> +{ajaxRequestErrorDiv} +<div id="container"> {if !isset($showMenu) || $showMenu} {include file="CoreAdminHome/templates/menu.tpl"} {/if} -{ajaxRequestErrorDiv} - <div id="content" class="admin"> {include file="CoreHome/templates/header_message.tpl"} diff --git a/plugins/CoreAdminHome/templates/menu.css b/plugins/CoreAdminHome/templates/menu.css index 317c5d8f55..1abc634ea7 100644 --- a/plugins/CoreAdminHome/templates/menu.css +++ b/plugins/CoreAdminHome/templates/menu.css @@ -1,45 +1,80 @@ #menu{ - padding:10px 0 0 0; - margin-bottom:20px; + padding:0 0 0 0; + float: left; + width: 240px; + position: absolute; } + #tablist { - padding-bottom: 1px; - margin-left: 0; + background-image: linear-gradient(top, #FECB00 0%, #FE9800 25%, #FE6702 50%, #CA0000 75%, #670002 100%); + background-image: -o-linear-gradient(top, #FECB00 0%, #FE9800 25%, #FE6702 50%, #CA0000 75%, #670002 100%); + background-image: -moz-linear-gradient(top, #FECB00 0%, #FE9800 25%, #FE6702 50%, #CA0000 75%, #670002 100%); + background-image: -webkit-linear-gradient(top, #FECB00 0%, #FE9800 25%, #FE6702 50%, #CA0000 75%, #670002 100%); + background-image: -ms-linear-gradient(top, #FECB00 0%, #FE9800 25%, #FE6702 50%, #CA0000 75%, #670002 100%); + + background-image: -webkit-gradient( + linear, + left top, + left bottom, + color-stop(0, #FECB00), + color-stop(0.25, #FE9800), + color-stop(0.5, #FE6702), + color-stop(0.75, #CA0000), + color-stop(1, #670002) + ); + + -moz-background-size:5px 100%; + background-size:5px 100%; + background-position:0 0, 100% 0; + background-repeat:no-repeat; +} + +#tablist { + padding-left: 5px; margin-bottom: 0; margin-top: 0.1em; - border-bottom: 1px solid #808080; + border: 1px solid #ddd; + border-radius: 5px; } #tablist li { list-style: none; - display: inline; margin: 0; - padding-bottom:3px; +} + +#tablist > li { + padding-bottom: 5px; +} + +#tablist > li > span { + border-bottom: 1px dotted #778; + display: block; + padding: 5px 10px; + font-size: 18px; } #tablist li a { text-decoration: none; - padding: 3px 0.5em; - margin-right: 3px; - border: 1px solid #778; - border-bottom: none; + padding: 0.6em 0.9em; background: white; - font: bold 16px Georgia; + font: 14px Arial, Helvetica, sans-serif; + display: block; } #tablist li a:link,#tablist li a:visited { color: #000; - border-radius: 4px 4px 0 0; - -moz-border-radius:4px 4px 0 0; - -webkit-border-radius:4px 4px 0 0; } #tablist li a:hover, #tablist li a.active { - color: #000; - background: #defdbb; + color: #e87500; + background: #f1f1f1; border-color: #000; } +#tablist li a:hover { + text-decoration: underline; +} + #tablist li a.current { background: #defdbb; } diff --git a/plugins/CoreAdminHome/templates/menu.tpl b/plugins/CoreAdminHome/templates/menu.tpl index a0f710d92f..ade09008b4 100644 --- a/plugins/CoreAdminHome/templates/menu.tpl +++ b/plugins/CoreAdminHome/templates/menu.tpl @@ -1,9 +1,20 @@ {if count($menu) > 1} - <div id="menu"> - <ul id="tablist"> - {foreach from=$menu key=name item=url name=menu} - <li> <a href='index.php{$url._url|@urlRewriteWithParameters}' {if isset($currentAdminMenuName) && $name==$currentAdminMenuName}class='active'{/if}>{$name|translate}</a></li> - {/foreach} - </ul> - </div> -{/if}
\ No newline at end of file +<div id="menu"> +<ul id="tablist"> +{foreach from=$menu key=name item=submenu name=menu} +{if $submenu._hasSubmenu} + <li> + <span>{$name|translate}</span> + <ul> + {foreach from=$submenu key=sname item=url name=submenu} + {if strpos($sname, '_') !== 0} + <li><a href='index.php{$url._url|@urlRewriteWithParameters}' {if isset($currentAdminMenuName) && $sname==$currentAdminMenuName}class='active'{/if}>{$sname|translate}</a></li> + {/if} + {/foreach} + </ul> + </li> +{/if} +{/foreach} +</ul> +</div> +{/if} diff --git a/plugins/CoreAdminHome/templates/styles.css b/plugins/CoreAdminHome/templates/styles.css index 14717a5555..89b8fa6b58 100644 --- a/plugins/CoreAdminHome/templates/styles.css +++ b/plugins/CoreAdminHome/templates/styles.css @@ -6,9 +6,9 @@ } #content.admin { - margin:0 15px; + margin:0 15px 0 270px; padding:0 0 0 0; - font:13px Arial, Helvetica, sans-serif + font:13px Arial, Helvetica, sans-serif; } .admin #header_message{ diff --git a/plugins/CorePluginsAdmin/CorePluginsAdmin.php b/plugins/CorePluginsAdmin/CorePluginsAdmin.php index ad8c2cfbd6..7de1c3f269 100644 --- a/plugins/CorePluginsAdmin/CorePluginsAdmin.php +++ b/plugins/CorePluginsAdmin/CorePluginsAdmin.php @@ -33,9 +33,10 @@ class Piwik_CorePluginsAdmin extends Piwik_Plugin function addMenu() { - Piwik_AddAdminMenu('CorePluginsAdmin_MenuPlugins', + Piwik_AddAdminSubMenu('CorePluginsAdmin_MenuPlugins', null, "", Piwik::isUserIsSuperUser(), $order = 15); + Piwik_AddAdminSubMenu('CorePluginsAdmin_MenuPlugins', 'CorePluginsAdmin_MenuPluginsInstalled', array('module' => 'CorePluginsAdmin', 'action' => 'index'), Piwik::isUserIsSuperUser(), - $order = 7); + $order = 1); } } diff --git a/plugins/DBStats/DBStats.php b/plugins/DBStats/DBStats.php index 44d8bd9c82..85121c1746 100644 --- a/plugins/DBStats/DBStats.php +++ b/plugins/DBStats/DBStats.php @@ -38,7 +38,7 @@ class Piwik_DBStats extends Piwik_Plugin function addMenu() { - Piwik_AddAdminMenu('DBStats_DatabaseUsage', + Piwik_AddAdminSubMenu('CoreAdminHome_MenuDiagnostic', 'DBStats_DatabaseUsage', array('module' => 'DBStats', 'action' => 'index'), Piwik::isUserIsSuperUser(), $order = 9); diff --git a/plugins/Installation/Installation.php b/plugins/Installation/Installation.php index 83d85b43ce..efedc7634f 100644 --- a/plugins/Installation/Installation.php +++ b/plugins/Installation/Installation.php @@ -89,7 +89,7 @@ class Piwik_Installation extends Piwik_Plugin */ public function addMenu() { - Piwik_AddAdminMenu('Installation_SystemCheck', + Piwik_AddAdminSubMenu('CoreAdminHome_MenuDiagnostic', 'Installation_SystemCheck', array('module' => 'Installation', 'action' => 'systemCheckPage'), $addIf = Piwik::isUserIsSuperUser(), $order = 15); diff --git a/plugins/PrivacyManager/PrivacyManager.php b/plugins/PrivacyManager/PrivacyManager.php index 4729c617a6..011f48c5f8 100644 --- a/plugins/PrivacyManager/PrivacyManager.php +++ b/plugins/PrivacyManager/PrivacyManager.php @@ -103,7 +103,7 @@ class Piwik_PrivacyManager extends Piwik_Plugin Piwik_AddAdminMenu('PrivacyManager_MenuPrivacySettings', array('module' => 'PrivacyManager', 'action' => 'privacySettings'), Piwik::isUserHasSomeAdminAccess(), - $order = 8); + $order = 7); } /** diff --git a/plugins/SecurityInfo/SecurityInfo.php b/plugins/SecurityInfo/SecurityInfo.php index 090551d84d..28ef958814 100644 --- a/plugins/SecurityInfo/SecurityInfo.php +++ b/plugins/SecurityInfo/SecurityInfo.php @@ -36,7 +36,7 @@ class Piwik_SecurityInfo extends Piwik_Plugin function addMenu() { - Piwik_AddAdminMenu('SecurityInfo_Security', + Piwik_AddAdminSubMenu('CoreAdminHome_MenuDiagnostic', 'SecurityInfo_Security', array('module' => 'SecurityInfo', 'action' => 'index'), Piwik::isUserIsSuperUser(), $order = 10); diff --git a/plugins/SitesManager/SitesManager.php b/plugins/SitesManager/SitesManager.php index 768774f721..d08ee9cfa9 100644 --- a/plugins/SitesManager/SitesManager.php +++ b/plugins/SitesManager/SitesManager.php @@ -39,10 +39,10 @@ class Piwik_SitesManager extends Piwik_Plugin function addMenu() { - Piwik_AddAdminMenu('SitesManager_MenuSites', + Piwik_AddAdminSubMenu('CoreAdminHome_MenuManage', 'SitesManager_MenuSites', array('module' => 'SitesManager', 'action' => 'index'), Piwik::isUserHasSomeAdminAccess(), - $order = 5); + $order = 1); } /** diff --git a/plugins/UserCountry/UserCountry.php b/plugins/UserCountry/UserCountry.php index cefbb66d87..329456e84e 100644 --- a/plugins/UserCountry/UserCountry.php +++ b/plugins/UserCountry/UserCountry.php @@ -151,7 +151,7 @@ class Piwik_UserCountry extends Piwik_Plugin */ function addAdminMenu() { - Piwik_AddAdminMenu('UserCountry_Geolocation', + Piwik_AddAdminSubMenu('General_Settings', 'UserCountry_Geolocation', array('module' => 'UserCountry', 'action' => 'adminIndex'), Piwik::isUserIsSuperUser(), $order = 8); diff --git a/plugins/UsersManager/UsersManager.php b/plugins/UsersManager/UsersManager.php index 05aa24050b..365c478ea2 100644 --- a/plugins/UsersManager/UsersManager.php +++ b/plugins/UsersManager/UsersManager.php @@ -112,14 +112,14 @@ class Piwik_UsersManager extends Piwik_Plugin */ function addMenu() { - Piwik_AddAdminMenu('UsersManager_MenuUsers', + Piwik_AddAdminSubMenu('CoreAdminHome_MenuManage', 'UsersManager_MenuUsers', array('module' => 'UsersManager', 'action' => 'index'), Piwik::isUserHasSomeAdminAccess(), - $order = 3); - Piwik_AddAdminMenu('UsersManager_MenuUserSettings', + $order = 2); + Piwik_AddAdminSubMenu('CoreAdminHome_MenuManage', 'UsersManager_MenuUserSettings', array('module' => 'UsersManager', 'action' => 'userSettings'), Piwik::isUserHasSomeViewAccess(), - $order = 1); + $order = 3); } /** diff --git a/plugins/VisitorGenerator/VisitorGenerator.php b/plugins/VisitorGenerator/VisitorGenerator.php index f02dcbb150..db182e9f80 100644 --- a/plugins/VisitorGenerator/VisitorGenerator.php +++ b/plugins/VisitorGenerator/VisitorGenerator.php @@ -32,11 +32,11 @@ class Piwik_VisitorGenerator extends Piwik_Plugin { } public function addMenu() { - Piwik_AddAdminMenu( - 'VisitorGenerator_VisitorGenerator', + Piwik_AddAdminSubMenu( + 'CoreAdminHome_MenuDiagnostic', 'VisitorGenerator_VisitorGenerator', array('module' => 'VisitorGenerator', 'action' => 'index'), Piwik::isUserIsSuperUser(), - $order = 10 + $order = 20 ); } } |