diff options
author | matt <matt@59fd770c-687e-43c8-a1e3-f5a4ff64c105> | 2008-03-28 03:33:02 +0300 |
---|---|---|
committer | matt <matt@59fd770c-687e-43c8-a1e3-f5a4ff64c105> | 2008-03-28 03:33:02 +0300 |
commit | aeadb6f6b5accaa19dee96ed68cc0d3f4ad1fdcc (patch) | |
tree | e75aa5ef2580cce4e711a7730431eb2272e40c19 /modules/PluginsFunctions | |
parent | 5f01e995b241d489167563d4582a205a0e0910f1 (diff) |
- refs #33 work in progress
Diffstat (limited to 'modules/PluginsFunctions')
-rw-r--r-- | modules/PluginsFunctions/AdminMenu.php | 33 | ||||
-rw-r--r-- | modules/PluginsFunctions/Menu.php | 67 | ||||
-rw-r--r-- | modules/PluginsFunctions/Sql.php | 34 | ||||
-rw-r--r-- | modules/PluginsFunctions/Widget.php | 18 |
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 ); +} |