static function input($args, $formdata = array()) { foreach (array('name', 'value') as $key) { $old = $key . 's'; if (isset($args[$old])) { $args[$key] = $args[$old]; unset($args[$old]); } } if (empty($args['name'])) { return trigger_error('Empty name', E_USER_WARNING); } $args = wp_parse_args($args, array('value' => NULL, 'desc' => '', 'desc_pos' => '')); if (isset($args['extra']) && !is_array($args['extra'])) { $args['extra'] = shortcode_parse_atts($args['extra']); } self::$cur_name = self::get_name($args['name']); self::$cur_val = self::get_value($args['name'], $formdata); switch ($args['type']) { case 'select': case 'radio': if (!is_array($args['value'])) { return trigger_error("'value' argument is expected to be an array", E_USER_WARNING); } return self::_single_choice($args); break; case 'checkbox': if (is_array($args['value'])) { return self::_multiple_choice($args); } else { return self::_checkbox($args); } break; default: return self::_input($args); } }