Completed
Branch BUG/update-unit-tests (7b5400)
by
unknown
07:51 queued 05:38
created
core/libraries/form_sections/inputs/EE_Select_Multi_Model_Input.input.php 2 patches
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -55,11 +55,11 @@
 block discarded – undo
55 55
         $select_options = array();
56 56
         foreach ($answer_options as $model_obj) {
57 57
             if ($this->_naming_method) {
58
-                $display_value = call_user_func(array( $model_obj, $this->_naming_method ));
58
+                $display_value = call_user_func(array($model_obj, $this->_naming_method));
59 59
             } else {
60 60
                 $display_value = $model_obj->name();
61 61
             }
62
-            $select_options[ $model_obj->ID() ] = $display_value;
62
+            $select_options[$model_obj->ID()] = $display_value;
63 63
         }
64 64
         parent::set_select_options($select_options);
65 65
     }
Please login to merge, or discard this patch.
Indentation   +61 added lines, -61 removed lines patch added patch discarded remove patch
@@ -11,75 +11,75 @@
 block discarded – undo
11 11
  */
12 12
 class EE_Select_Multi_Model_Input extends EE_Select_Multiple_Input
13 13
 {
14
-    protected $_naming_method;
14
+	protected $_naming_method;
15 15
 
16 16
 
17 17
 
18
-    /**
19
-     *
20
-     * @param EE_Base_Class[] $answer_options
21
-     * @param array $input_settings {
22
-     *      @var EE_Base_Class[] or array $default
23
-     *      @var string $naming_method function name on the class which will be used for getting the displayed-name.
24
-     *     example:     if the class were an EE_Event, this could be slug(), description(), name() (default)
25
-     * }
26
-     */
27
-    public function __construct($answer_options = array(), $input_settings = array())
28
-    {
29
-        if (isset($input_settings['naming_method'])) {
30
-            $this->set_option_naming_method($input_settings['naming_method']);
31
-        }
32
-        parent::__construct($answer_options, $input_settings);
33
-    }
18
+	/**
19
+	 *
20
+	 * @param EE_Base_Class[] $answer_options
21
+	 * @param array $input_settings {
22
+	 *      @var EE_Base_Class[] or array $default
23
+	 *      @var string $naming_method function name on the class which will be used for getting the displayed-name.
24
+	 *     example:     if the class were an EE_Event, this could be slug(), description(), name() (default)
25
+	 * }
26
+	 */
27
+	public function __construct($answer_options = array(), $input_settings = array())
28
+	{
29
+		if (isset($input_settings['naming_method'])) {
30
+			$this->set_option_naming_method($input_settings['naming_method']);
31
+		}
32
+		parent::__construct($answer_options, $input_settings);
33
+	}
34 34
 
35
-    /**
36
-     * Sets the method name which will be called when outputting the options list
37
-     * @param string $method
38
-     */
39
-    public function set_option_naming_method($method)
40
-    {
41
-        $this->_naming_method = $method;
42
-    }
35
+	/**
36
+	 * Sets the method name which will be called when outputting the options list
37
+	 * @param string $method
38
+	 */
39
+	public function set_option_naming_method($method)
40
+	{
41
+		$this->_naming_method = $method;
42
+	}
43 43
 
44 44
 
45 45
 
46
-    /**
47
-     * You CAN pass an array of model objects instead of simple values for teh options
48
-     * @param EE_Base_Class[] $answer_options
49
-     * @return null|void
50
-     */
51
-    public function set_select_options($answer_options = array())
52
-    {
53
-        // convert the model objects to select from into normal select options
54
-        $select_options = array();
55
-        foreach ($answer_options as $model_obj) {
56
-            if ($this->_naming_method) {
57
-                $display_value = call_user_func(array( $model_obj, $this->_naming_method ));
58
-            } else {
59
-                $display_value = $model_obj->name();
60
-            }
61
-            $select_options[ $model_obj->ID() ] = $display_value;
62
-        }
63
-        parent::set_select_options($select_options);
64
-    }
46
+	/**
47
+	 * You CAN pass an array of model objects instead of simple values for teh options
48
+	 * @param EE_Base_Class[] $answer_options
49
+	 * @return null|void
50
+	 */
51
+	public function set_select_options($answer_options = array())
52
+	{
53
+		// convert the model objects to select from into normal select options
54
+		$select_options = array();
55
+		foreach ($answer_options as $model_obj) {
56
+			if ($this->_naming_method) {
57
+				$display_value = call_user_func(array( $model_obj, $this->_naming_method ));
58
+			} else {
59
+				$display_value = $model_obj->name();
60
+			}
61
+			$select_options[ $model_obj->ID() ] = $display_value;
62
+		}
63
+		parent::set_select_options($select_options);
64
+	}
65 65
 
66 66
 
67 67
 
68
-    /**
69
-     * if they passed in an array of model objects for the default, convert it
70
-     * into the format EE_Select_Multiple expects
71
-     * @param EE_Base_Class[]|array $values
72
-     */
73
-    public function set_default($values)
74
-    {
75
-        $defaults_as_simple_ids = array();
76
-        foreach ($values as $key => $value) {
77
-            if ($value instanceof EE_Base_Class) {
78
-                $defaults_as_simple_ids[] = $value->ID();
79
-            } else {
80
-                $defaults_as_simple_ids[] = $value;
81
-            }
82
-        }
83
-        parent::set_default($defaults_as_simple_ids);
84
-    }
68
+	/**
69
+	 * if they passed in an array of model objects for the default, convert it
70
+	 * into the format EE_Select_Multiple expects
71
+	 * @param EE_Base_Class[]|array $values
72
+	 */
73
+	public function set_default($values)
74
+	{
75
+		$defaults_as_simple_ids = array();
76
+		foreach ($values as $key => $value) {
77
+			if ($value instanceof EE_Base_Class) {
78
+				$defaults_as_simple_ids[] = $value->ID();
79
+			} else {
80
+				$defaults_as_simple_ids[] = $value;
81
+			}
82
+		}
83
+		parent::set_default($defaults_as_simple_ids);
84
+	}
85 85
 }
Please login to merge, or discard this patch.
core/libraries/form_sections/inputs/EE_Invisible_Recaptcha_Input.input.php 2 patches
Spacing   +9 added lines, -9 removed lines patch added patch discarded remove patch
@@ -136,17 +136,17 @@  discard block
 block discarded – undo
136 136
      */
137 137
     private function addIframeAssets(array $localized_vars)
138 138
     {
139
-        if (! $this->useCaptcha()) {
139
+        if ( ! $this->useCaptcha()) {
140 140
             return;
141 141
         }
142 142
         add_filter(
143 143
             'FHEE__EED_Ticket_Selector__ticket_selector_iframe__js',
144
-            function (array $iframe_assets) {
145
-                $iframe_assets[ EE_Invisible_Recaptcha_Input::SCRIPT_HANDLE_ESPRESSO_INVISIBLE_RECAPTCHA ] =
144
+            function(array $iframe_assets) {
145
+                $iframe_assets[EE_Invisible_Recaptcha_Input::SCRIPT_HANDLE_ESPRESSO_INVISIBLE_RECAPTCHA] =
146 146
                     EED_Recaptcha_Invisible::assetsUrl()
147 147
                     . 'espresso_invisible_recaptcha.js?ver='
148 148
                     . EVENT_ESPRESSO_VERSION;
149
-                $iframe_assets[ EE_Invisible_Recaptcha_Input::SCRIPT_HANDLE_GOOGLE_INVISIBLE_RECAPTCHA ] =
149
+                $iframe_assets[EE_Invisible_Recaptcha_Input::SCRIPT_HANDLE_GOOGLE_INVISIBLE_RECAPTCHA] =
150 150
                     add_query_arg(
151 151
                         array(
152 152
                             'onload' => 'espressoLoadRecaptcha',
@@ -160,15 +160,15 @@  discard block
 block discarded – undo
160 160
         );
161 161
         add_filter(
162 162
             'FHEE__EventEspresso_modules_ticket_selector_TicketSelectorIframe__construct__js_attributes',
163
-            function (array $iframe_asset_attributes) {
164
-                $iframe_asset_attributes[ EE_Invisible_Recaptcha_Input::SCRIPT_HANDLE_GOOGLE_INVISIBLE_RECAPTCHA ]
163
+            function(array $iframe_asset_attributes) {
164
+                $iframe_asset_attributes[EE_Invisible_Recaptcha_Input::SCRIPT_HANDLE_GOOGLE_INVISIBLE_RECAPTCHA]
165 165
                     = ' async="async" defer="defer"';
166 166
                 return $iframe_asset_attributes;
167 167
             }
168 168
         );
169 169
         add_action(
170 170
             'AHEE__EventEspresso_modules_ticket_selector_TicketSelectorIframe__construct__complete',
171
-            function (EventEspresso\modules\ticket_selector\TicketSelectorIframe $ticket_selector_iframe) use ($localized_vars) {
171
+            function(EventEspresso\modules\ticket_selector\TicketSelectorIframe $ticket_selector_iframe) use ($localized_vars) {
172 172
                 $ticket_selector_iframe->addLocalizedVars($localized_vars, 'eeRecaptcha');
173 173
             }
174 174
         );
@@ -180,13 +180,13 @@  discard block
 block discarded – undo
180 180
      */
181 181
     private function registerScripts()
182 182
     {
183
-        if (! $this->useCaptcha()) {
183
+        if ( ! $this->useCaptcha()) {
184 184
             return;
185 185
         }
186 186
         add_filter('script_loader_tag', array($this, 'addScriptAttributes'), 10, 2);
187 187
         wp_register_script(
188 188
             EE_Invisible_Recaptcha_Input::SCRIPT_HANDLE_ESPRESSO_INVISIBLE_RECAPTCHA,
189
-            EED_Recaptcha_Invisible::assetsUrl() . 'espresso_invisible_recaptcha.js',
189
+            EED_Recaptcha_Invisible::assetsUrl().'espresso_invisible_recaptcha.js',
190 190
             array('espresso_core'),
191 191
             EVENT_ESPRESSO_VERSION,
192 192
             true
Please login to merge, or discard this patch.
Indentation   +218 added lines, -218 removed lines patch added patch discarded remove patch
@@ -14,222 +14,222 @@
 block discarded – undo
14 14
  */
15 15
 class EE_Invisible_Recaptcha_Input extends EE_Form_Input_Base
16 16
 {
17
-    const SCRIPT_HANDLE_GOOGLE_INVISIBLE_RECAPTCHA   = 'google_invisible_recaptcha';
18
-
19
-    const SCRIPT_HANDLE_ESPRESSO_INVISIBLE_RECAPTCHA = 'espresso_invisible_recaptcha';
20
-
21
-    /**
22
-     * @var EE_Registration_Config $config
23
-     */
24
-    private $config;
25
-
26
-    /**
27
-     * @var string $recaptcha_id
28
-     */
29
-    private $recaptcha_id;
30
-
31
-    /**
32
-     * @var string $submit_button_id
33
-     */
34
-    private $submit_button_id;
35
-
36
-
37
-    /**
38
-     * @param array                  $input_settings
39
-     * @param EE_Registration_Config $registration_config
40
-     * @throws InvalidArgumentException
41
-     * @throws InvalidDataTypeException
42
-     * @throws InvalidInterfaceException
43
-     * @throws DomainException
44
-     */
45
-    public function __construct(array $input_settings = array(), EE_Registration_Config $registration_config = null)
46
-    {
47
-        $this->_set_display_strategy(new EE_Invisible_Recaptcha_Display_Strategy());
48
-        parent::__construct($input_settings);
49
-        $registration_config    = $registration_config instanceof EE_Registration_Config
50
-            ? $registration_config
51
-            : EE_Registry::instance()->CFG->registration;
52
-        $this->config           = $registration_config;
53
-        $this->recaptcha_id     = isset($input_settings['recaptcha_id'])
54
-            ? $input_settings['recaptcha_id']
55
-            : substr(spl_object_hash($this), 8, 8);
56
-        $this->submit_button_id = isset($input_settings['submit_button_id'])
57
-            ? $input_settings['submit_button_id']
58
-            : '';
59
-        if (
60
-            isset($input_settings['localized_vars'])
61
-            && filter_var($input_settings['iframe'], FILTER_VALIDATE_BOOLEAN)
62
-        ) {
63
-            $this->addIframeAssets($input_settings['localized_vars']);
64
-        } else {
65
-            $this->registerScripts();
66
-        }
67
-    }
68
-
69
-
70
-    /**
71
-     * @return bool
72
-     */
73
-    public function useCaptcha()
74
-    {
75
-        return $this->config->use_captcha && $this->config->recaptcha_theme === 'invisible';
76
-    }
77
-
78
-
79
-    /**
80
-     * @return string
81
-     */
82
-    public function badge()
83
-    {
84
-        return $this->config->recaptcha_badge;
85
-    }
86
-
87
-
88
-    /**
89
-     * @return string
90
-     */
91
-    public function language()
92
-    {
93
-        return $this->config->recaptcha_language;
94
-    }
95
-
96
-
97
-    /**
98
-     * @return string
99
-     */
100
-    public function siteKey()
101
-    {
102
-        return $this->config->recaptcha_publickey;
103
-    }
104
-
105
-
106
-    /**
107
-     * @return string
108
-     */
109
-    public function secretKey()
110
-    {
111
-        return $this->config->recaptcha_privatekey;
112
-    }
113
-
114
-
115
-    /**
116
-     * @return string
117
-     */
118
-    public function recaptchaId()
119
-    {
120
-        return $this->recaptcha_id;
121
-    }
122
-
123
-
124
-    /**
125
-     * @return string
126
-     */
127
-    public function submitButtonId()
128
-    {
129
-        return $this->submit_button_id;
130
-    }
131
-
132
-
133
-    /**
134
-     * @param array $localized_vars
135
-     * @throws DomainException
136
-     */
137
-    private function addIframeAssets(array $localized_vars)
138
-    {
139
-        if (! $this->useCaptcha()) {
140
-            return;
141
-        }
142
-        add_filter(
143
-            'FHEE__EED_Ticket_Selector__ticket_selector_iframe__js',
144
-            function (array $iframe_assets) {
145
-                $iframe_assets[ EE_Invisible_Recaptcha_Input::SCRIPT_HANDLE_ESPRESSO_INVISIBLE_RECAPTCHA ] =
146
-                    EED_Recaptcha_Invisible::assetsUrl()
147
-                    . 'espresso_invisible_recaptcha.js?ver='
148
-                    . EVENT_ESPRESSO_VERSION;
149
-                $iframe_assets[ EE_Invisible_Recaptcha_Input::SCRIPT_HANDLE_GOOGLE_INVISIBLE_RECAPTCHA ] =
150
-                    add_query_arg(
151
-                        array(
152
-                            'onload' => 'espressoLoadRecaptcha',
153
-                            'render' => 'explicit',
154
-                            'hl'     => $this->language(),
155
-                        ),
156
-                        'https://www.google.com/recaptcha/api.js?'
157
-                    );
158
-                return $iframe_assets;
159
-            }
160
-        );
161
-        add_filter(
162
-            'FHEE__EventEspresso_modules_ticket_selector_TicketSelectorIframe__construct__js_attributes',
163
-            function (array $iframe_asset_attributes) {
164
-                $iframe_asset_attributes[ EE_Invisible_Recaptcha_Input::SCRIPT_HANDLE_GOOGLE_INVISIBLE_RECAPTCHA ]
165
-                    = ' async="async" defer="defer"';
166
-                return $iframe_asset_attributes;
167
-            }
168
-        );
169
-        add_action(
170
-            'AHEE__EventEspresso_modules_ticket_selector_TicketSelectorIframe__construct__complete',
171
-            function (EventEspresso\modules\ticket_selector\TicketSelectorIframe $ticket_selector_iframe) use ($localized_vars) {
172
-                $ticket_selector_iframe->addLocalizedVars($localized_vars, 'eeRecaptcha');
173
-            }
174
-        );
175
-    }
176
-
177
-
178
-    /**
179
-     * @return void
180
-     */
181
-    private function registerScripts()
182
-    {
183
-        if (! $this->useCaptcha()) {
184
-            return;
185
-        }
186
-        add_filter('script_loader_tag', array($this, 'addScriptAttributes'), 10, 2);
187
-        wp_register_script(
188
-            EE_Invisible_Recaptcha_Input::SCRIPT_HANDLE_ESPRESSO_INVISIBLE_RECAPTCHA,
189
-            EED_Recaptcha_Invisible::assetsUrl() . 'espresso_invisible_recaptcha.js',
190
-            array('espresso_core'),
191
-            EVENT_ESPRESSO_VERSION,
192
-            true
193
-        );
194
-        wp_register_script(
195
-            EE_Invisible_Recaptcha_Input::SCRIPT_HANDLE_GOOGLE_INVISIBLE_RECAPTCHA,
196
-            add_query_arg(
197
-                array(
198
-                    'onload' => 'espressoLoadRecaptcha',
199
-                    'render' => 'explicit',
200
-                    'hl'     => $this->language(),
201
-                ),
202
-                'https://www.google.com/recaptcha/api.js?'
203
-            ),
204
-            array(EE_Invisible_Recaptcha_Input::SCRIPT_HANDLE_ESPRESSO_INVISIBLE_RECAPTCHA),
205
-            false,
206
-            true
207
-        );
208
-    }
209
-
210
-
211
-    /**
212
-     * @param string $tag
213
-     * @param string $handle
214
-     * @return string
215
-     */
216
-    public function addScriptAttributes($tag, $handle)
217
-    {
218
-        if ($handle === EE_Invisible_Recaptcha_Input::SCRIPT_HANDLE_GOOGLE_INVISIBLE_RECAPTCHA) {
219
-            $tag = str_replace('></script>', ' async="async" defer="defer"></script>', $tag);
220
-        }
221
-        return $tag;
222
-    }
223
-
224
-
225
-    /**
226
-     * Gets the HTML for displaying the label for this form input
227
-     * according to the form section's layout strategy
228
-     *
229
-     * @return string
230
-     */
231
-    public function get_html_for_label()
232
-    {
233
-        return '';
234
-    }
17
+	const SCRIPT_HANDLE_GOOGLE_INVISIBLE_RECAPTCHA   = 'google_invisible_recaptcha';
18
+
19
+	const SCRIPT_HANDLE_ESPRESSO_INVISIBLE_RECAPTCHA = 'espresso_invisible_recaptcha';
20
+
21
+	/**
22
+	 * @var EE_Registration_Config $config
23
+	 */
24
+	private $config;
25
+
26
+	/**
27
+	 * @var string $recaptcha_id
28
+	 */
29
+	private $recaptcha_id;
30
+
31
+	/**
32
+	 * @var string $submit_button_id
33
+	 */
34
+	private $submit_button_id;
35
+
36
+
37
+	/**
38
+	 * @param array                  $input_settings
39
+	 * @param EE_Registration_Config $registration_config
40
+	 * @throws InvalidArgumentException
41
+	 * @throws InvalidDataTypeException
42
+	 * @throws InvalidInterfaceException
43
+	 * @throws DomainException
44
+	 */
45
+	public function __construct(array $input_settings = array(), EE_Registration_Config $registration_config = null)
46
+	{
47
+		$this->_set_display_strategy(new EE_Invisible_Recaptcha_Display_Strategy());
48
+		parent::__construct($input_settings);
49
+		$registration_config    = $registration_config instanceof EE_Registration_Config
50
+			? $registration_config
51
+			: EE_Registry::instance()->CFG->registration;
52
+		$this->config           = $registration_config;
53
+		$this->recaptcha_id     = isset($input_settings['recaptcha_id'])
54
+			? $input_settings['recaptcha_id']
55
+			: substr(spl_object_hash($this), 8, 8);
56
+		$this->submit_button_id = isset($input_settings['submit_button_id'])
57
+			? $input_settings['submit_button_id']
58
+			: '';
59
+		if (
60
+			isset($input_settings['localized_vars'])
61
+			&& filter_var($input_settings['iframe'], FILTER_VALIDATE_BOOLEAN)
62
+		) {
63
+			$this->addIframeAssets($input_settings['localized_vars']);
64
+		} else {
65
+			$this->registerScripts();
66
+		}
67
+	}
68
+
69
+
70
+	/**
71
+	 * @return bool
72
+	 */
73
+	public function useCaptcha()
74
+	{
75
+		return $this->config->use_captcha && $this->config->recaptcha_theme === 'invisible';
76
+	}
77
+
78
+
79
+	/**
80
+	 * @return string
81
+	 */
82
+	public function badge()
83
+	{
84
+		return $this->config->recaptcha_badge;
85
+	}
86
+
87
+
88
+	/**
89
+	 * @return string
90
+	 */
91
+	public function language()
92
+	{
93
+		return $this->config->recaptcha_language;
94
+	}
95
+
96
+
97
+	/**
98
+	 * @return string
99
+	 */
100
+	public function siteKey()
101
+	{
102
+		return $this->config->recaptcha_publickey;
103
+	}
104
+
105
+
106
+	/**
107
+	 * @return string
108
+	 */
109
+	public function secretKey()
110
+	{
111
+		return $this->config->recaptcha_privatekey;
112
+	}
113
+
114
+
115
+	/**
116
+	 * @return string
117
+	 */
118
+	public function recaptchaId()
119
+	{
120
+		return $this->recaptcha_id;
121
+	}
122
+
123
+
124
+	/**
125
+	 * @return string
126
+	 */
127
+	public function submitButtonId()
128
+	{
129
+		return $this->submit_button_id;
130
+	}
131
+
132
+
133
+	/**
134
+	 * @param array $localized_vars
135
+	 * @throws DomainException
136
+	 */
137
+	private function addIframeAssets(array $localized_vars)
138
+	{
139
+		if (! $this->useCaptcha()) {
140
+			return;
141
+		}
142
+		add_filter(
143
+			'FHEE__EED_Ticket_Selector__ticket_selector_iframe__js',
144
+			function (array $iframe_assets) {
145
+				$iframe_assets[ EE_Invisible_Recaptcha_Input::SCRIPT_HANDLE_ESPRESSO_INVISIBLE_RECAPTCHA ] =
146
+					EED_Recaptcha_Invisible::assetsUrl()
147
+					. 'espresso_invisible_recaptcha.js?ver='
148
+					. EVENT_ESPRESSO_VERSION;
149
+				$iframe_assets[ EE_Invisible_Recaptcha_Input::SCRIPT_HANDLE_GOOGLE_INVISIBLE_RECAPTCHA ] =
150
+					add_query_arg(
151
+						array(
152
+							'onload' => 'espressoLoadRecaptcha',
153
+							'render' => 'explicit',
154
+							'hl'     => $this->language(),
155
+						),
156
+						'https://www.google.com/recaptcha/api.js?'
157
+					);
158
+				return $iframe_assets;
159
+			}
160
+		);
161
+		add_filter(
162
+			'FHEE__EventEspresso_modules_ticket_selector_TicketSelectorIframe__construct__js_attributes',
163
+			function (array $iframe_asset_attributes) {
164
+				$iframe_asset_attributes[ EE_Invisible_Recaptcha_Input::SCRIPT_HANDLE_GOOGLE_INVISIBLE_RECAPTCHA ]
165
+					= ' async="async" defer="defer"';
166
+				return $iframe_asset_attributes;
167
+			}
168
+		);
169
+		add_action(
170
+			'AHEE__EventEspresso_modules_ticket_selector_TicketSelectorIframe__construct__complete',
171
+			function (EventEspresso\modules\ticket_selector\TicketSelectorIframe $ticket_selector_iframe) use ($localized_vars) {
172
+				$ticket_selector_iframe->addLocalizedVars($localized_vars, 'eeRecaptcha');
173
+			}
174
+		);
175
+	}
176
+
177
+
178
+	/**
179
+	 * @return void
180
+	 */
181
+	private function registerScripts()
182
+	{
183
+		if (! $this->useCaptcha()) {
184
+			return;
185
+		}
186
+		add_filter('script_loader_tag', array($this, 'addScriptAttributes'), 10, 2);
187
+		wp_register_script(
188
+			EE_Invisible_Recaptcha_Input::SCRIPT_HANDLE_ESPRESSO_INVISIBLE_RECAPTCHA,
189
+			EED_Recaptcha_Invisible::assetsUrl() . 'espresso_invisible_recaptcha.js',
190
+			array('espresso_core'),
191
+			EVENT_ESPRESSO_VERSION,
192
+			true
193
+		);
194
+		wp_register_script(
195
+			EE_Invisible_Recaptcha_Input::SCRIPT_HANDLE_GOOGLE_INVISIBLE_RECAPTCHA,
196
+			add_query_arg(
197
+				array(
198
+					'onload' => 'espressoLoadRecaptcha',
199
+					'render' => 'explicit',
200
+					'hl'     => $this->language(),
201
+				),
202
+				'https://www.google.com/recaptcha/api.js?'
203
+			),
204
+			array(EE_Invisible_Recaptcha_Input::SCRIPT_HANDLE_ESPRESSO_INVISIBLE_RECAPTCHA),
205
+			false,
206
+			true
207
+		);
208
+	}
209
+
210
+
211
+	/**
212
+	 * @param string $tag
213
+	 * @param string $handle
214
+	 * @return string
215
+	 */
216
+	public function addScriptAttributes($tag, $handle)
217
+	{
218
+		if ($handle === EE_Invisible_Recaptcha_Input::SCRIPT_HANDLE_GOOGLE_INVISIBLE_RECAPTCHA) {
219
+			$tag = str_replace('></script>', ' async="async" defer="defer"></script>', $tag);
220
+		}
221
+		return $tag;
222
+	}
223
+
224
+
225
+	/**
226
+	 * Gets the HTML for displaying the label for this form input
227
+	 * according to the form section's layout strategy
228
+	 *
229
+	 * @return string
230
+	 */
231
+	public function get_html_for_label()
232
+	{
233
+		return '';
234
+	}
235 235
 }
Please login to merge, or discard this patch.
core/libraries/form_sections/inputs/EE_Select_Multiple_Input.input.php 2 patches
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@
 block discarded – undo
16 16
     public function __construct($answer_options, $input_settings = array())
17 17
     {
18 18
         $this->_set_display_strategy(new EE_Select_Multiple_Display_Strategy());
19
-        $this->_add_validation_strategy(new EE_Many_Valued_Validation_Strategy(array( new EE_Enum_Validation_Strategy(isset($input_settings['validation_error_message']) ? $input_settings['validation_error_message'] : null) )));
19
+        $this->_add_validation_strategy(new EE_Many_Valued_Validation_Strategy(array(new EE_Enum_Validation_Strategy(isset($input_settings['validation_error_message']) ? $input_settings['validation_error_message'] : null))));
20 20
         $this->_multiple_selections = true;
21 21
         parent::__construct($answer_options, $input_settings);
22 22
     }
Please login to merge, or discard this patch.
Indentation   +11 added lines, -11 removed lines patch added patch discarded remove patch
@@ -9,15 +9,15 @@
 block discarded – undo
9 9
  */
10 10
 class EE_Select_Multiple_Input extends EE_Form_Input_With_Options_Base
11 11
 {
12
-    /**
13
-     * @param array | EE_Question_Option[] $answer_options
14
-     * @param array $input_settings
15
-     */
16
-    public function __construct($answer_options, $input_settings = array())
17
-    {
18
-        $this->_set_display_strategy(new EE_Select_Multiple_Display_Strategy());
19
-        $this->_add_validation_strategy(new EE_Many_Valued_Validation_Strategy(array( new EE_Enum_Validation_Strategy(isset($input_settings['validation_error_message']) ? $input_settings['validation_error_message'] : null) )));
20
-        $this->_multiple_selections = true;
21
-        parent::__construct($answer_options, $input_settings);
22
-    }
12
+	/**
13
+	 * @param array | EE_Question_Option[] $answer_options
14
+	 * @param array $input_settings
15
+	 */
16
+	public function __construct($answer_options, $input_settings = array())
17
+	{
18
+		$this->_set_display_strategy(new EE_Select_Multiple_Display_Strategy());
19
+		$this->_add_validation_strategy(new EE_Many_Valued_Validation_Strategy(array( new EE_Enum_Validation_Strategy(isset($input_settings['validation_error_message']) ? $input_settings['validation_error_message'] : null) )));
20
+		$this->_multiple_selections = true;
21
+		parent::__construct($answer_options, $input_settings);
22
+	}
23 23
 }
Please login to merge, or discard this patch.
core/libraries/form_sections/inputs/EE_Year_Input.input.php 2 patches
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -21,7 +21,7 @@
 block discarded – undo
21 21
         }
22 22
         $answer_options = array();
23 23
         for ($start = $current_year_int - $years_behind; $start <= ($current_year_int + $years_ahead); $start++) {
24
-            $answer_options[ $start ] = $start;
24
+            $answer_options[$start] = $start;
25 25
         }
26 26
         parent::__construct($answer_options, $input_settings);
27 27
     }
Please login to merge, or discard this patch.
Indentation   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -11,17 +11,17 @@
 block discarded – undo
11 11
  */
12 12
 class EE_Year_Input extends EE_Select_Input
13 13
 {
14
-    public function __construct($input_settings = array(), $four_digit_year = true, $years_behind = 100, $years_ahead = 0)
15
-    {
16
-        if ($four_digit_year) {
17
-            $current_year_int = intval(date('Y'));
18
-        } else {
19
-            $current_year_int = intval(date('y'));
20
-        }
21
-        $answer_options = array();
22
-        for ($start = $current_year_int - $years_behind; $start <= ($current_year_int + $years_ahead); $start++) {
23
-            $answer_options[ $start ] = $start;
24
-        }
25
-        parent::__construct($answer_options, $input_settings);
26
-    }
14
+	public function __construct($input_settings = array(), $four_digit_year = true, $years_behind = 100, $years_ahead = 0)
15
+	{
16
+		if ($four_digit_year) {
17
+			$current_year_int = intval(date('Y'));
18
+		} else {
19
+			$current_year_int = intval(date('y'));
20
+		}
21
+		$answer_options = array();
22
+		for ($start = $current_year_int - $years_behind; $start <= ($current_year_int + $years_ahead); $start++) {
23
+			$answer_options[ $start ] = $start;
24
+		}
25
+		parent::__construct($answer_options, $input_settings);
26
+	}
27 27
 }
Please login to merge, or discard this patch.
core/libraries/form_sections/inputs/EE_Password_Input.input.php 2 patches
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -18,6 +18,6 @@
 block discarded – undo
18 18
         $this->_set_display_strategy(new EE_Text_Input_Display_Strategy('password'));
19 19
         $this->_set_normalization_strategy(new EE_Text_Normalization());
20 20
         parent::__construct($input_settings);
21
-        $this->set_html_class($this->html_class() . 'password');
21
+        $this->set_html_class($this->html_class().'password');
22 22
     }
23 23
 }
Please login to merge, or discard this patch.
Indentation   +10 added lines, -10 removed lines patch added patch discarded remove patch
@@ -9,14 +9,14 @@
 block discarded – undo
9 9
  */
10 10
 class EE_Password_Input extends EE_Form_Input_Base
11 11
 {
12
-    /**
13
-     * @param array $input_settings
14
-     */
15
-    public function __construct($input_settings = array())
16
-    {
17
-        $this->_set_display_strategy(new EE_Text_Input_Display_Strategy('password'));
18
-        $this->_set_normalization_strategy(new EE_Text_Normalization());
19
-        parent::__construct($input_settings);
20
-        $this->set_html_class($this->html_class() . 'password');
21
-    }
12
+	/**
13
+	 * @param array $input_settings
14
+	 */
15
+	public function __construct($input_settings = array())
16
+	{
17
+		$this->_set_display_strategy(new EE_Text_Input_Display_Strategy('password'));
18
+		$this->_set_normalization_strategy(new EE_Text_Normalization());
19
+		parent::__construct($input_settings);
20
+		$this->set_html_class($this->html_class() . 'password');
21
+	}
22 22
 }
Please login to merge, or discard this patch.
core/libraries/form_sections/inputs/EE_Email_Input.input.php 2 patches
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -24,6 +24,6 @@
 block discarded – undo
24 24
             )
25 25
         );
26 26
         parent::__construct($input_settings);
27
-        $this->set_html_class($this->html_class() . ' email');
27
+        $this->set_html_class($this->html_class().' email');
28 28
     }
29 29
 }
Please login to merge, or discard this patch.
Indentation   +17 added lines, -17 removed lines patch added patch discarded remove patch
@@ -9,21 +9,21 @@
 block discarded – undo
9 9
  */
10 10
 class EE_Email_Input extends EE_Form_Input_Base
11 11
 {
12
-    /**
13
-     * @param array $input_settings
14
-     */
15
-    public function __construct($input_settings = array())
16
-    {
17
-        $this->_set_display_strategy(new EE_Text_Input_Display_Strategy('email'));
18
-        $this->_set_normalization_strategy(new EE_Text_Normalization());
19
-        $this->_add_validation_strategy(
20
-            new EE_Email_Validation_Strategy(
21
-                isset($input_settings['validation_error_message'])
22
-                    ? $input_settings['validation_error_message']
23
-                    : null
24
-            )
25
-        );
26
-        parent::__construct($input_settings);
27
-        $this->set_html_class($this->html_class() . ' email');
28
-    }
12
+	/**
13
+	 * @param array $input_settings
14
+	 */
15
+	public function __construct($input_settings = array())
16
+	{
17
+		$this->_set_display_strategy(new EE_Text_Input_Display_Strategy('email'));
18
+		$this->_set_normalization_strategy(new EE_Text_Normalization());
19
+		$this->_add_validation_strategy(
20
+			new EE_Email_Validation_Strategy(
21
+				isset($input_settings['validation_error_message'])
22
+					? $input_settings['validation_error_message']
23
+					: null
24
+			)
25
+		);
26
+		parent::__construct($input_settings);
27
+		$this->set_html_class($this->html_class() . ' email');
28
+	}
29 29
 }
Please login to merge, or discard this patch.
strategies/display/EE_Submit_Input_Display_Strategy.strategy.php 2 patches
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -29,8 +29,8 @@
 block discarded – undo
29 29
                     'type'  => 'submit',
30 30
                     'value' => $default_value,
31 31
                     // overwrite the standard id with the backwards compatible one
32
-                    'id' => $this->_input->html_id() . '-submit',
33
-                    'class' => $this->_input->html_class() . ' ' . $this->_input->button_css_attributes()
32
+                    'id' => $this->_input->html_id().'-submit',
33
+                    'class' => $this->_input->html_class().' '.$this->_input->button_css_attributes()
34 34
                 )
35 35
             )
36 36
         );
Please login to merge, or discard this patch.
Indentation   +25 added lines, -25 removed lines patch added patch discarded remove patch
@@ -9,29 +9,29 @@
 block discarded – undo
9 9
  */
10 10
 class EE_Submit_Input_Display_Strategy extends EE_Display_Strategy_Base
11 11
 {
12
-    /**
13
-     * @return string of html to display the input
14
-     */
15
-    public function display()
16
-    {
17
-        $default_value = $this->_input->get_default();
18
-        if ($this->_input->get_normalization_strategy() instanceof EE_Normalization_Strategy_Base) {
19
-            $default_value = $this->_input->get_normalization_strategy()->unnormalize($default_value);
20
-        }
21
-        $html = $this->_opening_tag('input');
22
-        $html .= $this->_attributes_string(
23
-            array_merge(
24
-                $this->_standard_attributes_array(),
25
-                array(
26
-                    'type'  => 'submit',
27
-                    'value' => $default_value,
28
-                    // overwrite the standard id with the backwards compatible one
29
-                    'id' => $this->_input->html_id() . '-submit',
30
-                    'class' => $this->_input->html_class() . ' ' . $this->_input->button_css_attributes()
31
-                )
32
-            )
33
-        );
34
-        $html .= $this->_close_tag();
35
-        return $html;
36
-    }
12
+	/**
13
+	 * @return string of html to display the input
14
+	 */
15
+	public function display()
16
+	{
17
+		$default_value = $this->_input->get_default();
18
+		if ($this->_input->get_normalization_strategy() instanceof EE_Normalization_Strategy_Base) {
19
+			$default_value = $this->_input->get_normalization_strategy()->unnormalize($default_value);
20
+		}
21
+		$html = $this->_opening_tag('input');
22
+		$html .= $this->_attributes_string(
23
+			array_merge(
24
+				$this->_standard_attributes_array(),
25
+				array(
26
+					'type'  => 'submit',
27
+					'value' => $default_value,
28
+					// overwrite the standard id with the backwards compatible one
29
+					'id' => $this->_input->html_id() . '-submit',
30
+					'class' => $this->_input->html_class() . ' ' . $this->_input->button_css_attributes()
31
+				)
32
+			)
33
+		);
34
+		$html .= $this->_close_tag();
35
+		return $html;
36
+	}
37 37
 }
Please login to merge, or discard this patch.
form_sections/strategies/display/EE_Hidden_Display_Strategy.strategy.php 1 patch
Indentation   +9 added lines, -9 removed lines patch added patch discarded remove patch
@@ -11,13 +11,13 @@
 block discarded – undo
11 11
  */
12 12
 class EE_Hidden_Display_Strategy extends EE_Display_Strategy_Base
13 13
 {
14
-    /**
15
-     *
16
-     * @return string of html to display the HIDDEN field
17
-     */
18
-    public function display()
19
-    {
20
-        $input = $this->_input;
21
-        return "<input type='hidden' id='{$input->html_id()}' name='{$input->html_name()}' class='{$input->html_class()}' style='{$input->html_style()}' value='{$input->raw_value_in_form()}' {$input->other_html_attributes()}/>";
22
-    }
14
+	/**
15
+	 *
16
+	 * @return string of html to display the HIDDEN field
17
+	 */
18
+	public function display()
19
+	{
20
+		$input = $this->_input;
21
+		return "<input type='hidden' id='{$input->html_id()}' name='{$input->html_name()}' class='{$input->html_class()}' style='{$input->html_style()}' value='{$input->raw_value_in_form()}' {$input->other_html_attributes()}/>";
22
+	}
23 23
 }
Please login to merge, or discard this patch.
form_sections/strategies/display/EE_Display_Strategy_Base.strategy.php 2 patches
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -56,7 +56,7 @@
 block discarded – undo
56 56
      */
57 57
     protected function _append_chars($string = '', $chars = '-')
58 58
     {
59
-        return $this->_remove_chars($string, $chars) . $chars;
59
+        return $this->_remove_chars($string, $chars).$chars;
60 60
     }
61 61
 
62 62
 
Please login to merge, or discard this patch.
Indentation   +226 added lines, -226 removed lines patch added patch discarded remove patch
@@ -10,236 +10,236 @@
 block discarded – undo
10 10
  */
11 11
 abstract class EE_Display_Strategy_Base extends EE_Form_Input_Strategy_Base
12 12
 {
13
-    /**
14
-     * @var string $_tag
15
-     */
16
-    protected $_tag = '';
13
+	/**
14
+	 * @var string $_tag
15
+	 */
16
+	protected $_tag = '';
17 17
 
18 18
 
19 19
 
20
-
21
-
22
-    /**
23
-     * returns HTML and javascript related to the displaying of this input
24
-     *
25
-     * @return string
26
-     */
27
-    abstract public function display();
20
+
21
+
22
+	/**
23
+	 * returns HTML and javascript related to the displaying of this input
24
+	 *
25
+	 * @return string
26
+	 */
27
+	abstract public function display();
28 28
 
29 29
 
30 30
 
31
-    /**
32
-     * _remove_chars - takes an incoming string, and removes the string $chars from the end of it, but only if $chars
33
-     * is already there
34
-     *
35
-     * @param string $string - the string being processed
36
-     * @param string $chars  - exact string of characters to remove
37
-     * @return string
38
-     */
39
-    protected function _remove_chars($string = '', $chars = '-')
40
-    {
41
-        $char_length = strlen($chars) * -1;
42
-        // if last three characters of string is  " - ", then remove it
43
-        return substr($string, $char_length) === $chars ? substr($string, 0, $char_length) : $string;
44
-    }
45
-
46
-
47
-
48
-    /**
49
-     * _append_chars - takes an incoming string, and adds the string $chars to the end of it, but only if $chars is not
50
-     * already there
51
-     *
52
-     * @param string $string - the string being processed
53
-     * @param string $chars  - exact string of characters to be added to end of string
54
-     * @return string
55
-     */
56
-    protected function _append_chars($string = '', $chars = '-')
57
-    {
58
-        return $this->_remove_chars($string, $chars) . $chars;
59
-    }
60
-
61
-
62
-
63
-    /**
64
-     * Gets the HTML IDs of all the inputs
65
-     *
66
-     * @param bool $add_pound_sign
67
-     * @return array
68
-     */
69
-    public function get_html_input_ids($add_pound_sign = false)
70
-    {
71
-        return array($this->get_input()->html_id($add_pound_sign));
72
-    }
73
-
74
-
75
-
76
-    /**
77
-     * Adds js variables for localization to the $other_js_data. These should be put
78
-     * in each form's "other_data" javascript object.
79
-     *
80
-     * @param array $other_js_data
81
-     * @return array
82
-     */
83
-    public function get_other_js_data($other_js_data = array())
84
-    {
85
-        return $other_js_data;
86
-    }
87
-
88
-
89
-
90
-    /**
91
-     * Opportunity for this display strategy to call wp_enqueue_script and wp_enqueue_style.
92
-     * This should be called during wp_enqueue_scripts
93
-     */
94
-    public function enqueue_js()
95
-    {
96
-    }
97
-
98
-
99
-
100
-    /**
101
-     * returns string like: '<tag'
102
-     *
103
-     * @param string $tag
104
-     * @return string
105
-     */
106
-    protected function _opening_tag($tag)
107
-    {
108
-        $this->_tag = $tag;
109
-        return "<{$this->_tag}";
110
-    }
111
-
112
-
113
-
114
-    /**
115
-     * returns string like: '</tag>
116
-     *
117
-     * @return string
118
-     */
119
-    protected function _closing_tag()
120
-    {
121
-        return "</{$this->_tag}>";
122
-    }
123
-
124
-
125
-
126
-    /**
127
-     * returns string like: '/>'
128
-     *
129
-     * @return string
130
-     */
131
-    protected function _close_tag()
132
-    {
133
-        return '/>';
134
-    }
135
-
136
-
137
-
138
-    /**
139
-     * returns an array of standard HTML attributes that get added to nearly all inputs,
140
-     * where string keys represent named attributes like id, class, etc
141
-     * and numeric keys represent single attributes like 'required'.
142
-     * Note: this does not include "value" because many inputs (like dropdowns, textareas, and checkboxes) don't use
143
-     * it.
144
-     *
145
-     * @return array
146
-     */
147
-    protected function _standard_attributes_array()
148
-    {
149
-        return array(
150
-            'name'  => $this->_input->html_name(),
151
-            'id'    => $this->_input->html_id(),
152
-            'class' => $this->_input->html_class(true),
153
-            0       => array('required', $this->_input->required()),
154
-            1       => $this->_input->other_html_attributes(),
155
-            'style' => $this->_input->html_style(),
156
-        );
157
-    }
158
-
159
-
160
-
161
-    /**
162
-     * sets the attributes using the incoming array
163
-     * and returns a string of all attributes rendered as valid HTML
164
-     *
165
-     * @param array $attributes
166
-     * @return string
167
-     */
168
-    protected function _attributes_string($attributes = array())
169
-    {
170
-        $attributes = apply_filters(
171
-            'FHEE__EE_Display_Strategy_Base__attributes_string__attributes',
172
-            $attributes,
173
-            $this,
174
-            $this->_input
175
-        );
176
-        $attributes_string = '';
177
-        foreach ($attributes as $attribute => $value) {
178
-            if (is_numeric($attribute)) {
179
-                $add = true;
180
-                if (is_array($value)) {
181
-                    $attribute = isset($value[0]) ? $value[0] : '';
182
-                    $add = isset($value[1]) ? $value[1] : false;
183
-                } else {
184
-                    $attribute = $value;
185
-                }
186
-                $attributes_string .= $this->_single_attribute($attribute, $add);
187
-            } else {
188
-                $attributes_string .= $this->_attribute($attribute, $value);
189
-            }
190
-        }
191
-        return $attributes_string;
192
-    }
193
-
194
-
195
-
196
-    /**
197
-     * returns string like: ' attribute="value"'
198
-     * returns an empty string if $value is null
199
-     *
200
-     * @param string $attribute
201
-     * @param string $value
202
-     * @return string
203
-     */
204
-    protected function _attribute($attribute, $value = '')
205
-    {
206
-        if ($value === null) {
207
-            return '';
208
-        }
209
-        $value = esc_attr($value);
210
-        return " {$attribute}=\"{$value}\"";
211
-    }
212
-
213
-
214
-
215
-    /**
216
-     * returns string like: ' data-attribute="value"'
217
-     * returns an empty string if $value is null
218
-     *
219
-     * @param string $attribute
220
-     * @param string $value
221
-     * @return string
222
-     */
223
-    protected function _data_attribute($attribute, $value = '')
224
-    {
225
-        if ($value === null) {
226
-            return '';
227
-        }
228
-        $value = esc_attr($value);
229
-        return " data-{$attribute}=\"{$value}\"";
230
-    }
231
-
232
-
233
-
234
-    /**
235
-     * returns string like: ' attribute' if $add is true
236
-     *
237
-     * @param string  $attribute
238
-     * @param boolean $add
239
-     * @return string
240
-     */
241
-    protected function _single_attribute($attribute, $add = true)
242
-    {
243
-        return $add ? " {$attribute}" : '';
244
-    }
31
+	/**
32
+	 * _remove_chars - takes an incoming string, and removes the string $chars from the end of it, but only if $chars
33
+	 * is already there
34
+	 *
35
+	 * @param string $string - the string being processed
36
+	 * @param string $chars  - exact string of characters to remove
37
+	 * @return string
38
+	 */
39
+	protected function _remove_chars($string = '', $chars = '-')
40
+	{
41
+		$char_length = strlen($chars) * -1;
42
+		// if last three characters of string is  " - ", then remove it
43
+		return substr($string, $char_length) === $chars ? substr($string, 0, $char_length) : $string;
44
+	}
45
+
46
+
47
+
48
+	/**
49
+	 * _append_chars - takes an incoming string, and adds the string $chars to the end of it, but only if $chars is not
50
+	 * already there
51
+	 *
52
+	 * @param string $string - the string being processed
53
+	 * @param string $chars  - exact string of characters to be added to end of string
54
+	 * @return string
55
+	 */
56
+	protected function _append_chars($string = '', $chars = '-')
57
+	{
58
+		return $this->_remove_chars($string, $chars) . $chars;
59
+	}
60
+
61
+
62
+
63
+	/**
64
+	 * Gets the HTML IDs of all the inputs
65
+	 *
66
+	 * @param bool $add_pound_sign
67
+	 * @return array
68
+	 */
69
+	public function get_html_input_ids($add_pound_sign = false)
70
+	{
71
+		return array($this->get_input()->html_id($add_pound_sign));
72
+	}
73
+
74
+
75
+
76
+	/**
77
+	 * Adds js variables for localization to the $other_js_data. These should be put
78
+	 * in each form's "other_data" javascript object.
79
+	 *
80
+	 * @param array $other_js_data
81
+	 * @return array
82
+	 */
83
+	public function get_other_js_data($other_js_data = array())
84
+	{
85
+		return $other_js_data;
86
+	}
87
+
88
+
89
+
90
+	/**
91
+	 * Opportunity for this display strategy to call wp_enqueue_script and wp_enqueue_style.
92
+	 * This should be called during wp_enqueue_scripts
93
+	 */
94
+	public function enqueue_js()
95
+	{
96
+	}
97
+
98
+
99
+
100
+	/**
101
+	 * returns string like: '<tag'
102
+	 *
103
+	 * @param string $tag
104
+	 * @return string
105
+	 */
106
+	protected function _opening_tag($tag)
107
+	{
108
+		$this->_tag = $tag;
109
+		return "<{$this->_tag}";
110
+	}
111
+
112
+
113
+
114
+	/**
115
+	 * returns string like: '</tag>
116
+	 *
117
+	 * @return string
118
+	 */
119
+	protected function _closing_tag()
120
+	{
121
+		return "</{$this->_tag}>";
122
+	}
123
+
124
+
125
+
126
+	/**
127
+	 * returns string like: '/>'
128
+	 *
129
+	 * @return string
130
+	 */
131
+	protected function _close_tag()
132
+	{
133
+		return '/>';
134
+	}
135
+
136
+
137
+
138
+	/**
139
+	 * returns an array of standard HTML attributes that get added to nearly all inputs,
140
+	 * where string keys represent named attributes like id, class, etc
141
+	 * and numeric keys represent single attributes like 'required'.
142
+	 * Note: this does not include "value" because many inputs (like dropdowns, textareas, and checkboxes) don't use
143
+	 * it.
144
+	 *
145
+	 * @return array
146
+	 */
147
+	protected function _standard_attributes_array()
148
+	{
149
+		return array(
150
+			'name'  => $this->_input->html_name(),
151
+			'id'    => $this->_input->html_id(),
152
+			'class' => $this->_input->html_class(true),
153
+			0       => array('required', $this->_input->required()),
154
+			1       => $this->_input->other_html_attributes(),
155
+			'style' => $this->_input->html_style(),
156
+		);
157
+	}
158
+
159
+
160
+
161
+	/**
162
+	 * sets the attributes using the incoming array
163
+	 * and returns a string of all attributes rendered as valid HTML
164
+	 *
165
+	 * @param array $attributes
166
+	 * @return string
167
+	 */
168
+	protected function _attributes_string($attributes = array())
169
+	{
170
+		$attributes = apply_filters(
171
+			'FHEE__EE_Display_Strategy_Base__attributes_string__attributes',
172
+			$attributes,
173
+			$this,
174
+			$this->_input
175
+		);
176
+		$attributes_string = '';
177
+		foreach ($attributes as $attribute => $value) {
178
+			if (is_numeric($attribute)) {
179
+				$add = true;
180
+				if (is_array($value)) {
181
+					$attribute = isset($value[0]) ? $value[0] : '';
182
+					$add = isset($value[1]) ? $value[1] : false;
183
+				} else {
184
+					$attribute = $value;
185
+				}
186
+				$attributes_string .= $this->_single_attribute($attribute, $add);
187
+			} else {
188
+				$attributes_string .= $this->_attribute($attribute, $value);
189
+			}
190
+		}
191
+		return $attributes_string;
192
+	}
193
+
194
+
195
+
196
+	/**
197
+	 * returns string like: ' attribute="value"'
198
+	 * returns an empty string if $value is null
199
+	 *
200
+	 * @param string $attribute
201
+	 * @param string $value
202
+	 * @return string
203
+	 */
204
+	protected function _attribute($attribute, $value = '')
205
+	{
206
+		if ($value === null) {
207
+			return '';
208
+		}
209
+		$value = esc_attr($value);
210
+		return " {$attribute}=\"{$value}\"";
211
+	}
212
+
213
+
214
+
215
+	/**
216
+	 * returns string like: ' data-attribute="value"'
217
+	 * returns an empty string if $value is null
218
+	 *
219
+	 * @param string $attribute
220
+	 * @param string $value
221
+	 * @return string
222
+	 */
223
+	protected function _data_attribute($attribute, $value = '')
224
+	{
225
+		if ($value === null) {
226
+			return '';
227
+		}
228
+		$value = esc_attr($value);
229
+		return " data-{$attribute}=\"{$value}\"";
230
+	}
231
+
232
+
233
+
234
+	/**
235
+	 * returns string like: ' attribute' if $add is true
236
+	 *
237
+	 * @param string  $attribute
238
+	 * @param boolean $add
239
+	 * @return string
240
+	 */
241
+	protected function _single_attribute($attribute, $add = true)
242
+	{
243
+		return $add ? " {$attribute}" : '';
244
+	}
245 245
 }
Please login to merge, or discard this patch.