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:
authormattpiwik <matthieu.aubry@gmail.com>2008-04-09 03:40:38 +0400
committermattpiwik <matthieu.aubry@gmail.com>2008-04-09 03:40:38 +0400
commit7406a1a81dbd0c4550811670b3614a3699fea6f7 (patch)
tree96beb3c205902d79dde930ce3838a5c0613dbeae /modules/PluginsFunctions
parent84c6df9f45eba28bee78feea7a204a25c16904dc (diff)
- adding Piwik_EditMenuUrl('Visitors', 'Locations', array('module' => 'GeoIp')); which edits the LINK in the menu entry, so that the menu links another plugin instead.
useful for plugin that want to do the same job as an existing plugin, but better :) git-svn-id: http://dev.piwik.org/svn/trunk@440 59fd770c-687e-43c8-a1e3-f5a4ff64c105
Diffstat (limited to 'modules/PluginsFunctions')
-rw-r--r--modules/PluginsFunctions/Menu.php53
1 files changed, 46 insertions, 7 deletions
diff --git a/modules/PluginsFunctions/Menu.php b/modules/PluginsFunctions/Menu.php
index 84e06b5a70..6d45f587cc 100644
--- a/modules/PluginsFunctions/Menu.php
+++ b/modules/PluginsFunctions/Menu.php
@@ -1,5 +1,7 @@
<?php
static $mainMenu = array();
+static $menuEditsToApply = array();
+static $menuRenameToApply = array();
// we setup the main categories in a specific order
$mainMenu['Dashboard'] = null;
@@ -13,6 +15,41 @@ $mainMenu['Live!'] = null;
function Piwik_GetMenu()
{
global $mainMenu;
+ global $menuEditsToApply;
+ global $menuRenameToApply;
+
+ // we apply the list of edits we've registered so far
+ foreach($menuEditsToApply as $edit)
+ {
+ $mainMenuToEdit = $edit[0];
+ $subMenuToEdit = $edit[1];
+ $newUrl = $edit[2];
+ if(!isset($mainMenu[$mainMenuToEdit][$subMenuToEdit]))
+ {
+ Piwik_AddMenu($mainMenuToEdit, $subMenuToEdit, $newUrl);
+ }
+ else
+ {
+ $mainMenu[$mainMenuToEdit][$subMenuToEdit] = $newUrl;
+ }
+ }
+
+ // we now apply the menu rename
+ foreach($menuRenameToApply as $rename)
+ {
+ $mainMenuOriginal = $rename[0];
+ $subMenuOriginal = $rename[1];
+ $mainMenuRenamed = $rename[2];
+ $subMenuRenamed = $rename[3];
+ if(isset($mainMenu[$mainMenuOriginal][$subMenuOriginal]))
+ {
+ $save = $mainMenu[$mainMenuOriginal][$subMenuOriginal];
+ unset($mainMenu[$mainMenuOriginal][$subMenuOriginal]);
+ $mainMenu[$mainMenuRenamed][$subMenuRenamed] = $save;
+ }
+ }
+
+ // we now do some cleaning on the menu
foreach($mainMenu as $key => &$element)
{
if(is_null($element))
@@ -57,11 +94,13 @@ function Piwik_AddMenu( $mainMenuName, $subMenuName, $url )
function Piwik_RenameMenuEntry($mainMenuOriginal, $subMenuOriginal,
$mainMenuRenamed, $subMenuRenamed)
{
- global $mainMenu;
- if(isset($mainMenu[$mainMenuOriginal][$subMenuOriginal]))
- {
- $save = $mainMenu[$mainMenuOriginal][$subMenuOriginal];
- unset($mainMenu[$mainMenuOriginal][$subMenuOriginal]);
- $mainMenu[$mainMenuRenamed][$subMenuRenamed] = $save;
- }
+ global $menuRenameToApply;
+ $menuRenameToApply[] = array($mainMenuOriginal, $subMenuOriginal,
+ $mainMenuRenamed, $subMenuRenamed);
}
+
+function Piwik_EditMenuUrl( $mainMenuToEdit, $subMenuToEdit, $newUrl )
+{
+ global $menuEditsToApply;
+ $menuEditsToApply[] = array($mainMenuToEdit, $subMenuToEdit, $newUrl);
+} \ No newline at end of file