Piwik\Plugin\Manager::readPluginsDirectory PHP Method

readPluginsDirectory() public method

Reads the directories inside the plugins/ directory and returns their names in an array
public readPluginsDirectory ( ) : array
return array
    public function readPluginsDirectory()
    {
        $pluginsName = _glob(self::getPluginsDirectory() . '*', GLOB_ONLYDIR);
        $result = array();
        if ($pluginsName != false) {
            foreach ($pluginsName as $path) {
                if (self::pluginStructureLooksValid($path)) {
                    $result[] = basename($path);
                }
            }
        }
        return $result;
    }

Usage Example

 public function getCoreAndSupportedPlugins()
 {
     $settings = new \Piwik\Application\Kernel\GlobalSettingsProvider();
     $pluginList = new \Piwik\Application\Kernel\PluginList($settings);
     $pluginManager = new PluginManager($pluginList);
     $disabledPlugins = $pluginList->getCorePluginsDisabledByDefault();
     $disabledPlugins[] = 'LoginHttpAuth';
     $disabledPlugins[] = 'ExampleVisualization';
     $disabledPlugins = array_diff($disabledPlugins, array('DBStats', 'ExampleUI', 'ExampleCommand', 'ExampleSettingsPlugin'));
     $plugins = array_filter($pluginManager->readPluginsDirectory(), function ($pluginName) use($disabledPlugins, $pluginManager) {
         if (in_array($pluginName, $disabledPlugins)) {
             return false;
         }
         return $pluginManager->isPluginBundledWithCore($pluginName) || $pluginManager->isPluginOfficialAndNotBundledWithCore($pluginName);
     });
     sort($plugins);
     return $plugins;
 }
Manager