Example #1
0
 /**
  * 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;
 }