]> git.joonet.de Git - adminer.git/commitdiff
PHPStan: Fix level 0 errors
authorJakub Vrana <jakub@vrana.cz>
Wed, 26 Mar 2025 11:41:52 +0000 (12:41 +0100)
committerJakub Vrana <jakub@vrana.cz>
Wed, 26 Mar 2025 12:14:10 +0000 (13:14 +0100)
adminer/drivers/mysql.inc.php
adminer/drivers/pgsql.inc.php
adminer/include/adminer.inc.php
adminer/include/driver.inc.php
adminer/include/editing.inc.php
adminer/include/functions.inc.php
phpstan.neon [new file with mode: 0644]
plugins/drivers/firebird.php
plugins/drivers/imap.php
plugins/drivers/mongo.php

index 05436fe0efb9b7736cc2711623cbf401b5988f9c..a44da959757885f587ed969feffd200c09b16e9e 100644 (file)
@@ -1184,7 +1184,7 @@ if (!defined('Adminer\DRIVER')) {
 
        /** Convert field in select and edit
        * @param Field one element from fields()
-       * @return string
+       * @return ?string
        */
        function convert_field($field) {
                if (preg_match("~binary~", $field["type"])) {
index bad69c47d59b7dce73fb7909631dfa49a6c49e35..3e278b152deeae62cf1ca8b449bd476f5a70b542 100644 (file)
@@ -176,9 +176,7 @@ if (isset($_GET["pgsql"])) {
                                return $return;
                        }
 
-                       function warnings() {
-                               return ''; // not implemented in PDO_PgSQL as of PHP 7.2.1
-                       }
+                       // warnings() not implemented in PDO_PgSQL as of PHP 7.2.1
 
                        function close() {
                        }
index 58dddf5722c4bdeea7947b3d5803e00c2dd2424a..0a3a9b231fc3c9ce0ae41fde998b53ab2c8a2ab1 100644 (file)
@@ -22,7 +22,7 @@ class Adminer {
        }
 
        /** Get SSL connection options
-       * @return string[] or null
+       * @return ?string[]
        */
        function connectSsl() {
        }
@@ -289,7 +289,7 @@ class Adminer {
        /** Get a link to use in select table
        * @param string raw value of the field
        * @param Field single field returned from fields()
-       * @return string or null to create the default link
+       * @return ?string null to create the default link
        */
        function selectLink($val, $field) {
        }
index 1ea97a6a677d4ce13613cbcb12b4b1bc06f9d30e..b7f5f3bb5e0328741e0eb270e6eb9bcaad0100e2 100644 (file)
@@ -61,14 +61,14 @@ abstract class SqlDriver {
 
        /** Get enum values
        * @param Field
-       * @return string or null
+       * @return ?string
        */
        function enumLength($field) {
        }
 
        /** Function used to convert the value inputted by user
        * @param Field
-       * @return string or null
+       * @return ?string
        */
        function unconvertFunction($field) {
        }
@@ -187,7 +187,7 @@ abstract class SqlDriver {
        /** Return query with a timeout
        * @param string
        * @param int seconds
-       * @return string or null if the driver doesn't support query timeouts
+       * @return ?string null if the driver doesn't support query timeouts
        */
        function slowQuery($query, $timeout) {
        }
@@ -231,16 +231,15 @@ abstract class SqlDriver {
        }
 
        /** Get warnings about the last command
-       * @return string HTML
+       * @return ?string HTML
        */
        function warnings() {
-               return '';
        }
 
        /** Get help link for table
        * @param string
        * @param bool
-       * @return string relative URL or null
+       * @return ?string relative URL
        */
        function tableHelp($name, $is_view = false) {
        }
index de12030e9c1824da7cf3048bd8dbea0410bae7bf..005db5135759c137d340408ace3447f512e0938f 100644 (file)
@@ -299,7 +299,7 @@ function default_value($field) {
 
 /** Get type class to use in CSS
 * @param string
-* @return string class=''
+* @return ?string class=''
 */
 function type_class($type) {
        foreach (
index 073bda500670e17f94930db01733c866266affb5..c23a0c3f047d8ff2c469a8b555f8dde416fb90fa 100644 (file)
@@ -66,8 +66,8 @@ function escape_string($val) {
 }
 
 /** Get a possibly missing item from a possibly missing array
-* idx($row, $key) is better than $row[$key] ?? null because it reports error for undefined $row
-* @param array|null
+* idx($row, $key) is better than $row[$key] ?? null because PHP will report error for undefined $row
+* @param ?array
 * @param string|int
 * @param mixed
 * @return mixed
@@ -274,7 +274,7 @@ function get_rows($query, $connection2 = null, $error = "<p class='error'>") {
 /** Find unique identifier of a row
 * @param string[]
 * @param Index[] result of indexes()
-* @return string[] or null if there is no unique identifier
+* @return ?string[] null if there is no unique identifier
 */
 function unique_array($row, $indexes) {
        foreach ($indexes as $index) {
@@ -377,11 +377,11 @@ function convert_fields($columns, $fields, $select = array()) {
 * @param string
 * @param string
 * @param int number of seconds, 0 for session cookie, 2592000 - 30 days
-* @return bool
+* @return null
 */
 function cookie($name, $value, $lifetime = 2592000) {
        global $HTTPS;
-       return header(
+       header(
                "Set-Cookie: $name=" . urlencode($value)
                        . ($lifetime ? "; expires=" . gmdate("D, d M Y H:i:s", time() + $lifetime) . " GMT" : "")
                        . "; path=" . preg_replace('~\?.*~', '', $_SERVER["REQUEST_URI"])
@@ -413,10 +413,10 @@ function get_setting($key, $cookie = "adminer_settings") {
 /** Store settings to a cookie
 * @param mixed[]
 * @param string
-* @return bool
+* @return null
 */
 function save_settings($settings, $cookie = "adminer_settings") {
-       return cookie($cookie, http_build_query($settings + get_settings($cookie)));
+       cookie($cookie, http_build_query($settings + get_settings($cookie)));
 }
 
 /** Restart stopped session
@@ -495,7 +495,7 @@ function is_ajax() {
 /** Send Location header and exit
 * @param string null to only set a message
 * @param string
-* @return never
+* @return null
 */
 function redirect($location, $message = null) {
        if ($message !== null) {
diff --git a/phpstan.neon b/phpstan.neon
new file mode 100644 (file)
index 0000000..3a9be1b
--- /dev/null
@@ -0,0 +1,13 @@
+parameters:
+       level: 0
+       ignoreErrors:
+               - identifier: include.fileNotFound # relative includes
+               - identifier: includeOnce.fileNotFound # ./adminer-plugins.php
+               - "~^Function (set_magic_quotes_runtime|mysql_)~" # PHP < 7 functions
+               - "~^Instantiated class Adminer\\w~" # no support for classes defined inside function
+       paths:
+               - .
+       phpVersion:
+               min: 70100
+               max: 80499
+       checkMissingCallableSignature: true
index e8a6d58a6c047684c39c874dae5f3adedbb9fb45..0bde0c75d6ad86da05502af02f8664d669c18320 100644 (file)
@@ -27,8 +27,8 @@ if (isset($_GET["firebird"])) {
                                $this->_link = ibase_connect($server, $username, $password);
                                if ($this->_link) {
                                        $url_parts = explode(':', $server);
-                                       $this->service_link = ibase_service_attach($url_parts[0], $username, $password);
-                                       $this->server_info = ibase_server_info($this->service_link, IBASE_SVC_SERVER_VERSION);
+                                       $service_link = ibase_service_attach($url_parts[0], $username, $password);
+                                       $this->server_info = ibase_server_info($service_link, IBASE_SVC_SERVER_VERSION);
                                } else {
                                        $this->errno = ibase_errcode();
                                        $this->error = ibase_errmsg();
index 9583ac69134e9d983a50ad05b480dfa04da97adf..ad6f3c0257a30909e6495bd3b9c7cc48c8f4d862 100644 (file)
@@ -110,7 +110,7 @@ if (isset($_GET["imap"])) {
                        }
 
                        function expunge() {
-                               return imap_expunge();
+                               return imap_expunge($this->imap);
                        }
                }
 
@@ -272,7 +272,7 @@ if (isset($_GET["imap"])) {
        }
 
        function truncate_tables($tables) {
-               return connection()->expunge($name);
+               return connection()->expunge();
        }
 
        function connect($credentials) {
index fc7459682669a4018d2dcf8fd2fe9122d98210c5..55abb3f14170aebf66dff61fb87c5173d07dd820 100644 (file)
@@ -19,7 +19,7 @@ if (isset($_GET["mongo"])) {
                        }
 
                        function executeCommand($command) {
-                               return $this->executeDbCommand($this->_db_name);
+                               return $this->executeDbCommand($this->_db_name, $command);
                        }
 
                        function executeDbCommand($db, $command) {