예제 #1
0
	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();

	}
예제 #2
0
 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();
 }
예제 #3
0
 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();
 }