Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Becker <halfdan@xnorfz.de>2013-01-29 22:17:57 +0400
committerFabian Becker <halfdan@xnorfz.de>2013-01-29 22:17:57 +0400
commit388792fc912351eb32f194bb96a0c4f2c46a41fd (patch)
tree315da676c78842b75951ee986e873b36ce9cb7d9
parent15cbd9a535a401d7428b062ef08cc8d244fccebc (diff)
New admin menus, hooray!
New vertical admin menus are organized as follow: - Predefined menus are Manage, Settings, Diagnostics, Plugins, Community - New submenus can be defined via Piwik_AddAdminSubMenu() - Piwik_AddAdminMenu defaults to "Settings" fixed #1552 git-svn-id: http://dev.piwik.org/svn/trunk@7815 59fd770c-687e-43c8-a1e3-f5a4ff64c105
-rw-r--r--config/global.ini.php2
-rw-r--r--core/Menu/Abstract.php4
-rw-r--r--core/Menu/Admin.php29
-rw-r--r--lang/en.php4
-rw-r--r--plugins/CoreAdminHome/CoreAdminHome.php6
-rw-r--r--plugins/CoreAdminHome/templates/footer.tpl3
-rw-r--r--plugins/CoreAdminHome/templates/header.tpl4
-rw-r--r--plugins/CoreAdminHome/templates/menu.css69
-rw-r--r--plugins/CoreAdminHome/templates/menu.tpl27
-rw-r--r--plugins/CoreAdminHome/templates/styles.css4
-rw-r--r--plugins/CorePluginsAdmin/CorePluginsAdmin.php5
-rw-r--r--plugins/DBStats/DBStats.php2
-rw-r--r--plugins/Installation/Installation.php2
-rw-r--r--plugins/PrivacyManager/PrivacyManager.php2
-rw-r--r--plugins/SecurityInfo/SecurityInfo.php2
-rw-r--r--plugins/SitesManager/SitesManager.php4
-rw-r--r--plugins/UserCountry/UserCountry.php2
-rw-r--r--plugins/UsersManager/UsersManager.php8
-rw-r--r--plugins/VisitorGenerator/VisitorGenerator.php6
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
);
}
}