private function addPluginConfigs(ContainerBuilder $builder) { $plugins = Manager::getInstance()->getActivatedPluginsFromConfig(); foreach ($plugins as $plugin) { $baseDir = Manager::getPluginsDirectory() . $plugin; $file = $baseDir . '/config/config.php'; if (file_exists($file)) { $builder->addDefinitions($file); } $environmentFile = $baseDir . '/config/' . $this->environment . '.php'; if (file_exists($environmentFile)) { $builder->addDefinitions($environmentFile); } } }
private function loadPluginInfoJson() { $path = \Piwik\Plugin\Manager::getPluginsDirectory() . $this->pluginName . '/' . self::PLUGIN_JSON_FILENAME; return $this->loadJsonMetadata($path); }
/** * Check that directories in plugins/ folder are specifically either enabled or disabled. * * This fails when a new folder is added to plugins/* and forgot to enable or mark as disabled in Manager.php. * * @group Core */ public function test_DirectoriesInPluginsFolder_areKnown() { $pluginsBundledWithPiwik = \Piwik\Config::getInstance()->getFromGlobalConfig('Plugins'); $pluginsBundledWithPiwik = $pluginsBundledWithPiwik['Plugins']; $magicPlugins = 42; $this->assertTrue(count($pluginsBundledWithPiwik) > $magicPlugins); $plugins = _glob(\Piwik\Plugin\Manager::getPluginsDirectory() . '*', GLOB_ONLYDIR); $count = 1; foreach ($plugins as $pluginPath) { $pluginName = basename($pluginPath); $addedToGit = $this->isPathAddedToGit($pluginPath); if (!$addedToGit) { // if not added to git, then it is not part of the release checklist. continue; } $manager = \Piwik\Plugin\Manager::getInstance(); $isGitSubmodule = $manager->isPluginOfficialAndNotBundledWithCore($pluginName); $disabled = in_array($pluginName, $manager->getCorePluginsDisabledByDefault()) || $isGitSubmodule; $enabled = in_array($pluginName, $pluginsBundledWithPiwik); $this->assertTrue($enabled + $disabled === 1, "Plugin {$pluginName} should be either enabled (in global.ini.php) or disabled (in Piwik\\Plugin\\Manager).\n It is currently (enabled=" . (int) $enabled . ", disabled=" . (int) $disabled . ")"); $count++; } $this->assertTrue($count > $magicPlugins); }
private function addPluginConfigs(ContainerBuilder $builder) { $plugins = $this->pluginList->getActivatedPlugins(); foreach ($plugins as $plugin) { $baseDir = Manager::getPluginsDirectory() . $plugin; $file = $baseDir . '/config/config.php'; if (file_exists($file)) { $builder->addDefinitions($file); } } }
/** * @return string */ private function getPathToPluginFolder() { return \Piwik\Plugin\Manager::getPluginsDirectory() . $this->pluginName; }