isPluginBundledWithCore() public method

Returns true if the plugin is bundled with core or false if it is third party.
public isPluginBundledWithCore ( string $name ) : boolean
$name string The name of the plugin, eg, `'Actions'`.
return boolean
 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;
 }
Exemplo n.º 2
0
 /**
  * @param \Piwik\Plugin[] $plugins
  * @return array|mixed
  */
 public function checkUpdates($plugins)
 {
     $params = array();
     foreach ($plugins as $plugin) {
         $pluginName = $plugin->getPluginName();
         if (!$this->pluginManager->isPluginBundledWithCore($pluginName)) {
             $params[] = array('name' => $plugin->getPluginName(), 'version' => $plugin->getVersion());
         }
     }
     if (empty($params)) {
         return array();
     }
     $params = array('plugins' => $params);
     $hasUpdates = $this->fetch('plugins/checkUpdates', array('plugins' => json_encode($params)));
     if (empty($hasUpdates)) {
         return array();
     }
     return $hasUpdates;
 }
Exemplo n.º 3
0
 protected function getPluginsInfo($themesOnly = false)
 {
     $plugins = $this->pluginManager->loadAllPluginsAndGetTheirInfo();
     foreach ($plugins as $pluginName => &$plugin) {
         $plugin['isCorePlugin'] = $this->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>' . $this->translator->translate('CorePluginsAdmin_PluginNotCompatibleWith', array($pluginName, self::getPiwikVersion())) . '</strong><br/>' . $suffix;
             $plugin['info'] = array('description' => $description, 'version' => $this->translator->translate('General_Unknown'), 'theme' => false);
         }
     }
     $pluginsFiltered = $this->keepPluginsOrThemes($themesOnly, $plugins);
     return $pluginsFiltered;
 }