/**
* @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 {
/**
if (is_bool($array)) {
return $array;
}
+
+ if (is_object($array)) {
+ return true;
+ }
+
return (is_array($array) && count($array) > 0);
}
*
* @param mixed $value Array value
* @param string $key Array key
- * @param boolean $add_quotation add quoatation marks for string values
+ * @param boolean $add_quotation add quotation marks for string values
*/
private static function esc_array_callback(&$value, $key, $add_quotation) {
if (is_bool($value)) {
$value = ($value ? 'true' : 'false');
- } elseif (is_numeric($value)) {
+ } elseif (is_float($value) || 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 quoatation marks for string values
+ * @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);
+ }
}
-?>