From 4da044146f36b2cba8e239eac44e36baf17e0767 Mon Sep 17 00:00:00 2001 From: printempw Date: Fri, 29 Jun 2018 18:14:55 +0800 Subject: [PATCH] Update the parameter of PluginManager::getUnsatisfiedRequirements method --- app/Http/Controllers/PluginController.php | 8 ++++---- app/Providers/PluginServiceProvider.php | 2 +- app/Services/PluginManager.php | 14 ++++++++------ 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/app/Http/Controllers/PluginController.php b/app/Http/Controllers/PluginController.php index 8579095c..3603b0cf 100644 --- a/app/Http/Controllers/PluginController.php +++ b/app/Http/Controllers/PluginController.php @@ -47,10 +47,10 @@ class PluginController extends Controller switch ($request->get('action')) { case 'enable': - if (! $plugins->isRequirementsSatisfied($name)) { + if (! $plugins->isRequirementsSatisfied($plugin)) { $msg = ''; - foreach ($plugins->getUnsatisfiedRequirements($name) as $name => $detail) { + foreach ($plugins->getUnsatisfiedRequirements($plugin) as $name => $detail) { if (! $detail['version']) { $msg .= '
  • '.trans('admin.plugins.operations.unsatisfied.disabled', [ 'name' => "$name" @@ -123,9 +123,9 @@ class PluginController extends Controller $plugins = app('plugins'); return [ - 'isRequirementsSatisfied' => $plugins->isRequirementsSatisfied($plugin->name), + 'isRequirementsSatisfied' => $plugins->isRequirementsSatisfied($plugin), 'requirements' => $plugin->getRequirements(), - 'unsatisfiedRequirements' => $plugins->getUnsatisfiedRequirements($plugin->name) + 'unsatisfiedRequirements' => $plugins->getUnsatisfiedRequirements($plugin) ]; } } diff --git a/app/Providers/PluginServiceProvider.php b/app/Providers/PluginServiceProvider.php index b2531572..58657854 100644 --- a/app/Providers/PluginServiceProvider.php +++ b/app/Providers/PluginServiceProvider.php @@ -58,7 +58,7 @@ class PluginServiceProvider extends ServiceProvider protected function disableRequirementsUnsatisfiedPlugins(PluginManager $manager) { foreach ($manager->getEnabledPlugins() as $plugin) { - if (! $manager->isRequirementsSatisfied($plugin->name)) { + if (! $manager->isRequirementsSatisfied($plugin)) { $manager->disable($plugin->name); } } diff --git a/app/Services/PluginManager.php b/app/Services/PluginManager.php index 2e1064e1..1b0ad671 100644 --- a/app/Services/PluginManager.php +++ b/app/Services/PluginManager.php @@ -277,12 +277,14 @@ class PluginManager /** * Get the unsatisfied requirements of plugin. * - * @param string $pluginName + * @param string|Plugin $plugin * @return array */ - public function getUnsatisfiedRequirements($pluginName) + public function getUnsatisfiedRequirements($plugin) { - $plugin = $this->getPlugin($pluginName); + if (! $plugin instanceof Plugin) { + $plugin = $this->getPlugin($plugin); + } if (! $plugin) { throw new \InvalidArgumentException('Plugin with given name does not exist.'); @@ -332,12 +334,12 @@ class PluginManager /** * Whether the plugin's requirements are satisfied. * - * @param string $pluginName + * @param string|Plugin $plugin * @return bool */ - public function isRequirementsSatisfied($pluginName) + public function isRequirementsSatisfied($plugin) { - return empty($this->getUnsatisfiedRequirements($pluginName)); + return empty($this->getUnsatisfiedRequirements($plugin)); } /**