Completed
Branch rest-authorization (c7240a)
by
unknown
21:01 queued 17:53
created
core/libraries/form_sections/inputs/EE_Checkbox_Multi_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
     public function __construct($answer_options, $input_settings = array())
22 22
     {
23 23
         $this->_set_display_strategy(new EE_Checkbox_Display_Strategy());
24
-        $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) )));
24
+        $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))));
25 25
         $this->_multiple_selections = true;
26 26
         parent::__construct($answer_options, $input_settings);
27 27
     }
Please login to merge, or discard this patch.
Indentation   +11 added lines, -11 removed lines patch added patch discarded remove patch
@@ -14,15 +14,15 @@
 block discarded – undo
14 14
  */
15 15
 class EE_Checkbox_Multi_Input extends EE_Form_Input_With_Options_Base
16 16
 {
17
-    /**
18
-     * @param array $input_settings
19
-     * @param array | EE_Question_Option[] $answer_options
20
-     */
21
-    public function __construct($answer_options, $input_settings = array())
22
-    {
23
-        $this->_set_display_strategy(new EE_Checkbox_Display_Strategy());
24
-        $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) )));
25
-        $this->_multiple_selections = true;
26
-        parent::__construct($answer_options, $input_settings);
27
-    }
17
+	/**
18
+	 * @param array $input_settings
19
+	 * @param array | EE_Question_Option[] $answer_options
20
+	 */
21
+	public function __construct($answer_options, $input_settings = array())
22
+	{
23
+		$this->_set_display_strategy(new EE_Checkbox_Display_Strategy());
24
+		$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) )));
25
+		$this->_multiple_selections = true;
26
+		parent::__construct($answer_options, $input_settings);
27
+	}
28 28
 }
Please login to merge, or discard this patch.
core/libraries/form_sections/inputs/EE_Month_Input.input.php 2 patches
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -19,10 +19,10 @@
 block discarded – undo
19 19
         $key_begin_range = $january_is_month_1 ? 1 : 0;
20 20
         $key_range = range($key_begin_range, $key_begin_range + 11);
21 21
         if ($leading_zero) {
22
-            array_walk($key_range, array( $this, '_zero_pad' ));
22
+            array_walk($key_range, array($this, '_zero_pad'));
23 23
         }
24 24
         $value_range = range(1, 12);
25
-        array_walk($value_range, array( $this, '_zero_pad' ));
25
+        array_walk($value_range, array($this, '_zero_pad'));
26 26
         parent::__construct(
27 27
             array_combine(
28 28
                 $key_range,
Please login to merge, or discard this patch.
Indentation   +31 added lines, -31 removed lines patch added patch discarded remove patch
@@ -9,36 +9,36 @@
 block discarded – undo
9 9
  */
10 10
 class EE_Month_Input extends EE_Select_Input
11 11
 {
12
-    /**
13
-     * @param bool  $leading_zero
14
-     * @param array $input_settings
15
-     * @param bool $january_is_month_1 whether january should have value of 1; or it should be month 0
16
-     */
17
-    public function __construct($leading_zero = false, $input_settings = array(), $january_is_month_1 = true)
18
-    {
19
-        $key_begin_range = $january_is_month_1 ? 1 : 0;
20
-        $key_range = range($key_begin_range, $key_begin_range + 11);
21
-        if ($leading_zero) {
22
-            array_walk($key_range, array( $this, '_zero_pad' ));
23
-        }
24
-        $value_range = range(1, 12);
25
-        array_walk($value_range, array( $this, '_zero_pad' ));
26
-        parent::__construct(
27
-            array_combine(
28
-                $key_range,
29
-                $value_range
30
-            ),
31
-            $input_settings
32
-        );
33
-    }
12
+	/**
13
+	 * @param bool  $leading_zero
14
+	 * @param array $input_settings
15
+	 * @param bool $january_is_month_1 whether january should have value of 1; or it should be month 0
16
+	 */
17
+	public function __construct($leading_zero = false, $input_settings = array(), $january_is_month_1 = true)
18
+	{
19
+		$key_begin_range = $january_is_month_1 ? 1 : 0;
20
+		$key_range = range($key_begin_range, $key_begin_range + 11);
21
+		if ($leading_zero) {
22
+			array_walk($key_range, array( $this, '_zero_pad' ));
23
+		}
24
+		$value_range = range(1, 12);
25
+		array_walk($value_range, array( $this, '_zero_pad' ));
26
+		parent::__construct(
27
+			array_combine(
28
+				$key_range,
29
+				$value_range
30
+			),
31
+			$input_settings
32
+		);
33
+	}
34 34
 
35
-    /**
36
-     * Changes int 1 to 01, etc. Useful with array_walk
37
-     * @param int $input
38
-     * @param mixed $key
39
-     */
40
-    protected function _zero_pad(&$input, $key)
41
-    {
42
-        $input = str_pad($input, 2, '0', STR_PAD_LEFT);
43
-    }
35
+	/**
36
+	 * Changes int 1 to 01, etc. Useful with array_walk
37
+	 * @param int $input
38
+	 * @param mixed $key
39
+	 */
40
+	protected function _zero_pad(&$input, $key)
41
+	{
42
+		$input = str_pad($input, 2, '0', STR_PAD_LEFT);
43
+	}
44 44
 }
Please login to merge, or discard this patch.
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.