public function parse_save_values() { // Convert all [date] and [time] values to a unix timestamp. // If date is empty, assume delete. If time is empty, assume 00:00. foreach( $this->values as $key => &$value ) { if ( empty( $value['date'] ) ) unset( $this->values[$key] ); else $value = strtotime( $value['date'] . ' ' . $value['time'] ); } $this->values = array_filter( $this->values ); sort( $this->values ); parent::parse_save_values(); }
public function parse_save_values() { $values = $this->values; $this->values = array(); $first = reset($values); foreach ($first as $key => $field_val) { $meta = array(); foreach ($this->args['fields'] as $construct_field) { $name = $this->args['id'] . '[' . $construct_field['id'] . ']'; // If it's cloneable , make it an array if ($this->args['repeatable'] == true) { $name .= '[]'; } // create the fiel object so it can sanitize it's data etc $class = _cmb_field_class_for_type($construct_field['type']); $field = new $class($name, $construct_field['name'], (array) $values[$construct_field['id']][$key], $construct_field); $field->parse_save_values(); $field->parse_save_value(); $meta[$construct_field['id']] = $field->get_value(); } if ($this->isNotEmptyArray($meta)) { $this->values[] = $meta; } } parent::parse_save_values(); }
public function parse_save_values() { // We need to handle the post data slightly different from the standard CMB. $values = isset($_POST['datetime_' . $this->id]) ? $_POST['datetime_' . $this->id] : array(); if (!empty($this->args['repeatable'])) { foreach ($values as &$value) { end($value); unset($value[key($value)]); reset($value); } } $r = array(); for ($i = 0; $i < count($values['date']); $i++) { if (!empty($values['date'][$i])) { $r[$i] = strtotime($values['date'][$i] . ' ' . $values['time'][$i]); } } sort($r); $r[] = ''; $this->values = $r; parent::parse_save_values(); }
public function parse_save_values() { $r = array(); for ($i = 0; $i < count($this->values['date']); $i++) { if (!empty($this->values['date'][$i])) { $r[$i] = strtotime($this->values['date'][$i] . ' ' . $this->values['time'][$i]); } } sort($r); $r[] = ''; $this->values = $r; parent::parse_save_values(); }