From 54b5464ec206093c5236d57d10e7ce51919d804d Mon Sep 17 00:00:00 2001 From: Kamil Tekiela Date: Sun, 3 Mar 2024 15:07:57 +0100 Subject: [PATCH] Replace function casts with normal casts Signed-off-by: Kamil Tekiela --- phpstan-baseline.neon | 111 +++++++++++------- psalm-baseline.xml | 38 ++++-- src/Command/FixPoTwigCommand.php | 3 +- src/Config.php | 3 +- src/Config/Validator.php | 3 +- src/Controllers/Database/ImportController.php | 3 +- src/Controllers/Import/ImportController.php | 3 +- .../CreateNewColumnController.php | 3 +- src/Controllers/Server/ImportController.php | 3 +- src/Controllers/Sql/EnumValuesController.php | 5 +- .../Sql/RelationalValuesController.php | 6 +- src/Controllers/Table/CreateController.php | 11 +- src/Controllers/Table/ImportController.php | 3 +- src/Controllers/Table/SearchController.php | 3 +- .../Table/ZoomSearchController.php | 7 +- .../Transformation/WrapperController.php | 5 +- src/Core.php | 3 +- src/Database/Designer/Common.php | 5 +- src/Database/Events.php | 3 +- src/Display/Results.php | 13 +- src/Normalization.php | 3 +- src/Plugins/Auth/AuthenticationCookie.php | 3 +- src/Plugins/AuthenticationPlugin.php | 5 +- src/Plugins/Export/ExportSql.php | 3 +- src/Plugins/Schema/Pdf/PdfRelationSchema.php | 7 +- .../Abs/HexTransformationsPlugin.php | 3 +- .../Abs/ImageUploadTransformationsPlugin.php | 5 +- src/Query/Utilities.php | 3 +- src/Server/SysInfo/Linux.php | 9 +- src/Server/SysInfo/WindowsNt.php | 7 +- src/Table/ColumnsDefinition.php | 3 +- src/Tracking/Tracker.php | 3 +- src/Util.php | 5 +- src/Utils/HttpRequest.php | 3 +- src/VersionInformation.php | 3 +- 35 files changed, 154 insertions(+), 145 deletions(-) diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon index 67833122ca..cfc53bfef5 100644 --- a/phpstan-baseline.neon +++ b/phpstan-baseline.neon @@ -2627,7 +2627,7 @@ parameters: - message: "#^Cannot cast mixed to int\\.$#" - count: 3 + count: 4 path: src/Controllers/Import/ImportController.php - @@ -2690,11 +2690,6 @@ parameters: count: 1 path: src/Controllers/Import/ImportController.php - - - message: "#^Parameter \\#1 \\$value of function intval expects array\\|bool\\|float\\|int\\|resource\\|string\\|null, mixed given\\.$#" - count: 1 - path: src/Controllers/Import/ImportController.php - - message: "#^Parameter \\#11 \\$sqlQuery of method PhpMyAdmin\\\\Sql\\:\\:executeQueryAndGetQueryResponse\\(\\) expects string, mixed given\\.$#" count: 1 @@ -2856,7 +2851,7 @@ parameters: path: src/Controllers/NavigationController.php - - message: "#^Parameter \\#1 \\$value of function intval expects array\\|bool\\|float\\|int\\|resource\\|string\\|null, mixed given\\.$#" + message: "#^Cannot cast mixed to int\\.$#" count: 1 path: src/Controllers/Normalization/CreateNewColumnController.php @@ -3861,7 +3856,7 @@ parameters: path: src/Controllers/Setup/ValidateController.php - - message: "#^Parameter \\#1 \\$value of function strval expects bool\\|float\\|int\\|resource\\|string\\|null, mixed given\\.$#" + message: "#^Cannot cast mixed to string\\.$#" count: 2 path: src/Controllers/Sql/EnumValuesController.php @@ -3871,7 +3866,7 @@ parameters: path: src/Controllers/Sql/RelationalValuesController.php - - message: "#^Parameter \\#1 \\$value of function strval expects bool\\|float\\|int\\|resource\\|string\\|null, mixed given\\.$#" + message: "#^Cannot cast mixed to string\\.$#" count: 2 path: src/Controllers/Sql/RelationalValuesController.php @@ -4221,8 +4216,8 @@ parameters: path: src/Controllers/Table/CreateController.php - - message: "#^Only booleans are allowed in an if condition, PhpMyAdmin\\\\Dbal\\\\ResultInterface\\|false given\\.$#" - count: 1 + message: "#^Cannot cast mixed to int\\.$#" + count: 5 path: src/Controllers/Table/CreateController.php - @@ -4230,11 +4225,6 @@ parameters: count: 1 path: src/Controllers/Table/CreateController.php - - - message: "#^Parameter \\#1 \\$value of function intval expects array\\|bool\\|float\\|int\\|resource\\|string\\|null, mixed given\\.$#" - count: 5 - path: src/Controllers/Table/CreateController.php - - message: "#^Parameter \\#3 \\$key of method PhpMyAdmin\\\\Transformations\\:\\:setMime\\(\\) expects string, mixed given\\.$#" count: 1 @@ -4970,6 +4960,11 @@ parameters: count: 1 path: src/Controllers/Table/SearchController.php + - + message: "#^Casting to int something that's already int\\<1, max\\>\\.$#" + count: 1 + path: src/Controllers/Table/SearchController.php + - message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#" count: 1 @@ -5580,11 +5575,21 @@ parameters: count: 1 path: src/Controllers/Table/ZoomSearchController.php + - + message: "#^Cannot cast mixed to int\\.$#" + count: 1 + path: src/Controllers/Table/ZoomSearchController.php + - message: "#^Cannot cast mixed to string\\.$#" count: 1 path: src/Controllers/Table/ZoomSearchController.php + - + message: "#^Casting to int something that's already int\\<1, max\\>\\.$#" + count: 1 + path: src/Controllers/Table/ZoomSearchController.php + - message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#" count: 2 @@ -5655,11 +5660,6 @@ parameters: count: 1 path: src/Controllers/Table/ZoomSearchController.php - - - message: "#^Parameter \\#1 \\$value of function intval expects array\\|bool\\|float\\|int\\|resource\\|string\\|null, mixed given\\.$#" - count: 1 - path: src/Controllers/Table/ZoomSearchController.php - - message: "#^Parameter \\#2 \\$columnIndex of method PhpMyAdmin\\\\Controllers\\\\Table\\\\ZoomSearchController\\:\\:getColumnProperties\\(\\) expects int, int\\|false given\\.$#" count: 1 @@ -6380,6 +6380,11 @@ parameters: count: 7 path: src/Database/Events.php + - + message: "#^Cannot cast mixed to int\\.$#" + count: 1 + path: src/Database/Events.php + - message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#" count: 13 @@ -6420,11 +6425,6 @@ parameters: count: 1 path: src/Database/Events.php - - - message: "#^Parameter \\#1 \\$value of function intval expects array\\|bool\\|float\\|int\\|resource\\|string\\|null, mixed given\\.$#" - count: 1 - path: src/Database/Events.php - - message: "#^Parameter \\#2 \\$string of function explode expects string, mixed given\\.$#" count: 1 @@ -7042,6 +7042,11 @@ parameters: - message: "#^Cannot cast mixed to int\\.$#" + count: 6 + path: src/Display/Results.php + + - + message: "#^Casting to int something that's already int\\<1, max\\>\\.$#" count: 1 path: src/Display/Results.php @@ -7175,11 +7180,6 @@ parameters: count: 2 path: src/Display/Results.php - - - message: "#^Parameter \\#1 \\$value of function intval expects array\\|bool\\|float\\|int\\|resource\\|string\\|null, mixed given\\.$#" - count: 5 - path: src/Display/Results.php - - message: "#^Parameter \\#1 \\$value of static method PhpMyAdmin\\\\Util\\:\\:formatNumber\\(\\) expects float\\|int\\|string, int\\|string\\|false given\\.$#" count: 1 @@ -9595,6 +9595,11 @@ parameters: count: 1 path: src/Normalization.php + - + message: "#^Casting to int something that's already int\\<1, max\\>\\.$#" + count: 1 + path: src/Normalization.php + - message: "#^Casting to string something that's already string\\.$#" count: 1 @@ -10140,6 +10145,11 @@ parameters: count: 1 path: src/Plugins/Auth/AuthenticationCookie.php + - + message: "#^Cannot cast mixed to int\\.$#" + count: 1 + path: src/Plugins/Auth/AuthenticationCookie.php + - message: "#^Cannot cast mixed to string\\.$#" count: 1 @@ -10200,11 +10210,6 @@ parameters: count: 1 path: src/Plugins/Auth/AuthenticationCookie.php - - - message: "#^Parameter \\#1 \\$value of function intval expects array\\|bool\\|float\\|int\\|resource\\|string\\|null, mixed given\\.$#" - count: 1 - path: src/Plugins/Auth/AuthenticationCookie.php - - message: "#^Parameter \\#2 \\$remoteIp of method ReCaptcha\\\\ReCaptcha\\:\\:verify\\(\\) expects string\\|null, bool\\|string given\\.$#" count: 1 @@ -10315,11 +10320,21 @@ parameters: count: 1 path: src/Plugins/AuthenticationPlugin.php + - + message: "#^Cannot cast mixed to int\\.$#" + count: 1 + path: src/Plugins/AuthenticationPlugin.php + - message: "#^Cannot cast mixed to string\\.$#" count: 1 path: src/Plugins/AuthenticationPlugin.php + - + message: "#^Casting to int something that's already int\\<1, max\\>\\.$#" + count: 1 + path: src/Plugins/AuthenticationPlugin.php + - message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#" count: 1 @@ -10330,11 +10345,6 @@ parameters: count: 1 path: src/Plugins/AuthenticationPlugin.php - - - message: "#^Parameter \\#1 \\$value of function intval expects array\\|bool\\|float\\|int\\|resource\\|string\\|null, mixed given\\.$#" - count: 1 - path: src/Plugins/AuthenticationPlugin.php - - message: "#^Cannot cast mixed to int\\.$#" count: 1 @@ -12311,7 +12321,7 @@ parameters: path: src/Plugins/Transformations/Abs/ExternalTransformationsPlugin.php - - message: "#^Parameter \\#1 \\$value of function intval expects array\\|bool\\|float\\|int\\|resource\\|string\\|null, mixed given\\.$#" + message: "#^Cannot cast mixed to int\\.$#" count: 1 path: src/Plugins/Transformations/Abs/HexTransformationsPlugin.php @@ -12321,7 +12331,7 @@ parameters: path: src/Plugins/Transformations/Abs/ImageLinkTransformationsPlugin.php - - message: "#^Parameter \\#1 \\$value of function intval expects array\\|bool\\|float\\|int\\|resource\\|string\\|null, mixed given\\.$#" + message: "#^Cannot cast mixed to int\\.$#" count: 2 path: src/Plugins/Transformations/Abs/ImageUploadTransformationsPlugin.php @@ -13500,6 +13510,16 @@ parameters: count: 1 path: src/Server/Status/Processes.php + - + message: "#^Method PhpMyAdmin\\\\Server\\\\SysInfo\\\\Linux\\:\\:memory\\(\\) should return array\\ but returns array\\\\.$#" + count: 1 + path: src/Server/SysInfo/Linux.php + + - + message: "#^Parameter \\#1 \\$callback of function array_map expects \\(callable\\(mixed\\)\\: mixed\\)\\|null, Closure\\(array\\|bool\\|float\\|int\\|resource\\|string\\|null, int\\=\\)\\: int given\\.$#" + count: 1 + path: src/Server/SysInfo/Linux.php + - message: "#^Parameter \\#1 \\$keys of function array_combine expects array\\, mixed given\\.$#" count: 1 @@ -13975,6 +13995,11 @@ parameters: count: 2 path: src/Table/ColumnsDefinition.php + - + message: "#^Casting to int something that's already int\\<1, max\\>\\.$#" + count: 1 + path: src/Table/ColumnsDefinition.php + - message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#" count: 1 diff --git a/psalm-baseline.xml b/psalm-baseline.xml index e81ceec0d6..98ade9c49f 100644 --- a/psalm-baseline.xml +++ b/psalm-baseline.xml @@ -2924,20 +2924,12 @@ - - - - - - - - @@ -3653,6 +3645,9 @@ + + settings['MaxRows']]]> + collation)]]> @@ -4032,6 +4027,12 @@ + + settings['maxRowPlotLimit']]]> + + + + @@ -4642,6 +4643,9 @@ + + + @@ -5350,6 +5354,9 @@ expr->expr]]> expr->column]]> + + config->settings['MaxRows']]]> + statement->from)]]> @@ -7098,6 +7105,9 @@ + + config->settings['MaxRows']]]> + @@ -7554,6 +7564,9 @@ + + + settings['CaptchaResponseParam']])]]> @@ -7640,6 +7653,12 @@ + + settings['LoginCookieValidity']]]> + + + + @@ -10987,6 +11006,9 @@ + + settings['MaxRows']]]> + diff --git a/src/Command/FixPoTwigCommand.php b/src/Command/FixPoTwigCommand.php index 9de2425595..9605df61c1 100644 --- a/src/Command/FixPoTwigCommand.php +++ b/src/Command/FixPoTwigCommand.php @@ -11,7 +11,6 @@ use Symfony\Component\Console\Output\OutputInterface; use function file_get_contents; use function file_put_contents; -use function intval; use function is_array; use function json_decode; use function preg_replace_callback; @@ -55,7 +54,7 @@ final class FixPoTwigCommand extends Command '@(twig-templates[0-9a-f/]*.php):([0-9]*)@', static function (array $matches) use ($replacements): string { $filename = $matches[1]; - $line = intval($matches[2]); + $line = (int) $matches[2]; $replace = $replacements[$filename]; foreach ($replace[1] as $cacheLine => $result) { if ($line >= $cacheLine) { diff --git a/src/Config.php b/src/Config.php index 2d819722fe..88725fda79 100644 --- a/src/Config.php +++ b/src/Config.php @@ -31,7 +31,6 @@ use function function_exists; use function gd_info; use function implode; use function ini_get; -use function intval; use function is_array; use function is_bool; use function is_dir; @@ -228,7 +227,7 @@ class Config $this->set('PMA_USR_BROWSER_VER', $logVersion[2]); $this->set('PMA_USR_BROWSER_AGENT', 'IE'); } elseif (preg_match('@Trident/(7)\.0@', $httpUserAgent, $logVersion)) { - $this->set('PMA_USR_BROWSER_VER', intval($logVersion[1]) + 4); + $this->set('PMA_USR_BROWSER_VER', (int) $logVersion[1] + 4); $this->set('PMA_USR_BROWSER_AGENT', 'IE'); } elseif (preg_match('@OmniWeb/([0-9]{1,3})@', $httpUserAgent, $logVersion)) { $this->set('PMA_USR_BROWSER_VER', $logVersion[1]); diff --git a/src/Config/Validator.php b/src/Config/Validator.php index 9d394f749d..cd0fdf7a68 100644 --- a/src/Config/Validator.php +++ b/src/Config/Validator.php @@ -23,7 +23,6 @@ use function error_get_last; use function explode; use function filter_var; use function htmlspecialchars; -use function intval; use function is_array; use function is_object; use function mb_strpos; @@ -491,7 +490,7 @@ class Validator $value = Util::requestString($values[$path]); if ( - intval($value) != $value + (int) $value != $value || (! $allowNegative && $value < 0) || (! $allowZero && $value == 0) || $value > $maxValue diff --git a/src/Controllers/Database/ImportController.php b/src/Controllers/Database/ImportController.php index e22b137c7a..b6fad4c405 100644 --- a/src/Controllers/Database/ImportController.php +++ b/src/Controllers/Database/ImportController.php @@ -26,7 +26,6 @@ use PhpMyAdmin\Util; use PhpMyAdmin\Utils\ForeignKey; use function __; -use function intval; use function is_numeric; final class ImportController extends AbstractController @@ -88,7 +87,7 @@ final class ImportController extends AbstractController $offset = null; if (isset($_REQUEST['offset']) && is_numeric($_REQUEST['offset'])) { - $offset = intval($_REQUEST['offset']); + $offset = (int) $_REQUEST['offset']; } $timeoutPassed = $_REQUEST['timeout_passed'] ?? null; diff --git a/src/Controllers/Import/ImportController.php b/src/Controllers/Import/ImportController.php index 212f4ed493..6736e340a5 100644 --- a/src/Controllers/Import/ImportController.php +++ b/src/Controllers/Import/ImportController.php @@ -36,7 +36,6 @@ use function in_array; use function ini_get; use function ini_parse_quantity; use function ini_set; -use function intval; use function is_array; use function is_link; use function is_numeric; @@ -475,7 +474,7 @@ final class ImportController extends AbstractController // Something to skip? (because timeout has passed) if (! $GLOBALS['error'] && $request->hasBodyParam('skip')) { - $originalSkip = $skip = intval($request->getParsedBodyParam('skip')); + $originalSkip = $skip = (int) $request->getParsedBodyParam('skip'); while ($skip > 0 && ! ImportSettings::$finished) { $this->import->getNextChunk( $importHandle ?? null, diff --git a/src/Controllers/Normalization/CreateNewColumnController.php b/src/Controllers/Normalization/CreateNewColumnController.php index 1d048bb21b..f7ab8ea4ef 100644 --- a/src/Controllers/Normalization/CreateNewColumnController.php +++ b/src/Controllers/Normalization/CreateNewColumnController.php @@ -13,7 +13,6 @@ use PhpMyAdmin\Template; use PhpMyAdmin\Url; use PhpMyAdmin\UserPrivilegesFactory; -use function intval; use function min; final class CreateNewColumnController extends AbstractController @@ -31,7 +30,7 @@ final class CreateNewColumnController extends AbstractController { $userPrivileges = $this->userPrivilegesFactory->getPrivileges(); - $numFields = min(4096, intval($request->getParsedBodyParam('numFields'))); + $numFields = min(4096, (int) $request->getParsedBodyParam('numFields')); $html = $this->normalization->getHtmlForCreateNewColumn( $userPrivileges, $numFields, diff --git a/src/Controllers/Server/ImportController.php b/src/Controllers/Server/ImportController.php index c26e024d3e..2d68e7645d 100644 --- a/src/Controllers/Server/ImportController.php +++ b/src/Controllers/Server/ImportController.php @@ -24,7 +24,6 @@ use PhpMyAdmin\Util; use PhpMyAdmin\Utils\ForeignKey; use function __; -use function intval; use function is_numeric; final class ImportController extends AbstractController @@ -68,7 +67,7 @@ final class ImportController extends AbstractController $offset = null; if (isset($_REQUEST['offset']) && is_numeric($_REQUEST['offset'])) { - $offset = intval($_REQUEST['offset']); + $offset = (int) $_REQUEST['offset']; } $timeoutPassed = $_REQUEST['timeout_passed'] ?? null; diff --git a/src/Controllers/Sql/EnumValuesController.php b/src/Controllers/Sql/EnumValuesController.php index 0fe9c029ba..9ea9a251fc 100644 --- a/src/Controllers/Sql/EnumValuesController.php +++ b/src/Controllers/Sql/EnumValuesController.php @@ -12,7 +12,6 @@ use PhpMyAdmin\Sql; use PhpMyAdmin\Template; use function __; -use function strval; final class EnumValuesController extends AbstractController { @@ -31,7 +30,7 @@ final class EnumValuesController extends AbstractController { $column = $request->getParsedBodyParam('column'); $currValue = $request->getParsedBodyParam('curr_value'); - $values = $this->sql->getValuesForColumn(Current::$database, Current::$table, strval($column)); + $values = $this->sql->getValuesForColumn(Current::$database, Current::$table, (string) $column); if ($values === null) { $this->response->addJSON('message', __('Error in processing request')); @@ -42,7 +41,7 @@ final class EnumValuesController extends AbstractController $dropdown = $this->template->render('sql/enum_column_dropdown', [ 'values' => $values, - 'selected_values' => [strval($currValue)], + 'selected_values' => [(string) $currValue], ]); $this->response->addJSON('dropdown', $dropdown); diff --git a/src/Controllers/Sql/RelationalValuesController.php b/src/Controllers/Sql/RelationalValuesController.php index d771746d0f..bf90961d78 100644 --- a/src/Controllers/Sql/RelationalValuesController.php +++ b/src/Controllers/Sql/RelationalValuesController.php @@ -11,8 +11,6 @@ use PhpMyAdmin\ResponseRenderer; use PhpMyAdmin\Sql; use PhpMyAdmin\Template; -use function strval; - final class RelationalValuesController extends AbstractController { public function __construct( @@ -42,8 +40,8 @@ final class RelationalValuesController extends AbstractController $dropdown = $this->sql->getHtmlForRelationalColumnDropdown( Current::$database, Current::$table, - strval($column), - strval($currValue), + (string) $column, + (string) $currValue, ); $this->response->addJSON('dropdown', $dropdown); } diff --git a/src/Controllers/Table/CreateController.php b/src/Controllers/Table/CreateController.php index 704563ed8c..d19ec01c1b 100644 --- a/src/Controllers/Table/CreateController.php +++ b/src/Controllers/Table/CreateController.php @@ -21,7 +21,6 @@ use PhpMyAdmin\UserPrivilegesFactory; use function __; use function htmlspecialchars; -use function intval; use function is_array; use function mb_strtolower; use function min; @@ -112,7 +111,7 @@ class CreateController extends AbstractController // Executes the query $result = $this->dbi->tryQuery($GLOBALS['sql_query']); - if ($result) { + if ($result !== false) { // Update comment table for mime types [MIME] if (isset($_POST['field_mimetype']) && is_array($_POST['field_mimetype']) && $cfg['BrowseMIME']) { foreach ($_POST['field_mimetype'] as $fieldindex => $mimetype) { @@ -166,11 +165,11 @@ class CreateController extends AbstractController $numFields = $request->getParsedBodyParam('num_fields'); if ($request->hasBodyParam('submit_num_fields')) { // adding new fields - $numberOfFields = intval($origNumFields) + intval($request->getParsedBodyParam('added_fields')); + $numberOfFields = (int) $origNumFields + (int) $request->getParsedBodyParam('added_fields'); } elseif ($origNumFields !== null) { // retaining existing fields - $numberOfFields = intval($origNumFields); - } elseif ($numFields !== null && intval($numFields) > 0) { // new table with specified number of fields - $numberOfFields = intval($numFields); + $numberOfFields = (int) $origNumFields; + } elseif ($numFields !== null && (int) $numFields > 0) { // new table with specified number of fields + $numberOfFields = (int) $numFields; } else { // new table with unspecified number of fields $numberOfFields = 4; } diff --git a/src/Controllers/Table/ImportController.php b/src/Controllers/Table/ImportController.php index 423ca0ea18..54fd258660 100644 --- a/src/Controllers/Table/ImportController.php +++ b/src/Controllers/Table/ImportController.php @@ -27,7 +27,6 @@ use PhpMyAdmin\Util; use PhpMyAdmin\Utils\ForeignKey; use function __; -use function intval; use function is_numeric; final class ImportController extends AbstractController @@ -108,7 +107,7 @@ final class ImportController extends AbstractController $offset = null; if (isset($_REQUEST['offset']) && is_numeric($_REQUEST['offset'])) { - $offset = intval($_REQUEST['offset']); + $offset = (int) $_REQUEST['offset']; } $timeoutPassed = $_REQUEST['timeout_passed'] ?? null; diff --git a/src/Controllers/Table/SearchController.php b/src/Controllers/Table/SearchController.php index c269a5f109..fb912ed7c5 100644 --- a/src/Controllers/Table/SearchController.php +++ b/src/Controllers/Table/SearchController.php @@ -29,7 +29,6 @@ use PhpMyAdmin\Utils\Gis; use function __; use function in_array; -use function intval; use function is_array; use function mb_strtolower; use function md5; @@ -315,7 +314,7 @@ class SearchController extends AbstractController 'column_types' => $this->columnTypes, 'column_collations' => $this->columnCollations, 'default_sliders_state' => $config->settings['InitialSlidersState'], - 'max_rows' => intval($config->settings['MaxRows']), + 'max_rows' => (int) $config->settings['MaxRows'], ]); } diff --git a/src/Controllers/Table/ZoomSearchController.php b/src/Controllers/Table/ZoomSearchController.php index 0ad0a2ee08..a92b077551 100644 --- a/src/Controllers/Table/ZoomSearchController.php +++ b/src/Controllers/Table/ZoomSearchController.php @@ -28,7 +28,6 @@ use function array_search; use function array_values; use function htmlspecialchars; use function in_array; -use function intval; use function is_array; use function is_numeric; use function json_encode; @@ -278,8 +277,8 @@ class ZoomSearchController extends AbstractController 'criteria_column_names' => $criteriaColumnNames, 'criteria_column_types' => $_POST['criteriaColumnTypes'] ?? null, 'max_plot_limit' => ! empty($_POST['maxPlotLimit']) - ? intval($_POST['maxPlotLimit']) - : intval($config->settings['maxRowPlotLimit']), + ? (int) $_POST['maxPlotLimit'] + : (int) $config->settings['maxRowPlotLimit'], ]); } @@ -331,7 +330,7 @@ class ZoomSearchController extends AbstractController $key = array_search($field, $this->columnNames); $searchIndex = isset($_POST['it']) && is_numeric($_POST['it']) - ? intval($_POST['it']) : 0; + ? (int) $_POST['it'] : 0; $properties = $this->getColumnProperties($searchIndex, $key); $this->response->addJSON( diff --git a/src/Controllers/Transformation/WrapperController.php b/src/Controllers/Transformation/WrapperController.php index 13ed9df4c2..bdc03999d6 100644 --- a/src/Controllers/Transformation/WrapperController.php +++ b/src/Controllers/Transformation/WrapperController.php @@ -22,7 +22,6 @@ use PhpMyAdmin\Util; use function __; use function htmlspecialchars; -use function intval; use function is_numeric; use function is_string; use function round; @@ -164,11 +163,11 @@ class WrapperController extends AbstractController * stays smaller than the new width and new height */ if ($ratioWidth < $ratioHeight) { - $destWidth = intval(round($srcWidth / $ratioHeight)); + $destWidth = (int) round($srcWidth / $ratioHeight); $destHeight = $newHeight; } else { $destWidth = $newWidth; - $destHeight = intval(round($srcHeight / $ratioWidth)); + $destHeight = (int) round($srcHeight / $ratioWidth); } $destImage = ImageWrapper::create($destWidth, $destHeight); diff --git a/src/Core.php b/src/Core.php index f02e6b0f4c..8e37fca1d4 100644 --- a/src/Core.php +++ b/src/Core.php @@ -26,7 +26,6 @@ use function header_remove; use function htmlspecialchars; use function http_build_query; use function in_array; -use function intval; use function is_array; use function is_scalar; use function is_string; @@ -656,7 +655,7 @@ class Core case 's': /* string */ // parse sting length - $strlen = intval(substr($data, $i + 2)); + $strlen = (int) substr($data, $i + 2); // string start $i = strpos($data, ':', $i + 2); if ($i === false) { diff --git a/src/Database/Designer/Common.php b/src/Database/Designer/Common.php index 50debf1daf..1370c569c4 100644 --- a/src/Database/Designer/Common.php +++ b/src/Database/Designer/Common.php @@ -21,7 +21,6 @@ use function array_keys; use function count; use function explode; use function in_array; -use function intval; use function is_array; use function is_string; use function json_decode; @@ -319,7 +318,7 @@ class Common $defaultPageNo = $this->dbi->fetchValue($query, 0, ConnectionType::ControlUser); - return is_string($defaultPageNo) ? intval($defaultPageNo) : -1; + return is_string($defaultPageNo) ? (int) $defaultPageNo : -1; } /** @@ -371,7 +370,7 @@ class Common $minPageNo = $this->dbi->fetchValue($query, 0, ConnectionType::ControlUser); - return is_string($minPageNo) ? intval($minPageNo) : -1; + return is_string($minPageNo) ? (int) $minPageNo : -1; } /** diff --git a/src/Database/Events.php b/src/Database/Events.php index 3f055084df..7512804a43 100644 --- a/src/Database/Events.php +++ b/src/Database/Events.php @@ -18,7 +18,6 @@ use function array_multisort; use function explode; use function htmlspecialchars; use function in_array; -use function intval; use function is_string; use function sprintf; use function str_contains; @@ -285,7 +284,7 @@ class Events && ! empty($_POST['item_interval_field']) && in_array($_POST['item_interval_field'], $this->interval, true) ) { - $query .= 'EVERY ' . intval($_POST['item_interval_value']) . ' '; + $query .= 'EVERY ' . (int) $_POST['item_interval_value'] . ' '; $query .= $_POST['item_interval_field'] . ' '; } else { $GLOBALS['errors'][] = __('You must provide a valid interval value for the event.'); diff --git a/src/Display/Results.php b/src/Display/Results.php index 7a3e2f667b..304544f512 100644 --- a/src/Display/Results.php +++ b/src/Display/Results.php @@ -52,7 +52,6 @@ use function floor; use function htmlspecialchars; use function implode; use function in_array; -use function intval; use function is_array; use function is_int; use function is_numeric; @@ -641,15 +640,15 @@ class Results $isLastPage = $this->unlimNumRows !== -1 && $this->unlimNumRows !== false && ($isShowingAll - || intval($_SESSION['tmpval']['pos']) + intval($_SESSION['tmpval']['max_rows']) + || (int) $_SESSION['tmpval']['pos'] + (int) $_SESSION['tmpval']['max_rows'] >= $this->unlimNumRows || $this->numRows < $_SESSION['tmpval']['max_rows']); $onsubmit = ' onsubmit="return ' - . (intval($_SESSION['tmpval']['pos']) - + intval($_SESSION['tmpval']['max_rows']) + . ((int) $_SESSION['tmpval']['pos'] + + (int) $_SESSION['tmpval']['max_rows'] < $this->unlimNumRows - && $this->numRows >= intval($_SESSION['tmpval']['max_rows']) + && $this->numRows >= (int) $_SESSION['tmpval']['max_rows'] ? 'true' : 'false') . ';"'; @@ -657,7 +656,7 @@ class Results if (is_numeric($_SESSION['tmpval']['max_rows'])) { $posLast = @((int) ceil( (int) $this->unlimNumRows / $_SESSION['tmpval']['max_rows'], - ) - 1) * intval($_SESSION['tmpval']['max_rows']); + ) - 1) * (int) $_SESSION['tmpval']['max_rows']; } $hiddenFields = [ @@ -2997,7 +2996,7 @@ class Results $query['max_rows'] = self::ALL_ROWS; unset($_GET['session_max_rows'], $_POST['session_max_rows']); } elseif (empty($query['max_rows'])) { - $query['max_rows'] = intval($this->config->settings['MaxRows']); + $query['max_rows'] = (int) $this->config->settings['MaxRows']; } if (isset($_REQUEST['pos']) && is_numeric($_REQUEST['pos'])) { diff --git a/src/Normalization.php b/src/Normalization.php index 734b9dfeac..3258195045 100644 --- a/src/Normalization.php +++ b/src/Normalization.php @@ -18,7 +18,6 @@ use function explode; use function htmlspecialchars; use function implode; use function in_array; -use function intval; use function is_array; use function json_encode; use function mb_strtoupper; @@ -175,7 +174,7 @@ class Normalization $this->dbi->getVersion(), ), 'server_version' => $this->dbi->getVersion(), - 'max_rows' => intval($this->config->settings['MaxRows']), + 'max_rows' => (int) $this->config->settings['MaxRows'], 'char_editing' => $this->config->settings['CharEditing'], 'attribute_types' => $this->dbi->types->getAttributes(), 'privs_available' => $userPrivileges->column && $userPrivileges->isReload, diff --git a/src/Plugins/Auth/AuthenticationCookie.php b/src/Plugins/Auth/AuthenticationCookie.php index ea9b3cdc7c..766b2f8ac8 100644 --- a/src/Plugins/Auth/AuthenticationCookie.php +++ b/src/Plugins/Auth/AuthenticationCookie.php @@ -34,7 +34,6 @@ use function explode; use function function_exists; use function in_array; use function ini_get; -use function intval; use function is_array; use function is_string; use function json_decode; @@ -118,7 +117,7 @@ class AuthenticationCookie extends AuthenticationPlugin // Show error message if (! empty($GLOBALS['conn_error'])) { $errorMessages = Message::rawError((string) $GLOBALS['conn_error'])->getDisplay(); - } elseif (isset($_GET['session_expired']) && intval($_GET['session_expired']) == 1) { + } elseif (isset($_GET['session_expired']) && (int) $_GET['session_expired'] == 1) { $errorMessages = Message::rawError( __('Your session has expired. Please log in again.'), )->getDisplay(); diff --git a/src/Plugins/AuthenticationPlugin.php b/src/Plugins/AuthenticationPlugin.php index 46f840a8a0..09bde9a24d 100644 --- a/src/Plugins/AuthenticationPlugin.php +++ b/src/Plugins/AuthenticationPlugin.php @@ -27,7 +27,6 @@ use function __; use function array_keys; use function defined; use function htmlspecialchars; -use function intval; use function max; use function min; use function session_destroy; @@ -175,7 +174,7 @@ abstract class AuthenticationPlugin return sprintf( __('You have been automatically logged out due to inactivity of %s seconds.' . ' Once you log in again, you should be able to resume the work where you left off.'), - intval(Config::getInstance()->settings['LoginCookieValidity']), + (int) Config::getInstance()->settings['LoginCookieValidity'], ); } @@ -222,7 +221,7 @@ abstract class AuthenticationPlugin // Negative values can cause session expiry extension // Too big values can cause overflow and lead to same $time = time() - min( - max(0, intval($_REQUEST['access_time'])), + max(0, (int) $_REQUEST['access_time']), Config::getInstance()->settings['LoginCookieValidity'] + 1, ); } else { diff --git a/src/Plugins/Export/ExportSql.php b/src/Plugins/Export/ExportSql.php index dfaa22d878..ecca444525 100644 --- a/src/Plugins/Export/ExportSql.php +++ b/src/Plugins/Export/ExportSql.php @@ -43,7 +43,6 @@ use function defined; use function explode; use function implode; use function in_array; -use function intval; use function is_array; use function mb_strlen; use function mb_strpos; @@ -1109,7 +1108,7 @@ class ExportSql extends ExportPlugin . Util::backquote($relationParameters->pdfFeature->database) . '.' . Util::backquote($relationParameters->pdfFeature->pdfPages) . ' WHERE `db_name` = ' . $dbi->quoteString($db) - . ' AND `page_nr` = ' . intval($page); + . ' AND `page_nr` = ' . (int) $page; if ( ! $this->exportData( diff --git a/src/Plugins/Schema/Pdf/PdfRelationSchema.php b/src/Plugins/Schema/Pdf/PdfRelationSchema.php index eb17ec1d00..e43a3f8c22 100644 --- a/src/Plugins/Schema/Pdf/PdfRelationSchema.php +++ b/src/Plugins/Schema/Pdf/PdfRelationSchema.php @@ -19,7 +19,6 @@ use function __; use function ceil; use function getcwd; use function in_array; -use function intval; use function max; use function min; use function rsort; @@ -391,7 +390,7 @@ class PdfRelationSchema extends ExportRelationSchema // Draws horizontal lines $innerHeight = $this->pdf->getPageHeight() - $topSpace - $bottomSpace; /** @infection-ignore-all */ - for ($l = 0, $size = intval($innerHeight / $gridSize); $l <= $size; $l++) { + for ($l = 0, $size = (int) ($innerHeight / $gridSize); $l <= $size; $l++) { $this->pdf->line( 0, $l * $gridSize + $topSpace, @@ -399,7 +398,7 @@ class PdfRelationSchema extends ExportRelationSchema $l * $gridSize + $topSpace, ); // Avoid duplicates - if ($l <= 0 || $l > intval(($innerHeight - $labelHeight) / $gridSize)) { + if ($l <= 0 || $l > (int) (($innerHeight - $labelHeight) / $gridSize)) { continue; } @@ -410,7 +409,7 @@ class PdfRelationSchema extends ExportRelationSchema // Draws vertical lines /** @infection-ignore-all */ - for ($j = 0, $size = intval($this->pdf->getPageWidth() / $gridSize); $j <= $size; $j++) { + for ($j = 0, $size = (int) ($this->pdf->getPageWidth() / $gridSize); $j <= $size; $j++) { $this->pdf->line( $j * $gridSize, $topSpace, diff --git a/src/Plugins/Transformations/Abs/HexTransformationsPlugin.php b/src/Plugins/Transformations/Abs/HexTransformationsPlugin.php index 8642c3104e..8db0fa6ca8 100644 --- a/src/Plugins/Transformations/Abs/HexTransformationsPlugin.php +++ b/src/Plugins/Transformations/Abs/HexTransformationsPlugin.php @@ -14,7 +14,6 @@ use PhpMyAdmin\Plugins\TransformationsPlugin; use function __; use function bin2hex; use function chunk_split; -use function intval; /** * Provides common methods for all of the hex transformations plugins. @@ -45,7 +44,7 @@ abstract class HexTransformationsPlugin extends TransformationsPlugin // possibly use a global transform and feed it with special options $cfg = Config::getInstance()->settings; $options = $this->getOptions($options, $cfg['DefaultTransformations']['Hex']); - $options[0] = intval($options[0]); + $options[0] = (int) $options[0]; if ($options[0] < 1) { return bin2hex($buffer); diff --git a/src/Plugins/Transformations/Abs/ImageUploadTransformationsPlugin.php b/src/Plugins/Transformations/Abs/ImageUploadTransformationsPlugin.php index 4fb3d95852..4b9e3f5f6a 100644 --- a/src/Plugins/Transformations/Abs/ImageUploadTransformationsPlugin.php +++ b/src/Plugins/Transformations/Abs/ImageUploadTransformationsPlugin.php @@ -13,7 +13,6 @@ use PhpMyAdmin\Url; use function __; use function bin2hex; -use function intval; /** * Provides common methods for all of the image upload transformations plugins. @@ -74,8 +73,8 @@ abstract class ImageUploadTransformationsPlugin extends IOTransformationsPlugin } $html .= ''
+            . (isset($options[0]) ? (int) $options[0] : '100') . ''; $html .= '
'; diff --git a/src/Query/Utilities.php b/src/Query/Utilities.php index d49ea02a09..ed94136dab 100644 --- a/src/Query/Utilities.php +++ b/src/Query/Utilities.php @@ -15,7 +15,6 @@ use function debug_backtrace; use function explode; use function htmlspecialchars; use function htmlspecialchars_decode; -use function intval; use function md5; use function sprintf; use function str_contains; @@ -157,7 +156,7 @@ class Utilities { $match = explode('.', $version); - return (int) sprintf('%d%02d%02d', $match[0], $match[1], intval($match[2])); + return (int) sprintf('%d%02d%02d', $match[0], $match[1], (int) $match[2]); } /** diff --git a/src/Server/SysInfo/Linux.php b/src/Server/SysInfo/Linux.php index a5914b5ee8..7710989cc3 100644 --- a/src/Server/SysInfo/Linux.php +++ b/src/Server/SysInfo/Linux.php @@ -5,6 +5,7 @@ declare(strict_types=1); namespace PhpMyAdmin\Server\SysInfo; use function array_combine; +use function array_map; use function array_merge; use function file_get_contents; use function intval; @@ -75,11 +76,7 @@ class Linux extends Base preg_match_all(SysInfo::MEMORY_REGEXP, $content, $matches); - /** @var array|false $mem */ $mem = array_combine($matches[1], $matches[2]); - if ($mem === false) { - return []; - } $defaults = [ 'MemTotal' => 0, @@ -93,9 +90,7 @@ class Linux extends Base $mem = array_merge($defaults, $mem); - foreach ($mem as $idx => $value) { - $mem[$idx] = intval($value); - } + $mem = array_map(intval(...), $mem); $mem['MemUsed'] = $mem['MemTotal'] - $mem['MemFree'] - $mem['Cached'] - $mem['Buffers']; $mem['SwapUsed'] = $mem['SwapTotal'] - $mem['SwapFree'] - $mem['SwapCached']; diff --git a/src/Server/SysInfo/WindowsNt.php b/src/Server/SysInfo/WindowsNt.php index 3f6f14fe22..2d7b5b4329 100644 --- a/src/Server/SysInfo/WindowsNt.php +++ b/src/Server/SysInfo/WindowsNt.php @@ -10,7 +10,6 @@ use Throwable; use function array_merge; use function class_exists; use function intdiv; -use function intval; /** * Windows NT based SysInfo class @@ -131,9 +130,9 @@ class WindowsNt extends Base $peak = 0; foreach ($instances as $instance) { // phpcs:disable Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps - $total += intval($instance->AllocatedBaseSize) * 1024; /* @phpstan-ignore-line */ - $used += intval($instance->CurrentUsage) * 1024; /* @phpstan-ignore-line */ - $peak += intval($instance->PeakUsage) * 1024; /* @phpstan-ignore-line */ + $total += (int) $instance->AllocatedBaseSize * 1024; /* @phpstan-ignore-line */ + $used += (int) $instance->CurrentUsage * 1024; /* @phpstan-ignore-line */ + $peak += (int) $instance->PeakUsage * 1024; /* @phpstan-ignore-line */ // phpcs:enable } diff --git a/src/Table/ColumnsDefinition.php b/src/Table/ColumnsDefinition.php index 8311f2623f..5c5407de38 100644 --- a/src/Table/ColumnsDefinition.php +++ b/src/Table/ColumnsDefinition.php @@ -23,7 +23,6 @@ use function bin2hex; use function count; use function explode; use function in_array; -use function intval; use function is_array; use function mb_strtoupper; use function preg_quote; @@ -354,7 +353,7 @@ final class ColumnsDefinition $this->dbi->getVersion(), ), 'server_version' => $this->dbi->getVersion(), - 'max_rows' => intval($config->settings['MaxRows']), + 'max_rows' => (int) $config->settings['MaxRows'], 'char_editing' => $config->settings['CharEditing'] ?? null, 'attribute_types' => $this->dbi->types->getAttributes(), 'privs_available' => $userPrivileges->column && $userPrivileges->isReload, diff --git a/src/Tracking/Tracker.php b/src/Tracking/Tracker.php index f6da501afa..4c07cd6a7b 100644 --- a/src/Tracking/Tracker.php +++ b/src/Tracking/Tracker.php @@ -26,7 +26,6 @@ use PhpMyAdmin\SqlParser\Statements\TruncateStatement; use PhpMyAdmin\SqlParser\Statements\UpdateStatement; use PhpMyAdmin\Util; -use function intval; use function preg_quote; use function preg_replace; use function serialize; @@ -395,7 +394,7 @@ class Tracker $row = $result->fetchRow(); - return intval($row[0] ?? -1); + return (int) ($row[0] ?? -1); } /** diff --git a/src/Util.php b/src/Util.php index f3a22dfcd3..907be406ee 100644 --- a/src/Util.php +++ b/src/Util.php @@ -28,7 +28,6 @@ use function decbin; use function explode; use function extension_loaded; use function fclose; -use function floatval; use function floor; use function fread; use function function_exists; @@ -388,7 +387,7 @@ class Util /* l10n: Thousands separator */ __(','), ); - if ($originalValue != 0 && floatval($value) == 0) { + if ($originalValue != 0 && (float) $value == 0) { return ' <' . (1 / 10 ** $digitsRight); } @@ -453,7 +452,7 @@ class Util $formattedValue = preg_replace('/' . preg_quote($decimalSep, '/') . '?0+$/', '', $formattedValue); } - if ($originalValue != 0 && floatval($value) == 0) { + if ($originalValue != 0 && $value == 0) { return ' <' . number_format(1 / 10 ** $digitsRight, $digitsRight, $decimalSep, $thousandsSep) . ' ' . $unit; } diff --git a/src/Utils/HttpRequest.php b/src/Utils/HttpRequest.php index 78acc68cf0..c583ba1deb 100644 --- a/src/Utils/HttpRequest.php +++ b/src/Utils/HttpRequest.php @@ -16,7 +16,6 @@ use function file_get_contents; use function function_exists; use function getenv; use function ini_get; -use function intval; use function is_array; use function is_dir; use function parse_url; @@ -255,7 +254,7 @@ class HttpRequest } preg_match('#HTTP/[0-9\.]+\s+([0-9]+)#', $http_response_header[0], $out); - $httpStatus = intval($out[1]); + $httpStatus = (int) $out[1]; return $this->response($response, $httpStatus, $returnOnlyStatus); } diff --git a/src/VersionInformation.php b/src/VersionInformation.php index b2082826ae..66a08fac47 100644 --- a/src/VersionInformation.php +++ b/src/VersionInformation.php @@ -11,7 +11,6 @@ use PhpMyAdmin\Utils\HttpRequest; use function count; use function explode; -use function intval; use function is_array; use function is_numeric; use function is_string; @@ -117,7 +116,7 @@ class VersionInformation $matches = []; if (preg_match('/^(\D+)(\d+)$/', $suffix, $matches)) { $suffix = $matches[1]; - $result += intval($matches[2]); + $result += (int) $matches[2]; } switch ($suffix) {