diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon index 7130779f90..f6ecacba26 100644 --- a/phpstan-baseline.neon +++ b/phpstan-baseline.neon @@ -603,12 +603,6 @@ parameters: count: 1 path: src/Config.php - - - message: '#^Only booleans are allowed in a negated boolean, string\|false given\.$#' - identifier: booleanNot.exprNotBoolean - count: 1 - path: src/Config.php - - message: '#^Only booleans are allowed in an if condition, string\|false given\.$#' identifier: if.condNotBoolean @@ -3630,24 +3624,12 @@ parameters: count: 1 path: src/Controllers/Table/ChangeController.php - - - message: '#^Parameter \#2 \$isUpload of method PhpMyAdmin\\InsertEdit\:\:getHtmlForInsertEditFormHeader\(\) expects bool, mixed given\.$#' - identifier: argument.type - count: 1 - path: src/Controllers/Table/ChangeController.php - - message: '#^Parameter \#2 \$signature of static method PhpMyAdmin\\Core\:\:checkSqlQuerySignature\(\) expects string, mixed given\.$#' identifier: argument.type count: 1 path: src/Controllers/Table/ChangeController.php - - - message: '#^Parameter \#7 \$isUpload of method PhpMyAdmin\\InsertEdit\:\:getHtmlForInsertEditRow\(\) expects bool, mixed given\.$#' - identifier: argument.type - count: 1 - path: src/Controllers/Table/ChangeController.php - - message: '#^Static property PhpMyAdmin\\Current\:\:\$whereClause \(array\\|string\|null\) does not accept list\\.$#' identifier: assign.propertyType diff --git a/psalm-baseline.xml b/psalm-baseline.xml index 553c6bcb6e..4684a02e13 100644 --- a/psalm-baseline.xml +++ b/psalm-baseline.xml @@ -227,7 +227,6 @@ settings]]> - @@ -2270,7 +2269,6 @@ - getQueryParam('where_clause_signature')]]> @@ -2279,12 +2277,8 @@ - - - - diff --git a/src/Config.php b/src/Config.php index 2d1e634a3a..7e53e4b8d7 100644 --- a/src/Config.php +++ b/src/Config.php @@ -160,7 +160,6 @@ class Config public function checkSystem(): void { $this->checkGd2(); - $this->checkUpload(); $this->checkOutputCompression(); } @@ -556,25 +555,13 @@ class Config return $this->source; } - /** - * checks if upload is enabled - */ - public function checkUpload(): void + public function isUploadEnabled(): bool { - if (! ini_get('file_uploads')) { - $this->set('enable_upload', false); + $iniValue = ini_get('file_uploads'); - return; - } - - $this->set('enable_upload', true); // if set "php_admin_value file_uploads Off" in httpd.conf // ini_get() also returns the string "Off" in this case: - if (strtolower(ini_get('file_uploads')) !== 'off') { - return; - } - - $this->set('enable_upload', false); + return $iniValue !== false && $iniValue !== '' && $iniValue !== '0' && strtolower($iniValue) !== 'off'; } /** diff --git a/src/Controllers/Database/ImportController.php b/src/Controllers/Database/ImportController.php index 7da15a7e78..04f4b34c3a 100644 --- a/src/Controllers/Database/ImportController.php +++ b/src/Controllers/Database/ImportController.php @@ -114,7 +114,7 @@ final class ImportController implements InvocableController 'skip_queries_default' => $skipQueriesDefault, 'is_allow_interrupt_checked' => $isAllowInterruptChecked, 'local_import_file' => $localImportFile, - 'is_upload' => $config->get('enable_upload'), + 'is_upload' => $config->isUploadEnabled(), 'upload_dir' => $config->settings['UploadDir'] ?? null, 'timeout_passed_global' => ImportSettings::$timeoutPassed, 'compressions' => $compressions, diff --git a/src/Controllers/Server/ImportController.php b/src/Controllers/Server/ImportController.php index 29f7d1bf3d..2d6ae3a9ea 100644 --- a/src/Controllers/Server/ImportController.php +++ b/src/Controllers/Server/ImportController.php @@ -96,7 +96,7 @@ final class ImportController implements InvocableController 'skip_queries_default' => $skipQueriesDefault, 'is_allow_interrupt_checked' => $isAllowInterruptChecked, 'local_import_file' => $localImportFile, - 'is_upload' => $config->get('enable_upload'), + 'is_upload' => $config->isUploadEnabled(), 'upload_dir' => $config->settings['UploadDir'] ?? null, 'timeout_passed_global' => ImportSettings::$timeoutPassed, 'compressions' => $compressions, diff --git a/src/Controllers/Table/ChangeController.php b/src/Controllers/Table/ChangeController.php index e94b4202e5..c916001374 100644 --- a/src/Controllers/Table/ChangeController.php +++ b/src/Controllers/Table/ChangeController.php @@ -200,7 +200,7 @@ class ChangeController implements InvocableController //Insert/Edit form //If table has blob fields we have to disable ajax. - $isUpload = $this->config->get('enable_upload'); + $isUpload = $this->config->isUploadEnabled(); $htmlOutput .= $this->insertEdit->getHtmlForInsertEditFormHeader($hasBlobField, $isUpload); $htmlOutput .= Url::getHiddenInputs($formParams); diff --git a/src/Controllers/Table/ImportController.php b/src/Controllers/Table/ImportController.php index 20d98c05db..acbab19b42 100644 --- a/src/Controllers/Table/ImportController.php +++ b/src/Controllers/Table/ImportController.php @@ -144,7 +144,7 @@ final class ImportController implements InvocableController 'skip_queries_default' => $skipQueriesDefault, 'is_allow_interrupt_checked' => $isAllowInterruptChecked, 'local_import_file' => $localImportFile, - 'is_upload' => $config->get('enable_upload'), + 'is_upload' => $config->isUploadEnabled(), 'upload_dir' => $config->settings['UploadDir'] ?? null, 'timeout_passed_global' => ImportSettings::$timeoutPassed, 'compressions' => $compressions, diff --git a/src/SqlQueryForm.php b/src/SqlQueryForm.php index 618e0c0396..0a76ac206c 100644 --- a/src/SqlQueryForm.php +++ b/src/SqlQueryForm.php @@ -115,7 +115,7 @@ class SqlQueryForm 'has_bookmark' => $bookmarkFeature !== null, 'delimiter' => $delimiter, 'retain_query_box' => $this->config->settings['RetainQueryBox'] !== false, - 'is_upload' => $this->config->get('enable_upload'), + 'is_upload' => $this->config->isUploadEnabled(), 'db' => $db, 'table' => $table, 'goto' => $goto, diff --git a/tests/unit/Controllers/Table/ChangeControllerTest.php b/tests/unit/Controllers/Table/ChangeControllerTest.php index 1adaf6589e..6c3d1303f8 100644 --- a/tests/unit/Controllers/Table/ChangeControllerTest.php +++ b/tests/unit/Controllers/Table/ChangeControllerTest.php @@ -53,7 +53,6 @@ final class ChangeControllerTest extends AbstractTestCase ->withParsedBody(['insert_rows' => '0']); $config = Config::getInstance(); - $config->set('enable_upload', false); $config->set('InsertRows', 3); $config->set('ShowFunctionFields', true); $config->set('ShowFieldTypesInDataEditView', true); @@ -149,7 +148,6 @@ final class ChangeControllerTest extends AbstractTestCase ->withParsedBody(['insert_rows' => '1']); $config = Config::getInstance(); - $config->set('enable_upload', false); $config->set('InsertRows', 3); $config->set('ShowFunctionFields', false); $config->set('ShowFieldTypesInDataEditView', false);