private static function _fix_field_params($name, &$params) { //force field id if it doesn't exist if (!isset($params['id'])) { $new_id = !empty($name) ? \GCore\Libs\Str::clean($name) . '__#' : 'fld__#'; $params['id'] = self::_field_uid($new_id); } //fix field class if (!isset($params['class'])) { $params['class'] = ''; } //fix label params if (!isset($params['label'])) { $params['label'] = null; } if (is_string($params['label']) and !empty($params['label'])) { $params['label'] = array('text' => $params['label']); } if (!isset($params['label']['text']) or $params['label']['text'] == '') { $params['label'] = null; } if (!empty($params['label'])) { if (!array_key_exists('for', $params['label']) or array_key_exists('for', $params['label']) and strlen($params['label']['for']) == 0 and $params['label']['for'] !== false) { $params['label']['for'] = isset($params['id']) ? $params['id'] : ''; } if (empty($params['label']['position'])) { $params['label']['position'] = 'left'; } } //check multi inputs// not needed! /*if(!empty($params['type']) AND $params['type'] == 'multi' AND !empty($params['inputs'])){ foreach($params['inputs'] as $k => $input){ self::_fix_field_params($input); $params['inputs'][$k] = $input; } }*/ /*if(!array_intersect(explode(' ', $params['class']), array('A', 'SSS', 'SS', 'S', 'M', 'L', 'XL', 'XXL', 'XXXL'))){ $params['class'] = self::addClass(array('A'), $params['class']); }*/ }