/** * Convert value to SQL form on * Prepare item's data to database output * @param mixed field key * @param mixed field value * * @return mixed formatted value */ function format_field_sql($key, $fld, $vf = null) { if (!isset($vf)) { $vf = $this->field($key); } $type = $vf['type']; switch ($type) { case 'timestamp': $fld = "to_timestamp('{$fld}', 'DD.MM.YYYY HH24:MI')"; // postgres timestamp break; case 'numeric': $fld = floatval($fld); if (!empty($vf['long'])) { $fld = sprintf('%u', $fld); } break; case 'unixtime': case 'position': $fld = intval($fld); break; case 'boolean': // sqlite doesnt supp true/false $fld = $fld ? '1' : '0'; break; case 'image': case 'file': if (is_array($fld)) { // remove unused stuff from asving to storage if (isset($fld['thumbnail'])) { unset($fld['thumbnail']); } } $fld = empty($fld) ? "''" : "'" . serialize($fld) . "'"; break; default: $fld = "'" . $this->db->escape($fld) . "'"; break; } return $fld; }