Beispiel #1
0
 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);
     }
 }