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:
authorThomas Steur <thomas.steur@googlemail.com>2014-05-20 07:44:07 +0400
committerThomas Steur <thomas.steur@googlemail.com>2014-05-20 07:44:07 +0400
commit45ae10e999baf0dfa066e5daae00bca824a68191 (patch)
treeb94f42ee5d66e4e1354be5389865af0b0dc507c9
parentb2cb622bf1ea754a73ce06e165a083e3305aa807 (diff)
refs #5192 introducing a user menu
-rw-r--r--core/Menu/MenuAdmin.php5
-rwxr-xr-xcore/Menu/MenuUser.php2
-rw-r--r--core/Plugin/Controller.php4
-rw-r--r--core/Plugin/ControllerAdmin.php4
-rw-r--r--plugins/API/Menu.php14
-rw-r--r--plugins/Actions/Menu.php8
-rw-r--r--plugins/CoreAdminHome/Controller.php4
-rw-r--r--plugins/CoreHome/CoreHome.php3
-rw-r--r--plugins/CoreHome/angularjs/menudropdown/menudropdown-directive.js28
-rw-r--r--plugins/CoreHome/angularjs/menudropdown/menudropdown.html9
-rw-r--r--plugins/CoreHome/angularjs/menudropdown/menudropdown.less64
-rw-r--r--plugins/CoreHome/templates/_topBarHelloMenu.twig53
-rw-r--r--plugins/CoreHome/templates/_topBarTopMenu.twig5
-rw-r--r--plugins/CorePluginsAdmin/CorePluginsAdmin.php3
-rw-r--r--plugins/DBStats/DBStats.php2
-rw-r--r--plugins/DBStats/Menu.php7
-rw-r--r--plugins/DevicesDetection/DevicesDetection.php3
-rw-r--r--plugins/Feedback/Feedback.php13
-rw-r--r--plugins/Feedback/Menu.php29
-rw-r--r--plugins/Installation/Installation.php3
-rw-r--r--plugins/LanguagesManager/templates/getLanguagesSelector.twig2
-rw-r--r--plugins/MobileMessaging/MobileMessaging.php3
-rw-r--r--plugins/PrivacyManager/PrivacyManager.php3
-rw-r--r--plugins/ScheduledReports/Menu.php76
-rw-r--r--plugins/ScheduledReports/ScheduledReports.php60
-rw-r--r--plugins/SitesManager/SitesManager.php1
-rw-r--r--plugins/UserCountry/UserCountry.php2
-rw-r--r--plugins/UsersManager/UsersManager.php1
-rw-r--r--plugins/Widgetize/Menu.php24
-rw-r--r--plugins/Widgetize/Widgetize.php9
-rw-r--r--plugins/Zeitgeist/stylesheets/ui/_header.less2
-rw-r--r--plugins/Zeitgeist/stylesheets/ui/_languageSelect.less4
32 files changed, 307 insertions, 143 deletions
diff --git a/core/Menu/MenuAdmin.php b/core/Menu/MenuAdmin.php
index 0b41bb33c5..899b417849 100644
--- a/core/Menu/MenuAdmin.php
+++ b/core/Menu/MenuAdmin.php
@@ -49,11 +49,6 @@ class MenuAdmin extends MenuAbstract
self::getInstance()->add('General_Settings', $adminMenuName, $url, $displayedForCurrentUser, $order);
}
- public function add($adminMenuName, $url, $displayedForCurrentUser = true, $order = 20)
- {
- parent::add('General_Settings', $adminMenuName, $url, $displayedForCurrentUser, $order);
- }
-
/**
* Triggers the Menu.MenuAdmin.addItems hook and returns the admin menu.
*
diff --git a/core/Menu/MenuUser.php b/core/Menu/MenuUser.php
index dd27fa4aef..f492916794 100755
--- a/core/Menu/MenuUser.php
+++ b/core/Menu/MenuUser.php
@@ -31,7 +31,7 @@ use Piwik\Piwik;
*
* @method static \Piwik\Menu\MenuUser getInstance()
*/
-class MenuUser extends MenuTop
+class MenuUser extends MenuAbstract
{
/**
diff --git a/core/Plugin/Controller.php b/core/Plugin/Controller.php
index e767b1de4b..9fd08fd2d0 100644
--- a/core/Plugin/Controller.php
+++ b/core/Plugin/Controller.php
@@ -19,6 +19,7 @@ use Piwik\DataTable\Filter\CalculateEvolutionFilter;
use Piwik\Date;
use Piwik\FrontController;
use Piwik\Menu\MenuTop;
+use Piwik\Menu\MenuUser;
use Piwik\NoAccessException;
use Piwik\Notification\Manager as NotificationManager;
use Piwik\Period\Month;
@@ -563,7 +564,8 @@ abstract class Controller
$this->setBasicVariablesView($view);
- $view->topMenu = MenuTop::getInstance()->getMenu();
+ $view->topMenu = MenuTop::getInstance()->getMenu();
+ $view->userMenu = MenuUser::getInstance()->getMenu();
$notifications = $view->notifications;
if (empty($notifications)) {
diff --git a/core/Plugin/ControllerAdmin.php b/core/Plugin/ControllerAdmin.php
index 4f8f885ef9..b3799c2ac6 100644
--- a/core/Plugin/ControllerAdmin.php
+++ b/core/Plugin/ControllerAdmin.php
@@ -12,6 +12,7 @@ use Piwik\Config as PiwikConfig;
use Piwik\Config;
use Piwik\Menu\MenuAdmin;
use Piwik\Menu\MenuTop;
+use Piwik\Menu\MenuUser;
use Piwik\Notification;
use Piwik\Notification\Manager as NotificationManager;
use Piwik\Piwik;
@@ -160,7 +161,8 @@ abstract class ControllerAdmin extends Controller
self::notifyWhenTrackingStatisticsDisabled();
self::notifyIfEAcceleratorIsUsed();
- $view->topMenu = MenuTop::getInstance()->getMenu();
+ $view->topMenu = MenuTop::getInstance()->getMenu();
+ $view->userMenu = MenuUser::getInstance()->getMenu();
$view->currentAdminMenuName = MenuAdmin::getInstance()->getCurrentAdminMenuName();
$view->isDataPurgeSettingsEnabled = self::isDataPurgeSettingsEnabled();
diff --git a/plugins/API/Menu.php b/plugins/API/Menu.php
index 61c2932b54..f383dbb9f5 100644
--- a/plugins/API/Menu.php
+++ b/plugins/API/Menu.php
@@ -9,24 +9,26 @@
namespace Piwik\Plugins\API;
use Piwik\Menu\MenuTop;
+use Piwik\Menu\MenuUser;
use Piwik\Piwik;
-/**
- */
class Menu extends \Piwik\Plugin\Menu
{
public function configureTopMenu(MenuTop $menu)
{
+ $this->addTopMenuMobileApp($menu);
+ }
+
+ public function configureUserMenu(MenuUser $menu)
+ {
$apiUrlParams = array('module' => 'API', 'action' => 'listAllAPI', 'segment' => false);
$tooltip = Piwik::translate('API_TopLinkTooltip');
- $menu->add('General_API', null, $apiUrlParams, true, 7, $tooltip);
-
- $this->addTopMenuMobileApp($menu);
+ $menu->add('CorePluginsAdmin_MenuPlatform', 'General_API', $apiUrlParams, true, 6, $tooltip);
}
- protected function addTopMenuMobileApp(MenuTop $menu)
+ private function addTopMenuMobileApp(MenuTop $menu)
{
if (empty($_SERVER['HTTP_USER_AGENT'])) {
return;
diff --git a/plugins/Actions/Menu.php b/plugins/Actions/Menu.php
index 10cd70f812..3c3030462a 100644
--- a/plugins/Actions/Menu.php
+++ b/plugins/Actions/Menu.php
@@ -8,16 +8,8 @@
*/
namespace Piwik\Plugins\Actions;
-use Exception;
-use Piwik\Common;
-use Piwik\Db;
-use Piwik\Menu\MenuAbstract;
use Piwik\Menu\MenuReporting;
-use Piwik\Piwik;
-use Piwik\Site;
-/**
- */
class Menu extends \Piwik\Plugin\Menu
{
public function configureReportingMenu(MenuReporting $menu)
diff --git a/plugins/CoreAdminHome/Controller.php b/plugins/CoreAdminHome/Controller.php
index 41fb7aab2d..98f7e8c55e 100644
--- a/plugins/CoreAdminHome/Controller.php
+++ b/plugins/CoreAdminHome/Controller.php
@@ -15,6 +15,7 @@ use Piwik\Common;
use Piwik\Config;
use Piwik\DataTable\Renderer\Json;
use Piwik\Menu\MenuTop;
+use Piwik\Menu\MenuUser;
use Piwik\Nonce;
use Piwik\Piwik;
use Piwik\Plugins\CorePluginsAdmin\UpdateCommunication;
@@ -202,7 +203,8 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
{
$view = new View('@CoreAdminHome/trackingCodeGenerator');
$this->setBasicVariablesView($view);
- $view->topMenu = MenuTop::getInstance()->getMenu();
+ $view->topMenu = MenuTop::getInstance()->getMenu();
+ $view->userMenu = MenuUser::getInstance()->getMenu();
$viewableIdSites = APISitesManager::getInstance()->getSitesIdWithAtLeastViewAccess();
diff --git a/plugins/CoreHome/CoreHome.php b/plugins/CoreHome/CoreHome.php
index bdf580a8b6..b3580407f8 100644
--- a/plugins/CoreHome/CoreHome.php
+++ b/plugins/CoreHome/CoreHome.php
@@ -56,6 +56,7 @@ class CoreHome extends \Piwik\Plugin
$stylesheets[] = "plugins/CoreHome/stylesheets/notification.less";
$stylesheets[] = "plugins/CoreHome/stylesheets/zen-mode.less";
$stylesheets[] = "plugins/CoreHome/angularjs/enrichedheadline/enrichedheadline.less";
+ $stylesheets[] = "plugins/CoreHome/angularjs/menudropdown/menudropdown.less";
}
public function getJsFiles(&$jsFiles)
@@ -125,6 +126,8 @@ class CoreHome extends \Piwik\Plugin
$jsFiles[] = "plugins/CoreHome/angularjs/siteselector/siteselector-controller.js";
$jsFiles[] = "plugins/CoreHome/angularjs/siteselector/siteselector-directive.js";
+ $jsFiles[] = "plugins/CoreHome/angularjs/menudropdown/menudropdown-directive.js";
+
$jsFiles[] = "plugins/CoreHome/angularjs/enrichedheadline/enrichedheadline-directive.js";
}
diff --git a/plugins/CoreHome/angularjs/menudropdown/menudropdown-directive.js b/plugins/CoreHome/angularjs/menudropdown/menudropdown-directive.js
new file mode 100644
index 0000000000..b599f40e70
--- /dev/null
+++ b/plugins/CoreHome/angularjs/menudropdown/menudropdown-directive.js
@@ -0,0 +1,28 @@
+/*!
+ * Piwik - Web Analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ */
+
+/**
+ * Usage:
+ * <div piwik-menudropdown title="MyMenuItem">
+ * <a class="item" href="/url"></a>
+ * <a class="item active">test</a>
+ * <a class="item disabled">-------</a>
+ * <a class="item" href="/url"></a>
+ * </div>
+ */
+angular.module('piwikApp').directive('piwikMenudropdown', function(){
+
+ return {
+ transclude: true,
+ replace: true,
+ restrict: 'A',
+ scope: {
+ title: '@'
+ },
+ templateUrl: 'plugins/CoreHome/angularjs/menudropdown/menudropdown.html?cb=' + piwik.cacheBuster
+ };
+}); \ No newline at end of file
diff --git a/plugins/CoreHome/angularjs/menudropdown/menudropdown.html b/plugins/CoreHome/angularjs/menudropdown/menudropdown.html
new file mode 100644
index 0000000000..c7a4e715aa
--- /dev/null
+++ b/plugins/CoreHome/angularjs/menudropdown/menudropdown.html
@@ -0,0 +1,9 @@
+<div piwik-focus-anywhere-but-here="view.showItems=false" class="menuDropdown">
+
+ <span class="title"
+ ng-click="view.showItems=!view.showItems"
+ >{{ title }}</span>
+
+ <div class="items" ng-show="view.showItems" ng-transclude></div>
+
+</div> \ No newline at end of file
diff --git a/plugins/CoreHome/angularjs/menudropdown/menudropdown.less b/plugins/CoreHome/angularjs/menudropdown/menudropdown.less
new file mode 100644
index 0000000000..941db9ac66
--- /dev/null
+++ b/plugins/CoreHome/angularjs/menudropdown/menudropdown.less
@@ -0,0 +1,64 @@
+
+.menuDropdown {
+ display: inline-block;
+ padding-right: 14px;
+ color: @theme-color-link;
+
+ .title {
+ position: relative;
+ cursor: pointer;
+
+ &:after {
+ content: '';
+ position: absolute;
+ top: 5px;
+ right: -15px;
+ color: @theme-color-link;
+ display: inline;
+ content: " \25BC";
+ font-size: 1px;
+ height: 0px;
+ width: 0px;
+ border-left: 4px solid transparent;
+ border-right: 4px solid transparent;
+ border-top: 5px solid #1E93D1;
+ }
+ }
+
+ .items {
+ z-index: 21;
+ position: absolute;
+ max-width: 200px;
+ border: 1px solid @color-silver-l80 !important;
+ background: @theme-color-background-base;
+ max-height: 400px;
+ overflow-y: auto;
+ overflow-x: hidden;
+ padding: 0 !important;
+
+ .item {
+ display: block;
+ color: @theme-color-text !important;
+ text-decoration: none !important;
+ padding: 1px 25px 1px 3px !important;
+
+ &:hover {
+ background: @color-silver-l80;
+ }
+
+ &.active {
+ background-color: @color-silver-l80;
+ cursor: default;
+ }
+
+ &.disabled {
+ opacity: 0.5;
+ cursor: default;
+
+ &:hover {
+ background: @theme-color-background-base;
+ }
+ }
+ }
+ }
+}
diff --git a/plugins/CoreHome/templates/_topBarHelloMenu.twig b/plugins/CoreHome/templates/_topBarHelloMenu.twig
index 35f1877102..90ca8161a3 100644
--- a/plugins/CoreHome/templates/_topBarHelloMenu.twig
+++ b/plugins/CoreHome/templates/_topBarHelloMenu.twig
@@ -1,20 +1,55 @@
<div id="topRightBar">
{% set helloAlias %}
{% if userAlias is not empty %}
- <strong>{{ userAlias }}</strong>
+ {{ userAlias }}
{% else %}
- <strong>{{ userLogin }}</strong>
+ {{ userLogin }}
{% endif %}
{% endset %}
- <span class="topBarElem">{{ 'General_HelloUser'|translate(helloAlias|trim)|raw }}</span>
- {% if userLogin != 'anonymous' %}
- |
- {% if isAdminLayout is defined %}
- <span class="topBarElem topBarElemActive">{{ 'General_Settings'|translate }}</span>
+
+ {% macro userMenuItem(label, menu, currentModule, currentAction) %}
+ {% if (menu._url.module == currentModule and (menu._url.action is empty or menu._url.action == currentAction)) %}
+ <a class="active item"
+ {% if menu._tooltip is defined %}title="{{ menu._tooltip }}"{% endif %}
+ >{{ label|translate }}</a>
{% else %}
- <span class="topBarElem"><a href='index.php?module=CoreAdminHome'>{{ 'General_Settings'|translate }}</a></span>
+ <a class="item"
+ href="index.php{{ menu._url|urlRewriteWithParameters }}"
+ {% if menu._tooltip is defined %}title="{{ menu._tooltip }}"{% endif %}
+ >{{ label|translate }}</a>
{% endif %}
- {% endif %}
+ {% endmacro %}
+
+ <span class="topBarElem">
+ <div title="{{ helloAlias|trim|raw }}"
+ piwik-menudropdown>
+
+ {% if userLogin != 'anonymous' %}
+ {% if isAdminLayout is defined %}
+ <a class="item active">{{ 'General_Settings'|translate }}</a>
+ {% else %}
+ <a class="item" href="index.php?module=CoreAdminHome">{{ 'General_Settings'|translate }}</a>
+ {% endif %}
+ {% endif %}
+
+ {% for lev1UserLabel,lev1UserMenu in userMenu if lev1UserLabel|slice(0,1) != '_' %}
+
+ {% if userLogin != 'anonymous' or not loop.first %}
+ <span class="item disabled">--------</span>
+ {% endif %}
+
+ {% if lev1UserMenu._hasSubmenu is defined and lev1UserMenu._hasSubmenu %}
+ {% for lev2Label,lev2Menu in lev1UserMenu if lev2Label|slice(0,1) != '_' %}
+ {{ _self.userMenuItem(lev2Label, lev2Menu, currentModule, currentAction) }}
+ {% endfor %}
+ {% else %}
+ {{ _self.userMenuItem(lev1UserLabel, lev1UserMenu, currentModule, currentAction) }}
+ {% endif %}
+
+ {% endfor %}
+ </div>
+ </span>
+
| <span class="topBarElem">
{% if userLogin == 'anonymous' %}
<a href='index.php?module={{ loginModule }}'>{{ 'Login_LogIn'|translate }}</a>
diff --git a/plugins/CoreHome/templates/_topBarTopMenu.twig b/plugins/CoreHome/templates/_topBarTopMenu.twig
index a4dc16b047..073061992d 100644
--- a/plugins/CoreHome/templates/_topBarTopMenu.twig
+++ b/plugins/CoreHome/templates/_topBarTopMenu.twig
@@ -3,11 +3,12 @@
{% if menu._html is defined %}
{{ menu._html|raw }}
{% elseif (menu._url.module == currentModule and (menu._url.action is empty or menu._url.action == currentAction)) %}
- <span class="topBarElem topBarElemActive"><strong>{{ label|translate }}</strong></span>{% if not loop.last %} |{% endif %}
+ <span class="topBarElem topBarElemActive"><strong>{{ label|translate }}</strong></span>
{% else %}
<span class="topBarElem" {% if menu._tooltip is defined %}title="{{ menu._tooltip }}"{% endif %}>
<a id="topmenu-{{ menu._url.module|lower }}" href="index.php{{ menu._url|urlRewriteWithParameters }}">{{ label|translate }}</a>
- </span>{% if not loop.last %} | {% endif %}
+ </span>
{% endif %}
+ |
{% endfor %}
</div> \ No newline at end of file
diff --git a/plugins/CorePluginsAdmin/CorePluginsAdmin.php b/plugins/CorePluginsAdmin/CorePluginsAdmin.php
index 4014b96bfe..c3f0a5f75d 100644
--- a/plugins/CorePluginsAdmin/CorePluginsAdmin.php
+++ b/plugins/CorePluginsAdmin/CorePluginsAdmin.php
@@ -9,9 +9,6 @@
namespace Piwik\Plugins\CorePluginsAdmin;
use Piwik\Config;
-use Piwik\Menu\MenuAbstract;
-use Piwik\Menu\MenuAdmin;
-use Piwik\Piwik;
use Piwik\Plugin;
use Piwik\ScheduledTask;
use Piwik\ScheduledTime;
diff --git a/plugins/DBStats/DBStats.php b/plugins/DBStats/DBStats.php
index e1b02aa5bd..619ebc1ef7 100644
--- a/plugins/DBStats/DBStats.php
+++ b/plugins/DBStats/DBStats.php
@@ -9,8 +9,6 @@
namespace Piwik\Plugins\DBStats;
use Piwik\Date;
-use Piwik\Menu\MenuAbstract;
-use Piwik\Menu\MenuAdmin;
use Piwik\Option;
use Piwik\Piwik;
use Piwik\Plugin\ViewDataTable;
diff --git a/plugins/DBStats/Menu.php b/plugins/DBStats/Menu.php
index aa1c1693a4..1b49589d99 100644
--- a/plugins/DBStats/Menu.php
+++ b/plugins/DBStats/Menu.php
@@ -8,15 +8,8 @@
*/
namespace Piwik\Plugins\DBStats;
-use Exception;
-use Piwik\Common;
-use Piwik\Db;
-use Piwik\Menu\MenuAbstract;
use Piwik\Menu\MenuAdmin;
-use Piwik\Menu\MenuReporting;
-use Piwik\Menu\MenuTop;
use Piwik\Piwik;
-use Piwik\Site;
/**
*/
diff --git a/plugins/DevicesDetection/DevicesDetection.php b/plugins/DevicesDetection/DevicesDetection.php
index d6ded700e8..1f11715119 100644
--- a/plugins/DevicesDetection/DevicesDetection.php
+++ b/plugins/DevicesDetection/DevicesDetection.php
@@ -15,9 +15,6 @@ use Piwik\ArchiveProcessor;
use Piwik\CacheFile;
use Piwik\Common;
use Piwik\Db;
-use Piwik\Menu\MenuAbstract;
-use Piwik\Menu\MenuAdmin;
-use Piwik\Menu\MenuMain;
use Piwik\Piwik;
use Piwik\Plugin\ViewDataTable;
use Piwik\WidgetsList;
diff --git a/plugins/Feedback/Feedback.php b/plugins/Feedback/Feedback.php
index c0f2600b8e..450c23e07a 100644
--- a/plugins/Feedback/Feedback.php
+++ b/plugins/Feedback/Feedback.php
@@ -25,23 +25,10 @@ class Feedback extends \Piwik\Plugin
return array(
'AssetManager.getStylesheetFiles' => 'getStylesheetFiles',
'AssetManager.getJavaScriptFiles' => 'getJsFiles',
- 'Menu.Top.addItems' => 'addTopMenu',
'Translate.getClientSideTranslationKeys' => 'getClientSideTranslationKeys'
);
}
- public function addTopMenu(MenuTop $menu)
- {
- $menu->add(
- 'General_Help',
- null,
- array('module' => 'Feedback', 'action' => 'index', 'segment' => false),
- true,
- $order = 20,
- $tooltip = Piwik::translate('Feedback_TopLinkTooltip')
- );
- }
-
public function getStylesheetFiles(&$stylesheets)
{
$stylesheets[] = "plugins/Feedback/stylesheets/feedback.less";
diff --git a/plugins/Feedback/Menu.php b/plugins/Feedback/Menu.php
new file mode 100644
index 0000000000..c41e9d783e
--- /dev/null
+++ b/plugins/Feedback/Menu.php
@@ -0,0 +1,29 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+namespace Piwik\Plugins\Feedback;
+
+use Piwik\Menu\MenuUser;
+use Piwik\Piwik;
+
+/**
+ */
+class Menu extends \Piwik\Plugin\Menu
+{
+ public function configureUserMenu(MenuUser $menu)
+ {
+ $menu->add(
+ 'General_Help',
+ 'General_Help',
+ array('module' => 'Feedback', 'action' => 'index', 'segment' => false),
+ true,
+ $order = 20,
+ $tooltip = Piwik::translate('Feedback_TopLinkTooltip')
+ );
+ }
+}
diff --git a/plugins/Installation/Installation.php b/plugins/Installation/Installation.php
index 90e07944d1..652d3b117f 100644
--- a/plugins/Installation/Installation.php
+++ b/plugins/Installation/Installation.php
@@ -12,7 +12,6 @@ use Piwik\Common;
use Piwik\Config;
use Piwik\FrontController;
use Piwik\Menu\MenuAbstract;
-use Piwik\Menu\MenuAdmin;
use Piwik\Piwik;
use Piwik\Translate;
@@ -98,7 +97,7 @@ class Installation extends \Piwik\Plugin
*/
public function addMenu(MenuAbstract $menu)
{
- $menu->add('Installation_SystemCheck',
+ $menu->add('General_Settings', 'Installation_SystemCheck',
array('module' => 'Installation', 'action' => 'systemCheckPage'),
Piwik::hasUserSuperUserAccess(),
$order = 15);
diff --git a/plugins/LanguagesManager/templates/getLanguagesSelector.twig b/plugins/LanguagesManager/templates/getLanguagesSelector.twig
index 0b602d803e..6b71ae437d 100644
--- a/plugins/LanguagesManager/templates/getLanguagesSelector.twig
+++ b/plugins/LanguagesManager/templates/getLanguagesSelector.twig
@@ -14,4 +14,4 @@
<input type="submit" value="go"/>
</form>
</span>
-</span>
+</span> \ No newline at end of file
diff --git a/plugins/MobileMessaging/MobileMessaging.php b/plugins/MobileMessaging/MobileMessaging.php
index 9e7034baf7..d5a52417c7 100644
--- a/plugins/MobileMessaging/MobileMessaging.php
+++ b/plugins/MobileMessaging/MobileMessaging.php
@@ -9,7 +9,6 @@
namespace Piwik\Plugins\MobileMessaging;
use Piwik\Menu\MenuAbstract;
-use Piwik\Menu\MenuAdmin;
use Piwik\Option;
use Piwik\Piwik;
use Piwik\Plugins\API\API as APIPlugins;
@@ -85,7 +84,7 @@ class MobileMessaging extends \Piwik\Plugin
function addMenu(MenuAbstract $menu)
{
- $menu->add('MobileMessaging_SettingsMenu',
+ $menu->add('General_Settings', 'MobileMessaging_SettingsMenu',
array('module' => 'MobileMessaging', 'action' => 'index'),
true,
$order = 12
diff --git a/plugins/PrivacyManager/PrivacyManager.php b/plugins/PrivacyManager/PrivacyManager.php
index b626aaff28..a0cb2017b6 100644
--- a/plugins/PrivacyManager/PrivacyManager.php
+++ b/plugins/PrivacyManager/PrivacyManager.php
@@ -14,7 +14,6 @@ use Piwik\DataTable\DataTableInterface;
use Piwik\Date;
use Piwik\Db;
use Piwik\Menu\MenuAbstract;
-use Piwik\Menu\MenuAdmin;
use Piwik\Metrics;
use Piwik\Option;
use Piwik\Period;
@@ -177,7 +176,7 @@ class PrivacyManager extends \Piwik\Plugin
function addMenu(MenuAbstract $menu)
{
- $menu->add('PrivacyManager_MenuPrivacySettings',
+ $menu->add('General_Settings', 'PrivacyManager_MenuPrivacySettings',
array('module' => 'PrivacyManager', 'action' => 'privacySettings'),
Piwik::isUserHasSomeAdminAccess(),
$order = 7);
diff --git a/plugins/ScheduledReports/Menu.php b/plugins/ScheduledReports/Menu.php
new file mode 100644
index 0000000000..7d9f180062
--- /dev/null
+++ b/plugins/ScheduledReports/Menu.php
@@ -0,0 +1,76 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+namespace Piwik\Plugins\ScheduledReports;
+
+use Piwik\Menu\MenuUser;
+use Piwik\Piwik;
+use Piwik\Plugins\MobileMessaging\MobileMessaging;
+use Piwik\Plugins\MobileMessaging\API as APIMobileMessaging;
+
+class Menu extends \Piwik\Plugin\Menu
+{
+ public function configureUserMenu(MenuUser $menu)
+ {
+ $tooltip = Piwik::translate(
+ \Piwik\Plugin\Manager::getInstance()->isPluginActivated('MobileMessaging')
+ ? 'MobileMessaging_TopLinkTooltip' : 'ScheduledReports_TopLinkTooltip');
+
+ $menu->add(
+ 'CoreAdminHome_MenuManage',
+ $this->getTopMenuTranslationKey(),
+ array('module' => 'ScheduledReports', 'action' => 'index', 'segment' => false),
+ true,
+ 13,
+ $tooltip
+ );
+ }
+
+ function getTopMenuTranslationKey()
+ {
+ // if MobileMessaging is not activated, display 'Email reports'
+ if (!\Piwik\Plugin\Manager::getInstance()->isPluginActivated('MobileMessaging'))
+ return ScheduledReports::PDF_REPORTS_TOP_MENU_TRANSLATION_KEY;
+
+ if (Piwik::isUserIsAnonymous()) {
+ return ScheduledReports::MOBILE_MESSAGING_TOP_MENU_TRANSLATION_KEY;
+ }
+
+ try {
+ $reports = API::getInstance()->getReports();
+ $reportCount = count($reports);
+
+ // if there are no reports and the mobile account is
+ // - not configured: display 'Email reports'
+ // - configured: display 'Email & SMS reports'
+ if ($reportCount == 0) {
+ return APIMobileMessaging::getInstance()->areSMSAPICredentialProvided() ?
+ ScheduledReports::MOBILE_MESSAGING_TOP_MENU_TRANSLATION_KEY : ScheduledReports::PDF_REPORTS_TOP_MENU_TRANSLATION_KEY;
+ }
+ } catch(\Exception $e) {
+ return ScheduledReports::PDF_REPORTS_TOP_MENU_TRANSLATION_KEY;
+ }
+
+
+ $anyMobileReport = false;
+ foreach ($reports as $report) {
+ if ($report['type'] == MobileMessaging::MOBILE_TYPE) {
+ $anyMobileReport = true;
+ break;
+ }
+ }
+
+ // if there is at least one sms report, display 'Email & SMS reports'
+ if ($anyMobileReport) {
+ return ScheduledReports::MOBILE_MESSAGING_TOP_MENU_TRANSLATION_KEY;
+ }
+
+ return ScheduledReports::PDF_REPORTS_TOP_MENU_TRANSLATION_KEY;
+ }
+
+}
diff --git a/plugins/ScheduledReports/ScheduledReports.php b/plugins/ScheduledReports/ScheduledReports.php
index f56de16e2d..afb0e7a22c 100644
--- a/plugins/ScheduledReports/ScheduledReports.php
+++ b/plugins/ScheduledReports/ScheduledReports.php
@@ -13,9 +13,7 @@ use Piwik\Common;
use Piwik\Db;
use Piwik\DbHelper;
use Piwik\Mail;
-use Piwik\Menu\MenuTop;
use Piwik\Piwik;
-use Piwik\Plugins\MobileMessaging\API as APIMobileMessaging;
use Piwik\Plugins\MobileMessaging\MobileMessaging;
use Piwik\Plugins\SegmentEditor\API as APISegmentEditor;
use Piwik\Plugins\UsersManager\API as APIUsersManager;
@@ -76,7 +74,6 @@ class ScheduledReports extends \Piwik\Plugin
public function getListHooksRegistered()
{
return array(
- 'Menu.Top.addItems' => 'addTopMenu',
'TaskScheduler.getScheduledTasks' => 'getScheduledTasks',
'AssetManager.getJavaScriptFiles' => 'getJsFiles',
'MobileMessaging.deletePhoneNumber' => 'deletePhoneNumber',
@@ -504,63 +501,6 @@ class ScheduledReports extends \Piwik\Plugin
}
}
- function addTopMenu(MenuTop $menu)
- {
- $menu->add(
- $this->getTopMenuTranslationKey(),
- null,
- array('module' => 'ScheduledReports', 'action' => 'index', 'segment' => false),
- true,
- 13,
- $tooltip = Piwik::translate(
- \Piwik\Plugin\Manager::getInstance()->isPluginActivated('MobileMessaging')
- ? 'MobileMessaging_TopLinkTooltip' : 'ScheduledReports_TopLinkTooltip'
- )
- );
- }
-
- function getTopMenuTranslationKey()
- {
- // if MobileMessaging is not activated, display 'Email reports'
- if (!\Piwik\Plugin\Manager::getInstance()->isPluginActivated('MobileMessaging'))
- return self::PDF_REPORTS_TOP_MENU_TRANSLATION_KEY;
-
- if (Piwik::isUserIsAnonymous()) {
- return self::MOBILE_MESSAGING_TOP_MENU_TRANSLATION_KEY;
- }
-
- try {
- $reports = API::getInstance()->getReports();
- $reportCount = count($reports);
-
- // if there are no reports and the mobile account is
- // - not configured: display 'Email reports'
- // - configured: display 'Email & SMS reports'
- if ($reportCount == 0) {
- return APIMobileMessaging::getInstance()->areSMSAPICredentialProvided() ?
- self::MOBILE_MESSAGING_TOP_MENU_TRANSLATION_KEY : self::PDF_REPORTS_TOP_MENU_TRANSLATION_KEY;
- }
- } catch(\Exception $e) {
- return self::PDF_REPORTS_TOP_MENU_TRANSLATION_KEY;
- }
-
-
- $anyMobileReport = false;
- foreach ($reports as $report) {
- if ($report['type'] == MobileMessaging::MOBILE_TYPE) {
- $anyMobileReport = true;
- break;
- }
- }
-
- // if there is at least one sms report, display 'Email & SMS reports'
- if ($anyMobileReport) {
- return self::MOBILE_MESSAGING_TOP_MENU_TRANSLATION_KEY;
- }
-
- return self::PDF_REPORTS_TOP_MENU_TRANSLATION_KEY;
- }
-
public function deleteUserReport($userLogin)
{
Db::query('DELETE FROM ' . Common::prefixTable('report') . ' WHERE login = ?', $userLogin);
diff --git a/plugins/SitesManager/SitesManager.php b/plugins/SitesManager/SitesManager.php
index 47fc57d9f6..5417246b97 100644
--- a/plugins/SitesManager/SitesManager.php
+++ b/plugins/SitesManager/SitesManager.php
@@ -9,7 +9,6 @@
namespace Piwik\Plugins\SitesManager;
use Piwik\Menu\MenuAbstract;
-use Piwik\Menu\MenuAdmin;
use Piwik\Piwik;
/**
diff --git a/plugins/UserCountry/UserCountry.php b/plugins/UserCountry/UserCountry.php
index e494b80270..0464cbfaf2 100644
--- a/plugins/UserCountry/UserCountry.php
+++ b/plugins/UserCountry/UserCountry.php
@@ -13,8 +13,6 @@ use Piwik\Common;
use Piwik\Config;
use Piwik\IP;
use Piwik\Menu\MenuAbstract;
-use Piwik\Menu\MenuAdmin;
-use Piwik\Menu\MenuMain;
use Piwik\Piwik;
use Piwik\Plugin\Manager;
use Piwik\Plugin\ViewDataTable;
diff --git a/plugins/UsersManager/UsersManager.php b/plugins/UsersManager/UsersManager.php
index b7aab89915..66e0765cd9 100644
--- a/plugins/UsersManager/UsersManager.php
+++ b/plugins/UsersManager/UsersManager.php
@@ -11,7 +11,6 @@ namespace Piwik\Plugins\UsersManager;
use Exception;
use Piwik\Db;
use Piwik\Menu\MenuAbstract;
-use Piwik\Menu\MenuAdmin;
use Piwik\Option;
use Piwik\Piwik;
use Piwik\SettingsPiwik;
diff --git a/plugins/Widgetize/Menu.php b/plugins/Widgetize/Menu.php
new file mode 100644
index 0000000000..a60a6e14b5
--- /dev/null
+++ b/plugins/Widgetize/Menu.php
@@ -0,0 +1,24 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+namespace Piwik\Plugins\Widgetize;
+
+use Piwik\Menu\MenuUser;
+use Piwik\Piwik;
+
+class Menu extends \Piwik\Plugin\Menu
+{
+ public function configureUserMenu(MenuUser $menu)
+ {
+ $tooltip = Piwik::translate('Widgetize_TopLinkTooltip');
+ $urlParams = array('module' => 'Widgetize', 'action' => 'index', 'segment' => false);
+
+ $menu->add('CorePluginsAdmin_MenuPlatform', 'General_Widgets', $urlParams, true, 5, $tooltip);
+ }
+
+}
diff --git a/plugins/Widgetize/Widgetize.php b/plugins/Widgetize/Widgetize.php
index aa199a5207..9fee484020 100644
--- a/plugins/Widgetize/Widgetize.php
+++ b/plugins/Widgetize/Widgetize.php
@@ -25,19 +25,10 @@ class Widgetize extends \Piwik\Plugin
return array(
'AssetManager.getJavaScriptFiles' => 'getJsFiles',
'AssetManager.getStylesheetFiles' => 'getStylesheetFiles',
- 'Menu.Top.addItems' => 'addTopMenu',
'Translate.getClientSideTranslationKeys' => 'getClientSideTranslationKeys'
);
}
- public function addTopMenu(MenuTop $menu)
- {
- $tooltip = Piwik::translate('Widgetize_TopLinkTooltip');
- $urlParams = array('module' => 'Widgetize', 'action' => 'index', 'segment' => false);
-
- $menu->add('General_Widgets', null, $urlParams, true, 5, $tooltip);
- }
-
public function getJsFiles(&$jsFiles)
{
$jsFiles[] = "libs/jquery/jquery.truncate.js";
diff --git a/plugins/Zeitgeist/stylesheets/ui/_header.less b/plugins/Zeitgeist/stylesheets/ui/_header.less
index 6522fb42fe..43725d84ec 100644
--- a/plugins/Zeitgeist/stylesheets/ui/_header.less
+++ b/plugins/Zeitgeist/stylesheets/ui/_header.less
@@ -60,7 +60,7 @@
}
#topLeftBar {
- margin-right: 40px;
+ margin-right: 5px;
}
.topBarElem {
diff --git a/plugins/Zeitgeist/stylesheets/ui/_languageSelect.less b/plugins/Zeitgeist/stylesheets/ui/_languageSelect.less
index cbe890246e..5ea94c497d 100644
--- a/plugins/Zeitgeist/stylesheets/ui/_languageSelect.less
+++ b/plugins/Zeitgeist/stylesheets/ui/_languageSelect.less
@@ -7,6 +7,10 @@
border: 1px solid #1F447F!important;
}
+#languageSelection {
+ padding-right: 11px;
+}
+
#languageSelection > form {
display: inline-block;
}