From ab570a4d241e802141a5f92c19d4bd57ecb8d3d3 Mon Sep 17 00:00:00 2001 From: denisdulici Date: Mon, 2 Dec 2019 13:52:48 +0300 Subject: [PATCH] updated extension requirements --- .github/workflows/tests.yml | 2 +- app/Utilities/Installer.php | 46 ++++++++++++++++++++++++++----------- 2 files changed, 34 insertions(+), 14 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 8895e812b..1d1c5c2d1 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -21,7 +21,7 @@ jobs: uses: shivammathur/setup-php@master with: php-version: ${{ matrix.php-versions }} - extension-csv: mbstring, dom, fileinfo, gd + extension-csv: bcmath, ctype, dom, fileinfo, gd, json, mbstring, openssl, xml, zip coverage: none - name: Copy .env diff --git a/app/Utilities/Installer.php b/app/Utilities/Installer.php index d3fa3f23c..0595d1d50 100644 --- a/app/Utilities/Installer.php +++ b/app/Utilities/Installer.php @@ -22,7 +22,7 @@ class Installer public static function checkServerRequirements() { - $requirements = array(); + $requirements = []; if (ini_get('safe_mode')) { $requirements[] = trans('install.requirements.disabled', ['feature' => 'Safe Mode']); @@ -52,6 +52,38 @@ class Installer $requirements[] = trans('install.requirements.extension', ['extension' => 'MySQL PDO']); } + if (!extension_loaded('bcmath')) { + $requirements[] = trans('install.requirements.extension', ['extension' => 'BCMath']); + } + + if (!extension_loaded('ctype')) { + $requirements[] = trans('install.requirements.extension', ['extension' => 'Ctype']); + } + + if (!extension_loaded('curl')) { + $requirements[] = trans('install.requirements.extension', ['extension' => 'cURL']); + } + + if (!extension_loaded('dom')) { + $requirements[] = trans('install.requirements.extension', ['extension' => 'DOM']); + } + + if (!extension_loaded('fileinfo')) { + $requirements[] = trans('install.requirements.extension', ['extension' => 'FileInfo']); + } + + if (!extension_loaded('gd')) { + $requirements[] = trans('install.requirements.extension', ['extension' => 'GD']); + } + + if (!extension_loaded('json')) { + $requirements[] = trans('install.requirements.extension', ['extension' => 'JSON']); + } + + if (!extension_loaded('mbstring')) { + $requirements[] = trans('install.requirements.extension', ['extension' => 'Mbstring']); + } + if (!extension_loaded('openssl')) { $requirements[] = trans('install.requirements.extension', ['extension' => 'OpenSSL']); } @@ -60,14 +92,6 @@ class Installer $requirements[] = trans('install.requirements.extension', ['extension' => 'Tokenizer']); } - if (!extension_loaded('mbstring')) { - $requirements[] = trans('install.requirements.extension', ['extension' => 'mbstring']); - } - - if (!extension_loaded('curl')) { - $requirements[] = trans('install.requirements.extension', ['extension' => 'cURL']); - } - if (!extension_loaded('xml')) { $requirements[] = trans('install.requirements.extension', ['extension' => 'XML']); } @@ -76,10 +100,6 @@ class Installer $requirements[] = trans('install.requirements.extension', ['extension' => 'ZIP']); } - if (!extension_loaded('fileinfo')) { - $requirements[] = trans('install.requirements.extension', ['extension' => 'FileInfo']); - } - if (!is_writable(base_path('storage/app'))) { $requirements[] = trans('install.requirements.directory', ['directory' => 'storage/app']); }