Piwik\API\Request::getRenamedModuleAndAction PHP Method

getRenamedModuleAndAction() public static method

For backward compatibility: Piwik API still works if module=Referers, we rewrite to correct renamed plugin: Referrers
public static getRenamedModuleAndAction ( $module, $action ) : array(
$module
$action
return array(
    public static function getRenamedModuleAndAction($module, $action)
    {
        /**
         * This event is posted in the Request dispatcher and can be used
         * to overwrite the Module and Action to dispatch.
         * This is useful when some Controller methods or API methods have been renamed or moved to another plugin.
         *
         * @param $module string
         * @param $action string
         */
        Piwik::postEvent('Request.getRenamedModuleAndAction', array(&$module, &$action));
        return array($module, $action);
    }

Usage Example

Example #1
0
 protected function getPluginsInfo($themesOnly = false)
 {
     $pluginManager = \Piwik\Plugin\Manager::getInstance();
     $plugins = $pluginManager->loadAllPluginsAndGetTheirInfo();
     foreach ($plugins as $pluginName => &$plugin) {
         $plugin['isCorePlugin'] = $pluginManager->isPluginBundledWithCore($pluginName);
         if (!empty($plugin['info']['description'])) {
             $plugin['info']['description'] = $this->translator->translate($plugin['info']['description']);
         }
         if (!isset($plugin['info'])) {
             $suffix = $this->translator->translate('CorePluginsAdmin_PluginNotWorkingAlternative');
             // If the plugin has been renamed, we do not show message to ask user to update plugin
             list($pluginNameRenamed, $methodName) = Request::getRenamedModuleAndAction($pluginName, 'index');
             if ($pluginName != $pluginNameRenamed) {
                 $suffix = "You may uninstall the plugin or manually delete the files in piwik/plugins/{$pluginName}/";
             }
             $description = '<strong><em>' . $this->translator->translate('CorePluginsAdmin_PluginNotCompatibleWith', array($pluginName, self::getPiwikVersion())) . '</strong><br/>' . $suffix . '</em>';
             $plugin['info'] = array('description' => $description, 'version' => $this->translator->translate('General_Unknown'), 'theme' => false);
         }
     }
     $pluginsFiltered = $this->keepPluginsOrThemes($themesOnly, $plugins);
     return $pluginsFiltered;
 }
All Usage Examples Of Piwik\API\Request::getRenamedModuleAndAction