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 .= '
$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));
}
/**