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:
authormatt <matt@59fd770c-687e-43c8-a1e3-f5a4ff64c105>2008-03-28 03:33:02 +0300
committermatt <matt@59fd770c-687e-43c8-a1e3-f5a4ff64c105>2008-03-28 03:33:02 +0300
commitaeadb6f6b5accaa19dee96ed68cc0d3f4ad1fdcc (patch)
treee75aa5ef2580cce4e711a7730431eb2272e40c19 /modules/PluginsFunctions
parent5f01e995b241d489167563d4582a205a0e0910f1 (diff)
- refs #33 work in progress
Diffstat (limited to 'modules/PluginsFunctions')
-rw-r--r--modules/PluginsFunctions/AdminMenu.php33
-rw-r--r--modules/PluginsFunctions/Menu.php67
-rw-r--r--modules/PluginsFunctions/Sql.php34
-rw-r--r--modules/PluginsFunctions/Widget.php18
4 files changed, 152 insertions, 0 deletions
diff --git a/modules/PluginsFunctions/AdminMenu.php b/modules/PluginsFunctions/AdminMenu.php
new file mode 100644
index 0000000000..b450eb04f4
--- /dev/null
+++ b/modules/PluginsFunctions/AdminMenu.php
@@ -0,0 +1,33 @@
+<?php
+static $adminMenu = array();
+
+function Piwik_GetAdminMenu()
+{
+ global $adminMenu;
+ foreach($adminMenu as $key => &$element)
+ {
+ if(is_null($element))
+ {
+ unset($adminMenu[$key]);
+ }
+ }
+ return $adminMenu;
+}
+
+function Piwik_AddAdminMenu( $adminMenuName, $url )
+{
+ global $adminMenu;
+
+ if(!isset($adminMenu[$adminMenuName]))
+ {
+ $adminMenu[$adminMenuName] = $url;
+ }
+}
+
+function Piwik_RenameAdminMenuEntry($adminMenuOriginal, $adminMenuRenamed)
+{
+ global $adminMenu;
+ $save = $adminMenu[$adminMenuOriginal];
+ unset($adminMenu[$adminMenuOriginal]);
+ $adminMenu[$adminMenuRenamed] = $save;
+}
diff --git a/modules/PluginsFunctions/Menu.php b/modules/PluginsFunctions/Menu.php
new file mode 100644
index 0000000000..84e06b5a70
--- /dev/null
+++ b/modules/PluginsFunctions/Menu.php
@@ -0,0 +1,67 @@
+<?php
+static $mainMenu = array();
+
+// we setup the main categories in a specific order
+$mainMenu['Dashboard'] = null;
+$mainMenu['General'] = null;
+$mainMenu['Visitors'] = null;
+$mainMenu['Actions'] = null;
+$mainMenu['Referers'] = null;
+$mainMenu['Live!'] = null;
+
+
+function Piwik_GetMenu()
+{
+ global $mainMenu;
+ foreach($mainMenu as $key => &$element)
+ {
+ if(is_null($element))
+ {
+ unset($mainMenu[$key]);
+ }
+ else
+ {
+ // we want to move some submenus in the first position
+ $priority = array('Overview','Evolution');
+ foreach($priority as $name)
+ {
+ if(isset($element[$name]))
+ {
+ $newElement = array($name => $element[$name]);
+ unset($element[$name]);
+ $element = $newElement + $element;
+ }
+ }
+ $element['_url'] = current($element);
+ }
+ }
+ return $mainMenu;
+}
+
+
+function Piwik_AddMenu( $mainMenuName, $subMenuName, $url )
+{
+ global $mainMenu;
+
+ if(!isset($mainMenu[$mainMenuName]))
+ {
+ $mainMenu[$mainMenuName]['_url'] = $url;
+ }
+ if(!empty($subMenuName))
+ {
+ $mainMenu[$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;
+ }
+}
diff --git a/modules/PluginsFunctions/Sql.php b/modules/PluginsFunctions/Sql.php
new file mode 100644
index 0000000000..f169c4cf7e
--- /dev/null
+++ b/modules/PluginsFunctions/Sql.php
@@ -0,0 +1,34 @@
+<?php
+
+/**
+ * Executes a SQL query on the DB and returns the Zend_Db_Statement object
+ * If you want to fetch data from the DB you should use the function Piwik_FetchAll()
+ *
+ * See also http://framework.zend.com/manual/en/zend.db.statement.html
+ *
+ * @param string $sqlQuery
+ * @param array Parameters to bind in the query, array( param1 => value1, param2 => value2)
+ * @return Zend_Db_Statement
+ */
+function Piwik_Query( $sqlQuery, $parameters = array())
+{
+ return Zend_Registry::get('db')->query( $sqlQuery, $parameters);
+}
+
+/**
+ * Executes the SQL Query and fetches all the rows from the database
+ *
+ * @param string $sqlQuery
+ * @param array Parameters to bind in the query, array( param1 => value1, param2 => value2)
+ * @return array (one row in the array per row fetched in the DB)
+ */
+function Piwik_FetchAll( $sqlQuery, $parameters = array())
+{
+ return Zend_Registry::get('db')->fetchAll( $sqlQuery, $parameters );
+}
+
+function Piwik_FetchOne( $sqlQuery, $parameters = array())
+{
+ return Zend_Registry::get('db')->fetchOne( $sqlQuery, $parameters );
+}
+
diff --git a/modules/PluginsFunctions/Widget.php b/modules/PluginsFunctions/Widget.php
new file mode 100644
index 0000000000..65e90d84fa
--- /dev/null
+++ b/modules/PluginsFunctions/Widget.php
@@ -0,0 +1,18 @@
+<?php
+
+Piwik_AddAction('Menu', 'Piwik_BuildMenu');
+
+static $widgets = array();
+
+function Piwik_GetListWidgets()
+{
+ global $widgets;
+ return $widgets;
+}
+
+function Piwik_AddWidget( $pluginName, $controllerMethodToCall, $widgetTitle )
+{
+ global $widgets;
+ // get the plugin name from controller
+ $widgets[$pluginName][] = array( $widgetTitle, $controllerMethodToCall );
+}