public function setFields(array $fields)
{
$keys = array_keys($fields);
if (is_numeric($keys[0])) {
foreach ($fields as $field) {
foreach ($field as $name => $value) {
$field[$name]['name'] = $name;
$this->fields[$name] = isset($value['value']) ? $value['value'] : null;
if ($field[$name]['type'] == 'file') {
$this->hasFile = true;
}
}
}
} else {
foreach ($fields as $name => $value) {
$fields[$name]['name'] = $name;
$this->fields[$name] = isset($value['value']) ? $value['value'] : null;
if ($fields[$name]['type'] == 'file') {
$this->hasFile = true;
}
}
}
$this->initFieldsValues = count($this->initFieldsValues) > 0 ? array_merge($this->initFieldsValues, $fields) : $fields;
return $this;
}