コード例 #1
0
ファイル: date.php プロジェクト: minger11/Pipeline
 function pushValue(&$record, &$field, &$form, &$element, &$metaValues)
 {
     $table =& $record->_table;
     $formTool =& Dataface_FormTool::getInstance();
     $formFieldName = $element->getName();
     if ($table->isDate($field['name'])) {
         return Dataface_converters_date::qf2Table($element->getValue());
     } else {
         if ($table->isInt($field['name'])) {
             return Dataface_converters_date::qf2UnixTimestamp($element->getValue());
         } else {
             return Dataface_converters_date::datetime_to_string(Dataface_converters_date::qf2Table($element->getValue()));
         }
     }
 }
コード例 #2
0
ファイル: Table.php プロジェクト: promoso/HVAC
 /**
  * @deprecated Use Dataface_converters_date::parseDate()
  */
 function parse_datetype($value)
 {
     $converter = new Dataface_converters_date();
     return $converter->parseDate($value);
 }
コード例 #3
0
ファイル: date.php プロジェクト: minger11/Pipeline
 /**
  * Converts a quickform date field value as returned by $element->getValue()
  * to a date array that can be stored in a Dataface_Table object.
  */
 static function parseDate($value)
 {
     if (!isset($value) || !$value) {
         return null;
     }
     if ($value == '0000-00-00' || $value == '0000-00-00 00:00:00') {
         return null;
     }
     if (is_array($value) and (isset($value['year']) or isset($value['hours']))) {
         return $value;
     }
     // if it is already in the correct format, we don't need to parse it.
     if (Dataface_converters_date::isTimeStamp($value)) {
         $date = array();
         if (strlen($value) >= 4) {
             $date['Y'] = substr($value, 0, 4);
         }
         if (strlen($value) >= 6) {
             $date['m'] = substr($value, 4, 2);
         }
         if (strlen($value) >= 8) {
             $date['d'] = substr($value, 6, 2);
         }
         if (strlen($value) >= 10) {
             $date['H'] = substr($value, 8, 2);
         }
         if (strlen($value) >= 12) {
             $date['i'] = substr($value, 10, 2);
         }
         if (strlen($value) >= 14) {
             $date['s'] = substr($value, 12, 2);
         }
     } else {
         if (!is_array($value)) {
             if (function_exists('date_parse')) {
                 $out = date_parse($value);
                 $out['hours'] = $out['hour'];
                 unset($out['hour']);
                 $out['minutes'] = $out['minute'];
                 unset($out['minute']);
                 $out['seconds'] = $out['second'];
                 unset($out['second']);
                 return $out;
             } else {
                 if (Dataface_converters_date::inRange($value)) {
                     // strtotime cannot seem to calculate the time properly on this
                     // so we will manually parse it;
                     if (preg_match('/^(\\d{4})(-(\\d{2}))?(-(\\d{2}))?( (\\d{2}):(\\d{2})(:(\\d{2}))?)?$/', $value, $matches)) {
                         $date = array();
                         $date['year'] = $matches[1];
                         $date['month'] = @$matches[3];
                         $date['day'] = @$matches[5];
                         $date['hours'] = @$matches[7];
                         $date['minutes'] = @$matches[8];
                         $date['seconds'] = @$matches[10];
                         return $date;
                     }
                 }
             }
             $isNull = true;
             $units = explode(' ', 'Y m M F d h a A i s');
             $date = array();
             foreach ($units as $unit) {
                 if ($value) {
                     $date[$unit] = date($unit, strtotime($value));
                     $isNull = false;
                 } else {
                     $date[$unit] = null;
                     //date($unit);
                 }
             }
             if ($isNull) {
                 return null;
             }
         } else {
             $date = $value;
         }
     }
     $params = array();
     $params['year'] = isset($date['Y']) ? $date['Y'] : date('Y');
     $params['month'] = isset($date['m']) ? $date['m'] : (isset($date['M']) ? $date['M'] : (isset($date['F']) ? $date['F'] : null));
     $params['day'] = isset($date['d']) ? $date['d'] : null;
     //date('d');
     if (isset($date['H'])) {
         $params['hours'] = $date['H'];
     } else {
         if (isset($date['h']) && isset($date['a'])) {
             $params['hours'] = date('H', strtotime($date['h'] . ":00" . $date['a']));
         } else {
             if (isset($date['h']) && isset($date['A'])) {
                 $params['hours'] = date('H', strtotime($date['h'] . ":00" . $date['A']));
             } else {
                 if (isset($date['h'])) {
                     $params['hours'] = $date['h'];
                 } else {
                     $params['hours'] = null;
                 }
             }
         }
     }
     //date('H');
     $params['minutes'] = isset($date['i']) ? $date['i'] : null;
     //date('i');
     $params['seconds'] = isset($date['s']) ? $date['s'] : null;
     //date('s');
     foreach (array_keys($params) as $param) {
         $params[$param] = intval($params[$param]);
     }
     return $params;
 }
コード例 #4
0
ファイル: Table.php プロジェクト: Zunair/xataface
 /**
  * @brief Converts a timestamp array to a string.
  * @deprecated Use Dataface_converters_date::timestamp_to_string()
  * @private
  */
 function timestamp_to_string($value)
 {
     return Dataface_converters_date::timestamp_to_string($value);
 }