diff --git a/classes/admin.php b/classes/admin.php index 5884717a..4931fec8 100644 --- a/classes/admin.php +++ b/classes/admin.php @@ -522,6 +522,26 @@ class Admin return $dependencies; } + /** + * Check the passed packages list can be updated + * + * @param $packages + * + * @throws \Exception + * @return bool + */ + public function checkPackagesCanBeInstalled($packages) + { + $gpm = $this->gpm(); + if (!$gpm) { + return false; + } + + $this->gpm->checkPackagesCanBeInstalled($packages); + + return true; + } + /** * Get an array of dependencies needed to be installed or updated for a list of packages * to be installed. @@ -539,7 +559,6 @@ class Admin $dependencies = $this->gpm->getDependencies($packages); - return $dependencies; } diff --git a/classes/controller.php b/classes/controller.php index 37ae5170..a92e57cd 100644 --- a/classes/controller.php +++ b/classes/controller.php @@ -267,6 +267,7 @@ class AdminController $packages = isset($data['packages']) ? $data['packages'] : ''; $packages = (array)$packages; try { + $this->admin->checkPackagesCanBeInstalled($packages); $dependencies = $this->admin->getDependenciesNeededToInstall($packages); } catch (\Exception $e) { $this->admin->json_response = ['status' => 'error', 'message' => $e->getMessage()];