Eccube\Controller\Admin\Store\PluginController::getUnregisteredPlugins PHP Метод

getUnregisteredPlugins() защищенный Метод

フォルダ設置のみのプラグインを取得する.
protected getUnregisteredPlugins ( array $plugins, Application $app ) : array
$plugins array
$app Eccube\Application
Результат array
    protected function getUnregisteredPlugins(array $plugins, \Eccube\Application $app)
    {
        $finder = new Finder();
        $pluginCodes = array();
        // DB登録済みプラグインコードのみ取得
        foreach ($plugins as $key => $plugin) {
            $pluginCodes[] = $plugin->getCode();
        }
        // DB登録済みプラグインコードPluginディレクトリから排他
        $dirs = $finder->in($app['config']['plugin_realdir'])->depth(0)->directories();
        // プラグイン基本チェック
        $unregisteredPlugins = array();
        foreach ($dirs as $dir) {
            $pluginCode = $dir->getBasename();
            if (in_array($pluginCode, $pluginCodes, true)) {
                continue;
            }
            try {
                $app['eccube.service.plugin']->checkPluginArchiveContent($dir->getRealPath());
            } catch (\Eccube\Exception\PluginException $e) {
                //config.yamlに不備があった際は全てスキップ
                $app['monolog']->warning($e->getMessage());
                continue;
            }
            $config = $app['eccube.service.plugin']->readYml($dir->getRealPath() . '/config.yml');
            $unregisteredPlugins[$pluginCode]['name'] = isset($config['name']) ? $config['name'] : null;
            $unregisteredPlugins[$pluginCode]['event'] = isset($config['event']) ? $config['event'] : null;
            $unregisteredPlugins[$pluginCode]['version'] = isset($config['version']) ? $config['version'] : null;
            $unregisteredPlugins[$pluginCode]['enable'] = Constant::DISABLED;
            $unregisteredPlugins[$pluginCode]['code'] = isset($config['code']) ? $config['code'] : null;
        }
        return $unregisteredPlugins;
    }