]> git.mxchange.org Git - friendica.git/blobdiff - include/dbm.php
merged 2 if() into one as requested by CR
[friendica.git] / include / dbm.php
index 6098dce739feec494587391382643249e39d4b4c..d28d49d63b4b53647392f5d6c928fdba5b76d3bf 100644 (file)
@@ -49,5 +49,59 @@ class dbm {
                }
                return (is_array($array) && count($array) > 0);
        }
+
+       /**
+        * @brief Callback function for "esc_array"
+        *
+        * @param mixed $value Array value
+        * @param string $key Array key
+        * @param boolean $add_quotation add quotation marks for string values
+        */
+       private static function esc_array_callback(&$value, $key, $add_quotation) {
+
+               if (!$add_quotation) {
+                       if (is_bool($value)) {
+                               $value = ($value ? '1' : '0');
+                       } else {
+                               $value = dbesc($value);
+                       }
+                       return;
+               }
+
+               if (is_bool($value)) {
+                       $value = ($value ? 'true' : 'false');
+               } elseif (is_float($value) OR is_integer($value)) {
+                       $value = (string)$value;
+               } else {
+                        $value = "'".dbesc($value)."'";
+               }
+       }
+
+       /**
+        * @brief Escapes a whole array
+        *
+        * @param mixed $arr Array with values to be escaped
+        * @param boolean $add_quotation add quotation marks for string values
+        */
+       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', $timestamp);
+       }
 }
 ?>