]> git.mxchange.org Git - friendica.git/blobdiff - src/Database/DBA.php
Add expected support for sort strings in select() parameters
[friendica.git] / src / Database / DBA.php
index f35428718d8fe9c6d9d02e22ad590dd91c89b036..f3edf52be5f1e973f940402db42ff6cc90b5d16b 100644 (file)
@@ -648,6 +648,20 @@ class DBA
        /**
         * Returns the SQL parameter string built from the provided parameter array
         *
+        * Expected format for each key:
+        *
+        * group_by:
+        *  - list of column names
+        *
+        * order:
+        *  - numeric keyed column name => ASC
+        *  - associative element with boolean value => DESC (true), ASC (false)
+        *  - associative element with string value => 'ASC' or 'DESC' literally
+        *
+        * limit:
+        *  - single numeric value => count
+        *  - list with two numeric values => offset, count
+        *
         * @param array $params
         * @return string
         */
@@ -665,7 +679,11 @@ class DBA
                                if ($order === 'RAND()') {
                                        $order_string .= "RAND(), ";
                                } elseif (!is_int($fields)) {
-                                       $order_string .= self::quoteIdentifier($fields) . " " . ($order ? "DESC" : "ASC") . ", ";
+                                       if ($order !== 'DESC' && $order !== 'ASC') {
+                                               $order = $order ? 'DESC' : 'ASC';
+                                       }
+
+                                       $order_string .= self::quoteIdentifier($fields) . " " . $order . ", ";
                                } else {
                                        $order_string .= self::quoteIdentifier($order) . ", ";
                                }
@@ -741,17 +759,6 @@ class DBA
                return DI::dba()->processlist();
        }
 
-       /**
-        * Test if the given table exists
-        *
-        * @param string $table
-        * @return bool
-        */
-       public static function tableExists(string $table)
-       {
-               return DI::dba()->tableExists($table);
-       }
-
        /**
         * Fetch a database variable
         *