input( $args ); } if ( empty( $args['name'] ) ) return trigger_error( 'Empty name', E_USER_WARNING ); $args = wp_parse_args( $args, array( 'desc' => '', 'desc_pos' => '', ) ); $val_is_array = isset( $args['value'] ) && is_array( $args['value'] ); if ( isset( $args['extra'] ) && !is_array( $args['extra'] ) ) $args['extra'] = shortcode_parse_atts( $args['extra'] ); self::$cur_name = self::get_name( $args['name'] ); switch ( $args['type'] ) { case 'select': case 'radio': if ( ! $val_is_array ) return trigger_error( "'value' argument is expected to be an array", E_USER_WARNING ); return self::_single_choice( $args ); break; case 'checkbox': if ( $val_is_array ) return self::_multiple_choice( $args ); else return self::_checkbox( $args ); break; default: return self::_input( $args ); } } // ____________UTILITIES____________ // Generates a table wrapped in a form static function form_table( $rows, $formdata = NULL ) { $output = ''; foreach ( $rows as $row ) $output .= self::table_row( $row, $formdata ); $output = self::form_table_wrap( $output ); return $output; } // Generates a form static function form( $inputs, $formdata = NULL, $nonce ) { $output = ''; foreach ( $inputs as $input ) $output .= self::input( $input, $formdata ); $output = self::form_wrap( $output, $nonce ); return $output; } // Generates a table static function table( $rows, $formdata = NULL ) { $output = ''; foreach ( $rows as $row ) $output .= self::table_row( $row, $formdata ); $output = self::table_wrap( $output ); return $output; } // Generates a table row static function table_row( $args, $formdata = NULL ) { return self::row_wrap( $args['title'], self::input( $args, $formdata ) ); } // ____________WRAPPERS____________ // Wraps the given content in a