Skip to content

Commit

Permalink
Fix some errors found by PHPStan and Psalm
Browse files Browse the repository at this point in the history
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
  • Loading branch information
MauricioFauth committed May 22, 2021
1 parent 5faf950 commit cd1b8a9
Show file tree
Hide file tree
Showing 26 changed files with 90 additions and 181 deletions.
2 changes: 1 addition & 1 deletion libraries/classes/Controllers/HomeController.php
Expand Up @@ -146,7 +146,7 @@ public function index(): void
}

$databaseServer = [];
if ($server > 0 && $cfg['ShowServerInfo']) {
if ($server > 0) {
$hostInfo = '';
if (! empty($cfg['Server']['verbose'])) {
$hostInfo .= $cfg['Server']['verbose'];
Expand Down
Expand Up @@ -334,8 +334,7 @@ public function index(): void
&& empty($_REQUEST['ajax_page_request'])
&& ! isset($_GET['export'])
&& (! isset($_POST['submit_mult']) || $_POST['submit_mult'] !== 'export')
&& ((! isset($_GET['initial']) || $_GET['initial'] === null
|| $_GET['initial'] === '')
&& ((! isset($_GET['initial']) || $_GET['initial'] === '')
|| (isset($_POST['delete']) && $_POST['delete'] === __('Go')))
&& ! isset($_GET['showall'])
) {
Expand Down
2 changes: 1 addition & 1 deletion libraries/classes/DatabaseInterface.php
Expand Up @@ -2165,7 +2165,7 @@ public function getError($link = self::CONNECT_USER)
/**
* returns the number of rows returned by last query
*
* @param object $result result set identifier
* @param object|bool $result result set identifier
*
* @return string|int
*/
Expand Down
2 changes: 1 addition & 1 deletion libraries/classes/Dbal/DbalInterface.php
Expand Up @@ -625,7 +625,7 @@ public function getError($link = DatabaseInterface::CONNECT_USER);
/**
* returns the number of rows returned by last query
*
* @param object $result result set identifier
* @param object|bool $result result set identifier
*
* @return string|int
*/
Expand Down
14 changes: 7 additions & 7 deletions libraries/classes/Dbal/DbiExtension.php
Expand Up @@ -32,12 +32,12 @@ public function connect(
/**
* selects given database
*
* @param string|DatabaseName $dbname database name to select
* @param object $link connection object
* @param string|DatabaseName $databaseName database name to select
* @param object $link connection object
*
* @return bool
*/
public function selectDb($dbname, $link);
public function selectDb($databaseName, $link);

/**
* runs a query and returns the result
Expand Down Expand Up @@ -166,7 +166,7 @@ public function getError($link);
/**
* returns the number of rows returned by last query
*
* @param object $result result set identifier
* @param object|bool $result result set identifier
*
* @return string|int
*/
Expand Down Expand Up @@ -222,12 +222,12 @@ public function fieldName($result, $i);
/**
* returns properly escaped string for use in MySQL queries
*
* @param mixed $link database link
* @param string $str string to be escaped
* @param mixed $link database link
* @param string $string string to be escaped
*
* @return string a MySQL escaped string
*/
public function escapeString($link, $str);
public function escapeString($link, $string);

/**
* Prepare an SQL statement for execution.
Expand Down
56 changes: 31 additions & 25 deletions libraries/classes/Dbal/DbiMysqli.php
Expand Up @@ -18,6 +18,8 @@
use function defined;
use function is_array;
use function is_bool;
use function mysqli_connect_errno;
use function mysqli_connect_error;
use function mysqli_init;
use function mysqli_report;
use function stripos;
Expand Down Expand Up @@ -62,6 +64,10 @@ public function connect($user, $password, array $server)

$mysqli = mysqli_init();

if ($mysqli === false) {
return false;
}

$client_flags = 0;

/* Optionally compress connection */
Expand Down Expand Up @@ -118,7 +124,7 @@ public function connect($user, $password, array $server)
$client_flags
);

if ($return_value === false || $return_value === null) {
if ($return_value === false) {
/*
* Switch to SSL if server asked us to do so, unfortunately
* there are more ways MySQL server can tell this:
Expand Down Expand Up @@ -160,25 +166,25 @@ public function connect($user, $password, array $server)
* selects given database
*
* @param string|DatabaseName $databaseName database name to select
* @param mysqli $mysqli the mysqli object
* @param mysqli $link the mysqli object
*
* @return bool
*/
public function selectDb($databaseName, $mysqli)
public function selectDb($databaseName, $link)
{
return $mysqli->select_db((string) $databaseName);
return $link->select_db((string) $databaseName);
}

/**
* runs a query and returns the result
*
* @param string $query query to execute
* @param mysqli $mysqli mysqli object
* @param mysqli $link mysqli object
* @param int $options query options
*
* @return mysqli_result|bool
*/
public function realQuery($query, $mysqli, $options)
public function realQuery($query, $link, $options)
{
if ($options == ($options | DatabaseInterface::QUERY_STORE)) {
$method = MYSQLI_STORE_RESULT;
Expand All @@ -188,20 +194,20 @@ public function realQuery($query, $mysqli, $options)
$method = 0;
}

return $mysqli->query($query, $method);
return $link->query($query, $method);
}

/**
* Run the multi query and output the results
*
* @param mysqli $mysqli mysqli object
* @param string $query multi query statement to execute
* @param mysqli $link mysqli object
* @param string $query multi query statement to execute
*
* @return bool
*/
public function realMultiQuery($mysqli, $query)
public function realMultiQuery($link, $query)
{
return $mysqli->multi_query($query);
return $link->multi_query($query);
}

/**
Expand Down Expand Up @@ -350,7 +356,7 @@ public function getClientInfo($mysqli)
/**
* returns last error message or false if no errors occurred
*
* @param mysqli $mysqli mysql link
* @param mysqli|false|null $mysqli mysql link
*
* @return string|bool error or false
*/
Expand All @@ -362,11 +368,11 @@ public function getError($mysqli)
$error_number = $mysqli->errno;
$error_message = $mysqli->error;
} else {
$error_number = $mysqli->connect_errno;
$error_message = $mysqli->connect_error;
$error_number = mysqli_connect_errno();
$error_message = (string) mysqli_connect_error();
}

if ($error_number == 0) {
if ($error_number === 0 || $error_message === '') {
return false;
}

Expand All @@ -380,7 +386,7 @@ public function getError($mysqli)
/**
* returns the number of rows returned by last query
*
* @param mysqli_result $result result set identifier
* @param mysqli_result|bool $result result set identifier
*
* @return string|int
*/
Expand Down Expand Up @@ -457,7 +463,7 @@ public function fieldLen($result, $i)
return false;
}

/** @var stdClass $fieldDefinition */
/** @var stdClass|false $fieldDefinition */
$fieldDefinition = $result->fetch_field_direct($i);
if ($fieldDefinition !== false) {
return $fieldDefinition->length;
Expand All @@ -480,7 +486,7 @@ public function fieldName($result, $i)
return '';
}

/** @var stdClass $fieldDefinition */
/** @var stdClass|false $fieldDefinition */
$fieldDefinition = $result->fetch_field_direct($i);
if ($fieldDefinition !== false) {
return $fieldDefinition->name;
Expand All @@ -492,26 +498,26 @@ public function fieldName($result, $i)
/**
* returns properly escaped string for use in MySQL queries
*
* @param mysqli $mysqli database link
* @param mysqli $link database link
* @param string $string string to be escaped
*
* @return string a MySQL escaped string
*/
public function escapeString($mysqli, $string)
public function escapeString($link, $string)
{
return $mysqli->real_escape_string($string);
return $link->real_escape_string($string);
}

/**
* Prepare an SQL statement for execution.
*
* @param mysqli $mysqli database link
* @param string $query The query, as a string.
* @param mysqli $link database link
* @param string $query The query, as a string.
*
* @return mysqli_stmt|false A statement object or false.
*/
public function prepare($mysqli, string $query)
public function prepare($link, string $query)
{
return $mysqli->prepare($query);
return $link->prepare($query);
}
}
2 changes: 1 addition & 1 deletion libraries/classes/Error.php
Expand Up @@ -427,7 +427,7 @@ public static function getFunctionCall(array $step, string $separator): string
* if $function is one of include/require
* the $arg is converted to a relative path
*
* @param string $arg argument to process
* @param mixed $arg argument to process
* @param string $function function name
*/
public static function getArg($arg, string $function): string
Expand Down
14 changes: 7 additions & 7 deletions libraries/classes/Footer.php
Expand Up @@ -92,11 +92,10 @@ private function getGitRevisionInfo(): array
/**
* Remove recursions and iterator objects from an object
*
* @param object|array $object Object to clean
* @param array $stack Stack used to keep track of recursion,
* need not be passed for the first time
* @param mixed $object Object to clean
* @param array $stack Stack used to keep track of recursion, need not be passed for the first time
*
* @return object Reference passed object
* @return mixed Reference passed object
*/
private static function removeRecursion(&$object, array $stack = [])
{
Expand All @@ -105,8 +104,9 @@ private static function removeRecursion(&$object, array $stack = [])
$object = '***ITERATOR***';
} elseif (! in_array($object, $stack, true)) {
$stack[] = $object;
foreach ($object as &$subobject) {
self::removeRecursion($subobject, $stack);
// @phpstan-ignore-next-line
foreach ($object as &$subObject) {
self::removeRecursion($subObject, $stack);
}
} else {
$object = '***RECURSION***';
Expand All @@ -130,7 +130,7 @@ public function getDebugMessage(): string
// Remove recursions and iterators from $_SESSION['debug']
self::removeRecursion($_SESSION['debug']);

$retval = json_encode($_SESSION['debug']);
$retval = (string) json_encode($_SESSION['debug']);
$_SESSION['debug'] = [];

return json_last_error() ? '\'false\'' : $retval;
Expand Down
2 changes: 1 addition & 1 deletion libraries/classes/Linter.php
Expand Up @@ -26,7 +26,7 @@ class Linter
/**
* Gets the starting position of each line.
*
* @param string $str String to be analyzed.
* @param string|UtfString $str String to be analyzed.
*
* @return array
*/
Expand Down
2 changes: 1 addition & 1 deletion libraries/classes/Plugins/Export/ExportCsv.php
Expand Up @@ -284,7 +284,7 @@ public function exportData(
while ($row = $dbi->fetchRow($result)) {
$schema_insert = '';
for ($j = 0; $j < $fields_cnt; $j++) {
if (! isset($row[$j]) || $row[$j] === null) {
if (! isset($row[$j])) {
$schema_insert .= $GLOBALS[$what . '_null'];
} elseif ($row[$j] == '0' || $row[$j] != '') {
// always enclose fields
Expand Down
2 changes: 1 addition & 1 deletion libraries/classes/Plugins/Export/ExportHtmlword.php
Expand Up @@ -254,7 +254,7 @@ public function exportData(
while ($row = $dbi->fetchRow($result)) {
$schema_insert = '<tr class="print-category">';
for ($j = 0; $j < $fields_cnt; $j++) {
if (! isset($row[$j]) || $row[$j] === null) {
if (! isset($row[$j])) {
$value = $GLOBALS[$what . '_null'];
} elseif ($row[$j] == '0' || $row[$j] != '') {
$value = $row[$j];
Expand Down
2 changes: 1 addition & 1 deletion libraries/classes/Plugins/Export/ExportOds.php
Expand Up @@ -263,7 +263,7 @@ public function exportData(
$row[$j] = '0x' . bin2hex($row[$j]);
}

if (! isset($row[$j]) || $row[$j] === null) {
if (! isset($row[$j])) {
$GLOBALS['ods_buffer'] .= '<table:table-cell office:value-type="string">'
. '<text:p>'
. htmlspecialchars($GLOBALS[$what . '_null'])
Expand Down
2 changes: 1 addition & 1 deletion libraries/classes/Plugins/Export/ExportOdt.php
Expand Up @@ -301,7 +301,7 @@ public function exportData(
$row[$j] = '0x' . bin2hex($row[$j]);
}

if (! isset($row[$j]) || $row[$j] === null) {
if (! isset($row[$j])) {
$GLOBALS['odt_buffer'] .= '<table:table-cell office:value-type="string">'
. '<text:p>'
. htmlspecialchars($GLOBALS[$what . '_null'])
Expand Down
2 changes: 1 addition & 1 deletion libraries/classes/Plugins/Export/ExportSql.php
Expand Up @@ -2583,7 +2583,7 @@ public function exportData(
$values = [];
for ($j = 0; $j < $fieldsCnt; $j++) {
// NULL
if (! isset($row[$j]) || $row[$j] === null) {
if (! isset($row[$j])) {
$values[] = 'NULL';
} elseif (
$fieldsMeta[$j]->isNumeric
Expand Down
2 changes: 1 addition & 1 deletion libraries/classes/Plugins/Export/ExportTexytext.php
Expand Up @@ -228,7 +228,7 @@ public function exportData(
while ($row = $dbi->fetchRow($result)) {
$text_output = '';
for ($j = 0; $j < $fields_cnt; $j++) {
if (! isset($row[$j]) || $row[$j] === null) {
if (! isset($row[$j])) {
$value = $GLOBALS[$what . '_null'];
} elseif ($row[$j] == '0' || $row[$j] != '') {
$value = $row[$j];
Expand Down
2 changes: 1 addition & 1 deletion libraries/classes/Plugins/Export/ExportXml.php
Expand Up @@ -551,7 +551,7 @@ public function exportData(

// If a cell is NULL, still export it to preserve
// the XML structure
if (! isset($record[$i]) || $record[$i] === null) {
if (! isset($record[$i])) {
$record[$i] = 'NULL';
}

Expand Down
3 changes: 2 additions & 1 deletion libraries/classes/Plugins/Export/ExportYaml.php
Expand Up @@ -15,6 +15,7 @@
use PhpMyAdmin\Properties\Options\Items\HiddenPropertyItem;
use PhpMyAdmin\Properties\Plugins\ExportPluginProperties;

use function array_key_exists;
use function is_numeric;
use function str_replace;
use function stripslashes;
Expand Down Expand Up @@ -187,7 +188,7 @@ public function exportData(
}

for ($i = 0; $i < $columns_cnt; $i++) {
if (! isset($record[$i])) {
if (! array_key_exists($i, $record)) {
continue;
}

Expand Down

0 comments on commit cd1b8a9

Please sign in to comment.