array(), 'name' => null, 'class' => '', 'id' => '', 'selected' => 0, 'chosen' => false, 'multiple' => false, 'show_option_all' => _x( 'All', 'all dropdown items', 'mashsb' ), 'show_option_none' => _x( 'None', 'no dropdown items', 'mashsb' ) ); $args = wp_parse_args( $args, $defaults ); if( $args['multiple'] ) { $multiple = ' MULTIPLE'; } else { $multiple = ''; } if( $args['chosen'] ) { $args['class'] .= ' mashsb-select-chosen'; } $output = ''; return $output; } /** * Renders an HTML Checkbox * * @since 1.9 * * @param array $args * * @return string */ public function checkbox( $args = array() ) { $defaults = array( 'name' => null, 'current' => null, 'class' => 'mashsb-checkbox' ); $args = wp_parse_args( $args, $defaults ); $output = ''; return $output; } /** * Renders an HTML Text field * * @since 1.5.2 * * @param string $value The value to prepopulate the field with * @return string Text field */ public function text( $args = array() ) { // Backwards compatabliity if ( func_num_args() > 1 ) { $args = func_get_args(); $name = $args[0]; $value = isset( $args[1] ) ? $args[1] : ''; $label = isset( $args[2] ) ? $args[2] : ''; $desc = isset( $args[3] ) ? $args[3] : ''; } $defaults = array( 'name' => isset( $name ) ? $name : 'text', 'value' => isset( $value ) ? $value : null, 'label' => isset( $label ) ? $label : null, 'desc' => isset( $desc ) ? $desc : null, 'placeholder' => '', 'class' => 'regular-text', 'disabled' => false, 'autocomplete' => '' ); $args = wp_parse_args( $args, $defaults ); $disabled = ''; if( $args['disabled'] ) { $disabled = ' disabled="disabled"'; } $output = ''; $output .= ''; if ( ! empty( $args[ 'desc' ] ) ) { $output .= '' . esc_html( $args[ 'desc' ] ) . ''; } $output .= ''; $output .= ''; return $output; } /** * Renders an HTML textarea * * @since 1.9 * * @return string textarea */ public function textarea( $args = array() ) { $defaults = array( 'name' => 'textarea', 'value' => null, 'label' => null, 'desc' => null, 'class' => 'large-text', 'disabled' => false ); $args = wp_parse_args( $args, $defaults ); $disabled = ''; if( $args['disabled'] ) { $disabled = ' disabled="disabled"'; } $output = ''; $output .= ''; $output .= ''; if ( ! empty( $args[ 'desc' ] ) ) { $output .= '' . esc_html( $args[ 'desc' ] ) . ''; } $output .= ''; return $output; } /** * Renders an ajax user search field * * @since 2.0 * * @param array $args * @return string text field with ajax search */ public function ajax_user_search( $args = array() ) { $defaults = array( 'name' => 'user_id', 'value' => null, 'placeholder' => __( 'Enter username', 'mashsb' ), 'label' => null, 'desc' => null, 'class' => '', 'disabled' => false, 'autocomplete'=> 'off' ); $args = wp_parse_args( $args, $defaults ); $args['class'] = 'mashsb-ajax-user-search ' . $args['class']; $output = ''; $output .= $this->text( $args ); $output .= ''; $output .= ''; return $output; } }