From 3723697adde057e2eb6c292d6998822670e2f266 Mon Sep 17 00:00:00 2001 From: Mohit Panjwani Date: Wed, 2 Dec 2020 19:05:39 +0530 Subject: [PATCH] restrict update if the system requirements do not match --- app/Console/Commands/UpdateCommand.php | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/app/Console/Commands/UpdateCommand.php b/app/Console/Commands/UpdateCommand.php index c39ed849..c341ed60 100644 --- a/app/Console/Commands/UpdateCommand.php +++ b/app/Console/Commands/UpdateCommand.php @@ -47,6 +47,13 @@ class UpdateCommand extends Command $this->installed = $this->getInstalledVersion(); $this->version = $this->getLatestVersion(); + if ($this->version == 'extension_required') { + $this->info('Sorry! Your system does not meet the minimum requirements for this update.'); + $this->info('Please retry after installing the required version/extensions.'); + + return; + } + if (!$this->version) { $this->info('No Update Available! You are already on the latest version.'); return; @@ -93,6 +100,24 @@ class UpdateCommand extends Command try { $response = Updater::checkForUpdate($this->installed); + $extensions = $response->version->extensions; + + $is_required = false; + + foreach ($extensions as $key => $extension) { + + if(!$extension) { + $is_required = true; + $this->info('❌ '.$key); + } + + $this->info('✅ '.$key); + } + + if($is_required) { + return 'extension_required'; + } + if ($response->success) { return $response->version->version; }