]> git.mxchange.org Git - friendica.git/blobdiff - include/dbm.php
Merge pull request #3879 from zeroadam/Remove-Includes-#3873
[friendica.git] / include / dbm.php
index 62ebb1af082526b8d12ea6eb4154688ffbedba86..1be1647a4633f798ecf9da0420f5cfebed037ca4 100644 (file)
@@ -2,6 +2,7 @@
 /**
  * @brief This class contain functions for the database management
  *
+ * This class contains functions that doesn't need to know if pdo, mysqli or whatever is used.
  */
 class dbm {
        /**
@@ -40,14 +41,19 @@ class dbm {
         * Checks if $array is a filled array with at least one entry.
         *
         * @param       $array  mixed   A filled array with at least one entry
-        * @return      Whether $array is a filled array
+        * @return      Whether $array is a filled array or an object with rows
         */
        public static function is_result($array) {
                // It could be a return value from an update statement
                if (is_bool($array)) {
                        return $array;
                }
-               return (is_array($array) && count($array) > 0);
+
+               if (is_object($array)) {
+                       return dba::num_rows($array) > 0;
+               }
+
+               return (is_array($array) && (count($array) > 0));
        }
 
        /**
@@ -70,7 +76,7 @@ class dbm {
 
                if (is_bool($value)) {
                        $value = ($value ? 'true' : 'false');
-               } elseif (is_float($value) OR is_integer($value)) {
+               } elseif (is_float($value) || is_integer($value)) {
                        $value = (string)$value;
                } else {
                         $value = "'".dbesc($value)."'";
@@ -86,5 +92,21 @@ class dbm {
        public static function esc_array(&$arr, $add_quotation = false) {
                array_walk($arr, 'self::esc_array_callback', $add_quotation);
        }
+
+       /**
+        * Checks Converts any date string into a SQL compatible date string
+        *
+        * @param string $date a date string in any format
+        * @return string SQL style date string
+        */
+       public static function date($date = 'now') {
+               $timestamp = strtotime($date);
+
+               // Don't allow lower date strings as '0001-01-01 00:00:00'
+               if ($timestamp < -62135596800) {
+                       $timestamp = -62135596800;
+               }
+
+               return date('Y-m-d H:i:s', (int)$timestamp);
+       }
 }
-?>