From 25077e6b2028f9562c25b9808845b0f9f0faddcf Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Thu, 15 Nov 2012 11:46:18 +0000 Subject: [PATCH] Add disabled to settings API. Closes #1761. --- classes/class-wc-settings-api.php | 92 ++++++++++++++++--------------- readme.txt | 1 + 2 files changed, 50 insertions(+), 43 deletions(-) diff --git a/classes/class-wc-settings-api.php b/classes/class-wc-settings-api.php index 1378e1f2c46..5cc3c3909b0 100644 --- a/classes/class-wc-settings-api.php +++ b/classes/class-wc-settings-api.php @@ -185,19 +185,20 @@ class WC_Settings_API { function generate_text_html( $key, $data ) { $html = ''; - if ( isset( $data['title'] ) && $data['title'] != '' ) $title = $data['title']; else $title = ''; - $data['class'] = (isset( $data['class'] )) ? $data['class'] : ''; - $data['css'] = (isset( $data['css'] )) ? $data['css'] : ''; - $data['placeholder'] = (isset( $data['placeholder'] )) ? $data['placeholder'] : ''; + $data['title'] = isset( $data['title'] ) ? $data['title'] : ''; + $data['disabled'] = empty( $data['disabled'] ) ? false : true; + $data['class'] = isset( $data['class'] ) ? $data['class'] : ''; + $data['css'] = isset( $data['css'] ) ? $data['css'] : ''; + $data['placeholder'] = isset( $data['placeholder'] ) ? $data['placeholder'] : ''; $html .= '' . "\n"; $html .= ''; - $html .= ''; + $html .= ''; $html .= '' . "\n"; $html .= '' . "\n"; - $html .= '
' . wp_kses_post( $title ) . '' . "\n"; + $html .= '
' . wp_kses_post( $data['title'] ) . '' . "\n"; $value = ( isset( $this->settings[ $key ] ) ) ? esc_attr( $this->settings[ $key ] ) : ''; - $html .= ''; + $html .= ''; if ( isset( $data['description'] ) && $data['description'] != '' ) { $html .= '

' . wp_kses_post( $data['description'] ) . '

' . "\n"; } $html .= '
'; $html .= '' . "\n"; @@ -218,18 +219,19 @@ class WC_Settings_API { function generate_password_html( $key, $data ) { $html = ''; - if ( isset( $data['title'] ) && $data['title'] != '' ) $title = $data['title']; else $title = ''; - $data['class'] = (isset( $data['class'] )) ? $data['class'] : ''; - $data['css'] = (isset( $data['css'] )) ? $data['css'] : ''; + $data['title'] = isset( $data['title'] ) ? $data['title'] : ''; + $data['disabled'] = empty( $data['disabled'] ) ? false : true; + $data['class'] = isset( $data['class'] ) ? $data['class'] : ''; + $data['css'] = isset( $data['css'] ) ? $data['css'] : ''; $html .= '' . "\n"; $html .= ''; - $html .= ''; + $html .= ''; $html .= '' . "\n"; $html .= '' . "\n"; - $html .= '
' . wp_kses_post( $title ) . '' . "\n"; + $html .= '
' . wp_kses_post( $data['title'] ) . '' . "\n"; $value = ( isset( $this->settings[ $key ] ) ) ? esc_attr( $this->settings[ $key ] ) : ''; - $html .= ''; + $html .= ''; if ( isset( $data['description'] ) && $data['description'] != '' ) { $html .= '

' . esc_attr( $data['description'] ) . '

' . "\n"; } $html .= '
'; $html .= '' . "\n"; @@ -250,19 +252,20 @@ class WC_Settings_API { function generate_textarea_html( $key, $data ) { $html = ''; - if ( isset( $data['title'] ) && $data['title'] != '' ) $title = $data['title']; else $title = ''; + $data['title'] = isset( $data['title'] ) ? $data['title'] : ''; + $data['disabled'] = empty( $data['disabled'] ) ? false : true; if ( ! isset( $this->settings[$key] ) ) $this->settings[$key] = ''; - $data['class'] = (isset( $data['class'] )) ? $data['class'] : ''; - $data['css'] = (isset( $data['css'] )) ? $data['css'] : ''; + $data['class'] = isset( $data['class'] ) ? $data['class'] : ''; + $data['css'] = isset( $data['css'] ) ? $data['css'] : ''; $html .= '' . "\n"; $html .= ''; - $html .= ''; + $html .= ''; $html .= '' . "\n"; $html .= '' . "\n"; - $html .= '
' . wp_kses_post( $title ) . '' . "\n"; + $html .= '
' . wp_kses_post( $data['title'] ) . '' . "\n"; $value = ( isset( $this->settings[ $key ] ) ) ? esc_textarea( $this->settings[ $key ] ) : ''; - $html .= ''; + $html .= ''; if ( isset( $data['description'] ) && $data['description'] != '' ) { $html .= '

' . wp_kses_post( $data['description'] ) . '

' . "\n"; } $html .= '
'; $html .= '' . "\n"; @@ -283,17 +286,18 @@ class WC_Settings_API { function generate_checkbox_html( $key, $data ) { $html = ''; - if ( isset( $data['title'] ) && $data['title'] != '' ) $title = $data['title']; else $title = ''; - if ( isset( $data['label'] ) && $data['label'] != '' ) $label = $data['label']; else $label = $data['title']; - $data['class'] = (isset( $data['class'] )) ? $data['class'] : ''; - $data['css'] = (isset( $data['css'] )) ? $data['css'] : ''; + $data['title'] = isset( $data['title'] ) ? $data['title'] : ''; + $data['label'] = isset( $data['label'] ) ? $data['label'] : $data['title']; + $data['disabled'] = empty( $data['disabled'] ) ? false : true; + $data['class'] = isset( $data['class'] ) ? $data['class'] : ''; + $data['css'] = isset( $data['css'] ) ? $data['css'] : ''; $html .= '' . "\n"; - $html .= '' . $title . '' . "\n"; + $html .= '' . $data['title'] . '' . "\n"; $html .= '' . "\n"; - $html .= '
' . wp_kses_post( $title ) . '' . "\n"; + $html .= '
' . wp_kses_post( $data['title'] ) . '' . "\n"; $html .= '
' . "\n"; + $html .= 'settings[$key], 'yes', false ) . ' class="' . esc_attr( $data['class'] ).'" ' . disabled( $data['disabled'], true, false ) . ' /> ' . wp_kses_post( $data['label'] ) . '
' . "\n"; if ( isset( $data['description'] ) && $data['description'] != '' ) { $html .= '

' . wp_kses_post( $data['description'] ) . '

' . "\n"; } $html .= '
'; $html .= '' . "\n"; @@ -314,18 +318,19 @@ class WC_Settings_API { function generate_select_html( $key, $data ) { $html = ''; - if ( isset( $data['title'] ) && $data['title'] != '' ) $title = $data['title']; else $title = ''; - $data['options'] = (isset( $data['options'] )) ? (array) $data['options'] : array(); - $data['class'] = (isset( $data['class'] )) ? $data['class'] : ''; - $data['css'] = (isset( $data['css'] )) ? $data['css'] : ''; + $data['title'] = isset( $data['title'] ) ? $data['title'] : ''; + $data['disabled'] = empty( $data['disabled'] ) ? false : true; + $data['options'] = isset( $data['options'] ) ? (array) $data['options'] : array(); + $data['class'] = isset( $data['class'] ) ? $data['class'] : ''; + $data['css'] = isset( $data['css'] ) ? $data['css'] : ''; $html .= '' . "\n"; $html .= ''; - $html .= ''; + $html .= ''; $html .= '' . "\n"; $html .= '' . "\n"; - $html .= '
' . wp_kses_post( $title ) . '' . "\n"; - $html .= ''; foreach ($data['options'] as $option_key => $option_value) : $html .= ''; @@ -352,18 +357,19 @@ class WC_Settings_API { function generate_multiselect_html( $key, $data ) { $html = ''; - if ( isset( $data['title'] ) && $data['title'] != '' ) $title = $data['title']; else $title = ''; - $data['options'] = (isset( $data['options'] )) ? (array) $data['options'] : array(); - $data['class'] = (isset( $data['class'] )) ? $data['class'] : ''; - $data['css'] = (isset( $data['css'] )) ? $data['css'] : ''; + $data['title'] = isset( $data['title'] ) ? $data['title'] : ''; + $data['disabled'] = empty( $data['disabled'] ) ? false : true; + $data['options'] = isset( $data['options'] ) ? (array) $data['options'] : array(); + $data['class'] = isset( $data['class'] ) ? $data['class'] : ''; + $data['css'] = isset( $data['css'] ) ? $data['css'] : ''; $html .= '' . "\n"; $html .= ''; - $html .= ''; + $html .= ''; $html .= '' . "\n"; $html .= '' . "\n"; - $html .= '
' . wp_kses_post( $title ) . '' . "\n"; - $html .= ''; foreach ( $data['options'] as $option_key => $option_value) { $html .= '