Esempio n. 1
0
 /**
  * Validate, and set fields property
  *
  * @since 1.3.0
  *
  * @access protected
  *
  * @param array $fields Fields array
  * @param array $config Proccessor config
  * @param array $form Form config
  */
 protected function set_fields($fields, $config, $form)
 {
     $message_pattern = __('%s is required', 'caldera-forms');
     $default_args = array('message' => false, 'default' => false, 'sanatize' => 'strip_tags', 'magic' => true, 'required' => true);
     foreach ($fields as $field => $args) {
         if (0 == $field || is_int($field)) {
             if (is_string($args)) {
                 $key = $field;
                 $fields[$field] = $default_args;
                 unset($fields[$field]);
             } elseif (0 == $field || is_int($field) && is_array($args) && isset($args['id'])) {
                 $key = $args['id'];
                 $fields[$key] = $args;
                 unset($fields[$field]);
             } else {
                 unset($fields[$field]);
                 continue;
             }
         } else {
             $key = $field;
         }
         $fields[$key] = wp_parse_args($args, $default_args);
         if (isset($config[$key])) {
             $_field = Caldera_Forms::get_field_by_slug(str_replace('%', '', $config[$key]), $form);
         } else {
             $_field = null;
         }
         if (is_array($_field)) {
             $fields[$key]['config_field'] = $_field['ID'];
         } else {
             $fields[$key]['config_field'] = false;
         }
         if (false === $fields[$key]['message']) {
             $fields[$key]['message'] = sprintf($message_pattern, $args['label']);
         }
     }
     $this->fields = $fields;
 }