Completed
Branch BUG-10381-asset-loading (2dbb93)
by
unknown
122:01 queued 110:40
created
core/services/formatters/AsciiOnly.php 4 patches
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -36,7 +36,7 @@
 block discarded – undo
36 36
 
37 37
     /**
38 38
      * Taken from https://gist.github.com/jaywilliams/119517
39
-     * @param $string
39
+     * @param string $string
40 40
      * @return string
41 41
      */
42 42
     protected function convertAscii($string)
Please login to merge, or discard this patch.
Unused Use Statements   -2 removed lines patch added patch discarded remove patch
@@ -1,8 +1,6 @@
 block discarded – undo
1 1
 <?php
2 2
 namespace EventEspresso\core\services\formatters;
3 3
 
4
-use EventEspresso\core\exceptions\InvalidDataTypeException;
5
-
6 4
 defined('EVENT_ESPRESSO_VERSION') || exit;
7 5
 
8 6
 
Please login to merge, or discard this patch.
Indentation   +51 added lines, -51 removed lines patch added patch discarded remove patch
@@ -18,60 +18,60 @@
 block discarded – undo
18 18
 class AsciiOnly extends FormatterBase
19 19
 {
20 20
 
21
-    /**
22
-     * Removes all non Ascii characters from string
23
-     *
24
-     * @param string|int|float $input anything easily cast into a string
25
-     * @return string
26
-     */
27
-    public function format($input)
28
-    {
29
-        //in case an int or float etc was passed in
30
-        $input = (string)$input;
31
-        $input = $this->convertAscii($input);
32
-        return $input;
33
-    }
21
+	/**
22
+	 * Removes all non Ascii characters from string
23
+	 *
24
+	 * @param string|int|float $input anything easily cast into a string
25
+	 * @return string
26
+	 */
27
+	public function format($input)
28
+	{
29
+		//in case an int or float etc was passed in
30
+		$input = (string)$input;
31
+		$input = $this->convertAscii($input);
32
+		return $input;
33
+	}
34 34
 
35 35
 
36 36
 
37
-    /**
38
-     * Taken from https://gist.github.com/jaywilliams/119517
39
-     * @param $string
40
-     * @return string
41
-     */
42
-    protected function convertAscii($string)
43
-    {
44
-        // Replace Single Curly Quotes
45
-        $search[]  = chr(226).chr(128).chr(152);
46
-        $replace[] = "'";
47
-        $search[]  = chr(226).chr(128).chr(153);
48
-        $replace[] = "'";
49
-        // Replace Smart Double Curly Quotes
50
-        $search[]  = chr(226).chr(128).chr(156);
51
-        $replace[] = '"';
52
-        $search[]  = chr(226).chr(128).chr(157);
53
-        $replace[] = '"';
54
-        // Replace En Dash
55
-        $search[]  = chr(226).chr(128).chr(147);
56
-        $replace[] = '--';
57
-        // Replace Em Dash
58
-        $search[]  = chr(226).chr(128).chr(148);
59
-        $replace[] = '---';
60
-        // Replace Bullet
61
-        $search[]  = chr(226).chr(128).chr(162);
62
-        $replace[] = '*';
63
-        // Replace Middle Dot
64
-        $search[]  = chr(194).chr(183);
65
-        $replace[] = '*';
66
-        // Replace Ellipsis with three consecutive dots
67
-        $search[]  = chr(226).chr(128).chr(166);
68
-        $replace[] = '...';
69
-        // Apply Replacements
70
-        $string = str_replace($search, $replace, $string);
71
-        // Remove any non-ASCII Characters
72
-        $string = preg_replace("/[^\x01-\x7F]/","", $string);
73
-        return $string;
74
-    }
37
+	/**
38
+	 * Taken from https://gist.github.com/jaywilliams/119517
39
+	 * @param $string
40
+	 * @return string
41
+	 */
42
+	protected function convertAscii($string)
43
+	{
44
+		// Replace Single Curly Quotes
45
+		$search[]  = chr(226).chr(128).chr(152);
46
+		$replace[] = "'";
47
+		$search[]  = chr(226).chr(128).chr(153);
48
+		$replace[] = "'";
49
+		// Replace Smart Double Curly Quotes
50
+		$search[]  = chr(226).chr(128).chr(156);
51
+		$replace[] = '"';
52
+		$search[]  = chr(226).chr(128).chr(157);
53
+		$replace[] = '"';
54
+		// Replace En Dash
55
+		$search[]  = chr(226).chr(128).chr(147);
56
+		$replace[] = '--';
57
+		// Replace Em Dash
58
+		$search[]  = chr(226).chr(128).chr(148);
59
+		$replace[] = '---';
60
+		// Replace Bullet
61
+		$search[]  = chr(226).chr(128).chr(162);
62
+		$replace[] = '*';
63
+		// Replace Middle Dot
64
+		$search[]  = chr(194).chr(183);
65
+		$replace[] = '*';
66
+		// Replace Ellipsis with three consecutive dots
67
+		$search[]  = chr(226).chr(128).chr(166);
68
+		$replace[] = '...';
69
+		// Apply Replacements
70
+		$string = str_replace($search, $replace, $string);
71
+		// Remove any non-ASCII Characters
72
+		$string = preg_replace("/[^\x01-\x7F]/","", $string);
73
+		return $string;
74
+	}
75 75
 }
76 76
 // End of file EmojiRemoval.php
77 77
 // Location: core\services\formatters/EmojiRemoval.php
78 78
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -27,7 +27,7 @@  discard block
 block discarded – undo
27 27
     public function format($input)
28 28
     {
29 29
         //in case an int or float etc was passed in
30
-        $input = (string)$input;
30
+        $input = (string) $input;
31 31
         $input = $this->convertAscii($input);
32 32
         return $input;
33 33
     }
@@ -69,7 +69,7 @@  discard block
 block discarded – undo
69 69
         // Apply Replacements
70 70
         $string = str_replace($search, $replace, $string);
71 71
         // Remove any non-ASCII Characters
72
-        $string = preg_replace("/[^\x01-\x7F]/","", $string);
72
+        $string = preg_replace("/[^\x01-\x7F]/", "", $string);
73 73
         return $string;
74 74
     }
75 75
 }
Please login to merge, or discard this patch.
core/services/formatters/LeaveAlone.php 1 patch
Indentation   +21 added lines, -21 removed lines patch added patch discarded remove patch
@@ -18,28 +18,28 @@
 block discarded – undo
18 18
 class LeaveAlone extends FormatterBase
19 19
 {
20 20
 
21
-    /**
22
-     * Removes the emojis from the inputted string
23
-     *
24
-     * @param string|int|float $input anything easily cast into a string
25
-     * @return string
26
-     * @throws InvalidDataTypeException if $input is not a string
27
-     */
28
-    public function format($input)
29
-    {
30
-        return $input;
31
-    }
21
+	/**
22
+	 * Removes the emojis from the inputted string
23
+	 *
24
+	 * @param string|int|float $input anything easily cast into a string
25
+	 * @return string
26
+	 * @throws InvalidDataTypeException if $input is not a string
27
+	 */
28
+	public function format($input)
29
+	{
30
+		return $input;
31
+	}
32 32
 
33
-    /**
34
-     * Just returns the inputted $input array
35
-     *
36
-     * @param array $input
37
-     * @return array
38
-     */
39
-    public function formatArray($input)
40
-    {
41
-        return $input;
42
-    }
33
+	/**
34
+	 * Just returns the inputted $input array
35
+	 *
36
+	 * @param array $input
37
+	 * @return array
38
+	 */
39
+	public function formatArray($input)
40
+	{
41
+		return $input;
42
+	}
43 43
 }
44 44
 // End of file LeaveAlonel.php
45 45
 // Location: core\services\formatters/LeaveAlonel.php
46 46
\ No newline at end of file
Please login to merge, or discard this patch.
core/services/formatters/Windows1252.php 2 patches
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -28,8 +28,8 @@
 block discarded – undo
28 28
     public function format($input)
29 29
     {
30 30
         //in case an int or float etc was passed in
31
-        $input = (string)$input;
32
-        $input = iconv('utf-8','cp1252//TRANSLIT', $input);
31
+        $input = (string) $input;
32
+        $input = iconv('utf-8', 'cp1252//TRANSLIT', $input);
33 33
         return $input;
34 34
     }
35 35
 }
Please login to merge, or discard this patch.
Indentation   +13 added lines, -14 removed lines patch added patch discarded remove patch
@@ -11,7 +11,6 @@  discard block
 block discarded – undo
11 11
  * Class Windows1252
12 12
  * Converts from utf8 encoding to windows 1252 (aka cp1252, aka ISO-8859-1, see https://en.wikipedia.org/wiki/Windows-1252).
13 13
  * This is useful if you need to send a string to a site using windows 1252 character encoding
14
-
15 14
  *
16 15
 *@package        Event Espresso
17 16
  * @author         Mike Nelson
@@ -20,19 +19,19 @@  discard block
 block discarded – undo
20 19
 class Windows1252 extends FormatterBase
21 20
 {
22 21
 
23
-    /**
24
-     * Converts the string to windows-1252 encoding.
25
-     *
26
-     * @param string|int|float $input anything easily cast into a string
27
-     * @return string
28
-     */
29
-    public function format($input)
30
-    {
31
-        //in case an int or float etc was passed in
32
-        $input = (string)$input;
33
-        $input = iconv('utf-8','cp1252//TRANSLIT', $input);
34
-        return $input;
35
-    }
22
+	/**
23
+	 * Converts the string to windows-1252 encoding.
24
+	 *
25
+	 * @param string|int|float $input anything easily cast into a string
26
+	 * @return string
27
+	 */
28
+	public function format($input)
29
+	{
30
+		//in case an int or float etc was passed in
31
+		$input = (string)$input;
32
+		$input = iconv('utf-8','cp1252//TRANSLIT', $input);
33
+		return $input;
34
+	}
36 35
 }
37 36
 // End of file EmojiRemoval.php
38 37
 // Location: core\services\formatters/EmojiRemoval.php
39 38
\ No newline at end of file
Please login to merge, or discard this patch.
caffeinated/payment_methods/Aim/EE_PMT_Aim.pm.php 1 patch
Indentation   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -22,7 +22,7 @@
 block discarded – undo
22 22
 	public function __construct($pm_instance = NULL) {
23 23
 		$this->_setup_properties();
24 24
 		parent::__construct($pm_instance);
25
-        $this->_gateway->set_unsupported_character_remover(new \EventEspresso\core\services\formatters\Windows1252());
25
+		$this->_gateway->set_unsupported_character_remover(new \EventEspresso\core\services\formatters\Windows1252());
26 26
 	}
27 27
 	
28 28
 	/**
Please login to merge, or discard this patch.
core/libraries/payment_methods/EE_PMT_Base.lib.php 2 patches
Indentation   +14 added lines, -14 removed lines patch added patch discarded remove patch
@@ -106,9 +106,9 @@  discard block
 block discarded – undo
106 106
 			$this->_gateway->set_template_helper( new EEH_Template() );
107 107
 			$this->_gateway->set_line_item_helper( new EEH_Line_Item() );
108 108
 			$this->_gateway->set_money_helper( new EEH_Money() );
109
-            $this->_gateway->set_gateway_data_formatter(new GatewayDataFormatter());
110
-            $this->_gateway->set_unsupported_character_remover(new AsciiOnly());
111
-            do_action( 'AHEE__EE_PMT_Base___construct__done_initializing_gateway_class',$this,$this->_gateway);
109
+			$this->_gateway->set_gateway_data_formatter(new GatewayDataFormatter());
110
+			$this->_gateway->set_unsupported_character_remover(new AsciiOnly());
111
+			do_action( 'AHEE__EE_PMT_Base___construct__done_initializing_gateway_class',$this,$this->_gateway);
112 112
 		}
113 113
 		if ( ! isset( $this->_has_billing_form ) ) {
114 114
 			// by default, On Site gateways have a billing form
@@ -282,17 +282,17 @@  discard block
 block discarded – undo
282 282
 		//if we know who the attendee is, and this is a billing form
283 283
 		//that uses attendee info, populate it
284 284
 		if (
285
-            apply_filters(
286
-                'FHEE__populate_billing_form_fields_from_attendee',
287
-                (
288
-                    $this->_billing_form instanceof EE_Billing_Attendee_Info_Form
289
-                    && $transaction instanceof EE_Transaction
290
-                    && $transaction->primary_registration() instanceof EE_Registration
291
-                    && $transaction->primary_registration()->attendee() instanceof EE_Attendee
292
-                ),
293
-                $this->_billing_form,
294
-                $transaction
295
-            )
285
+			apply_filters(
286
+				'FHEE__populate_billing_form_fields_from_attendee',
287
+				(
288
+					$this->_billing_form instanceof EE_Billing_Attendee_Info_Form
289
+					&& $transaction instanceof EE_Transaction
290
+					&& $transaction->primary_registration() instanceof EE_Registration
291
+					&& $transaction->primary_registration()->attendee() instanceof EE_Attendee
292
+				),
293
+				$this->_billing_form,
294
+				$transaction
295
+			)
296 296
 		){
297 297
 			$this->_billing_form->populate_from_attendee( $transaction->primary_registration()->attendee() );
298 298
 		}
Please login to merge, or discard this patch.
Spacing   +107 added lines, -107 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
  * @since 				$VID:$
17 17
  *
18 18
  */
19
-abstract class EE_PMT_Base{
19
+abstract class EE_PMT_Base {
20 20
 
21 21
 	const onsite = 'on-site';
22 22
 	const offsite = 'off-site';
@@ -97,34 +97,34 @@  discard block
 block discarded – undo
97 97
 	 * @return EE_PMT_Base
98 98
 	 */
99 99
 	function __construct($pm_instance = NULL) {
100
-		if ( $pm_instance instanceof EE_Payment_Method ){
100
+		if ($pm_instance instanceof EE_Payment_Method) {
101 101
 			$this->set_instance($pm_instance);
102 102
 		}
103
-		if($this->_gateway){
104
-			$this->_gateway->set_payment_model( EEM_Payment::instance() );
105
-			$this->_gateway->set_payment_log( EEM_Change_Log::instance() );
106
-			$this->_gateway->set_template_helper( new EEH_Template() );
107
-			$this->_gateway->set_line_item_helper( new EEH_Line_Item() );
108
-			$this->_gateway->set_money_helper( new EEH_Money() );
103
+		if ($this->_gateway) {
104
+			$this->_gateway->set_payment_model(EEM_Payment::instance());
105
+			$this->_gateway->set_payment_log(EEM_Change_Log::instance());
106
+			$this->_gateway->set_template_helper(new EEH_Template());
107
+			$this->_gateway->set_line_item_helper(new EEH_Line_Item());
108
+			$this->_gateway->set_money_helper(new EEH_Money());
109 109
             $this->_gateway->set_gateway_data_formatter(new GatewayDataFormatter());
110 110
             $this->_gateway->set_unsupported_character_remover(new AsciiOnly());
111
-            do_action( 'AHEE__EE_PMT_Base___construct__done_initializing_gateway_class',$this,$this->_gateway);
111
+            do_action('AHEE__EE_PMT_Base___construct__done_initializing_gateway_class', $this, $this->_gateway);
112 112
 		}
113
-		if ( ! isset( $this->_has_billing_form ) ) {
113
+		if ( ! isset($this->_has_billing_form)) {
114 114
 			// by default, On Site gateways have a billing form
115
-			if ( $this->payment_occurs() == EE_PMT_Base::onsite ) {
116
-				$this->set_has_billing_form( true );
115
+			if ($this->payment_occurs() == EE_PMT_Base::onsite) {
116
+				$this->set_has_billing_form(true);
117 117
 			} else {
118
-				$this->set_has_billing_form( false );
118
+				$this->set_has_billing_form(false);
119 119
 			}
120 120
 		}
121 121
 
122
-		if( ! $this->_pretty_name){
122
+		if ( ! $this->_pretty_name) {
123 123
 			throw new EE_Error(sprintf(__("You must set the pretty name for the Payment Method Type in the constructor (_pretty_name), and please make it internationalized", "event_espresso")));
124 124
 		}
125 125
 		//if the child didn't specify a default button, use the credit card one
126
-		if( $this->_default_button_url === NULL){
127
-			$this->_default_button_url = EE_PLUGIN_DIR_URL . 'payment_methods' . DS . 'pay-by-credit-card.png';
126
+		if ($this->_default_button_url === NULL) {
127
+			$this->_default_button_url = EE_PLUGIN_DIR_URL.'payment_methods'.DS.'pay-by-credit-card.png';
128 128
 		}
129 129
 	}
130 130
 
@@ -133,8 +133,8 @@  discard block
 block discarded – undo
133 133
 	/**
134 134
 	 * @param boolean $has_billing_form
135 135
 	 */
136
-	public function set_has_billing_form( $has_billing_form ) {
137
-		$this->_has_billing_form = filter_var( $has_billing_form, FILTER_VALIDATE_BOOLEAN );
136
+	public function set_has_billing_form($has_billing_form) {
137
+		$this->_has_billing_form = filter_var($has_billing_form, FILTER_VALIDATE_BOOLEAN);
138 138
 	}
139 139
 
140 140
 
@@ -142,10 +142,10 @@  discard block
 block discarded – undo
142 142
 	/**
143 143
 	 * sets the file_folder property
144 144
 	 */
145
-	protected function _set_file_folder(){
145
+	protected function _set_file_folder() {
146 146
 		$reflector = new ReflectionClass(get_class($this));
147 147
 		$fn = $reflector->getFileName();
148
-		$this->_file_folder =  dirname($fn).DS;
148
+		$this->_file_folder = dirname($fn).DS;
149 149
 	}
150 150
 
151 151
 
@@ -153,10 +153,10 @@  discard block
 block discarded – undo
153 153
 	/**
154 154
 	 * sets the file URL with a trailing slash for this PMT
155 155
 	 */
156
-	protected function _set_file_url(){
157
-		$plugins_dir_fixed = str_replace('\\',DS,WP_PLUGIN_DIR);
158
-		$file_folder_fixed = str_replace('\\',DS,$this->file_folder());
159
-		$file_path = str_replace($plugins_dir_fixed,WP_PLUGIN_URL,$file_folder_fixed);
156
+	protected function _set_file_url() {
157
+		$plugins_dir_fixed = str_replace('\\', DS, WP_PLUGIN_DIR);
158
+		$file_folder_fixed = str_replace('\\', DS, $this->file_folder());
159
+		$file_path = str_replace($plugins_dir_fixed, WP_PLUGIN_URL, $file_folder_fixed);
160 160
 		$this->_file_url = $file_path;
161 161
 	}
162 162
 
@@ -164,7 +164,7 @@  discard block
 block discarded – undo
164 164
 	 * Gets the default description on all payment methods of this type
165 165
 	 * @return string
166 166
 	 */
167
-	public function default_description(){
167
+	public function default_description() {
168 168
 		return $this->_default_description;
169 169
 	}
170 170
 
@@ -174,8 +174,8 @@  discard block
 block discarded – undo
174 174
 	 * Returns the folder containing the PMT child class, with a trailing slash
175 175
 	 * @return string
176 176
 	 */
177
-	public function file_folder(){
178
-		if( ! $this->_file_folder ) {
177
+	public function file_folder() {
178
+		if ( ! $this->_file_folder) {
179 179
 			$this->_set_file_folder();
180 180
 		}
181 181
 		return $this->_file_folder;
@@ -186,8 +186,8 @@  discard block
 block discarded – undo
186 186
 	/**
187 187
 	 * @return string
188 188
 	 */
189
-	public function file_url(){
190
-		if( ! $this->_file_url ) {
189
+	public function file_url() {
190
+		if ( ! $this->_file_url) {
191 191
 			$this->_set_file_url();
192 192
 		}
193 193
 		return $this->_file_url;
@@ -200,14 +200,14 @@  discard block
 block discarded – undo
200 200
 	 * Its important teh payment method instance is set before
201 201
 	 * @param EE_Payment_Method $payment_method_instance
202 202
 	 */
203
-	function set_instance($payment_method_instance){
203
+	function set_instance($payment_method_instance) {
204 204
 		$this->_pm_instance = $payment_method_instance;
205 205
 		//if they have already requested the settings form, make sure its
206 206
 		//data matches this model object
207
-		if($this->_settings_form){
207
+		if ($this->_settings_form) {
208 208
 			$this->settings_form()->populate_model_obj($payment_method_instance);
209 209
 		}
210
-		if($this->_gateway && $this->_gateway instanceof EE_Gateway){
210
+		if ($this->_gateway && $this->_gateway instanceof EE_Gateway) {
211 211
 			$this->_gateway->set_settings($payment_method_instance->settings_array());
212 212
 		}
213 213
 	}
@@ -218,13 +218,13 @@  discard block
 block discarded – undo
218 218
 	 * Gets teh form for displaying to admins where they setup the payment method
219 219
 	 * @return EE_Payment_Method_Form
220 220
 	 */
221
-	function settings_form(){
222
-		if( ! $this->_settings_form){
221
+	function settings_form() {
222
+		if ( ! $this->_settings_form) {
223 223
 			$this->_settings_form = $this->generate_new_settings_form();
224
-			$this->_settings_form->set_payment_method_type( $this );
224
+			$this->_settings_form->set_payment_method_type($this);
225 225
 			//if we have already assigned a model object to this pmt, make
226 226
 			//sure its reflected in teh form we just generated
227
-			if($this->_pm_instance){
227
+			if ($this->_pm_instance) {
228 228
 				$this->_settings_form->populate_model_obj($this->_pm_instance);
229 229
 			}
230 230
 		}
@@ -250,7 +250,7 @@  discard block
 block discarded – undo
250 250
 	 * this payment method type's settings form later in the request
251 251
 	 * @param EE_Payment_Method_Form $form
252 252
 	 */
253
-	public function set_settings_form($form){
253
+	public function set_settings_form($form) {
254 254
 		$this->_settings_form = $form;
255 255
 	}
256 256
 
@@ -273,10 +273,10 @@  discard block
 block discarded – undo
273 273
 	 * @param array $extra_args
274 274
 	 * @return \EE_Billing_Attendee_Info_Form|\EE_Billing_Info_Form|null
275 275
 	 */
276
-	public function billing_form( EE_Transaction $transaction = NULL, $extra_args = array() ){
276
+	public function billing_form(EE_Transaction $transaction = NULL, $extra_args = array()) {
277 277
 		// has billing form already been regenerated ? or overwrite cache?
278
-		if ( ! $this->_billing_form instanceof EE_Billing_Info_Form || ! $this->_cache_billing_form ){
279
-			$this->_billing_form = $this->generate_new_billing_form( $transaction, $extra_args );
278
+		if ( ! $this->_billing_form instanceof EE_Billing_Info_Form || ! $this->_cache_billing_form) {
279
+			$this->_billing_form = $this->generate_new_billing_form($transaction, $extra_args);
280 280
 		}
281 281
 		//if we know who the attendee is, and this is a billing form
282 282
 		//that uses attendee info, populate it
@@ -292,8 +292,8 @@  discard block
 block discarded – undo
292 292
                 $this->_billing_form,
293 293
                 $transaction
294 294
             )
295
-		){
296
-			$this->_billing_form->populate_from_attendee( $transaction->primary_registration()->attendee() );
295
+		) {
296
+			$this->_billing_form->populate_from_attendee($transaction->primary_registration()->attendee());
297 297
 		}
298 298
 		return $this->_billing_form;
299 299
 	}
@@ -304,7 +304,7 @@  discard block
 block discarded – undo
304 304
 	 * @param \EE_Transaction $transaction
305 305
 	 * @return \EE_Billing_Info_Form
306 306
 	 */
307
-	abstract function generate_new_billing_form( EE_Transaction $transaction = NULL );
307
+	abstract function generate_new_billing_form(EE_Transaction $transaction = NULL);
308 308
 
309 309
 
310 310
 
@@ -315,7 +315,7 @@  discard block
 block discarded – undo
315 315
 	 * @param \EE_Billing_Info_Form $billing_form
316 316
 	 * @return \EE_Billing_Info_Form
317 317
 	 */
318
-	public function apply_billing_form_debug_settings( EE_Billing_Info_Form $billing_form ) {
318
+	public function apply_billing_form_debug_settings(EE_Billing_Info_Form $billing_form) {
319 319
 		return $billing_form;
320 320
 	}
321 321
 
@@ -326,7 +326,7 @@  discard block
 block discarded – undo
326 326
 	 * if you have form
327 327
 	 * @param EE_Payment_Method $form
328 328
 	 */
329
-	public function set_billing_form($form){
329
+	public function set_billing_form($form) {
330 330
 		$this->_billing_form = $form;
331 331
 	}
332 332
 
@@ -336,7 +336,7 @@  discard block
 block discarded – undo
336 336
 	 * Returns whether or not this payment method requires HTTPS to be used
337 337
 	 * @return boolean
338 338
 	 */
339
-	function requires_https(){
339
+	function requires_https() {
340 340
 		return $this->_requires_https;
341 341
 	}
342 342
 
@@ -354,9 +354,9 @@  discard block
 block discarded – undo
354 354
 	 * @return EE_Payment
355 355
 	 * @throws EE_Error
356 356
 	 */
357
-	function process_payment( EE_Transaction $transaction, $amount = null, $billing_info = null, $return_url = null,$fail_url = '', $method = 'CART', $by_admin = false ){
357
+	function process_payment(EE_Transaction $transaction, $amount = null, $billing_info = null, $return_url = null, $fail_url = '', $method = 'CART', $by_admin = false) {
358 358
 		// @todo: add surcharge for the payment method, if any
359
-		if ( $this->_gateway ) {
359
+		if ($this->_gateway) {
360 360
 			//there is a gateway, so we're going to make a payment object
361 361
 			//but wait! do they already have a payment in progress that we thought was failed?
362 362
 			$duplicate_properties = array(
@@ -367,10 +367,10 @@  discard block
 block discarded – undo
367 367
 				'PAY_amount' 					=> $amount !== null ? $amount : $transaction->remaining(),
368 368
 				'PAY_gateway_response' 	=> null,
369 369
 			);
370
-			$payment = EEM_Payment::instance()->get_one( array( $duplicate_properties ));
370
+			$payment = EEM_Payment::instance()->get_one(array($duplicate_properties));
371 371
 			//if we didn't already have a payment in progress for the same thing,
372 372
 			//then we actually want to make a new payment
373
-			if ( ! $payment instanceof EE_Payment ){
373
+			if ( ! $payment instanceof EE_Payment) {
374 374
 				$payment = EE_Payment::new_instance(
375 375
 					array_merge(
376 376
 						$duplicate_properties,
@@ -386,10 +386,10 @@  discard block
 block discarded – undo
386 386
 			}
387 387
 			//make sure the payment has been saved to show we started it, and so it has an ID should the gateway try to log it
388 388
 			$payment->save();
389
-			$billing_values = $this->_get_billing_values_from_form( $billing_info );
389
+			$billing_values = $this->_get_billing_values_from_form($billing_info);
390 390
 
391 391
 			//  Offsite Gateway
392
-			if( $this->_gateway instanceof EE_Offsite_Gateway ){
392
+			if ($this->_gateway instanceof EE_Offsite_Gateway) {
393 393
 
394 394
 				$payment = $this->_gateway->set_redirection_info(
395 395
 					$payment,
@@ -405,17 +405,17 @@  discard block
 block discarded – undo
405 405
 				);
406 406
 				$payment->save();
407 407
 			//  Onsite Gateway
408
-			} elseif ( $this->_gateway instanceof EE_Onsite_Gateway ) {
408
+			} elseif ($this->_gateway instanceof EE_Onsite_Gateway) {
409 409
 
410
-				$payment = $this->_gateway->do_direct_payment($payment,$billing_values);
410
+				$payment = $this->_gateway->do_direct_payment($payment, $billing_values);
411 411
 				$payment->save();
412 412
 
413 413
 			} else {
414 414
 				throw new EE_Error(
415 415
 					sprintf(
416
-						__('Gateway for payment method type "%s" is "%s", not a subclass of either EE_Offsite_Gateway or EE_Onsite_Gateway, or null (to indicate NO gateway)', 'event_espresso' ),
416
+						__('Gateway for payment method type "%s" is "%s", not a subclass of either EE_Offsite_Gateway or EE_Onsite_Gateway, or null (to indicate NO gateway)', 'event_espresso'),
417 417
 						get_class($this),
418
-						gettype( $this->_gateway )
418
+						gettype($this->_gateway)
419 419
 					)
420 420
 				);
421 421
 			}
@@ -437,8 +437,8 @@  discard block
 block discarded – undo
437 437
 		}
438 438
 
439 439
 		// if there is billing info, clean it and save it now
440
-		if( $billing_info instanceof EE_Billing_Attendee_Info_Form ){
441
-			$this->_save_billing_info_to_attendee( $billing_info, $transaction );
440
+		if ($billing_info instanceof EE_Billing_Attendee_Info_Form) {
441
+			$this->_save_billing_info_to_attendee($billing_info, $transaction);
442 442
 		}
443 443
 
444 444
 		return $payment;
@@ -451,10 +451,10 @@  discard block
 block discarded – undo
451 451
 	 * @param EE_Billing_Info_Form $billing_form
452 452
 	 * @return array
453 453
 	 */
454
-	protected function _get_billing_values_from_form( $billing_form ){
455
-		if($billing_form instanceof EE_Form_Section_Proper ){
456
-			return $billing_form->input_pretty_values( true );
457
-		}else{
454
+	protected function _get_billing_values_from_form($billing_form) {
455
+		if ($billing_form instanceof EE_Form_Section_Proper) {
456
+			return $billing_form->input_pretty_values(true);
457
+		} else {
458 458
 			return NULL;
459 459
 		}
460 460
 	}
@@ -468,13 +468,13 @@  discard block
 block discarded – undo
468 468
 	 * @return EE_Payment
469 469
 	 * @throws EE_Error
470 470
 	 */
471
-	public function handle_ipn($req_data,$transaction){
471
+	public function handle_ipn($req_data, $transaction) {
472 472
 		$transaction = EEM_Transaction::instance()->ensure_is_obj($transaction);
473
-		if( ! $this->_gateway instanceof EE_Offsite_Gateway){
474
-			throw new EE_Error(sprintf(__("Could not handle IPN because '%s' is not an offsite gateway", "event_espresso"), print_r( $this->_gateway, TRUE )));
473
+		if ( ! $this->_gateway instanceof EE_Offsite_Gateway) {
474
+			throw new EE_Error(sprintf(__("Could not handle IPN because '%s' is not an offsite gateway", "event_espresso"), print_r($this->_gateway, TRUE)));
475 475
 
476 476
 		}
477
-		$payment = $this->_gateway->handle_payment_update( $req_data, $transaction );
477
+		$payment = $this->_gateway->handle_payment_update($req_data, $transaction);
478 478
 		return $payment;
479 479
 	}
480 480
 
@@ -487,22 +487,22 @@  discard block
 block discarded – undo
487 487
 	 * @param EE_Transaction $transaction
488 488
 	 * @return boolean success
489 489
 	 */
490
-	protected function _save_billing_info_to_attendee($billing_form, $transaction){
491
-		if( ! $transaction || ! $transaction instanceof EE_Transaction){
490
+	protected function _save_billing_info_to_attendee($billing_form, $transaction) {
491
+		if ( ! $transaction || ! $transaction instanceof EE_Transaction) {
492 492
 			EE_Error::add_error(__("Cannot save billing info because no transaction was specified", "event_espresso"), __FILE__, __FUNCTION__, __LINE__);
493 493
 			return false;
494 494
 		}
495 495
 		$primary_reg = $transaction->primary_registration();
496
-		if( ! $primary_reg ){
496
+		if ( ! $primary_reg) {
497 497
 			EE_Error::add_error(__("Cannot save billing info because the transaction has no primary registration", "event_espresso"), __FILE__, __FUNCTION__, __LINE__);
498 498
 			return false;
499 499
 		}
500 500
 		$attendee = $primary_reg->attendee();
501
-		if( ! $attendee ){
501
+		if ( ! $attendee) {
502 502
 			EE_Error::add_error(__("Cannot save billing info because the transaction's primary registration has no attendee!", "event_espresso"), __FILE__, __FUNCTION__, __LINE__);
503 503
 			return false;
504 504
 		}
505
-		return $attendee->save_and_clean_billing_info_for_payment_method($billing_form, $transaction->payment_method() );
505
+		return $attendee->save_and_clean_billing_info_for_payment_method($billing_form, $transaction->payment_method());
506 506
 
507 507
 	}
508 508
 
@@ -515,7 +515,7 @@  discard block
 block discarded – undo
515 515
 	 * @param array $req_data
516 516
 	 * @return EE_Payment
517 517
 	 */
518
-	protected function find_payment_for_ipn( EE_Transaction $transaction, $req_data = array() ){
518
+	protected function find_payment_for_ipn(EE_Transaction $transaction, $req_data = array()) {
519 519
 		return $transaction->last_payment();
520 520
 	}
521 521
 
@@ -532,8 +532,8 @@  discard block
 block discarded – undo
532 532
 	 * and identifies the IPN as being for this payment method (not just fo ra payment method of this type)
533 533
 	 * @throws EE_Error
534 534
 	 */
535
-	public function handle_unclaimed_ipn( $req_data = array() ){
536
-		throw new EE_Error(sprintf(__("Payment Method '%s' cannot handle unclaimed IPNs", "event_espresso"), get_class($this) ));
535
+	public function handle_unclaimed_ipn($req_data = array()) {
536
+		throw new EE_Error(sprintf(__("Payment Method '%s' cannot handle unclaimed IPNs", "event_espresso"), get_class($this)));
537 537
 	}
538 538
 
539 539
 
@@ -549,7 +549,7 @@  discard block
 block discarded – undo
549 549
 	 * @param EE_Transaction $transaction
550 550
 	 * @return EE_Payment
551 551
 	 */
552
-	public function finalize_payment_for($transaction){
552
+	public function finalize_payment_for($transaction) {
553 553
 		return $transaction->last_payment();
554 554
 	}
555 555
 
@@ -559,10 +559,10 @@  discard block
 block discarded – undo
559 559
 	 * Whether or not this payment method's gateway supports sending refund requests
560 560
 	 * @return boolean
561 561
 	 */
562
-	public function supports_sending_refunds(){
563
-		if($this->_gateway && $this->_gateway instanceof EE_Gateway){
562
+	public function supports_sending_refunds() {
563
+		if ($this->_gateway && $this->_gateway instanceof EE_Gateway) {
564 564
 			return $this->_gateway->supports_sending_refunds();
565
-		}else{
565
+		} else {
566 566
 			return false;
567 567
 		}
568 568
 	}
@@ -576,14 +576,14 @@  discard block
 block discarded – undo
576 576
 	 * @throws EE_Error
577 577
 	 * @return EE_Payment
578 578
 	 */
579
-	public function process_refund( EE_Payment $payment, $refund_info = array()){
580
-		if ( $this->_gateway && $this->_gateway instanceof EE_Gateway ) {
581
-			return $this->_gateway->do_direct_refund( $payment, $refund_info );
579
+	public function process_refund(EE_Payment $payment, $refund_info = array()) {
580
+		if ($this->_gateway && $this->_gateway instanceof EE_Gateway) {
581
+			return $this->_gateway->do_direct_refund($payment, $refund_info);
582 582
 		} else {
583 583
 			throw new EE_Error(
584 584
 				sprintf(
585
-					__( 'Payment Method Type "%s" does not support sending refund requests', 'event_espresso' ),
586
-					get_class( $this )
585
+					__('Payment Method Type "%s" does not support sending refund requests', 'event_espresso'),
586
+					get_class($this)
587 587
 				)
588 588
 			);
589 589
 		}
@@ -597,15 +597,15 @@  discard block
 block discarded – undo
597 597
 	 * @return string
598 598
 	 * @throws EE_Error
599 599
 	 */
600
-	public function payment_occurs(){
601
-		if( ! $this->_gateway){
600
+	public function payment_occurs() {
601
+		if ( ! $this->_gateway) {
602 602
 			return EE_PMT_Base::offline;
603
-		}elseif($this->_gateway instanceof EE_Onsite_Gateway){
603
+		}elseif ($this->_gateway instanceof EE_Onsite_Gateway) {
604 604
 			return EE_PMT_Base::onsite;
605
-		}elseif($this->_gateway instanceof EE_Offsite_Gateway){
605
+		}elseif ($this->_gateway instanceof EE_Offsite_Gateway) {
606 606
 			return EE_PMT_Base::offsite;
607
-		}else{
608
-			throw new EE_Error(sprintf(__("Payment method type '%s's gateway isn't an instance of EE_Onsite_Gateway, EE_Offsite_Gateway, or null. It must be one of those", "event_espresso"),get_class($this)));
607
+		} else {
608
+			throw new EE_Error(sprintf(__("Payment method type '%s's gateway isn't an instance of EE_Onsite_Gateway, EE_Offsite_Gateway, or null. It must be one of those", "event_espresso"), get_class($this)));
609 609
 		}
610 610
 	}
611 611
 
@@ -618,8 +618,8 @@  discard block
 block discarded – undo
618 618
 	 * @param EE_Payment $payment
619 619
 	 * @return string
620 620
 	 */
621
-	public function payment_overview_content(EE_Payment $payment){
622
-		return EEH_Template::display_template(EE_LIBRARIES.'payment_methods'.DS.'templates'.DS.'payment_details_content.template.php', array('payment_method'=>$this->_pm_instance,'payment'=>$payment) , true);
621
+	public function payment_overview_content(EE_Payment $payment) {
622
+		return EEH_Template::display_template(EE_LIBRARIES.'payment_methods'.DS.'templates'.DS.'payment_details_content.template.php', array('payment_method'=>$this->_pm_instance, 'payment'=>$payment), true);
623 623
 	}
624 624
 
625 625
 
@@ -632,7 +632,7 @@  discard block
 block discarded – undo
632 632
 	 *	@type array $template_args any arguments you want passed to the template file while rendering.
633 633
 	 *				Keys will be variable names and values with be their values.
634 634
 	 */
635
-	public function help_tabs_config(){
635
+	public function help_tabs_config() {
636 636
 		return array();
637 637
 	}
638 638
 
@@ -643,9 +643,9 @@  discard block
 block discarded – undo
643 643
 	 * the payment method's table's PMT_type column)
644 644
 	 * @return string
645 645
 	 */
646
-	public function system_name(){
646
+	public function system_name() {
647 647
 		$classname = get_class($this);
648
-		return str_replace("EE_PMT_",'',$classname);
648
+		return str_replace("EE_PMT_", '', $classname);
649 649
 	}
650 650
 
651 651
 
@@ -654,7 +654,7 @@  discard block
 block discarded – undo
654 654
 	 * A pretty i18n version of the PMT name
655 655
 	 * @return string
656 656
 	 */
657
-	public function pretty_name(){
657
+	public function pretty_name() {
658 658
 		return $this->_pretty_name;
659 659
 	}
660 660
 
@@ -664,7 +664,7 @@  discard block
 block discarded – undo
664 664
 	 * Gets the default absolute URL to the payment method type's button
665 665
 	 * @return string
666 666
 	 */
667
-	public function default_button_url(){
667
+	public function default_button_url() {
668 668
 		return $this->_default_button_url;
669 669
 	}
670 670
 
@@ -674,7 +674,7 @@  discard block
 block discarded – undo
674 674
 	 * Gets the gateway used by this payment method (if any)
675 675
 	 * @return EE_Gateway
676 676
 	 */
677
-	public function get_gateway(){
677
+	public function get_gateway() {
678 678
 		return $this->_gateway;
679 679
 	}
680 680
 
@@ -683,8 +683,8 @@  discard block
 block discarded – undo
683 683
 	/**
684 684
 	 * @return string html for the link to a help tab
685 685
 	 */
686
-	public function get_help_tab_link(){
687
-		return EEH_Template::get_help_tab_link( $this->get_help_tab_name() );
686
+	public function get_help_tab_link() {
687
+		return EEH_Template::get_help_tab_link($this->get_help_tab_name());
688 688
 	}
689 689
 
690 690
 
@@ -693,8 +693,8 @@  discard block
 block discarded – undo
693 693
 	 * Returns the name of the help tab for this PMT
694 694
 	 * @return string
695 695
 	 */
696
-	public function get_help_tab_name(){
697
-		return 'ee_' . strtolower( $this->system_name() ) . '_help_tab';
696
+	public function get_help_tab_name() {
697
+		return 'ee_'.strtolower($this->system_name()).'_help_tab';
698 698
 	}
699 699
 
700 700
 	/**
@@ -702,8 +702,8 @@  discard block
 block discarded – undo
702 702
 	 * this PMT by an admin
703 703
 	 * @return string
704 704
 	 */
705
-	public function cap_name(){
706
-		return 'ee_payment_method_' . strtolower( $this->system_name() );
705
+	public function cap_name() {
706
+		return 'ee_payment_method_'.strtolower($this->system_name());
707 707
 	}
708 708
 
709 709
 	/**
@@ -715,9 +715,9 @@  discard block
 block discarded – undo
715 715
 	 * @param EE_Payment $payment
716 716
 	 * @return void
717 717
 	 */
718
-	public function update_txn_based_on_payment( $payment ){
719
-		if( $this->_gateway instanceof EE_Gateway ){
720
-			$this->_gateway->update_txn_based_on_payment( $payment );
718
+	public function update_txn_based_on_payment($payment) {
719
+		if ($this->_gateway instanceof EE_Gateway) {
720
+			$this->_gateway->update_txn_based_on_payment($payment);
721 721
 		}
722 722
 	}
723 723
 
@@ -732,7 +732,7 @@  discard block
 block discarded – undo
732 732
 	 * @return string
733 733
 	 */
734 734
 	public function introductory_html() {
735
-		return EEH_Template::locate_template( $this->file_folder() . 'templates' . DS . strtolower( $this->system_name() ) . '_intro.template.php', array( 'pmt_obj' => $this, 'pm_instance' => $this->_pm_instance ) );
735
+		return EEH_Template::locate_template($this->file_folder().'templates'.DS.strtolower($this->system_name()).'_intro.template.php', array('pmt_obj' => $this, 'pm_instance' => $this->_pm_instance));
736 736
 	}
737 737
 
738 738
 
Please login to merge, or discard this patch.
core/libraries/plugin_api/EE_Register_Addon.lib.php 2 patches
Indentation   +639 added lines, -639 removed lines patch added patch discarded remove patch
@@ -48,7 +48,7 @@  discard block
 block discarded – undo
48 48
 	protected static $_incompatible_addons = array(
49 49
 		'Multi_Event_Registration' => '2.0.11.rc.002',
50 50
 		'Promotions' => '1.0.0.rc.084',
51
-    );
51
+	);
52 52
 
53 53
 
54 54
 
@@ -219,660 +219,660 @@  discard block
 block discarded – undo
219 219
 	 */
220 220
 	public static function register( $addon_name = '', $setup_args = array() ) {
221 221
 		// required fields MUST be present, so let's make sure they are.
222
-        \EE_Register_Addon::_verify_parameters($addon_name, $setup_args);
223
-        // get class name for addon
222
+		\EE_Register_Addon::_verify_parameters($addon_name, $setup_args);
223
+		// get class name for addon
224 224
 		$class_name = \EE_Register_Addon::_parse_class_name($addon_name, $setup_args);
225 225
 		//setup $_settings array from incoming values.
226
-        $addon_settings = \EE_Register_Addon::_get_addon_settings($class_name, $setup_args);
227
-        // setup PUE
228
-        \EE_Register_Addon::_parse_pue_options($addon_name, $class_name, $setup_args);
229
-        // does this addon work with this version of core or WordPress ?
230
-        if ( ! \EE_Register_Addon::_addon_is_compatible($addon_name, $addon_settings) ) {
231
-            return;
226
+		$addon_settings = \EE_Register_Addon::_get_addon_settings($class_name, $setup_args);
227
+		// setup PUE
228
+		\EE_Register_Addon::_parse_pue_options($addon_name, $class_name, $setup_args);
229
+		// does this addon work with this version of core or WordPress ?
230
+		if ( ! \EE_Register_Addon::_addon_is_compatible($addon_name, $addon_settings) ) {
231
+			return;
232 232
 		}
233 233
 		// register namespaces
234
-        \EE_Register_Addon::_setup_namespaces($addon_settings);
235
-        // check if this is an activation request
236
-        if ( \EE_Register_Addon::_addon_activation($addon_name, $addon_settings)) {
237
-            // dont bother setting up the rest of the addon atm
238
-            return;
239
-        }
240
-        // we need cars
241
-        \EE_Register_Addon::_setup_autoloaders($addon_name);
242
-        // register new models and extensions
243
-        \EE_Register_Addon::_register_models_and_extensions($addon_name);
244
-        // setup DMS
245
-        \EE_Register_Addon::_register_data_migration_scripts($addon_name);
246
-        // if config_class is present let's register config.
247
-        \EE_Register_Addon::_register_config($addon_name);
248
-        // register admin pages
249
-        \EE_Register_Addon::_register_admin_pages($addon_name);
250
-        // add to list of modules to be registered
251
-        \EE_Register_Addon::_register_modules($addon_name);
252
-        // add to list of shortcodes to be registered
253
-        \EE_Register_Addon::_register_shortcodes($addon_name);
254
-        // add to list of widgets to be registered
255
-        \EE_Register_Addon::_register_widgets($addon_name);
256
-        // register capability related stuff.
257
-        \EE_Register_Addon::_register_capabilities($addon_name);
258
-        // any message type to register?
259
-        \EE_Register_Addon::_register_message_types($addon_name);
234
+		\EE_Register_Addon::_setup_namespaces($addon_settings);
235
+		// check if this is an activation request
236
+		if ( \EE_Register_Addon::_addon_activation($addon_name, $addon_settings)) {
237
+			// dont bother setting up the rest of the addon atm
238
+			return;
239
+		}
240
+		// we need cars
241
+		\EE_Register_Addon::_setup_autoloaders($addon_name);
242
+		// register new models and extensions
243
+		\EE_Register_Addon::_register_models_and_extensions($addon_name);
244
+		// setup DMS
245
+		\EE_Register_Addon::_register_data_migration_scripts($addon_name);
246
+		// if config_class is present let's register config.
247
+		\EE_Register_Addon::_register_config($addon_name);
248
+		// register admin pages
249
+		\EE_Register_Addon::_register_admin_pages($addon_name);
250
+		// add to list of modules to be registered
251
+		\EE_Register_Addon::_register_modules($addon_name);
252
+		// add to list of shortcodes to be registered
253
+		\EE_Register_Addon::_register_shortcodes($addon_name);
254
+		// add to list of widgets to be registered
255
+		\EE_Register_Addon::_register_widgets($addon_name);
256
+		// register capability related stuff.
257
+		\EE_Register_Addon::_register_capabilities($addon_name);
258
+		// any message type to register?
259
+		\EE_Register_Addon::_register_message_types($addon_name);
260 260
 		// any custom post type/ custom capabilities or default terms to register
261
-        \EE_Register_Addon::_register_custom_post_types($addon_name);
262
-        // and any payment methods
263
-        \EE_Register_Addon::_register_payment_methods($addon_name);
261
+		\EE_Register_Addon::_register_custom_post_types($addon_name);
262
+		// and any payment methods
263
+		\EE_Register_Addon::_register_payment_methods($addon_name);
264 264
 		// load and instantiate main addon class
265
-        $addon = \EE_Register_Addon::_load_and_init_addon_class($addon_name);
266
-        $addon->after_registration();
267
-    }
268
-
269
-
270
-
271
-    /**
272
-     * @param string $addon_name
273
-     * @param array  $setup_args
274
-     * @return void
275
-     * @throws \EE_Error
276
-     */
277
-    private static function _verify_parameters($addon_name, array $setup_args)
278
-    {
279
-        // required fields MUST be present, so let's make sure they are.
280
-        if (empty($addon_name) || ! is_array($setup_args)) {
281
-            throw new EE_Error(
282
-                __(
283
-                    'In order to register an EE_Addon with EE_Register_Addon::register(), you must include the "addon_name" (the name of the addon), and an array of arguments.',
284
-                    'event_espresso'
285
-                )
286
-            );
287
-        }
288
-        if ( ! isset($setup_args['main_file_path']) || empty($setup_args['main_file_path'])) {
289
-            throw new EE_Error(
290
-                sprintf(
291
-                    __(
292
-                        'When registering an addon, you didn\'t provide the "main_file_path", which is the full path to the main file loaded directly by Wordpress. You only provided %s',
293
-                        'event_espresso'
294
-                    ),
295
-                    implode(',', array_keys($setup_args))
296
-                )
297
-            );
298
-        }
299
-        // check that addon has not already been registered with that name
300
-        if (isset(self::$_settings[$addon_name]) && ! did_action('activate_plugin')) {
301
-            throw new EE_Error(
302
-                sprintf(
303
-                    __(
304
-                        'An EE_Addon with the name "%s" has already been registered and each EE_Addon requires a unique name.',
305
-                        'event_espresso'
306
-                    ),
307
-                    $addon_name
308
-                )
309
-            );
310
-        }
265
+		$addon = \EE_Register_Addon::_load_and_init_addon_class($addon_name);
266
+		$addon->after_registration();
267
+	}
268
+
269
+
270
+
271
+	/**
272
+	 * @param string $addon_name
273
+	 * @param array  $setup_args
274
+	 * @return void
275
+	 * @throws \EE_Error
276
+	 */
277
+	private static function _verify_parameters($addon_name, array $setup_args)
278
+	{
279
+		// required fields MUST be present, so let's make sure they are.
280
+		if (empty($addon_name) || ! is_array($setup_args)) {
281
+			throw new EE_Error(
282
+				__(
283
+					'In order to register an EE_Addon with EE_Register_Addon::register(), you must include the "addon_name" (the name of the addon), and an array of arguments.',
284
+					'event_espresso'
285
+				)
286
+			);
287
+		}
288
+		if ( ! isset($setup_args['main_file_path']) || empty($setup_args['main_file_path'])) {
289
+			throw new EE_Error(
290
+				sprintf(
291
+					__(
292
+						'When registering an addon, you didn\'t provide the "main_file_path", which is the full path to the main file loaded directly by Wordpress. You only provided %s',
293
+						'event_espresso'
294
+					),
295
+					implode(',', array_keys($setup_args))
296
+				)
297
+			);
298
+		}
299
+		// check that addon has not already been registered with that name
300
+		if (isset(self::$_settings[$addon_name]) && ! did_action('activate_plugin')) {
301
+			throw new EE_Error(
302
+				sprintf(
303
+					__(
304
+						'An EE_Addon with the name "%s" has already been registered and each EE_Addon requires a unique name.',
305
+						'event_espresso'
306
+					),
307
+					$addon_name
308
+				)
309
+			);
310
+		}
311 311
 	}
312 312
 
313 313
 
314 314
 
315
-    /**
316
-     * @param string $addon_name
317
-     * @param array  $setup_args
318
-     * @return string
319
-     */
320
-    private static function _parse_class_name($addon_name, array $setup_args)
321
-    {
322
-        if (empty($setup_args['class_name'])) {
323
-            // generate one by first separating name with spaces
324
-            $class_name = str_replace(array('-', '_'), ' ', trim($addon_name));
325
-            //capitalize, then replace spaces with underscores
326
-            $class_name = str_replace(' ', '_', ucwords($class_name));
327
-        } else {
328
-            $class_name = $setup_args['class_name'];
329
-        }
330
-        return strpos($class_name, 'EE_') === 0 ? $class_name : 'EE_' . $class_name;
331
-    }
332
-
333
-
334
-
335
-    /**
336
-     * @param string $class_name
337
-     * @param array  $setup_args
338
-     * @return array
339
-     */
340
-    private static function _get_addon_settings($class_name, array $setup_args)
341
-    {
342
-        //setup $_settings array from incoming values.
343
-        $addon_settings = array(
344
-            // generated from the addon name, changes something like "calendar" to "EE_Calendar"
345
-            'class_name'            => $class_name,
346
-            // the addon slug for use in URLs, etc
347
-            'plugin_slug'           => isset($setup_args['plugin_slug'])
348
-                ? (string)$setup_args['plugin_slug']
349
-                : '',
350
-            // page slug to be used when generating the "Settings" link on the WP plugin page
351
-            'plugin_action_slug'    => isset($setup_args['plugin_action_slug'])
352
-                ? (string)$setup_args['plugin_action_slug']
353
-                : '',
354
-            // the "software" version for the addon
355
-            'version'               => isset($setup_args['version'])
356
-                ? (string)$setup_args['version']
357
-                : '',
358
-            // the minimum version of EE Core that the addon will work with
359
-            'min_core_version'      => isset($setup_args['min_core_version'])
360
-                ? (string)$setup_args['min_core_version']
361
-                : '',
362
-            // the minimum version of WordPress that the addon will work with
363
-            'min_wp_version'        => isset($setup_args['min_wp_version'])
364
-                ? (string)$setup_args['min_wp_version']
365
-                : EE_MIN_WP_VER_REQUIRED,
366
-            // full server path to main file (file loaded directly by WP)
367
-            'main_file_path'        => isset($setup_args['main_file_path'])
368
-                ? (string)$setup_args['main_file_path']
369
-                : '',
370
-            // path to folder containing files for integrating with the EE core admin and/or setting up EE admin pages
371
-            'admin_path'            => isset($setup_args['admin_path'])
372
-                ? (string)$setup_args['admin_path'] : '',
373
-            // a method to be called when the EE Admin is first invoked, can be used for hooking into any admin page
374
-            'admin_callback'        => isset($setup_args['admin_callback'])
375
-                ? (string)$setup_args['admin_callback']
376
-                : '',
377
-            // the section name for this addon's configuration settings section (defaults to "addons")
378
-            'config_section'        => isset($setup_args['config_section'])
379
-                ? (string)$setup_args['config_section']
380
-                : 'addons',
381
-            // the class name for this addon's configuration settings object
382
-            'config_class'          => isset($setup_args['config_class'])
383
-                ? (string)$setup_args['config_class'] : '',
384
-            //the name given to the config for this addons' configuration settings object (optional)
385
-            'config_name'           => isset($setup_args['config_name'])
386
-                ? (string)$setup_args['config_name'] : '',
387
-            // an array of "class names" => "full server paths" for any classes that might be invoked by the addon
388
-            'autoloader_paths'      => isset($setup_args['autoloader_paths'])
389
-                ? (array)$setup_args['autoloader_paths']
390
-                : array(),
391
-            // an array of  "full server paths" for any folders containing classes that might be invoked by the addon
392
-            'autoloader_folders'    => isset($setup_args['autoloader_folders'])
393
-                ? (array)$setup_args['autoloader_folders']
394
-                : array(),
395
-            // array of full server paths to any EE_DMS data migration scripts used by the addon
396
-            'dms_paths'             => isset($setup_args['dms_paths'])
397
-                ? (array)$setup_args['dms_paths']
398
-                : array(),
399
-            // array of full server paths to any EED_Modules used by the addon
400
-            'module_paths'          => isset($setup_args['module_paths'])
401
-                ? (array)$setup_args['module_paths']
402
-                : array(),
403
-            // array of full server paths to any EES_Shortcodes used by the addon
404
-            'shortcode_paths'       => isset($setup_args['shortcode_paths'])
405
-                ? (array)$setup_args['shortcode_paths']
406
-                : array(),
407
-            // array of full server paths to any WP_Widgets used by the addon
408
-            'widget_paths'          => isset($setup_args['widget_paths'])
409
-                ? (array)$setup_args['widget_paths']
410
-                : array(),
411
-            // array of PUE options used by the addon
412
-            'pue_options'           => isset($setup_args['pue_options'])
413
-                ? (array)$setup_args['pue_options']
414
-                : array(),
415
-            'message_types'         => isset($setup_args['message_types'])
416
-                ? (array)$setup_args['message_types']
417
-                : array(),
418
-            'capabilities'          => isset($setup_args['capabilities'])
419
-                ? (array)$setup_args['capabilities']
420
-                : array(),
421
-            'capability_maps'       => isset($setup_args['capability_maps'])
422
-                ? (array)$setup_args['capability_maps']
423
-                : array(),
424
-            'model_paths'           => isset($setup_args['model_paths'])
425
-                ? (array)$setup_args['model_paths']
426
-                : array(),
427
-            'class_paths'           => isset($setup_args['class_paths'])
428
-                ? (array)$setup_args['class_paths']
429
-                : array(),
430
-            'model_extension_paths' => isset($setup_args['model_extension_paths'])
431
-                ? (array)$setup_args['model_extension_paths']
432
-                : array(),
433
-            'class_extension_paths' => isset($setup_args['class_extension_paths'])
434
-                ? (array)$setup_args['class_extension_paths']
435
-                : array(),
436
-            'custom_post_types'     => isset($setup_args['custom_post_types'])
437
-                ? (array)$setup_args['custom_post_types']
438
-                : array(),
439
-            'custom_taxonomies'     => isset($setup_args['custom_taxonomies'])
440
-                ? (array)$setup_args['custom_taxonomies']
441
-                : array(),
442
-            'payment_method_paths'  => isset($setup_args['payment_method_paths'])
443
-                ? (array)$setup_args['payment_method_paths']
444
-                : array(),
445
-            'default_terms'         => isset($setup_args['default_terms'])
446
-                ? (array)$setup_args['default_terms']
447
-                : array(),
448
-            // if not empty, inserts a new table row after this plugin's row on the WP Plugins page
449
-            // that can be used for adding upgrading/marketing info
450
-            'plugins_page_row'      => isset($setup_args['plugins_page_row'])
451
-                ? $setup_args['plugins_page_row']
452
-                : '',
453
-            'namespace'             => isset(
454
-                $setup_args['namespace'],
455
-                $setup_args['namespace']['FQNS'],
456
-                $setup_args['namespace']['DIR']
457
-            )
458
-                ? (array)$setup_args['namespace']
459
-                : array(),
460
-        );
461
-        // if plugin_action_slug is NOT set, but an admin page path IS set,
462
-        // then let's just use the plugin_slug since that will be used for linking to the admin page
463
-        $addon_settings['plugin_action_slug'] = empty($addon_settings['plugin_action_slug'])
464
-                                                && ! empty($addon_settings['admin_path'])
465
-            ? $addon_settings['plugin_slug']
466
-            : $addon_settings['plugin_action_slug'];
467
-        // full server path to main file (file loaded directly by WP)
468
-        $addon_settings['plugin_basename'] = plugin_basename($addon_settings['main_file_path']);
469
-        return $addon_settings;
315
+	/**
316
+	 * @param string $addon_name
317
+	 * @param array  $setup_args
318
+	 * @return string
319
+	 */
320
+	private static function _parse_class_name($addon_name, array $setup_args)
321
+	{
322
+		if (empty($setup_args['class_name'])) {
323
+			// generate one by first separating name with spaces
324
+			$class_name = str_replace(array('-', '_'), ' ', trim($addon_name));
325
+			//capitalize, then replace spaces with underscores
326
+			$class_name = str_replace(' ', '_', ucwords($class_name));
327
+		} else {
328
+			$class_name = $setup_args['class_name'];
329
+		}
330
+		return strpos($class_name, 'EE_') === 0 ? $class_name : 'EE_' . $class_name;
470 331
 	}
471 332
 
472 333
 
473 334
 
474
-    /**
475
-     * @param string $addon_name
476
-     * @param array  $addon_settings
477
-     * @return boolean
478
-     */
335
+	/**
336
+	 * @param string $class_name
337
+	 * @param array  $setup_args
338
+	 * @return array
339
+	 */
340
+	private static function _get_addon_settings($class_name, array $setup_args)
341
+	{
342
+		//setup $_settings array from incoming values.
343
+		$addon_settings = array(
344
+			// generated from the addon name, changes something like "calendar" to "EE_Calendar"
345
+			'class_name'            => $class_name,
346
+			// the addon slug for use in URLs, etc
347
+			'plugin_slug'           => isset($setup_args['plugin_slug'])
348
+				? (string)$setup_args['plugin_slug']
349
+				: '',
350
+			// page slug to be used when generating the "Settings" link on the WP plugin page
351
+			'plugin_action_slug'    => isset($setup_args['plugin_action_slug'])
352
+				? (string)$setup_args['plugin_action_slug']
353
+				: '',
354
+			// the "software" version for the addon
355
+			'version'               => isset($setup_args['version'])
356
+				? (string)$setup_args['version']
357
+				: '',
358
+			// the minimum version of EE Core that the addon will work with
359
+			'min_core_version'      => isset($setup_args['min_core_version'])
360
+				? (string)$setup_args['min_core_version']
361
+				: '',
362
+			// the minimum version of WordPress that the addon will work with
363
+			'min_wp_version'        => isset($setup_args['min_wp_version'])
364
+				? (string)$setup_args['min_wp_version']
365
+				: EE_MIN_WP_VER_REQUIRED,
366
+			// full server path to main file (file loaded directly by WP)
367
+			'main_file_path'        => isset($setup_args['main_file_path'])
368
+				? (string)$setup_args['main_file_path']
369
+				: '',
370
+			// path to folder containing files for integrating with the EE core admin and/or setting up EE admin pages
371
+			'admin_path'            => isset($setup_args['admin_path'])
372
+				? (string)$setup_args['admin_path'] : '',
373
+			// a method to be called when the EE Admin is first invoked, can be used for hooking into any admin page
374
+			'admin_callback'        => isset($setup_args['admin_callback'])
375
+				? (string)$setup_args['admin_callback']
376
+				: '',
377
+			// the section name for this addon's configuration settings section (defaults to "addons")
378
+			'config_section'        => isset($setup_args['config_section'])
379
+				? (string)$setup_args['config_section']
380
+				: 'addons',
381
+			// the class name for this addon's configuration settings object
382
+			'config_class'          => isset($setup_args['config_class'])
383
+				? (string)$setup_args['config_class'] : '',
384
+			//the name given to the config for this addons' configuration settings object (optional)
385
+			'config_name'           => isset($setup_args['config_name'])
386
+				? (string)$setup_args['config_name'] : '',
387
+			// an array of "class names" => "full server paths" for any classes that might be invoked by the addon
388
+			'autoloader_paths'      => isset($setup_args['autoloader_paths'])
389
+				? (array)$setup_args['autoloader_paths']
390
+				: array(),
391
+			// an array of  "full server paths" for any folders containing classes that might be invoked by the addon
392
+			'autoloader_folders'    => isset($setup_args['autoloader_folders'])
393
+				? (array)$setup_args['autoloader_folders']
394
+				: array(),
395
+			// array of full server paths to any EE_DMS data migration scripts used by the addon
396
+			'dms_paths'             => isset($setup_args['dms_paths'])
397
+				? (array)$setup_args['dms_paths']
398
+				: array(),
399
+			// array of full server paths to any EED_Modules used by the addon
400
+			'module_paths'          => isset($setup_args['module_paths'])
401
+				? (array)$setup_args['module_paths']
402
+				: array(),
403
+			// array of full server paths to any EES_Shortcodes used by the addon
404
+			'shortcode_paths'       => isset($setup_args['shortcode_paths'])
405
+				? (array)$setup_args['shortcode_paths']
406
+				: array(),
407
+			// array of full server paths to any WP_Widgets used by the addon
408
+			'widget_paths'          => isset($setup_args['widget_paths'])
409
+				? (array)$setup_args['widget_paths']
410
+				: array(),
411
+			// array of PUE options used by the addon
412
+			'pue_options'           => isset($setup_args['pue_options'])
413
+				? (array)$setup_args['pue_options']
414
+				: array(),
415
+			'message_types'         => isset($setup_args['message_types'])
416
+				? (array)$setup_args['message_types']
417
+				: array(),
418
+			'capabilities'          => isset($setup_args['capabilities'])
419
+				? (array)$setup_args['capabilities']
420
+				: array(),
421
+			'capability_maps'       => isset($setup_args['capability_maps'])
422
+				? (array)$setup_args['capability_maps']
423
+				: array(),
424
+			'model_paths'           => isset($setup_args['model_paths'])
425
+				? (array)$setup_args['model_paths']
426
+				: array(),
427
+			'class_paths'           => isset($setup_args['class_paths'])
428
+				? (array)$setup_args['class_paths']
429
+				: array(),
430
+			'model_extension_paths' => isset($setup_args['model_extension_paths'])
431
+				? (array)$setup_args['model_extension_paths']
432
+				: array(),
433
+			'class_extension_paths' => isset($setup_args['class_extension_paths'])
434
+				? (array)$setup_args['class_extension_paths']
435
+				: array(),
436
+			'custom_post_types'     => isset($setup_args['custom_post_types'])
437
+				? (array)$setup_args['custom_post_types']
438
+				: array(),
439
+			'custom_taxonomies'     => isset($setup_args['custom_taxonomies'])
440
+				? (array)$setup_args['custom_taxonomies']
441
+				: array(),
442
+			'payment_method_paths'  => isset($setup_args['payment_method_paths'])
443
+				? (array)$setup_args['payment_method_paths']
444
+				: array(),
445
+			'default_terms'         => isset($setup_args['default_terms'])
446
+				? (array)$setup_args['default_terms']
447
+				: array(),
448
+			// if not empty, inserts a new table row after this plugin's row on the WP Plugins page
449
+			// that can be used for adding upgrading/marketing info
450
+			'plugins_page_row'      => isset($setup_args['plugins_page_row'])
451
+				? $setup_args['plugins_page_row']
452
+				: '',
453
+			'namespace'             => isset(
454
+				$setup_args['namespace'],
455
+				$setup_args['namespace']['FQNS'],
456
+				$setup_args['namespace']['DIR']
457
+			)
458
+				? (array)$setup_args['namespace']
459
+				: array(),
460
+		);
461
+		// if plugin_action_slug is NOT set, but an admin page path IS set,
462
+		// then let's just use the plugin_slug since that will be used for linking to the admin page
463
+		$addon_settings['plugin_action_slug'] = empty($addon_settings['plugin_action_slug'])
464
+												&& ! empty($addon_settings['admin_path'])
465
+			? $addon_settings['plugin_slug']
466
+			: $addon_settings['plugin_action_slug'];
467
+		// full server path to main file (file loaded directly by WP)
468
+		$addon_settings['plugin_basename'] = plugin_basename($addon_settings['main_file_path']);
469
+		return $addon_settings;
470
+	}
471
+
472
+
473
+
474
+	/**
475
+	 * @param string $addon_name
476
+	 * @param array  $addon_settings
477
+	 * @return boolean
478
+	 */
479 479
 	private static function _addon_is_compatible( $addon_name, array $addon_settings ) {
480
-        global $wp_version;
481
-        $incompatibility_message = '';
482
-        //check whether this addon version is compatible with EE core
483
-        if (
484
-            isset(EE_Register_Addon::$_incompatible_addons[$addon_name])
485
-            && ! self::_meets_min_core_version_requirement(
486
-                EE_Register_Addon::$_incompatible_addons[$addon_name],
487
-                $addon_settings['version']
488
-            )
489
-        ) {
490
-            $incompatibility_message = sprintf(
491
-                __(
492
-                    '%4$sIMPORTANT!%5$sThe Event Espresso "%1$s" addon is not compatible with this version of Event Espresso.%2$sPlease upgrade your "%1$s" addon to version %3$s or newer to resolve this issue.'
493
-                ),
494
-                $addon_name,
495
-                '<br />',
496
-                EE_Register_Addon::$_incompatible_addons[$addon_name],
497
-                '<span style="font-weight: bold; color: #D54E21;">',
498
-                '</span><br />'
499
-            );
500
-        } else if (
501
-            ! self::_meets_min_core_version_requirement($addon_settings['min_core_version'], espresso_version())
502
-        ) {
503
-            $incompatibility_message = sprintf(
504
-                __(
505
-                    '%5$sIMPORTANT!%6$sThe Event Espresso "%1$s" addon requires Event Espresso Core version "%2$s" or higher in order to run.%4$sYour version of Event Espresso Core is currently at "%3$s". Please upgrade Event Espresso Core first and then re-activate "%1$s".',
506
-                    'event_espresso'
507
-                ),
508
-                $addon_name,
509
-                self::_effective_version($addon_settings['min_core_version']),
510
-                self::_effective_version(espresso_version()),
511
-                '<br />',
512
-                '<span style="font-weight: bold; color: #D54E21;">',
513
-                '</span><br />'
514
-            );
515
-        } else if (version_compare($wp_version, $addon_settings['min_wp_version'], '<')) {
516
-            $incompatibility_message = sprintf(
517
-                __(
518
-                    '%4$sIMPORTANT!%5$sThe Event Espresso "%1$s" addon requires WordPress version "%2$s" or greater.%3$sPlease update your version of WordPress to use the "%1$s" addon and to keep your site secure.',
519
-                    'event_espresso'
520
-                ),
521
-                $addon_name,
522
-                $addon_settings['min_wp_version'],
523
-                '<br />',
524
-                '<span style="font-weight: bold; color: #D54E21;">',
525
-                '</span><br />'
526
-            );
527
-        }
528
-        if ( ! empty($incompatibility_message)) {
529
-            // remove 'activate' from the REQUEST
530
-            // so WP doesn't erroneously tell the user the plugin activated fine when it didn't
531
-            unset($_GET['activate'], $_REQUEST['activate']);
532
-            if (current_user_can('activate_plugins')) {
533
-                // show an error message indicating the plugin didn't activate properly
534
-                EE_Error::add_error($incompatibility_message, __FILE__, __FUNCTION__, __LINE__);
535
-            }
536
-            // BAIL FROM THE ADDON REGISTRATION PROCESS
537
-            return false;
538
-        }
539
-        // addon IS compatible
540
-        return true;
480
+		global $wp_version;
481
+		$incompatibility_message = '';
482
+		//check whether this addon version is compatible with EE core
483
+		if (
484
+			isset(EE_Register_Addon::$_incompatible_addons[$addon_name])
485
+			&& ! self::_meets_min_core_version_requirement(
486
+				EE_Register_Addon::$_incompatible_addons[$addon_name],
487
+				$addon_settings['version']
488
+			)
489
+		) {
490
+			$incompatibility_message = sprintf(
491
+				__(
492
+					'%4$sIMPORTANT!%5$sThe Event Espresso "%1$s" addon is not compatible with this version of Event Espresso.%2$sPlease upgrade your "%1$s" addon to version %3$s or newer to resolve this issue.'
493
+				),
494
+				$addon_name,
495
+				'<br />',
496
+				EE_Register_Addon::$_incompatible_addons[$addon_name],
497
+				'<span style="font-weight: bold; color: #D54E21;">',
498
+				'</span><br />'
499
+			);
500
+		} else if (
501
+			! self::_meets_min_core_version_requirement($addon_settings['min_core_version'], espresso_version())
502
+		) {
503
+			$incompatibility_message = sprintf(
504
+				__(
505
+					'%5$sIMPORTANT!%6$sThe Event Espresso "%1$s" addon requires Event Espresso Core version "%2$s" or higher in order to run.%4$sYour version of Event Espresso Core is currently at "%3$s". Please upgrade Event Espresso Core first and then re-activate "%1$s".',
506
+					'event_espresso'
507
+				),
508
+				$addon_name,
509
+				self::_effective_version($addon_settings['min_core_version']),
510
+				self::_effective_version(espresso_version()),
511
+				'<br />',
512
+				'<span style="font-weight: bold; color: #D54E21;">',
513
+				'</span><br />'
514
+			);
515
+		} else if (version_compare($wp_version, $addon_settings['min_wp_version'], '<')) {
516
+			$incompatibility_message = sprintf(
517
+				__(
518
+					'%4$sIMPORTANT!%5$sThe Event Espresso "%1$s" addon requires WordPress version "%2$s" or greater.%3$sPlease update your version of WordPress to use the "%1$s" addon and to keep your site secure.',
519
+					'event_espresso'
520
+				),
521
+				$addon_name,
522
+				$addon_settings['min_wp_version'],
523
+				'<br />',
524
+				'<span style="font-weight: bold; color: #D54E21;">',
525
+				'</span><br />'
526
+			);
527
+		}
528
+		if ( ! empty($incompatibility_message)) {
529
+			// remove 'activate' from the REQUEST
530
+			// so WP doesn't erroneously tell the user the plugin activated fine when it didn't
531
+			unset($_GET['activate'], $_REQUEST['activate']);
532
+			if (current_user_can('activate_plugins')) {
533
+				// show an error message indicating the plugin didn't activate properly
534
+				EE_Error::add_error($incompatibility_message, __FILE__, __FUNCTION__, __LINE__);
535
+			}
536
+			// BAIL FROM THE ADDON REGISTRATION PROCESS
537
+			return false;
538
+		}
539
+		// addon IS compatible
540
+		return true;
541 541
 	}
542 542
 
543 543
 
544 544
 
545
-    /**
546
-     * if plugin update engine is being used for auto-updates,
547
-     * then let's set that up now before going any further so that ALL addons can be updated
548
-     * (not needed if PUE is not being used)
549
-     *
550
-     * @param string $addon_name
551
-     * @param string $class_name
552
-     * @param array  $setup_args
553
-     * @return void
554
-     */
545
+	/**
546
+	 * if plugin update engine is being used for auto-updates,
547
+	 * then let's set that up now before going any further so that ALL addons can be updated
548
+	 * (not needed if PUE is not being used)
549
+	 *
550
+	 * @param string $addon_name
551
+	 * @param string $class_name
552
+	 * @param array  $setup_args
553
+	 * @return void
554
+	 */
555 555
 	private static function _parse_pue_options( $addon_name, $class_name, array $setup_args ) {
556
-        if ( ! empty($setup_args['pue_options'])) {
557
-            self::$_settings[$addon_name]['pue_options'] = array(
558
-                'pue_plugin_slug' => isset($setup_args['pue_options']['pue_plugin_slug'])
559
-                    ? (string)$setup_args['pue_options']['pue_plugin_slug']
560
-                    : 'espresso_' . strtolower($class_name),
561
-                'plugin_basename' => isset($setup_args['pue_options']['plugin_basename'])
562
-                    ? (string)$setup_args['pue_options']['plugin_basename']
563
-                    : plugin_basename($setup_args['main_file_path']),
564
-                'checkPeriod'     => isset($setup_args['pue_options']['checkPeriod'])
565
-                    ? (string)$setup_args['pue_options']['checkPeriod']
566
-                    : '24',
567
-                'use_wp_update'   => isset($setup_args['pue_options']['use_wp_update'])
568
-                    ? (string)$setup_args['pue_options']['use_wp_update']
569
-                    : false,
570
-            );
571
-            add_action(
572
-                'AHEE__EE_System__brew_espresso__after_pue_init',
573
-                array('EE_Register_Addon', 'load_pue_update')
574
-            );
575
-        }
556
+		if ( ! empty($setup_args['pue_options'])) {
557
+			self::$_settings[$addon_name]['pue_options'] = array(
558
+				'pue_plugin_slug' => isset($setup_args['pue_options']['pue_plugin_slug'])
559
+					? (string)$setup_args['pue_options']['pue_plugin_slug']
560
+					: 'espresso_' . strtolower($class_name),
561
+				'plugin_basename' => isset($setup_args['pue_options']['plugin_basename'])
562
+					? (string)$setup_args['pue_options']['plugin_basename']
563
+					: plugin_basename($setup_args['main_file_path']),
564
+				'checkPeriod'     => isset($setup_args['pue_options']['checkPeriod'])
565
+					? (string)$setup_args['pue_options']['checkPeriod']
566
+					: '24',
567
+				'use_wp_update'   => isset($setup_args['pue_options']['use_wp_update'])
568
+					? (string)$setup_args['pue_options']['use_wp_update']
569
+					: false,
570
+			);
571
+			add_action(
572
+				'AHEE__EE_System__brew_espresso__after_pue_init',
573
+				array('EE_Register_Addon', 'load_pue_update')
574
+			);
575
+		}
576 576
 	}
577 577
 
578 578
 
579 579
 
580
-    /**
581
-     * register namespaces right away before any other files or classes get loaded, but AFTER the version checks
582
-     *
583
-     * @param array $addon_settings
584
-     * @return void
585
-     */
586
-    private static function _setup_namespaces(array $addon_settings)
587
-    {
588
-        //
589
-        if (
590
-        isset(
591
-            $addon_settings['namespace'],
592
-            $addon_settings['namespace']['FQNS'],
593
-            $addon_settings['namespace']['DIR']
594
-        )
595
-        ) {
596
-            EE_Psr4AutoloaderInit::psr4_loader()->addNamespace(
597
-                $addon_settings['namespace']['FQNS'],
598
-                $addon_settings['namespace']['DIR']
599
-            );
600
-        }
601
-    }
602
-
603
-
604
-
605
-    /**
606
-     * @param string $addon_name
607
-     * @param array  $addon_settings
608
-     * @return bool
609
-     */
580
+	/**
581
+	 * register namespaces right away before any other files or classes get loaded, but AFTER the version checks
582
+	 *
583
+	 * @param array $addon_settings
584
+	 * @return void
585
+	 */
586
+	private static function _setup_namespaces(array $addon_settings)
587
+	{
588
+		//
589
+		if (
590
+		isset(
591
+			$addon_settings['namespace'],
592
+			$addon_settings['namespace']['FQNS'],
593
+			$addon_settings['namespace']['DIR']
594
+		)
595
+		) {
596
+			EE_Psr4AutoloaderInit::psr4_loader()->addNamespace(
597
+				$addon_settings['namespace']['FQNS'],
598
+				$addon_settings['namespace']['DIR']
599
+			);
600
+		}
601
+	}
602
+
603
+
604
+
605
+	/**
606
+	 * @param string $addon_name
607
+	 * @param array  $addon_settings
608
+	 * @return bool
609
+	 */
610 610
 	private static function _addon_activation( $addon_name, array $addon_settings ) {
611
-        // this is an activation request
612
-        if (did_action('activate_plugin')) {
613
-            //to find if THIS is the addon that was activated,
614
-            //just check if we have already registered it or not
615
-            //(as the newly-activated addon wasn't around the first time addons were registered)
616
-            if ( ! isset(self::$_settings[$addon_name])) {
617
-                self::$_settings[$addon_name] = $addon_settings;
618
-                $addon = self::_load_and_init_addon_class($addon_name);
619
-                $addon->set_activation_indicator_option();
620
-                // dont bother setting up the rest of the addon.
621
-                // we know it was just activated and the request will end soon
622
-            }
623
-            return true;
624
-        } else {
625
-            // make sure this was called in the right place!
626
-            if (
627
-                ! did_action('AHEE__EE_System__load_espresso_addons')
628
-                || did_action('AHEE__EE_System___detect_if_activation_or_upgrade__begin')
629
-            ) {
630
-                EE_Error::doing_it_wrong(
631
-                    __METHOD__,
632
-                    sprintf(
633
-                        __(
634
-                            'An attempt to register an EE_Addon named "%s" has failed because it was not registered at the correct time.  Please use the "AHEE__EE_System__load_espresso_addons" hook to register addons.',
635
-                            'event_espresso'
636
-                        ),
637
-                        $addon_name
638
-                    ),
639
-                    '4.3.0'
640
-                );
641
-            }
642
-            // make sure addon settings are set correctly without overwriting anything existing
643
-            if (isset(self::$_settings[$addon_name])) {
644
-                self::$_settings[$addon_name] += $addon_settings;
645
-            } else {
646
-                self::$_settings[$addon_name] = $addon_settings;
647
-            }
648
-        }
649
-        return false;
650
-    }
651
-
652
-
653
-
654
-    /**
655
-     * @param string $addon_name
656
-     * @return void
657
-     * @throws \EE_Error
658
-     */
659
-    private static function _setup_autoloaders($addon_name)
660
-    {
661
-        if ( ! empty(self::$_settings[$addon_name]['autoloader_paths'])) {
662
-            // setup autoloader for single file
663
-            EEH_Autoloader::instance()->register_autoloader(self::$_settings[$addon_name]['autoloader_paths']);
664
-        }
665
-        // setup autoloaders for folders
666
-        if ( ! empty(self::$_settings[$addon_name]['autoloader_folders'])) {
667
-            foreach ((array)self::$_settings[$addon_name]['autoloader_folders'] as $autoloader_folder) {
668
-                EEH_Autoloader::register_autoloaders_for_each_file_in_folder($autoloader_folder);
669
-            }
670
-        }
671
-    }
672
-
673
-
674
-
675
-    /**
676
-     * register new models and extensions
677
-     *
678
-     * @param string $addon_name
679
-     * @return void
680
-     * @throws \EE_Error
681
-     */
611
+		// this is an activation request
612
+		if (did_action('activate_plugin')) {
613
+			//to find if THIS is the addon that was activated,
614
+			//just check if we have already registered it or not
615
+			//(as the newly-activated addon wasn't around the first time addons were registered)
616
+			if ( ! isset(self::$_settings[$addon_name])) {
617
+				self::$_settings[$addon_name] = $addon_settings;
618
+				$addon = self::_load_and_init_addon_class($addon_name);
619
+				$addon->set_activation_indicator_option();
620
+				// dont bother setting up the rest of the addon.
621
+				// we know it was just activated and the request will end soon
622
+			}
623
+			return true;
624
+		} else {
625
+			// make sure this was called in the right place!
626
+			if (
627
+				! did_action('AHEE__EE_System__load_espresso_addons')
628
+				|| did_action('AHEE__EE_System___detect_if_activation_or_upgrade__begin')
629
+			) {
630
+				EE_Error::doing_it_wrong(
631
+					__METHOD__,
632
+					sprintf(
633
+						__(
634
+							'An attempt to register an EE_Addon named "%s" has failed because it was not registered at the correct time.  Please use the "AHEE__EE_System__load_espresso_addons" hook to register addons.',
635
+							'event_espresso'
636
+						),
637
+						$addon_name
638
+					),
639
+					'4.3.0'
640
+				);
641
+			}
642
+			// make sure addon settings are set correctly without overwriting anything existing
643
+			if (isset(self::$_settings[$addon_name])) {
644
+				self::$_settings[$addon_name] += $addon_settings;
645
+			} else {
646
+				self::$_settings[$addon_name] = $addon_settings;
647
+			}
648
+		}
649
+		return false;
650
+	}
651
+
652
+
653
+
654
+	/**
655
+	 * @param string $addon_name
656
+	 * @return void
657
+	 * @throws \EE_Error
658
+	 */
659
+	private static function _setup_autoloaders($addon_name)
660
+	{
661
+		if ( ! empty(self::$_settings[$addon_name]['autoloader_paths'])) {
662
+			// setup autoloader for single file
663
+			EEH_Autoloader::instance()->register_autoloader(self::$_settings[$addon_name]['autoloader_paths']);
664
+		}
665
+		// setup autoloaders for folders
666
+		if ( ! empty(self::$_settings[$addon_name]['autoloader_folders'])) {
667
+			foreach ((array)self::$_settings[$addon_name]['autoloader_folders'] as $autoloader_folder) {
668
+				EEH_Autoloader::register_autoloaders_for_each_file_in_folder($autoloader_folder);
669
+			}
670
+		}
671
+	}
672
+
673
+
674
+
675
+	/**
676
+	 * register new models and extensions
677
+	 *
678
+	 * @param string $addon_name
679
+	 * @return void
680
+	 * @throws \EE_Error
681
+	 */
682 682
 	private static function _register_models_and_extensions( $addon_name ) {
683
-        // register new models
684
-        if (
685
-            ! empty(self::$_settings[$addon_name]['model_paths'])
686
-            || ! empty(self::$_settings[$addon_name]['class_paths'])
687
-        ) {
688
-            EE_Register_Model::register(
689
-                $addon_name,
690
-                array(
691
-                    'model_paths' => self::$_settings[$addon_name]['model_paths'],
692
-                    'class_paths' => self::$_settings[$addon_name]['class_paths'],
693
-                )
694
-            );
695
-        }
696
-        // register model extensions
697
-        if (
698
-            ! empty(self::$_settings[$addon_name]['model_extension_paths'])
699
-            || ! empty(self::$_settings[$addon_name]['class_extension_paths'])
700
-        ) {
701
-            EE_Register_Model_Extensions::register(
702
-                $addon_name,
703
-                array(
704
-                    'model_extension_paths' => self::$_settings[$addon_name]['model_extension_paths'],
705
-                    'class_extension_paths' => self::$_settings[$addon_name]['class_extension_paths'],
706
-                )
707
-            );
708
-        }
709
-    }
710
-
711
-
712
-
713
-    /**
714
-     * @param string $addon_name
715
-     * @return void
716
-     * @throws \EE_Error
717
-     */
683
+		// register new models
684
+		if (
685
+			! empty(self::$_settings[$addon_name]['model_paths'])
686
+			|| ! empty(self::$_settings[$addon_name]['class_paths'])
687
+		) {
688
+			EE_Register_Model::register(
689
+				$addon_name,
690
+				array(
691
+					'model_paths' => self::$_settings[$addon_name]['model_paths'],
692
+					'class_paths' => self::$_settings[$addon_name]['class_paths'],
693
+				)
694
+			);
695
+		}
696
+		// register model extensions
697
+		if (
698
+			! empty(self::$_settings[$addon_name]['model_extension_paths'])
699
+			|| ! empty(self::$_settings[$addon_name]['class_extension_paths'])
700
+		) {
701
+			EE_Register_Model_Extensions::register(
702
+				$addon_name,
703
+				array(
704
+					'model_extension_paths' => self::$_settings[$addon_name]['model_extension_paths'],
705
+					'class_extension_paths' => self::$_settings[$addon_name]['class_extension_paths'],
706
+				)
707
+			);
708
+		}
709
+	}
710
+
711
+
712
+
713
+	/**
714
+	 * @param string $addon_name
715
+	 * @return void
716
+	 * @throws \EE_Error
717
+	 */
718 718
 	private static function _register_data_migration_scripts( $addon_name ) {
719
-        // setup DMS
720
-        if ( ! empty(self::$_settings[$addon_name]['dms_paths'])) {
721
-            EE_Register_Data_Migration_Scripts::register(
722
-                $addon_name,
723
-                array('dms_paths' => self::$_settings[$addon_name]['dms_paths'])
724
-            );
725
-        }
726
-    }
727
-
728
-
729
-    /**
730
-     * @param string $addon_name
731
-     * @return void
732
-     * @throws \EE_Error
733
-     */
719
+		// setup DMS
720
+		if ( ! empty(self::$_settings[$addon_name]['dms_paths'])) {
721
+			EE_Register_Data_Migration_Scripts::register(
722
+				$addon_name,
723
+				array('dms_paths' => self::$_settings[$addon_name]['dms_paths'])
724
+			);
725
+		}
726
+	}
727
+
728
+
729
+	/**
730
+	 * @param string $addon_name
731
+	 * @return void
732
+	 * @throws \EE_Error
733
+	 */
734 734
 	private static function _register_config( $addon_name ) {
735
-        // if config_class is present let's register config.
736
-        if ( ! empty(self::$_settings[$addon_name]['config_class'])) {
737
-            EE_Register_Config::register(
738
-                self::$_settings[$addon_name]['config_class'],
739
-                array(
740
-                    'config_section' => self::$_settings[$addon_name]['config_section'],
741
-                    'config_name'    => self::$_settings[$addon_name]['config_name'],
742
-                )
743
-            );
744
-        }
745
-    }
746
-
747
-
748
-    /**
749
-     * @param string $addon_name
750
-     * @return void
751
-     * @throws \EE_Error
752
-     */
735
+		// if config_class is present let's register config.
736
+		if ( ! empty(self::$_settings[$addon_name]['config_class'])) {
737
+			EE_Register_Config::register(
738
+				self::$_settings[$addon_name]['config_class'],
739
+				array(
740
+					'config_section' => self::$_settings[$addon_name]['config_section'],
741
+					'config_name'    => self::$_settings[$addon_name]['config_name'],
742
+				)
743
+			);
744
+		}
745
+	}
746
+
747
+
748
+	/**
749
+	 * @param string $addon_name
750
+	 * @return void
751
+	 * @throws \EE_Error
752
+	 */
753 753
 	private static function _register_admin_pages( $addon_name ) {
754
-        if ( ! empty(self::$_settings[$addon_name]['admin_path'])) {
755
-            EE_Register_Admin_Page::register(
756
-                $addon_name,
757
-                array('page_path' => self::$_settings[$addon_name]['admin_path'])
758
-            );
759
-        }
760
-    }
761
-
762
-
763
-    /**
764
-     * @param string $addon_name
765
-     * @return void
766
-     * @throws \EE_Error
767
-     */
754
+		if ( ! empty(self::$_settings[$addon_name]['admin_path'])) {
755
+			EE_Register_Admin_Page::register(
756
+				$addon_name,
757
+				array('page_path' => self::$_settings[$addon_name]['admin_path'])
758
+			);
759
+		}
760
+	}
761
+
762
+
763
+	/**
764
+	 * @param string $addon_name
765
+	 * @return void
766
+	 * @throws \EE_Error
767
+	 */
768 768
 	private static function _register_modules( $addon_name ) {
769
-        if ( ! empty(self::$_settings[$addon_name]['module_paths'])) {
770
-            EE_Register_Module::register(
771
-                $addon_name,
772
-                array('module_paths' => self::$_settings[$addon_name]['module_paths'])
773
-            );
774
-        }
775
-    }
776
-
777
-
778
-    /**
779
-     * @param string $addon_name
780
-     * @return void
781
-     * @throws \EE_Error
782
-     */
769
+		if ( ! empty(self::$_settings[$addon_name]['module_paths'])) {
770
+			EE_Register_Module::register(
771
+				$addon_name,
772
+				array('module_paths' => self::$_settings[$addon_name]['module_paths'])
773
+			);
774
+		}
775
+	}
776
+
777
+
778
+	/**
779
+	 * @param string $addon_name
780
+	 * @return void
781
+	 * @throws \EE_Error
782
+	 */
783 783
 	private static function _register_shortcodes( $addon_name ) {
784
-        if ( ! empty(self::$_settings[$addon_name]['shortcode_paths'])) {
785
-            EE_Register_Shortcode::register(
786
-                $addon_name,
787
-                array('shortcode_paths' => self::$_settings[$addon_name]['shortcode_paths'])
788
-            );
789
-        }
790
-    }
791
-
792
-
793
-    /**
794
-     * @param string $addon_name
795
-     * @return void
796
-     * @throws \EE_Error
797
-     */
784
+		if ( ! empty(self::$_settings[$addon_name]['shortcode_paths'])) {
785
+			EE_Register_Shortcode::register(
786
+				$addon_name,
787
+				array('shortcode_paths' => self::$_settings[$addon_name]['shortcode_paths'])
788
+			);
789
+		}
790
+	}
791
+
792
+
793
+	/**
794
+	 * @param string $addon_name
795
+	 * @return void
796
+	 * @throws \EE_Error
797
+	 */
798 798
 	private static function _register_widgets( $addon_name ) {
799
-        if ( ! empty(self::$_settings[$addon_name]['widget_paths'])) {
800
-            EE_Register_Widget::register(
801
-                $addon_name,
802
-                array('widget_paths' => self::$_settings[$addon_name]['widget_paths'])
803
-            );
804
-        }
805
-    }
806
-
807
-
808
-    /**
809
-     * @param string $addon_name
810
-     * @return void
811
-     * @throws \EE_Error
812
-     */
799
+		if ( ! empty(self::$_settings[$addon_name]['widget_paths'])) {
800
+			EE_Register_Widget::register(
801
+				$addon_name,
802
+				array('widget_paths' => self::$_settings[$addon_name]['widget_paths'])
803
+			);
804
+		}
805
+	}
806
+
807
+
808
+	/**
809
+	 * @param string $addon_name
810
+	 * @return void
811
+	 * @throws \EE_Error
812
+	 */
813 813
 	private static function _register_capabilities( $addon_name ) {
814
-        if ( ! empty(self::$_settings[$addon_name]['capabilities'])) {
815
-            EE_Register_Capabilities::register(
816
-                $addon_name,
817
-                array(
818
-                    'capabilities'    => self::$_settings[$addon_name]['capabilities'],
819
-                    'capability_maps' => self::$_settings[$addon_name]['capability_maps'],
820
-                )
821
-            );
822
-        }
823
-    }
824
-
825
-
826
-    /**
827
-     * @param string $addon_name
828
-     * @return void
829
-     * @throws \EE_Error
830
-     */
814
+		if ( ! empty(self::$_settings[$addon_name]['capabilities'])) {
815
+			EE_Register_Capabilities::register(
816
+				$addon_name,
817
+				array(
818
+					'capabilities'    => self::$_settings[$addon_name]['capabilities'],
819
+					'capability_maps' => self::$_settings[$addon_name]['capability_maps'],
820
+				)
821
+			);
822
+		}
823
+	}
824
+
825
+
826
+	/**
827
+	 * @param string $addon_name
828
+	 * @return void
829
+	 * @throws \EE_Error
830
+	 */
831 831
 	private static function _register_message_types( $addon_name ) {
832
-        if ( ! empty(self::$_settings[$addon_name]['message_types'])) {
833
-            add_action(
834
-                'EE_Brewing_Regular___messages_caf',
835
-                array('EE_Register_Addon', 'register_message_types')
836
-            );
837
-        }
838
-    }
839
-
840
-
841
-    /**
842
-     * @param string $addon_name
843
-     * @return void
844
-     * @throws \EE_Error
845
-     */
832
+		if ( ! empty(self::$_settings[$addon_name]['message_types'])) {
833
+			add_action(
834
+				'EE_Brewing_Regular___messages_caf',
835
+				array('EE_Register_Addon', 'register_message_types')
836
+			);
837
+		}
838
+	}
839
+
840
+
841
+	/**
842
+	 * @param string $addon_name
843
+	 * @return void
844
+	 * @throws \EE_Error
845
+	 */
846 846
 	private static function _register_custom_post_types( $addon_name ) {
847
-        if (
848
-            ! empty(self::$_settings[$addon_name]['custom_post_types'])
849
-            || ! empty(self::$_settings[$addon_name]['custom_taxonomies'])
850
-        ) {
851
-            EE_Register_CPT::register(
852
-                $addon_name,
853
-                array(
854
-                    'cpts'          => self::$_settings[$addon_name]['custom_post_types'],
855
-                    'cts'           => self::$_settings[$addon_name]['custom_taxonomies'],
856
-                    'default_terms' => self::$_settings[$addon_name]['default_terms'],
857
-                )
858
-            );
859
-        }
860
-    }
861
-
862
-
863
-    /**
864
-     * @param string $addon_name
865
-     * @return void
866
-     * @throws \EE_Error
867
-     */
847
+		if (
848
+			! empty(self::$_settings[$addon_name]['custom_post_types'])
849
+			|| ! empty(self::$_settings[$addon_name]['custom_taxonomies'])
850
+		) {
851
+			EE_Register_CPT::register(
852
+				$addon_name,
853
+				array(
854
+					'cpts'          => self::$_settings[$addon_name]['custom_post_types'],
855
+					'cts'           => self::$_settings[$addon_name]['custom_taxonomies'],
856
+					'default_terms' => self::$_settings[$addon_name]['default_terms'],
857
+				)
858
+			);
859
+		}
860
+	}
861
+
862
+
863
+	/**
864
+	 * @param string $addon_name
865
+	 * @return void
866
+	 * @throws \EE_Error
867
+	 */
868 868
 	private static function _register_payment_methods( $addon_name ) {
869
-        if ( ! empty(self::$_settings[$addon_name]['payment_method_paths'])) {
870
-            EE_Register_Payment_Method::register(
871
-                $addon_name,
872
-                array('payment_method_paths' => self::$_settings[$addon_name]['payment_method_paths'])
873
-            );
874
-        }
875
-    }
869
+		if ( ! empty(self::$_settings[$addon_name]['payment_method_paths'])) {
870
+			EE_Register_Payment_Method::register(
871
+				$addon_name,
872
+				array('payment_method_paths' => self::$_settings[$addon_name]['payment_method_paths'])
873
+			);
874
+		}
875
+	}
876 876
 
877 877
 
878 878
 
@@ -901,14 +901,14 @@  discard block
 block discarded – undo
901 901
 		//unfortunately this can't be hooked in upon construction, because we don't have
902 902
 		//the plugin mainfile's path upon construction.
903 903
 		register_deactivation_hook( $addon->get_main_plugin_file(), array( $addon, 'deactivation' ) );
904
-        // call any additional admin_callback functions during load_admin_controller hook
905
-        if ( ! empty(self::$_settings[$addon_name]['admin_callback'])) {
906
-            add_action(
907
-                'AHEE__EE_System__load_controllers__load_admin_controllers',
908
-                array($addon, self::$_settings[$addon_name]['admin_callback'])
909
-            );
910
-        }
911
-        return $addon;
904
+		// call any additional admin_callback functions during load_admin_controller hook
905
+		if ( ! empty(self::$_settings[$addon_name]['admin_callback'])) {
906
+			add_action(
907
+				'AHEE__EE_System__load_controllers__load_admin_controllers',
908
+				array($addon, self::$_settings[$addon_name]['admin_callback'])
909
+			);
910
+		}
911
+		return $addon;
912 912
 	}
913 913
 
914 914
 
@@ -924,7 +924,7 @@  discard block
 block discarded – undo
924 924
 		// cycle thru settings
925 925
 		foreach ( self::$_settings as $settings ) {
926 926
 			if ( ! empty( $settings['pue_options'] ) ) {
927
-                // initiate the class and start the plugin update engine!
927
+				// initiate the class and start the plugin update engine!
928 928
 				new PluginUpdateEngineChecker(
929 929
 				// host file URL
930 930
 					'https://eventespresso.com',
@@ -960,11 +960,11 @@  discard block
 block discarded – undo
960 960
 	 */
961 961
 	public static function register_message_types() {
962 962
 		foreach ( self::$_settings as $addon_name => $settings ) {
963
-		    if ( ! empty($settings['message_types'])) {
964
-                foreach ((array)$settings['message_types'] as $message_type => $message_type_settings) {
965
-                    EE_Register_Message_Type::register($message_type, $message_type_settings);
966
-                }
967
-            }
963
+			if ( ! empty($settings['message_types'])) {
964
+				foreach ((array)$settings['message_types'] as $message_type => $message_type_settings) {
965
+					EE_Register_Message_Type::register($message_type, $message_type_settings);
966
+				}
967
+			}
968 968
 		}
969 969
 	}
970 970
 
@@ -980,7 +980,7 @@  discard block
 block discarded – undo
980 980
 	 */
981 981
 	public static function deregister( $addon_name = null ) {
982 982
 		if ( isset( self::$_settings[ $addon_name ], self::$_settings[$addon_name]['class_name'] ) ) {
983
-		    do_action('AHEE__EE_Register_Addon__deregister__before', $addon_name);
983
+			do_action('AHEE__EE_Register_Addon__deregister__before', $addon_name);
984 984
 			$class_name = self::$_settings[ $addon_name ]['class_name'];
985 985
 			if ( ! empty( self::$_settings[ $addon_name ]['dms_paths'] ) ) {
986 986
 				// setup DMS
@@ -1007,15 +1007,15 @@  discard block
 block discarded – undo
1007 1007
 				EE_Register_Widget::deregister( $addon_name );
1008 1008
 			}
1009 1009
 			if ( ! empty( self::$_settings[ $addon_name ]['model_paths'] )
1010
-			     ||
1011
-			     ! empty( self::$_settings[ $addon_name ]['class_paths'] )
1010
+				 ||
1011
+				 ! empty( self::$_settings[ $addon_name ]['class_paths'] )
1012 1012
 			) {
1013 1013
 				// add to list of shortcodes to be registered
1014 1014
 				EE_Register_Model::deregister( $addon_name );
1015 1015
 			}
1016 1016
 			if ( ! empty( self::$_settings[ $addon_name ]['model_extension_paths'] )
1017
-			     ||
1018
-			     ! empty( self::$_settings[ $addon_name ]['class_extension_paths'] )
1017
+				 ||
1018
+				 ! empty( self::$_settings[ $addon_name ]['class_extension_paths'] )
1019 1019
 			) {
1020 1020
 				// add to list of shortcodes to be registered
1021 1021
 				EE_Register_Model_Extensions::deregister( $addon_name );
@@ -1046,7 +1046,7 @@  discard block
 block discarded – undo
1046 1046
 				array( EE_Registry::instance()->addons->{$class_name}, 'initialize_db_if_no_migrations_required' )
1047 1047
 			);
1048 1048
 			unset( EE_Registry::instance()->addons->{$class_name}, self::$_settings[ $addon_name ] );
1049
-            do_action('AHEE__EE_Register_Addon__deregister__after', $addon_name);
1049
+			do_action('AHEE__EE_Register_Addon__deregister__after', $addon_name);
1050 1050
 		}
1051 1051
 	}
1052 1052
 
Please login to merge, or discard this patch.
Spacing   +119 added lines, -119 removed lines patch added patch discarded remove patch
@@ -1,5 +1,5 @@  discard block
 block discarded – undo
1
-<?php if ( ! defined( 'EVENT_ESPRESSO_VERSION' ) ) {
2
-	exit( 'No direct script access allowed' );
1
+<?php if ( ! defined('EVENT_ESPRESSO_VERSION')) {
2
+	exit('No direct script access allowed');
3 3
 }
4 4
 
5 5
 
@@ -61,23 +61,23 @@  discard block
 block discarded – undo
61 61
 	 * @param string $min_core_version
62 62
 	 * @return string always like '4.3.0.rc.000'
63 63
 	 */
64
-	protected static function _effective_version( $min_core_version ) {
64
+	protected static function _effective_version($min_core_version) {
65 65
 		// versions: 4 . 3 . 1 . p . 123
66 66
 		// offsets:    0 . 1 . 2 . 3 . 4
67
-		$version_parts = explode( '.', $min_core_version );
67
+		$version_parts = explode('.', $min_core_version);
68 68
 		//check they specified the micro version (after 2nd period)
69
-		if ( ! isset( $version_parts[2] ) ) {
69
+		if ( ! isset($version_parts[2])) {
70 70
 			$version_parts[2] = '0';
71 71
 		}
72 72
 		//if they didn't specify the 'p', or 'rc' part. Just assume the lowest possible
73 73
 		//soon we can assume that's 'rc', but this current version is 'alpha'
74
-		if ( ! isset( $version_parts[3] ) ) {
74
+		if ( ! isset($version_parts[3])) {
75 75
 			$version_parts[3] = 'dev';
76 76
 		}
77
-		if ( ! isset( $version_parts[4] ) ) {
77
+		if ( ! isset($version_parts[4])) {
78 78
 			$version_parts[4] = '000';
79 79
 		}
80
-		return implode( '.', $version_parts );
80
+		return implode('.', $version_parts);
81 81
 	}
82 82
 
83 83
 
@@ -94,8 +94,8 @@  discard block
 block discarded – undo
94 94
 		$actual_core_version = EVENT_ESPRESSO_VERSION
95 95
 	) {
96 96
 		return version_compare(
97
-			self::_effective_version( $actual_core_version ),
98
-			self::_effective_version( $min_core_version ),
97
+			self::_effective_version($actual_core_version),
98
+			self::_effective_version($min_core_version),
99 99
 			'>='
100 100
 		);
101 101
 	}
@@ -217,7 +217,7 @@  discard block
 block discarded – undo
217 217
 	 * @throws EE_Error
218 218
 	 * @return void
219 219
 	 */
220
-	public static function register( $addon_name = '', $setup_args = array() ) {
220
+	public static function register($addon_name = '', $setup_args = array()) {
221 221
 		// required fields MUST be present, so let's make sure they are.
222 222
         \EE_Register_Addon::_verify_parameters($addon_name, $setup_args);
223 223
         // get class name for addon
@@ -227,13 +227,13 @@  discard block
 block discarded – undo
227 227
         // setup PUE
228 228
         \EE_Register_Addon::_parse_pue_options($addon_name, $class_name, $setup_args);
229 229
         // does this addon work with this version of core or WordPress ?
230
-        if ( ! \EE_Register_Addon::_addon_is_compatible($addon_name, $addon_settings) ) {
230
+        if ( ! \EE_Register_Addon::_addon_is_compatible($addon_name, $addon_settings)) {
231 231
             return;
232 232
 		}
233 233
 		// register namespaces
234 234
         \EE_Register_Addon::_setup_namespaces($addon_settings);
235 235
         // check if this is an activation request
236
-        if ( \EE_Register_Addon::_addon_activation($addon_name, $addon_settings)) {
236
+        if (\EE_Register_Addon::_addon_activation($addon_name, $addon_settings)) {
237 237
             // dont bother setting up the rest of the addon atm
238 238
             return;
239 239
         }
@@ -327,7 +327,7 @@  discard block
 block discarded – undo
327 327
         } else {
328 328
             $class_name = $setup_args['class_name'];
329 329
         }
330
-        return strpos($class_name, 'EE_') === 0 ? $class_name : 'EE_' . $class_name;
330
+        return strpos($class_name, 'EE_') === 0 ? $class_name : 'EE_'.$class_name;
331 331
     }
332 332
 
333 333
 
@@ -345,105 +345,105 @@  discard block
 block discarded – undo
345 345
             'class_name'            => $class_name,
346 346
             // the addon slug for use in URLs, etc
347 347
             'plugin_slug'           => isset($setup_args['plugin_slug'])
348
-                ? (string)$setup_args['plugin_slug']
348
+                ? (string) $setup_args['plugin_slug']
349 349
                 : '',
350 350
             // page slug to be used when generating the "Settings" link on the WP plugin page
351 351
             'plugin_action_slug'    => isset($setup_args['plugin_action_slug'])
352
-                ? (string)$setup_args['plugin_action_slug']
352
+                ? (string) $setup_args['plugin_action_slug']
353 353
                 : '',
354 354
             // the "software" version for the addon
355 355
             'version'               => isset($setup_args['version'])
356
-                ? (string)$setup_args['version']
356
+                ? (string) $setup_args['version']
357 357
                 : '',
358 358
             // the minimum version of EE Core that the addon will work with
359 359
             'min_core_version'      => isset($setup_args['min_core_version'])
360
-                ? (string)$setup_args['min_core_version']
360
+                ? (string) $setup_args['min_core_version']
361 361
                 : '',
362 362
             // the minimum version of WordPress that the addon will work with
363 363
             'min_wp_version'        => isset($setup_args['min_wp_version'])
364
-                ? (string)$setup_args['min_wp_version']
364
+                ? (string) $setup_args['min_wp_version']
365 365
                 : EE_MIN_WP_VER_REQUIRED,
366 366
             // full server path to main file (file loaded directly by WP)
367 367
             'main_file_path'        => isset($setup_args['main_file_path'])
368
-                ? (string)$setup_args['main_file_path']
368
+                ? (string) $setup_args['main_file_path']
369 369
                 : '',
370 370
             // path to folder containing files for integrating with the EE core admin and/or setting up EE admin pages
371 371
             'admin_path'            => isset($setup_args['admin_path'])
372
-                ? (string)$setup_args['admin_path'] : '',
372
+                ? (string) $setup_args['admin_path'] : '',
373 373
             // a method to be called when the EE Admin is first invoked, can be used for hooking into any admin page
374 374
             'admin_callback'        => isset($setup_args['admin_callback'])
375
-                ? (string)$setup_args['admin_callback']
375
+                ? (string) $setup_args['admin_callback']
376 376
                 : '',
377 377
             // the section name for this addon's configuration settings section (defaults to "addons")
378 378
             'config_section'        => isset($setup_args['config_section'])
379
-                ? (string)$setup_args['config_section']
379
+                ? (string) $setup_args['config_section']
380 380
                 : 'addons',
381 381
             // the class name for this addon's configuration settings object
382 382
             'config_class'          => isset($setup_args['config_class'])
383
-                ? (string)$setup_args['config_class'] : '',
383
+                ? (string) $setup_args['config_class'] : '',
384 384
             //the name given to the config for this addons' configuration settings object (optional)
385 385
             'config_name'           => isset($setup_args['config_name'])
386
-                ? (string)$setup_args['config_name'] : '',
386
+                ? (string) $setup_args['config_name'] : '',
387 387
             // an array of "class names" => "full server paths" for any classes that might be invoked by the addon
388 388
             'autoloader_paths'      => isset($setup_args['autoloader_paths'])
389
-                ? (array)$setup_args['autoloader_paths']
389
+                ? (array) $setup_args['autoloader_paths']
390 390
                 : array(),
391 391
             // an array of  "full server paths" for any folders containing classes that might be invoked by the addon
392 392
             'autoloader_folders'    => isset($setup_args['autoloader_folders'])
393
-                ? (array)$setup_args['autoloader_folders']
393
+                ? (array) $setup_args['autoloader_folders']
394 394
                 : array(),
395 395
             // array of full server paths to any EE_DMS data migration scripts used by the addon
396 396
             'dms_paths'             => isset($setup_args['dms_paths'])
397
-                ? (array)$setup_args['dms_paths']
397
+                ? (array) $setup_args['dms_paths']
398 398
                 : array(),
399 399
             // array of full server paths to any EED_Modules used by the addon
400 400
             'module_paths'          => isset($setup_args['module_paths'])
401
-                ? (array)$setup_args['module_paths']
401
+                ? (array) $setup_args['module_paths']
402 402
                 : array(),
403 403
             // array of full server paths to any EES_Shortcodes used by the addon
404 404
             'shortcode_paths'       => isset($setup_args['shortcode_paths'])
405
-                ? (array)$setup_args['shortcode_paths']
405
+                ? (array) $setup_args['shortcode_paths']
406 406
                 : array(),
407 407
             // array of full server paths to any WP_Widgets used by the addon
408 408
             'widget_paths'          => isset($setup_args['widget_paths'])
409
-                ? (array)$setup_args['widget_paths']
409
+                ? (array) $setup_args['widget_paths']
410 410
                 : array(),
411 411
             // array of PUE options used by the addon
412 412
             'pue_options'           => isset($setup_args['pue_options'])
413
-                ? (array)$setup_args['pue_options']
413
+                ? (array) $setup_args['pue_options']
414 414
                 : array(),
415 415
             'message_types'         => isset($setup_args['message_types'])
416
-                ? (array)$setup_args['message_types']
416
+                ? (array) $setup_args['message_types']
417 417
                 : array(),
418 418
             'capabilities'          => isset($setup_args['capabilities'])
419
-                ? (array)$setup_args['capabilities']
419
+                ? (array) $setup_args['capabilities']
420 420
                 : array(),
421 421
             'capability_maps'       => isset($setup_args['capability_maps'])
422
-                ? (array)$setup_args['capability_maps']
422
+                ? (array) $setup_args['capability_maps']
423 423
                 : array(),
424 424
             'model_paths'           => isset($setup_args['model_paths'])
425
-                ? (array)$setup_args['model_paths']
425
+                ? (array) $setup_args['model_paths']
426 426
                 : array(),
427 427
             'class_paths'           => isset($setup_args['class_paths'])
428
-                ? (array)$setup_args['class_paths']
428
+                ? (array) $setup_args['class_paths']
429 429
                 : array(),
430 430
             'model_extension_paths' => isset($setup_args['model_extension_paths'])
431
-                ? (array)$setup_args['model_extension_paths']
431
+                ? (array) $setup_args['model_extension_paths']
432 432
                 : array(),
433 433
             'class_extension_paths' => isset($setup_args['class_extension_paths'])
434
-                ? (array)$setup_args['class_extension_paths']
434
+                ? (array) $setup_args['class_extension_paths']
435 435
                 : array(),
436 436
             'custom_post_types'     => isset($setup_args['custom_post_types'])
437
-                ? (array)$setup_args['custom_post_types']
437
+                ? (array) $setup_args['custom_post_types']
438 438
                 : array(),
439 439
             'custom_taxonomies'     => isset($setup_args['custom_taxonomies'])
440
-                ? (array)$setup_args['custom_taxonomies']
440
+                ? (array) $setup_args['custom_taxonomies']
441 441
                 : array(),
442 442
             'payment_method_paths'  => isset($setup_args['payment_method_paths'])
443
-                ? (array)$setup_args['payment_method_paths']
443
+                ? (array) $setup_args['payment_method_paths']
444 444
                 : array(),
445 445
             'default_terms'         => isset($setup_args['default_terms'])
446
-                ? (array)$setup_args['default_terms']
446
+                ? (array) $setup_args['default_terms']
447 447
                 : array(),
448 448
             // if not empty, inserts a new table row after this plugin's row on the WP Plugins page
449 449
             // that can be used for adding upgrading/marketing info
@@ -455,7 +455,7 @@  discard block
 block discarded – undo
455 455
                 $setup_args['namespace']['FQNS'],
456 456
                 $setup_args['namespace']['DIR']
457 457
             )
458
-                ? (array)$setup_args['namespace']
458
+                ? (array) $setup_args['namespace']
459 459
                 : array(),
460 460
         );
461 461
         // if plugin_action_slug is NOT set, but an admin page path IS set,
@@ -476,7 +476,7 @@  discard block
 block discarded – undo
476 476
      * @param array  $addon_settings
477 477
      * @return boolean
478 478
      */
479
-	private static function _addon_is_compatible( $addon_name, array $addon_settings ) {
479
+	private static function _addon_is_compatible($addon_name, array $addon_settings) {
480 480
         global $wp_version;
481 481
         $incompatibility_message = '';
482 482
         //check whether this addon version is compatible with EE core
@@ -552,20 +552,20 @@  discard block
 block discarded – undo
552 552
      * @param array  $setup_args
553 553
      * @return void
554 554
      */
555
-	private static function _parse_pue_options( $addon_name, $class_name, array $setup_args ) {
555
+	private static function _parse_pue_options($addon_name, $class_name, array $setup_args) {
556 556
         if ( ! empty($setup_args['pue_options'])) {
557 557
             self::$_settings[$addon_name]['pue_options'] = array(
558 558
                 'pue_plugin_slug' => isset($setup_args['pue_options']['pue_plugin_slug'])
559
-                    ? (string)$setup_args['pue_options']['pue_plugin_slug']
560
-                    : 'espresso_' . strtolower($class_name),
559
+                    ? (string) $setup_args['pue_options']['pue_plugin_slug']
560
+                    : 'espresso_'.strtolower($class_name),
561 561
                 'plugin_basename' => isset($setup_args['pue_options']['plugin_basename'])
562
-                    ? (string)$setup_args['pue_options']['plugin_basename']
562
+                    ? (string) $setup_args['pue_options']['plugin_basename']
563 563
                     : plugin_basename($setup_args['main_file_path']),
564 564
                 'checkPeriod'     => isset($setup_args['pue_options']['checkPeriod'])
565
-                    ? (string)$setup_args['pue_options']['checkPeriod']
565
+                    ? (string) $setup_args['pue_options']['checkPeriod']
566 566
                     : '24',
567 567
                 'use_wp_update'   => isset($setup_args['pue_options']['use_wp_update'])
568
-                    ? (string)$setup_args['pue_options']['use_wp_update']
568
+                    ? (string) $setup_args['pue_options']['use_wp_update']
569 569
                     : false,
570 570
             );
571 571
             add_action(
@@ -607,7 +607,7 @@  discard block
 block discarded – undo
607 607
      * @param array  $addon_settings
608 608
      * @return bool
609 609
      */
610
-	private static function _addon_activation( $addon_name, array $addon_settings ) {
610
+	private static function _addon_activation($addon_name, array $addon_settings) {
611 611
         // this is an activation request
612 612
         if (did_action('activate_plugin')) {
613 613
             //to find if THIS is the addon that was activated,
@@ -664,7 +664,7 @@  discard block
 block discarded – undo
664 664
         }
665 665
         // setup autoloaders for folders
666 666
         if ( ! empty(self::$_settings[$addon_name]['autoloader_folders'])) {
667
-            foreach ((array)self::$_settings[$addon_name]['autoloader_folders'] as $autoloader_folder) {
667
+            foreach ((array) self::$_settings[$addon_name]['autoloader_folders'] as $autoloader_folder) {
668 668
                 EEH_Autoloader::register_autoloaders_for_each_file_in_folder($autoloader_folder);
669 669
             }
670 670
         }
@@ -679,7 +679,7 @@  discard block
 block discarded – undo
679 679
      * @return void
680 680
      * @throws \EE_Error
681 681
      */
682
-	private static function _register_models_and_extensions( $addon_name ) {
682
+	private static function _register_models_and_extensions($addon_name) {
683 683
         // register new models
684 684
         if (
685 685
             ! empty(self::$_settings[$addon_name]['model_paths'])
@@ -715,7 +715,7 @@  discard block
 block discarded – undo
715 715
      * @return void
716 716
      * @throws \EE_Error
717 717
      */
718
-	private static function _register_data_migration_scripts( $addon_name ) {
718
+	private static function _register_data_migration_scripts($addon_name) {
719 719
         // setup DMS
720 720
         if ( ! empty(self::$_settings[$addon_name]['dms_paths'])) {
721 721
             EE_Register_Data_Migration_Scripts::register(
@@ -731,7 +731,7 @@  discard block
 block discarded – undo
731 731
      * @return void
732 732
      * @throws \EE_Error
733 733
      */
734
-	private static function _register_config( $addon_name ) {
734
+	private static function _register_config($addon_name) {
735 735
         // if config_class is present let's register config.
736 736
         if ( ! empty(self::$_settings[$addon_name]['config_class'])) {
737 737
             EE_Register_Config::register(
@@ -750,7 +750,7 @@  discard block
 block discarded – undo
750 750
      * @return void
751 751
      * @throws \EE_Error
752 752
      */
753
-	private static function _register_admin_pages( $addon_name ) {
753
+	private static function _register_admin_pages($addon_name) {
754 754
         if ( ! empty(self::$_settings[$addon_name]['admin_path'])) {
755 755
             EE_Register_Admin_Page::register(
756 756
                 $addon_name,
@@ -765,7 +765,7 @@  discard block
 block discarded – undo
765 765
      * @return void
766 766
      * @throws \EE_Error
767 767
      */
768
-	private static function _register_modules( $addon_name ) {
768
+	private static function _register_modules($addon_name) {
769 769
         if ( ! empty(self::$_settings[$addon_name]['module_paths'])) {
770 770
             EE_Register_Module::register(
771 771
                 $addon_name,
@@ -780,7 +780,7 @@  discard block
 block discarded – undo
780 780
      * @return void
781 781
      * @throws \EE_Error
782 782
      */
783
-	private static function _register_shortcodes( $addon_name ) {
783
+	private static function _register_shortcodes($addon_name) {
784 784
         if ( ! empty(self::$_settings[$addon_name]['shortcode_paths'])) {
785 785
             EE_Register_Shortcode::register(
786 786
                 $addon_name,
@@ -795,7 +795,7 @@  discard block
 block discarded – undo
795 795
      * @return void
796 796
      * @throws \EE_Error
797 797
      */
798
-	private static function _register_widgets( $addon_name ) {
798
+	private static function _register_widgets($addon_name) {
799 799
         if ( ! empty(self::$_settings[$addon_name]['widget_paths'])) {
800 800
             EE_Register_Widget::register(
801 801
                 $addon_name,
@@ -810,7 +810,7 @@  discard block
 block discarded – undo
810 810
      * @return void
811 811
      * @throws \EE_Error
812 812
      */
813
-	private static function _register_capabilities( $addon_name ) {
813
+	private static function _register_capabilities($addon_name) {
814 814
         if ( ! empty(self::$_settings[$addon_name]['capabilities'])) {
815 815
             EE_Register_Capabilities::register(
816 816
                 $addon_name,
@@ -828,7 +828,7 @@  discard block
 block discarded – undo
828 828
      * @return void
829 829
      * @throws \EE_Error
830 830
      */
831
-	private static function _register_message_types( $addon_name ) {
831
+	private static function _register_message_types($addon_name) {
832 832
         if ( ! empty(self::$_settings[$addon_name]['message_types'])) {
833 833
             add_action(
834 834
                 'EE_Brewing_Regular___messages_caf',
@@ -843,7 +843,7 @@  discard block
 block discarded – undo
843 843
      * @return void
844 844
      * @throws \EE_Error
845 845
      */
846
-	private static function _register_custom_post_types( $addon_name ) {
846
+	private static function _register_custom_post_types($addon_name) {
847 847
         if (
848 848
             ! empty(self::$_settings[$addon_name]['custom_post_types'])
849 849
             || ! empty(self::$_settings[$addon_name]['custom_taxonomies'])
@@ -865,7 +865,7 @@  discard block
 block discarded – undo
865 865
      * @return void
866 866
      * @throws \EE_Error
867 867
      */
868
-	private static function _register_payment_methods( $addon_name ) {
868
+	private static function _register_payment_methods($addon_name) {
869 869
         if ( ! empty(self::$_settings[$addon_name]['payment_method_paths'])) {
870 870
             EE_Register_Payment_Method::register(
871 871
                 $addon_name,
@@ -882,25 +882,25 @@  discard block
 block discarded – undo
882 882
 	 * @param string $addon_name
883 883
 	 * @return EE_Addon
884 884
 	 */
885
-	private static function _load_and_init_addon_class( $addon_name ) {
885
+	private static function _load_and_init_addon_class($addon_name) {
886 886
 		$addon = EE_Registry::instance()->load_addon(
887
-			dirname( self::$_settings[ $addon_name ]['main_file_path'] ),
888
-			self::$_settings[ $addon_name ]['class_name']
887
+			dirname(self::$_settings[$addon_name]['main_file_path']),
888
+			self::$_settings[$addon_name]['class_name']
889 889
 		);
890
-		$addon->set_name( $addon_name );
891
-		$addon->set_plugin_slug( self::$_settings[ $addon_name ]['plugin_slug'] );
892
-		$addon->set_plugin_basename( self::$_settings[ $addon_name ]['plugin_basename'] );
893
-		$addon->set_main_plugin_file( self::$_settings[ $addon_name ]['main_file_path'] );
894
-		$addon->set_plugin_action_slug( self::$_settings[ $addon_name ]['plugin_action_slug'] );
895
-		$addon->set_plugins_page_row( self::$_settings[ $addon_name ]['plugins_page_row'] );
896
-		$addon->set_version( self::$_settings[ $addon_name ]['version'] );
897
-		$addon->set_min_core_version( self::_effective_version( self::$_settings[ $addon_name ]['min_core_version'] ) );
898
-		$addon->set_config_section( self::$_settings[ $addon_name ]['config_section'] );
899
-		$addon->set_config_class( self::$_settings[ $addon_name ]['config_class'] );
900
-		$addon->set_config_name( self::$_settings[ $addon_name ]['config_name'] );
890
+		$addon->set_name($addon_name);
891
+		$addon->set_plugin_slug(self::$_settings[$addon_name]['plugin_slug']);
892
+		$addon->set_plugin_basename(self::$_settings[$addon_name]['plugin_basename']);
893
+		$addon->set_main_plugin_file(self::$_settings[$addon_name]['main_file_path']);
894
+		$addon->set_plugin_action_slug(self::$_settings[$addon_name]['plugin_action_slug']);
895
+		$addon->set_plugins_page_row(self::$_settings[$addon_name]['plugins_page_row']);
896
+		$addon->set_version(self::$_settings[$addon_name]['version']);
897
+		$addon->set_min_core_version(self::_effective_version(self::$_settings[$addon_name]['min_core_version']));
898
+		$addon->set_config_section(self::$_settings[$addon_name]['config_section']);
899
+		$addon->set_config_class(self::$_settings[$addon_name]['config_class']);
900
+		$addon->set_config_name(self::$_settings[$addon_name]['config_name']);
901 901
 		//unfortunately this can't be hooked in upon construction, because we don't have
902 902
 		//the plugin mainfile's path upon construction.
903
-		register_deactivation_hook( $addon->get_main_plugin_file(), array( $addon, 'deactivation' ) );
903
+		register_deactivation_hook($addon->get_main_plugin_file(), array($addon, 'deactivation'));
904 904
         // call any additional admin_callback functions during load_admin_controller hook
905 905
         if ( ! empty(self::$_settings[$addon_name]['admin_callback'])) {
906 906
             add_action(
@@ -920,18 +920,18 @@  discard block
 block discarded – undo
920 920
 	 */
921 921
 	public static function load_pue_update() {
922 922
 		// load PUE client
923
-		require_once EE_THIRD_PARTY . 'pue' . DS . 'pue-client.php';
923
+		require_once EE_THIRD_PARTY.'pue'.DS.'pue-client.php';
924 924
 		// cycle thru settings
925
-		foreach ( self::$_settings as $settings ) {
926
-			if ( ! empty( $settings['pue_options'] ) ) {
925
+		foreach (self::$_settings as $settings) {
926
+			if ( ! empty($settings['pue_options'])) {
927 927
                 // initiate the class and start the plugin update engine!
928 928
 				new PluginUpdateEngineChecker(
929 929
 				// host file URL
930 930
 					'https://eventespresso.com',
931 931
 					// plugin slug(s)
932 932
 					array(
933
-						'premium'    => array( 'p' => $settings['pue_options']['pue_plugin_slug'] ),
934
-						'prerelease' => array( 'beta' => $settings['pue_options']['pue_plugin_slug'] . '-pr' ),
933
+						'premium'    => array('p' => $settings['pue_options']['pue_plugin_slug']),
934
+						'prerelease' => array('beta' => $settings['pue_options']['pue_plugin_slug'].'-pr'),
935 935
 					),
936 936
 					// options
937 937
 					array(
@@ -959,9 +959,9 @@  discard block
 block discarded – undo
959 959
 	 * @throws \EE_Error
960 960
 	 */
961 961
 	public static function register_message_types() {
962
-		foreach ( self::$_settings as $addon_name => $settings ) {
962
+		foreach (self::$_settings as $addon_name => $settings) {
963 963
 		    if ( ! empty($settings['message_types'])) {
964
-                foreach ((array)$settings['message_types'] as $message_type => $message_type_settings) {
964
+                foreach ((array) $settings['message_types'] as $message_type => $message_type_settings) {
965 965
                     EE_Register_Message_Type::register($message_type, $message_type_settings);
966 966
                 }
967 967
             }
@@ -978,74 +978,74 @@  discard block
 block discarded – undo
978 978
 	 * @throws EE_Error
979 979
 	 * @return void
980 980
 	 */
981
-	public static function deregister( $addon_name = null ) {
982
-		if ( isset( self::$_settings[ $addon_name ], self::$_settings[$addon_name]['class_name'] ) ) {
981
+	public static function deregister($addon_name = null) {
982
+		if (isset(self::$_settings[$addon_name], self::$_settings[$addon_name]['class_name'])) {
983 983
 		    do_action('AHEE__EE_Register_Addon__deregister__before', $addon_name);
984
-			$class_name = self::$_settings[ $addon_name ]['class_name'];
985
-			if ( ! empty( self::$_settings[ $addon_name ]['dms_paths'] ) ) {
984
+			$class_name = self::$_settings[$addon_name]['class_name'];
985
+			if ( ! empty(self::$_settings[$addon_name]['dms_paths'])) {
986 986
 				// setup DMS
987
-				EE_Register_Data_Migration_Scripts::deregister( $addon_name );
987
+				EE_Register_Data_Migration_Scripts::deregister($addon_name);
988 988
 			}
989
-			if ( ! empty( self::$_settings[ $addon_name ]['admin_path'] ) ) {
989
+			if ( ! empty(self::$_settings[$addon_name]['admin_path'])) {
990 990
 				// register admin page
991
-				EE_Register_Admin_Page::deregister( $addon_name );
991
+				EE_Register_Admin_Page::deregister($addon_name);
992 992
 			}
993
-			if ( ! empty( self::$_settings[ $addon_name ]['module_paths'] ) ) {
993
+			if ( ! empty(self::$_settings[$addon_name]['module_paths'])) {
994 994
 				// add to list of modules to be registered
995
-				EE_Register_Module::deregister( $addon_name );
995
+				EE_Register_Module::deregister($addon_name);
996 996
 			}
997
-			if ( ! empty( self::$_settings[ $addon_name ]['shortcode_paths'] ) ) {
997
+			if ( ! empty(self::$_settings[$addon_name]['shortcode_paths'])) {
998 998
 				// add to list of shortcodes to be registered
999
-				EE_Register_Shortcode::deregister( $addon_name );
999
+				EE_Register_Shortcode::deregister($addon_name);
1000 1000
 			}
1001
-			if ( ! empty( self::$_settings[ $addon_name ]['config_class'] ) ) {
1001
+			if ( ! empty(self::$_settings[$addon_name]['config_class'])) {
1002 1002
 				// if config_class present let's register config.
1003
-				EE_Register_Config::deregister( self::$_settings[ $addon_name ]['config_class'] );
1003
+				EE_Register_Config::deregister(self::$_settings[$addon_name]['config_class']);
1004 1004
 			}
1005
-			if ( ! empty( self::$_settings[ $addon_name ]['widget_paths'] ) ) {
1005
+			if ( ! empty(self::$_settings[$addon_name]['widget_paths'])) {
1006 1006
 				// add to list of widgets to be registered
1007
-				EE_Register_Widget::deregister( $addon_name );
1007
+				EE_Register_Widget::deregister($addon_name);
1008 1008
 			}
1009
-			if ( ! empty( self::$_settings[ $addon_name ]['model_paths'] )
1009
+			if ( ! empty(self::$_settings[$addon_name]['model_paths'])
1010 1010
 			     ||
1011
-			     ! empty( self::$_settings[ $addon_name ]['class_paths'] )
1011
+			     ! empty(self::$_settings[$addon_name]['class_paths'])
1012 1012
 			) {
1013 1013
 				// add to list of shortcodes to be registered
1014
-				EE_Register_Model::deregister( $addon_name );
1014
+				EE_Register_Model::deregister($addon_name);
1015 1015
 			}
1016
-			if ( ! empty( self::$_settings[ $addon_name ]['model_extension_paths'] )
1016
+			if ( ! empty(self::$_settings[$addon_name]['model_extension_paths'])
1017 1017
 			     ||
1018
-			     ! empty( self::$_settings[ $addon_name ]['class_extension_paths'] )
1018
+			     ! empty(self::$_settings[$addon_name]['class_extension_paths'])
1019 1019
 			) {
1020 1020
 				// add to list of shortcodes to be registered
1021
-				EE_Register_Model_Extensions::deregister( $addon_name );
1021
+				EE_Register_Model_Extensions::deregister($addon_name);
1022 1022
 			}
1023
-			if ( ! empty( self::$_settings[ $addon_name ]['message_types'] ) ) {
1024
-				foreach ((array)self::$_settings[ $addon_name ]['message_types'] as $message_type => $message_type_settings )
1023
+			if ( ! empty(self::$_settings[$addon_name]['message_types'])) {
1024
+				foreach ((array) self::$_settings[$addon_name]['message_types'] as $message_type => $message_type_settings)
1025 1025
 				{
1026
-					EE_Register_Message_Type::deregister( $message_type );
1026
+					EE_Register_Message_Type::deregister($message_type);
1027 1027
 				}
1028 1028
 			}
1029 1029
 			//deregister capabilities for addon
1030 1030
 			if (
1031
-				! empty( self::$_settings[ $addon_name ]['capabilities'] )
1032
-				|| ! empty( self::$_settings[ $addon_name ]['capability_maps'] )
1031
+				! empty(self::$_settings[$addon_name]['capabilities'])
1032
+				|| ! empty(self::$_settings[$addon_name]['capability_maps'])
1033 1033
 			) {
1034
-				EE_Register_Capabilities::deregister( $addon_name );
1034
+				EE_Register_Capabilities::deregister($addon_name);
1035 1035
 			}
1036 1036
 			//deregister custom_post_types for addon
1037
-			if ( ! empty( self::$_settings[ $addon_name ]['custom_post_types'] ) ) {
1038
-				EE_Register_CPT::deregister( $addon_name );
1037
+			if ( ! empty(self::$_settings[$addon_name]['custom_post_types'])) {
1038
+				EE_Register_CPT::deregister($addon_name);
1039 1039
 			}
1040 1040
 			remove_action(
1041
-				'deactivate_' . EE_Registry::instance()->addons->{$class_name}->get_main_plugin_file_basename(),
1042
-				array( EE_Registry::instance()->addons->{$class_name}, 'deactivation' )
1041
+				'deactivate_'.EE_Registry::instance()->addons->{$class_name}->get_main_plugin_file_basename(),
1042
+				array(EE_Registry::instance()->addons->{$class_name}, 'deactivation')
1043 1043
 			);
1044 1044
 			remove_action(
1045 1045
 				'AHEE__EE_System__perform_activations_upgrades_and_migrations',
1046
-				array( EE_Registry::instance()->addons->{$class_name}, 'initialize_db_if_no_migrations_required' )
1046
+				array(EE_Registry::instance()->addons->{$class_name}, 'initialize_db_if_no_migrations_required')
1047 1047
 			);
1048
-			unset( EE_Registry::instance()->addons->{$class_name}, self::$_settings[ $addon_name ] );
1048
+			unset(EE_Registry::instance()->addons->{$class_name}, self::$_settings[$addon_name]);
1049 1049
             do_action('AHEE__EE_Register_Addon__deregister__after', $addon_name);
1050 1050
 		}
1051 1051
 	}
Please login to merge, or discard this patch.
caffeinated/payment_methods/Mijireh/EEG_Mijireh.gateway.php 2 patches
Indentation   +84 added lines, -84 removed lines patch added patch discarded remove patch
@@ -103,7 +103,7 @@  discard block
 block discarded – undo
103 103
 		}
104 104
 		$order = apply_filters( 'FHEE__EEG_Mijireh__set_redirection_info__order_arguments', $order, $payment, $primary_registrant );
105 105
 		do_action( 'AHEE_log', __FILE__, __FUNCTION__, serialize(get_object_vars($this)) );
106
-        $order = $this->_get_unsupported_character_remover()->formatArray($order);
106
+		$order = $this->_get_unsupported_character_remover()->formatArray($order);
107 107
 
108 108
 		$args = array(
109 109
 			'headers' => array(
@@ -113,45 +113,45 @@  discard block
 block discarded – undo
113 113
 			'body'=>  wp_json_encode($order)
114 114
 		);
115 115
 		$response = wp_remote_post( $this->_mijireh_api_orders_url, $args );
116
-                $problems_string = false;
116
+				$problems_string = false;
117 117
 		$this->log(array('get checkout url request_args' => $args, 'response' => $response ), $payment);
118 118
 		if( ! $response instanceof WP_Error ){
119 119
 			$response_body = json_decode($response['body']);
120 120
 			if($response_body && isset($response_body->checkout_url)){
121
-                            $payment->set_redirect_url($response_body->checkout_url);
122
-                            $payment->set_txn_id_chq_nmbr($response_body->order_number);
123
-                            $payment->set_details($response['body']);
121
+							$payment->set_redirect_url($response_body->checkout_url);
122
+							$payment->set_txn_id_chq_nmbr($response_body->order_number);
123
+							$payment->set_details($response['body']);
124 124
 			} else {
125
-                           if( is_array( $response_body ) || is_object( $response_body)){
126
-                                    $response_body_as_array = (array)$response_body;
127
-                                    foreach($response_body_as_array as $problem_parameter => $problems){
128
-                                            $problems_string.= sprintf(__('\nProblems with %s: %s','event_espresso'),$problem_parameter,implode(", ",$problems));
129
-                                    }
130
-                            }else{
131
-                                    $problems_string = $response['body'];
132
-                            }
133
-                            if( ! $problems_string ) {
134
-                                //no message to show? wack
135
-                                if( isset( $response[ 'headers' ][ 'status' ] ) ){
136
-                                        $problems_string = $response[ 'headers' ][ 'status' ];
137
-                                }else{
138
-                                        $problems_string = __( 'No response from Mijireh', 'event_espresso' );
139
-                                }
140
-                            }
141
-                        }
125
+						   if( is_array( $response_body ) || is_object( $response_body)){
126
+									$response_body_as_array = (array)$response_body;
127
+									foreach($response_body_as_array as $problem_parameter => $problems){
128
+											$problems_string.= sprintf(__('\nProblems with %s: %s','event_espresso'),$problem_parameter,implode(", ",$problems));
129
+									}
130
+							}else{
131
+									$problems_string = $response['body'];
132
+							}
133
+							if( ! $problems_string ) {
134
+								//no message to show? wack
135
+								if( isset( $response[ 'headers' ][ 'status' ] ) ){
136
+										$problems_string = $response[ 'headers' ][ 'status' ];
137
+								}else{
138
+										$problems_string = __( 'No response from Mijireh', 'event_espresso' );
139
+								}
140
+							}
141
+						}
142 142
 		}else{
143
-                    $problems_string = implode( ",", $response->get_error_messages() );
143
+					$problems_string = implode( ",", $response->get_error_messages() );
144 144
 		}
145 145
                 
146
-                if( $problems_string ) {
147
-                    $payment->set_gateway_response( sprintf( __( 'Errors occurred communicating with Mijireh: %1$s', 'event_espresso'), $problems_string ) );
148
-                    $payment->set_details( $response );
149
-                    $payment->set_redirect_url( null );
150
-                    //even though the payment's status is failed at this point anyways,
151
-                    //let's be explicit about it. The fact that the redirect url is null
152
-                    //should be enough to client code that they can't redirect the user
153
-                    $payment->set_status( $this->_pay_model->failed_status() );
154
-                }
146
+				if( $problems_string ) {
147
+					$payment->set_gateway_response( sprintf( __( 'Errors occurred communicating with Mijireh: %1$s', 'event_espresso'), $problems_string ) );
148
+					$payment->set_details( $response );
149
+					$payment->set_redirect_url( null );
150
+					//even though the payment's status is failed at this point anyways,
151
+					//let's be explicit about it. The fact that the redirect url is null
152
+					//should be enough to client code that they can't redirect the user
153
+					$payment->set_status( $this->_pay_model->failed_status() );
154
+				}
155 155
 		return $payment;
156 156
 	}
157 157
 
@@ -188,70 +188,70 @@  discard block
 block discarded – undo
188 188
 	 * @param array $update_info unused. We just use the $transaction
189 189
 	 * @param EEI_Transaction $transaction
190 190
 	 * @return \EEI_Payment
191
-     * @throws EE_Error
191
+	 * @throws EE_Error
192 192
 	 */
193 193
 	public function handle_payment_update($update_info, $transaction) {
194
-        foreach( $transaction->pending_payments() as $payment){
195
-		    $payment = $this->check_payment_in_mijireh($payment);
196
-            if( $payment->status() === $this->_pay_model->approved_status()){
197
-                return $payment;
198
-            }
199
-        }
200
-        $payment = $transaction instanceof EEI_Transaction ? $transaction->last_payment() : NULL;
194
+		foreach( $transaction->pending_payments() as $payment){
195
+			$payment = $this->check_payment_in_mijireh($payment);
196
+			if( $payment->status() === $this->_pay_model->approved_status()){
197
+				return $payment;
198
+			}
199
+		}
200
+		$payment = $transaction instanceof EEI_Transaction ? $transaction->last_payment() : NULL;
201 201
 
202
-        if ( ! $payment instanceof EEI_Payment ){
203
-            throw new EE_Error( sprintf( __( "Could not find Mijireh payment for transaction %s", 'event_espresso' ), $transaction->ID() ) );
204
-        }
205
-        return $payment;
202
+		if ( ! $payment instanceof EEI_Payment ){
203
+			throw new EE_Error( sprintf( __( "Could not find Mijireh payment for transaction %s", 'event_espresso' ), $transaction->ID() ) );
204
+		}
205
+		return $payment;
206 206
 	}
207 207
 
208 208
 
209 209
 
210
-    /**
211
-     * Checks the payment's status in Mijireh for this specific payment
212
-     * @param \EEI_Payment $payment
213
-     * @return \EEI_Payment
214
-     */
210
+	/**
211
+	 * Checks the payment's status in Mijireh for this specific payment
212
+	 * @param \EEI_Payment $payment
213
+	 * @return \EEI_Payment
214
+	 */
215 215
 	public function check_payment_in_mijireh( EEI_Payment $payment ){
216
-        $request_args = array(
217
-            'headers' => array(
218
-                'Authorization' => 'Basic ' . base64_encode( $this->_access_key . ':' ),
219
-                'Accept'=>'application/json'
220
-            )
221
-        );
216
+		$request_args = array(
217
+			'headers' => array(
218
+				'Authorization' => 'Basic ' . base64_encode( $this->_access_key . ':' ),
219
+				'Accept'=>'application/json'
220
+			)
221
+		);
222 222
 
223
-        $response = wp_remote_get(
224
-            $this->_mijireh_api_orders_url . '/' . $payment->txn_id_chq_nmbr(),
225
-            $request_args
226
-        );
223
+		$response = wp_remote_get(
224
+			$this->_mijireh_api_orders_url . '/' . $payment->txn_id_chq_nmbr(),
225
+			$request_args
226
+		);
227 227
 
228
-        $this->log(
229
-            array( 'get payment status request_args' => $request_args, 'response' => $response ),
230
-            $payment
231
-        );
232
-        // validate response
233
-        $response_body = isset( $response[ 'body' ] ) ? json_decode( $response[ 'body' ] ) : '';
234
-        if( $response && $response_body ){
235
-            switch( $response_body->status ){
236
-                case 'paid':
237
-                    $payment->set_status($this->_pay_model->approved_status());
238
-                    break;
239
-                case 'pending':
240
-                    $payment->set_status($this->_pay_model->pending_status());
241
-                    break;
242
-                default:
243
-                    $payment->set_status($this->_pay_model->declined_status());
244
-            }
228
+		$this->log(
229
+			array( 'get payment status request_args' => $request_args, 'response' => $response ),
230
+			$payment
231
+		);
232
+		// validate response
233
+		$response_body = isset( $response[ 'body' ] ) ? json_decode( $response[ 'body' ] ) : '';
234
+		if( $response && $response_body ){
235
+			switch( $response_body->status ){
236
+				case 'paid':
237
+					$payment->set_status($this->_pay_model->approved_status());
238
+					break;
239
+				case 'pending':
240
+					$payment->set_status($this->_pay_model->pending_status());
241
+					break;
242
+				default:
243
+					$payment->set_status($this->_pay_model->declined_status());
244
+			}
245 245
 
246
-        } else {
247
-            $payment->set_gateway_response( __( 'Response from Mijireh could not be understood.', 'event_espresso' ) );
248
-            $payment->set_details( $response );
249
-            $payment->set_status( $this->_pay_model->failed_status() );
250
-        }
251
-        // the following is ONLY for testing the Mijireh IPN and should NEVER be uncommented for real usage
246
+		} else {
247
+			$payment->set_gateway_response( __( 'Response from Mijireh could not be understood.', 'event_espresso' ) );
248
+			$payment->set_details( $response );
249
+			$payment->set_status( $this->_pay_model->failed_status() );
250
+		}
251
+		// the following is ONLY for testing the Mijireh IPN and should NEVER be uncommented for real usage
252 252
 //		$payment->set_status( $this->_pay_model->pending_status() );
253
-        return $payment;
254
-    }
253
+		return $payment;
254
+	}
255 255
 
256 256
 }
257 257
 
Please login to merge, or discard this patch.
Spacing   +62 added lines, -62 removed lines patch added patch discarded remove patch
@@ -8,7 +8,7 @@  discard block
 block discarded – undo
8 8
  * @author				Mike Nelson
9 9
  *
10 10
  */
11
-class EEG_Mijireh extends EE_Offsite_Gateway{
11
+class EEG_Mijireh extends EE_Offsite_Gateway {
12 12
 
13 13
 	protected $_access_key;
14 14
 
@@ -37,14 +37,14 @@  discard block
 block discarded – undo
37 37
 		$primary_attendee = $primary_registrant->attendee();
38 38
 		$items = array();
39 39
 		//if we're are charging for the full amount, show the normal line items
40
-		if( $this->_can_easily_itemize_transaction_for( $payment )){
40
+		if ($this->_can_easily_itemize_transaction_for($payment)) {
41 41
 			$total_line_item = $transaction->total_line_item();
42 42
 			$tax_total = $total_line_item->get_total_tax();
43
-			foreach($total_line_item->get_items() as $line_item){
43
+			foreach ($total_line_item->get_items() as $line_item) {
44 44
 				$items[] = array(
45 45
 					'name'=>apply_filters(
46 46
 						'FHEE__EEG_Mijireh__set_redirection_info__full_amount_line_item_name',
47
-						$this->_format_line_item_name( $line_item, $payment ),
47
+						$this->_format_line_item_name($line_item, $payment),
48 48
 						$line_item,
49 49
 						$payment,
50 50
 						$primary_registrant
@@ -54,13 +54,13 @@  discard block
 block discarded – undo
54 54
 					'quantity'=>$line_item->quantity()
55 55
 				);
56 56
 			}
57
-		}else{//its a partial payment
57
+		} else {//its a partial payment
58 58
 			$tax_total = 0;
59 59
 			//partial payment, so just add 1 item
60 60
 			$items[] = array(
61 61
 				'name'=> apply_filters(
62 62
 					'FHEE__EEG_Mijireh__set_redirection_info__partial_amount_line_item_name',
63
-					$this->_format_partial_payment_line_item_name( $payment ),
63
+					$this->_format_partial_payment_line_item_name($payment),
64 64
 					$payment,
65 65
 					$primary_registrant
66 66
 				),
@@ -72,18 +72,18 @@  discard block
 block discarded – undo
72 72
 		$order = array(
73 73
 			'total'=>$this->format_currency($payment->amount()),
74 74
 			'return_url'=>$return_url,
75
-			'items'=>$this->_prepare_for_mijireh( $items ),
75
+			'items'=>$this->_prepare_for_mijireh($items),
76 76
 			'email'=>$primary_attendee->email(),
77 77
 			'first_name'=>$primary_attendee->fname(),
78 78
 			'last_name'=>$primary_attendee->lname(),
79 79
 			'tax'=>$this->format_currency($tax_total),
80 80
 			'partner_id'=>'ee');
81 81
 		//setup address?
82
-		if(		$primary_attendee->address()  &&
83
-				$primary_attendee->city()  &&
84
-				$primary_attendee->state_ID()  &&
85
-				$primary_attendee->country_ID()  &&
86
-				$primary_attendee->zip()  ){
82
+		if ($primary_attendee->address() &&
83
+				$primary_attendee->city() &&
84
+				$primary_attendee->state_ID() &&
85
+				$primary_attendee->country_ID() &&
86
+				$primary_attendee->zip()) {
87 87
 			$shipping_address = array(
88 88
 				'first_name'=>$primary_attendee->fname(),
89 89
 				'last_name'=>$primary_attendee->lname(),
@@ -93,64 +93,64 @@  discard block
 block discarded – undo
93 93
 				'zip_code' => $primary_attendee->zip(),
94 94
 				'country' => $primary_attendee->country_ID()
95 95
 			);
96
-			if( $primary_attendee->address2() ){
97
-				$shipping_address[ 'apt_suite' ] = $primary_attendee->address2();
96
+			if ($primary_attendee->address2()) {
97
+				$shipping_address['apt_suite'] = $primary_attendee->address2();
98 98
 			}
99
-			if( $primary_attendee->phone() ){
100
-				$shipping_address[ 'phone' ] = $primary_attendee->phone();
99
+			if ($primary_attendee->phone()) {
100
+				$shipping_address['phone'] = $primary_attendee->phone();
101 101
 			}
102
-			$order[ 'shipping_address' ] = $shipping_address;
102
+			$order['shipping_address'] = $shipping_address;
103 103
 		}
104
-		$order = apply_filters( 'FHEE__EEG_Mijireh__set_redirection_info__order_arguments', $order, $payment, $primary_registrant );
105
-		do_action( 'AHEE_log', __FILE__, __FUNCTION__, serialize(get_object_vars($this)) );
104
+		$order = apply_filters('FHEE__EEG_Mijireh__set_redirection_info__order_arguments', $order, $payment, $primary_registrant);
105
+		do_action('AHEE_log', __FILE__, __FUNCTION__, serialize(get_object_vars($this)));
106 106
         $order = $this->_get_unsupported_character_remover()->formatArray($order);
107 107
 
108 108
 		$args = array(
109 109
 			'headers' => array(
110
-				'Authorization' => 'Basic ' . base64_encode( $this->_access_key . ':' ),
110
+				'Authorization' => 'Basic '.base64_encode($this->_access_key.':'),
111 111
 				'Accept'=>'application/json'
112 112
 			),
113 113
 			'body'=>  wp_json_encode($order)
114 114
 		);
115
-		$response = wp_remote_post( $this->_mijireh_api_orders_url, $args );
115
+		$response = wp_remote_post($this->_mijireh_api_orders_url, $args);
116 116
                 $problems_string = false;
117
-		$this->log(array('get checkout url request_args' => $args, 'response' => $response ), $payment);
118
-		if( ! $response instanceof WP_Error ){
117
+		$this->log(array('get checkout url request_args' => $args, 'response' => $response), $payment);
118
+		if ( ! $response instanceof WP_Error) {
119 119
 			$response_body = json_decode($response['body']);
120
-			if($response_body && isset($response_body->checkout_url)){
120
+			if ($response_body && isset($response_body->checkout_url)) {
121 121
                             $payment->set_redirect_url($response_body->checkout_url);
122 122
                             $payment->set_txn_id_chq_nmbr($response_body->order_number);
123 123
                             $payment->set_details($response['body']);
124 124
 			} else {
125
-                           if( is_array( $response_body ) || is_object( $response_body)){
126
-                                    $response_body_as_array = (array)$response_body;
127
-                                    foreach($response_body_as_array as $problem_parameter => $problems){
128
-                                            $problems_string.= sprintf(__('\nProblems with %s: %s','event_espresso'),$problem_parameter,implode(", ",$problems));
125
+                           if (is_array($response_body) || is_object($response_body)) {
126
+                                    $response_body_as_array = (array) $response_body;
127
+                                    foreach ($response_body_as_array as $problem_parameter => $problems) {
128
+                                            $problems_string .= sprintf(__('\nProblems with %s: %s', 'event_espresso'), $problem_parameter, implode(", ", $problems));
129 129
                                     }
130
-                            }else{
130
+                            } else {
131 131
                                     $problems_string = $response['body'];
132 132
                             }
133
-                            if( ! $problems_string ) {
133
+                            if ( ! $problems_string) {
134 134
                                 //no message to show? wack
135
-                                if( isset( $response[ 'headers' ][ 'status' ] ) ){
136
-                                        $problems_string = $response[ 'headers' ][ 'status' ];
137
-                                }else{
138
-                                        $problems_string = __( 'No response from Mijireh', 'event_espresso' );
135
+                                if (isset($response['headers']['status'])) {
136
+                                        $problems_string = $response['headers']['status'];
137
+                                } else {
138
+                                        $problems_string = __('No response from Mijireh', 'event_espresso');
139 139
                                 }
140 140
                             }
141 141
                         }
142
-		}else{
143
-                    $problems_string = implode( ",", $response->get_error_messages() );
142
+		} else {
143
+                    $problems_string = implode(",", $response->get_error_messages());
144 144
 		}
145 145
                 
146
-                if( $problems_string ) {
147
-                    $payment->set_gateway_response( sprintf( __( 'Errors occurred communicating with Mijireh: %1$s', 'event_espresso'), $problems_string ) );
148
-                    $payment->set_details( $response );
149
-                    $payment->set_redirect_url( null );
146
+                if ($problems_string) {
147
+                    $payment->set_gateway_response(sprintf(__('Errors occurred communicating with Mijireh: %1$s', 'event_espresso'), $problems_string));
148
+                    $payment->set_details($response);
149
+                    $payment->set_redirect_url(null);
150 150
                     //even though the payment's status is failed at this point anyways,
151 151
                     //let's be explicit about it. The fact that the redirect url is null
152 152
                     //should be enough to client code that they can't redirect the user
153
-                    $payment->set_status( $this->_pay_model->failed_status() );
153
+                    $payment->set_status($this->_pay_model->failed_status());
154 154
                 }
155 155
 		return $payment;
156 156
 	}
@@ -163,16 +163,16 @@  discard block
 block discarded – undo
163 163
 	 * @param mixed $data
164 164
 	 * @return mixed same type as $data
165 165
 	 */
166
-	private function _prepare_for_mijireh( $data ){
167
-		if( is_array( $data ) ){
166
+	private function _prepare_for_mijireh($data) {
167
+		if (is_array($data)) {
168 168
 			$prepared_data = array();
169
-			foreach($data as $key => $datum ){
170
-				$prepared_data[ $key ] = $this->_prepare_for_mijireh( $datum );
169
+			foreach ($data as $key => $datum) {
170
+				$prepared_data[$key] = $this->_prepare_for_mijireh($datum);
171 171
 			}
172 172
 			return $prepared_data;
173
-		}elseif(is_string( $data ) ){
174
-			return str_replace( '%', 'percent', $data );
175
-		}else{
173
+		}elseif (is_string($data)) {
174
+			return str_replace('%', 'percent', $data);
175
+		} else {
176 176
 			return $data;
177 177
 		}
178 178
 	}
@@ -191,16 +191,16 @@  discard block
 block discarded – undo
191 191
      * @throws EE_Error
192 192
 	 */
193 193
 	public function handle_payment_update($update_info, $transaction) {
194
-        foreach( $transaction->pending_payments() as $payment){
194
+        foreach ($transaction->pending_payments() as $payment) {
195 195
 		    $payment = $this->check_payment_in_mijireh($payment);
196
-            if( $payment->status() === $this->_pay_model->approved_status()){
196
+            if ($payment->status() === $this->_pay_model->approved_status()) {
197 197
                 return $payment;
198 198
             }
199 199
         }
200 200
         $payment = $transaction instanceof EEI_Transaction ? $transaction->last_payment() : NULL;
201 201
 
202
-        if ( ! $payment instanceof EEI_Payment ){
203
-            throw new EE_Error( sprintf( __( "Could not find Mijireh payment for transaction %s", 'event_espresso' ), $transaction->ID() ) );
202
+        if ( ! $payment instanceof EEI_Payment) {
203
+            throw new EE_Error(sprintf(__("Could not find Mijireh payment for transaction %s", 'event_espresso'), $transaction->ID()));
204 204
         }
205 205
         return $payment;
206 206
 	}
@@ -212,27 +212,27 @@  discard block
 block discarded – undo
212 212
      * @param \EEI_Payment $payment
213 213
      * @return \EEI_Payment
214 214
      */
215
-	public function check_payment_in_mijireh( EEI_Payment $payment ){
215
+	public function check_payment_in_mijireh(EEI_Payment $payment) {
216 216
         $request_args = array(
217 217
             'headers' => array(
218
-                'Authorization' => 'Basic ' . base64_encode( $this->_access_key . ':' ),
218
+                'Authorization' => 'Basic '.base64_encode($this->_access_key.':'),
219 219
                 'Accept'=>'application/json'
220 220
             )
221 221
         );
222 222
 
223 223
         $response = wp_remote_get(
224
-            $this->_mijireh_api_orders_url . '/' . $payment->txn_id_chq_nmbr(),
224
+            $this->_mijireh_api_orders_url.'/'.$payment->txn_id_chq_nmbr(),
225 225
             $request_args
226 226
         );
227 227
 
228 228
         $this->log(
229
-            array( 'get payment status request_args' => $request_args, 'response' => $response ),
229
+            array('get payment status request_args' => $request_args, 'response' => $response),
230 230
             $payment
231 231
         );
232 232
         // validate response
233
-        $response_body = isset( $response[ 'body' ] ) ? json_decode( $response[ 'body' ] ) : '';
234
-        if( $response && $response_body ){
235
-            switch( $response_body->status ){
233
+        $response_body = isset($response['body']) ? json_decode($response['body']) : '';
234
+        if ($response && $response_body) {
235
+            switch ($response_body->status) {
236 236
                 case 'paid':
237 237
                     $payment->set_status($this->_pay_model->approved_status());
238 238
                     break;
@@ -244,9 +244,9 @@  discard block
 block discarded – undo
244 244
             }
245 245
 
246 246
         } else {
247
-            $payment->set_gateway_response( __( 'Response from Mijireh could not be understood.', 'event_espresso' ) );
248
-            $payment->set_details( $response );
249
-            $payment->set_status( $this->_pay_model->failed_status() );
247
+            $payment->set_gateway_response(__('Response from Mijireh could not be understood.', 'event_espresso'));
248
+            $payment->set_details($response);
249
+            $payment->set_status($this->_pay_model->failed_status());
250 250
         }
251 251
         // the following is ONLY for testing the Mijireh IPN and should NEVER be uncommented for real usage
252 252
 //		$payment->set_status( $this->_pay_model->pending_status() );
Please login to merge, or discard this patch.
core/services/formatters/FormatterBase.php 2 patches
Indentation   +22 added lines, -22 removed lines patch added patch discarded remove patch
@@ -18,27 +18,27 @@
 block discarded – undo
18 18
 abstract class FormatterBase implements FormatterInterface
19 19
 {
20 20
 
21
-    /**
22
-     * Recursively applies the formatting to all VALUES in this multi-dimensional array
23
-     *
24
-     * @param array $input
25
-     * @return array
26
-     * @throws InvalidDataTypeException if $input is not an array
27
-     */
28
-    public function formatArray($input)
29
-    {
30
-        if (! is_array($input)) {
31
-            throw new InvalidDataTypeException('input', $input, 'array');
32
-        }
33
-        //we can use $this inside the closure in PHP 5.3, so pass in a variable pointing to this instead
34
-        $formatter = $this;
35
-        array_walk_recursive(
36
-            $input,
37
-            function (&$value, $key) use ($formatter) {
38
-                $value = $formatter->format($value);
39
-            }
40
-        );
41
-        return $input;
42
-    }}
21
+	/**
22
+	 * Recursively applies the formatting to all VALUES in this multi-dimensional array
23
+	 *
24
+	 * @param array $input
25
+	 * @return array
26
+	 * @throws InvalidDataTypeException if $input is not an array
27
+	 */
28
+	public function formatArray($input)
29
+	{
30
+		if (! is_array($input)) {
31
+			throw new InvalidDataTypeException('input', $input, 'array');
32
+		}
33
+		//we can use $this inside the closure in PHP 5.3, so pass in a variable pointing to this instead
34
+		$formatter = $this;
35
+		array_walk_recursive(
36
+			$input,
37
+			function (&$value, $key) use ($formatter) {
38
+				$value = $formatter->format($value);
39
+			}
40
+		);
41
+		return $input;
42
+	}}
43 43
 // End of file FormatterBase.php
44 44
 // Location: core\services\formatters/FormatterBase.php
45 45
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -27,14 +27,14 @@
 block discarded – undo
27 27
      */
28 28
     public function formatArray($input)
29 29
     {
30
-        if (! is_array($input)) {
30
+        if ( ! is_array($input)) {
31 31
             throw new InvalidDataTypeException('input', $input, 'array');
32 32
         }
33 33
         //we can use $this inside the closure in PHP 5.3, so pass in a variable pointing to this instead
34 34
         $formatter = $this;
35 35
         array_walk_recursive(
36 36
             $input,
37
-            function (&$value, $key) use ($formatter) {
37
+            function(&$value, $key) use ($formatter) {
38 38
                 $value = $formatter->format($value);
39 39
             }
40 40
         );
Please login to merge, or discard this patch.
modules/core_rest_api/EED_Core_Rest_Api.module.php 1 patch
Indentation   +791 added lines, -791 removed lines patch added patch discarded remove patch
@@ -18,807 +18,807 @@
 block discarded – undo
18 18
 class EED_Core_Rest_Api extends \EED_Module
19 19
 {
20 20
 
21
-    const ee_api_namespace           = 'ee/v';
21
+	const ee_api_namespace           = 'ee/v';
22 22
 
23
-    const ee_api_namespace_for_regex = 'ee\/v([^/]*)\/';
23
+	const ee_api_namespace_for_regex = 'ee\/v([^/]*)\/';
24 24
 
25
-    const saved_routes_option_names  = 'ee_core_routes';
25
+	const saved_routes_option_names  = 'ee_core_routes';
26 26
 
27
-    /**
28
-     * string used in _links response bodies to make them globally unique.
29
-     *
30
-     * @see http://v2.wp-api.org/extending/linking/
31
-     */
32
-    const ee_api_link_namespace = 'https://api.eventespresso.com/';
27
+	/**
28
+	 * string used in _links response bodies to make them globally unique.
29
+	 *
30
+	 * @see http://v2.wp-api.org/extending/linking/
31
+	 */
32
+	const ee_api_link_namespace = 'https://api.eventespresso.com/';
33 33
 
34
-    /**
35
-     * @var Calculated_Model_Fields
36
-     */
37
-    protected static $_field_calculator = null;
34
+	/**
35
+	 * @var Calculated_Model_Fields
36
+	 */
37
+	protected static $_field_calculator = null;
38 38
 
39 39
 
40 40
 
41
-    /**
42
-     * @return EED_Core_Rest_Api
43
-     */
44
-    public static function instance()
45
-    {
46
-        self::$_field_calculator = new Calculated_Model_Fields();
47
-        return parent::get_instance(__CLASS__);
48
-    }
41
+	/**
42
+	 * @return EED_Core_Rest_Api
43
+	 */
44
+	public static function instance()
45
+	{
46
+		self::$_field_calculator = new Calculated_Model_Fields();
47
+		return parent::get_instance(__CLASS__);
48
+	}
49 49
 
50 50
 
51 51
 
52
-    /**
53
-     *    set_hooks - for hooking into EE Core, other modules, etc
54
-     *
55
-     * @access    public
56
-     * @return    void
57
-     */
58
-    public static function set_hooks()
59
-    {
60
-        self::set_hooks_both();
61
-    }
62
-
63
-
64
-
65
-    /**
66
-     *    set_hooks_admin - for hooking into EE Admin Core, other modules, etc
67
-     *
68
-     * @access    public
69
-     * @return    void
70
-     */
71
-    public static function set_hooks_admin()
72
-    {
73
-        self::set_hooks_both();
74
-    }
75
-
76
-
77
-
78
-    public static function set_hooks_both()
79
-    {
80
-        add_action('rest_api_init', array('EED_Core_Rest_Api', 'register_routes'), 10);
81
-        add_action('rest_api_init', array('EED_Core_Rest_Api', 'set_hooks_rest_api'), 5);
82
-        add_filter('rest_route_data', array('EED_Core_Rest_Api', 'hide_old_endpoints'), 10, 2);
83
-        add_filter('rest_index',
84
-            array('EventEspresso\core\libraries\rest_api\controllers\model\Meta', 'filter_ee_metadata_into_index'));
85
-        EED_Core_Rest_Api::invalidate_cached_route_data_on_version_change();
86
-    }
87
-
88
-
89
-
90
-    /**
91
-     * sets up hooks which only need to be included as part of REST API requests;
92
-     * other requests like to the frontend or admin etc don't need them
93
-     */
94
-    public static function set_hooks_rest_api()
95
-    {
96
-        //set hooks which account for changes made to the API
97
-        EED_Core_Rest_Api::_set_hooks_for_changes();
98
-    }
99
-
100
-
101
-
102
-    /**
103
-     * public wrapper of _set_hooks_for_changes.
104
-     * Loads all the hooks which make requests to old versions of the API
105
-     * appear the same as they always did
106
-     */
107
-    public static function set_hooks_for_changes()
108
-    {
109
-        self::_set_hooks_for_changes();
110
-    }
111
-
112
-
113
-
114
-
115
-
116
-
117
-
118
-    /**
119
-     * Loads all the hooks which make requests to old versions of the API
120
-     * appear the same as they always did
121
-     */
122
-    protected static function _set_hooks_for_changes()
123
-    {
124
-        $folder_contents = EEH_File::get_contents_of_folders(array(EE_LIBRARIES . 'rest_api' . DS . 'changes'), false);
125
-        foreach ($folder_contents as $classname_in_namespace => $filepath) {
126
-            //ignore the base parent class
127
-            if ($classname_in_namespace === 'Changes_In_Base') {
128
-                continue;
129
-            }
130
-            $full_classname = 'EventEspresso\core\libraries\rest_api\changes\\' . $classname_in_namespace;
131
-            if (class_exists($full_classname)) {
132
-                $instance_of_class = new $full_classname;
133
-                if ($instance_of_class instanceof Changes_In_Base) {
134
-                    $instance_of_class->set_hooks();
135
-                }
136
-            }
137
-        }
138
-    }
139
-
140
-
141
-
142
-    /**
143
-     * Filters the WP routes to add our EE-related ones. This takes a bit of time
144
-     * so we actually prefer to only do it when an EE plugin is activated or upgraded
145
-     */
146
-    public static function register_routes()
147
-    {
148
-        foreach (EED_Core_Rest_Api::get_ee_route_data() as $namespace => $relative_urls) {
149
-            foreach ($relative_urls as $endpoint => $routes) {
150
-                foreach ($routes as $route) {
151
-                    $route_args = array(
152
-                        array(
153
-                            'callback' => $route['callback'],
154
-                            'methods'  => $route['methods'],
155
-                            'args'     => isset($route['args']) ? $route['args'] : array(),
156
-                        )
157
-                    );
158
-                    if (isset($route['schema_callback'])) {
159
-                        $model_name = isset($route['schema_callback'][0])
160
-                            ? $route['schema_callback'][0]
161
-                            : '';
162
-                        $version = isset( $route['schema_callback'][1])
163
-                            ? $route['schema_callback'][1]
164
-                            : '';
165
-                        if (! empty($model_name) && ! empty($version)) {
166
-                            $route_args['schema'] = function () use ($model_name, $version) {
167
-                                return ModelRead::handle_schema_request(
168
-                                    $model_name,
169
-                                    $version
170
-                                );
171
-                            };
172
-                        }
173
-                    }
174
-                    register_rest_route(
175
-                        $namespace,
176
-                        $endpoint,
177
-                        $route_args
178
-                    );
179
-                }
180
-            }
181
-        }
182
-    }
183
-
184
-
185
-
186
-    /**
187
-     * Checks if there was a version change or something that merits invalidating the cached
188
-     * route data. If so, invalidates the cached route data so that it gets refreshed
189
-     * next time the WP API is used
190
-     */
191
-    public static function invalidate_cached_route_data_on_version_change()
192
-    {
193
-        if (EE_System::instance()->detect_req_type() != EE_System::req_type_normal) {
194
-            EED_Core_Rest_Api::invalidate_cached_route_data();
195
-        }
196
-        foreach (EE_Registry::instance()->addons as $addon) {
197
-            if ($addon instanceof EE_Addon && $addon->detect_req_type() != EE_System::req_type_normal) {
198
-                EED_Core_Rest_Api::invalidate_cached_route_data();
199
-            }
200
-        }
201
-    }
202
-
203
-
204
-
205
-    /**
206
-     * Removes the cached route data so it will get refreshed next time the WP API is used
207
-     */
208
-    public static function invalidate_cached_route_data()
209
-    {
210
-        //delete the saved EE REST API routes
211
-        foreach (EED_Core_Rest_Api::versions_served() as $version => $hidden) {
212
-            delete_option(EED_Core_Rest_Api::saved_routes_option_names . $version);
213
-        }
214
-    }
215
-
216
-
217
-
218
-    /**
219
-     * Gets the EE route data
220
-     *
221
-     * @return array top-level key is the namespace, next-level key is the route and its value is array{
222
-     * @type string|array $callback
223
-     * @type string       $methods
224
-     * @type boolean      $hidden_endpoint
225
-     * }
226
-     */
227
-    public static function get_ee_route_data()
228
-    {
229
-        $ee_routes = array();
230
-        foreach (self::versions_served() as $version => $hidden_endpoints) {
231
-            $ee_routes[self::ee_api_namespace . $version] = self::_get_ee_route_data_for_version($version,
232
-                $hidden_endpoints);
233
-        }
234
-        return $ee_routes;
235
-    }
236
-
237
-
238
-
239
-    /**
240
-     * Gets the EE route data from the wp options if it exists already,
241
-     * otherwise re-generates it and saves it to the option
242
-     *
243
-     * @param string  $version
244
-     * @param boolean $hidden_endpoints
245
-     * @return array
246
-     */
247
-    protected static function _get_ee_route_data_for_version($version, $hidden_endpoints = false)
248
-    {
249
-        $ee_routes = get_option(self::saved_routes_option_names . $version, null);
250
-        if ( ! $ee_routes || (defined('EE_REST_API_DEBUG_MODE') && EE_REST_API_DEBUG_MODE)) {
251
-            $ee_routes = self::_save_ee_route_data_for_version($version, $hidden_endpoints);
252
-        }
253
-        return $ee_routes;
254
-    }
255
-
256
-
257
-
258
-    /**
259
-     * Saves the EE REST API route data to a wp option and returns it
260
-     *
261
-     * @param string  $version
262
-     * @param boolean $hidden_endpoints
263
-     * @return mixed|null|void
264
-     */
265
-    protected static function _save_ee_route_data_for_version($version, $hidden_endpoints = false)
266
-    {
267
-        $instance = self::instance();
268
-        $routes = apply_filters(
269
-            'EED_Core_Rest_Api__save_ee_route_data_for_version__routes',
270
-            array_replace_recursive(
271
-                $instance->_get_config_route_data_for_version($version, $hidden_endpoints),
272
-                $instance->_get_meta_route_data_for_version($version, $hidden_endpoints),
273
-                $instance->_get_model_route_data_for_version($version, $hidden_endpoints),
274
-                $instance->_get_rpc_route_data_for_version($version, $hidden_endpoints)
275
-            )
276
-        );
277
-        $option_name = self::saved_routes_option_names . $version;
278
-        if (get_option($option_name)) {
279
-            update_option($option_name, $routes, true);
280
-        } else {
281
-            add_option($option_name, $routes, null, 'no');
282
-        }
283
-        return $routes;
284
-    }
285
-
286
-
287
-
288
-    /**
289
-     * Calculates all the EE routes and saves it to a wordpress option so we don't
290
-     * need to calculate it on every request
291
-     *
292
-     * @deprecated since version 4.9.1
293
-     * @return void
294
-     */
295
-    public static function save_ee_routes()
296
-    {
297
-        if (EE_Maintenance_Mode::instance()->models_can_query()) {
298
-            $instance = self::instance();
299
-            $routes = apply_filters(
300
-                'EED_Core_Rest_Api__save_ee_routes__routes',
301
-                array_replace_recursive(
302
-                    $instance->_register_config_routes(),
303
-                    $instance->_register_meta_routes(),
304
-                    $instance->_register_model_routes(),
305
-                    $instance->_register_rpc_routes()
306
-                )
307
-            );
308
-            update_option(self::saved_routes_option_names, $routes, true);
309
-        }
310
-    }
311
-
312
-
313
-
314
-    /**
315
-     * Gets all the route information relating to EE models
316
-     *
317
-     * @return array @see get_ee_route_data
318
-     * @deprecated since version 4.9.1
319
-     */
320
-    protected function _register_model_routes()
321
-    {
322
-        $model_routes = array();
323
-        foreach (self::versions_served() as $version => $hidden_endpoint) {
324
-            $model_routes[EED_Core_Rest_Api::ee_api_namespace
325
-                          . $version] = $this->_get_config_route_data_for_version($version, $hidden_endpoint);
326
-        }
327
-        return $model_routes;
328
-    }
329
-
330
-
331
-
332
-    /**
333
-     * Gets the route data for EE models in the specified version
334
-     *
335
-     * @param string  $version
336
-     * @param boolean $hidden_endpoint
337
-     * @return array
338
-     */
339
-    protected function _get_model_route_data_for_version($version, $hidden_endpoint = false)
340
-    {
341
-        $model_version_info = new Model_Version_Info($version);
342
-        $models_to_register = apply_filters(
343
-            'FHEE__EED_Core_REST_API___register_model_routes',
344
-            $model_version_info->models_for_requested_version()
345
-        );
346
-        //let's not bother having endpoints for extra metas
347
-        unset($models_to_register['Extra_Meta']);
348
-        unset($models_to_register['Extra_Join']);
349
-        $model_routes = array();
350
-        foreach ($models_to_register as $model_name => $model_classname) {
351
-            $model = \EE_Registry::instance()->load_model($model_name);
352
-
353
-            //if this isn't a valid model then let's skip iterate to the next item in the loop.
354
-            if (! $model instanceof EEM_Base) {
355
-                continue;
356
-            }
357
-
358
-            //yes we could just register one route for ALL models, but then they wouldn't show up in the index
359
-            $plural_model_route = EEH_Inflector::pluralize_and_lower($model_name);
360
-            $singular_model_route = $plural_model_route . '/(?P<id>\d+)';
361
-            $model_routes[$plural_model_route] = array(
362
-                array(
363
-                    'callback'        => array(
364
-                        'EventEspresso\core\libraries\rest_api\controllers\model\Read',
365
-                        'handle_request_get_all',
366
-                    ),
367
-                    'methods'         => WP_REST_Server::READABLE,
368
-                    'hidden_endpoint' => $hidden_endpoint,
369
-                    'args'            => $this->_get_read_query_params($model, $version),
370
-                    '_links'          => array(
371
-                        'self' => rest_url(EED_Core_Rest_Api::ee_api_namespace . $version . $singular_model_route),
372
-                    ),
373
-                    'schema_callback' => array($model_name, $version)
374
-                ),
375
-                //						array(
376
-                //							'callback' => array(
377
-                //								'EventEspresso\core\libraries\rest_api\controllers\model\Write',
378
-                //								'handle_request_create_one' ),
379
-                //							'methods' => WP_REST_Server::CREATABLE,
380
-                //							'hidden_endpoint' => $hidden_endpoint
381
-                //						)
382
-            );
383
-            $model_routes[$singular_model_route] = array(
384
-                array(
385
-                    'callback'        => array(
386
-                        'EventEspresso\core\libraries\rest_api\controllers\model\Read',
387
-                        'handle_request_get_one',
388
-                    ),
389
-                    'methods'         => WP_REST_Server::READABLE,
390
-                    'hidden_endpoint' => $hidden_endpoint,
391
-                    'args'            => $this->_get_response_selection_query_params($model, $version),
392
-                ),
393
-                //						array(
394
-                //							'callback' => array(
395
-                //								'EventEspresso\core\libraries\rest_api\controllers\model\Write',
396
-                //								'handle_request_edit_one' ),
397
-                //							'methods' => WP_REST_Server::EDITABLE,
398
-                //							'hidden_endpoint' => $hidden_endpoint
399
-                //							),
400
-            );
401
-            //@todo: also handle  DELETE for a single item
402
-            foreach ($model_version_info->relation_settings($model) as $relation_name => $relation_obj) {
403
-                $related_model_name_endpoint_part = ModelRead::get_related_entity_name(
404
-                    $relation_name,
405
-                    $relation_obj
406
-                );
407
-                $model_routes[$singular_model_route . '/' . $related_model_name_endpoint_part] = array(
408
-                    array(
409
-                        'callback'        => array(
410
-                            'EventEspresso\core\libraries\rest_api\controllers\model\Read',
411
-                            'handle_request_get_related',
412
-                        ),
413
-                        'methods'         => WP_REST_Server::READABLE,
414
-                        'hidden_endpoint' => $hidden_endpoint,
415
-                        'args'            => $this->_get_read_query_params($relation_obj->get_other_model(), $version),
416
-                    ),
417
-                    //							array(
418
-                    //								'callback' => array(
419
-                    //									'EventEspresso\core\libraries\rest_api\controllers\model\Write',
420
-                    //									'handle_request_create_or_update_related' ),
421
-                    //								'methods' => WP_REST_Server::EDITABLE,
422
-                    //								'hidden_endpoint' => $hidden_endpoint
423
-                    //							)
424
-                );
425
-                //@todo: handle delete related and possibly remove relation (not sure hwo to distinguish)
426
-            }
427
-        }
428
-        return $model_routes;
429
-    }
430
-
431
-
432
-
433
-    /**
434
-     * Adds all the RPC-style routes (remote procedure call-like routes, ie
435
-     * routes that don't conform to the traditional REST CRUD-style).
436
-     *
437
-     * @deprecated since 4.9.1
438
-     */
439
-    protected function _register_rpc_routes()
440
-    {
441
-        $routes = array();
442
-        foreach (self::versions_served() as $version => $hidden_endpoint) {
443
-            $routes[self::ee_api_namespace . $version] = $this->_get_rpc_route_data_for_version($version,
444
-                $hidden_endpoint);
445
-        }
446
-        return $routes;
447
-    }
448
-
449
-
450
-
451
-    /**
452
-     * @param string  $version
453
-     * @param boolean $hidden_endpoint
454
-     * @return array
455
-     */
456
-    protected function _get_rpc_route_data_for_version($version, $hidden_endpoint = false)
457
-    {
458
-        $this_versions_routes = array();
459
-        //checkin endpoint
460
-        $this_versions_routes['registrations/(?P<REG_ID>\d+)/toggle_checkin_for_datetime/(?P<DTT_ID>\d+)'] = array(
461
-            array(
462
-                'callback'        => array(
463
-                    'EventEspresso\core\libraries\rest_api\controllers\rpc\Checkin',
464
-                    'handle_request_toggle_checkin',
465
-                ),
466
-                'methods'         => WP_REST_Server::CREATABLE,
467
-                'hidden_endpoint' => $hidden_endpoint,
468
-                'args'            => array(
469
-                    'force' => array(
470
-                        'required'    => false,
471
-                        'default'     => false,
472
-                        'description' => __('Whether to force toggle checkin, or to verify the registration status and allowed ticket uses',
473
-                            'event_espresso'),
474
-                    ),
475
-                ),
476
-            ),
477
-        );
478
-        return apply_filters(
479
-            'FHEE__EED_Core_Rest_Api___register_rpc_routes__this_versions_routes',
480
-            $this_versions_routes,
481
-            $version,
482
-            $hidden_endpoint
483
-        );
484
-    }
485
-
486
-
487
-
488
-    /**
489
-     * Gets the query params that can be used when request one or many
490
-     *
491
-     * @param EEM_Base $model
492
-     * @param string   $version
493
-     * @return array
494
-     */
495
-    protected function _get_response_selection_query_params(\EEM_Base $model, $version)
496
-    {
497
-        return apply_filters(
498
-            'FHEE__EED_Core_Rest_Api___get_response_selection_query_params',
499
-            array(
500
-                'include'   => array(
501
-                    'required' => false,
502
-                    'default'  => '*',
503
-                ),
504
-                'calculate' => array(
505
-                    'required' => false,
506
-                    'default'  => '',
507
-                    'enum'     => self::$_field_calculator->retrieve_calculated_fields_for_model($model),
508
-                ),
509
-            ),
510
-            $model,
511
-            $version
512
-        );
513
-    }
514
-
515
-
516
-
517
-    /**
518
-     * Gets info about reading query params that are acceptable
519
-     *
520
-     * @param \EEM_Base $model eg 'Event' or 'Venue'
521
-     * @param  string   $version
522
-     * @return array    describing the args acceptable when querying this model
523
-     * @throws \EE_Error
524
-     */
525
-    protected function _get_read_query_params(\EEM_Base $model, $version)
526
-    {
527
-        $default_orderby = array();
528
-        foreach ($model->get_combined_primary_key_fields() as $key_field) {
529
-            $default_orderby[$key_field->get_name()] = 'ASC';
530
-        }
531
-        return array_merge(
532
-            $this->_get_response_selection_query_params($model, $version),
533
-            array(
534
-                'where'    => array(
535
-                    'required' => false,
536
-                    'default'  => array(),
537
-                ),
538
-                'limit'    => array(
539
-                    'required' => false,
540
-                    'default'  => EED_Core_Rest_Api::get_default_query_limit(),
541
-                ),
542
-                'order_by' => array(
543
-                    'required' => false,
544
-                    'default'  => $default_orderby,
545
-                ),
546
-                'group_by' => array(
547
-                    'required' => false,
548
-                    'default'  => null,
549
-                ),
550
-                'having'   => array(
551
-                    'required' => false,
552
-                    'default'  => null,
553
-                ),
554
-                'caps'     => array(
555
-                    'required' => false,
556
-                    'default'  => EEM_Base::caps_read,
557
-                ),
558
-            )
559
-        );
560
-    }
561
-
562
-
563
-
564
-    /**
565
-     * Gets routes for the config
566
-     *
567
-     * @return array @see _register_model_routes
568
-     * @deprecated since version 4.9.1
569
-     */
570
-    protected function _register_config_routes()
571
-    {
572
-        $config_routes = array();
573
-        foreach (self::versions_served() as $version => $hidden_endpoint) {
574
-            $config_routes[self::ee_api_namespace . $version] = $this->_get_config_route_data_for_version($version,
575
-                $hidden_endpoint);
576
-        }
577
-        return $config_routes;
578
-    }
579
-
580
-
581
-
582
-    /**
583
-     * Gets routes for the config for the specified version
584
-     *
585
-     * @param string  $version
586
-     * @param boolean $hidden_endpoint
587
-     * @return array
588
-     */
589
-    protected function _get_config_route_data_for_version($version, $hidden_endpoint)
590
-    {
591
-        return array(
592
-            'config'    => array(
593
-                array(
594
-                    'callback'        => array(
595
-                        'EventEspresso\core\libraries\rest_api\controllers\config\Read',
596
-                        'handle_request',
597
-                    ),
598
-                    'methods'         => WP_REST_Server::READABLE,
599
-                    'hidden_endpoint' => $hidden_endpoint,
600
-                ),
601
-            ),
602
-            'site_info' => array(
603
-                array(
604
-                    'callback'        => array(
605
-                        'EventEspresso\core\libraries\rest_api\controllers\config\Read',
606
-                        'handle_request_site_info',
607
-                    ),
608
-                    'methods'         => WP_REST_Server::READABLE,
609
-                    'hidden_endpoint' => $hidden_endpoint,
610
-                ),
611
-            ),
612
-        );
613
-    }
614
-
615
-
616
-
617
-    /**
618
-     * Gets the meta info routes
619
-     *
620
-     * @return array @see _register_model_routes
621
-     * @deprecated since version 4.9.1
622
-     */
623
-    protected function _register_meta_routes()
624
-    {
625
-        $meta_routes = array();
626
-        foreach (self::versions_served() as $version => $hidden_endpoint) {
627
-            $meta_routes[self::ee_api_namespace . $version] = $this->_get_meta_route_data_for_version($version,
628
-                $hidden_endpoint);
629
-        }
630
-        return $meta_routes;
631
-    }
632
-
633
-
634
-
635
-    /**
636
-     * @param string  $version
637
-     * @param boolean $hidden_endpoint
638
-     * @return array
639
-     */
640
-    protected function _get_meta_route_data_for_version($version, $hidden_endpoint = false)
641
-    {
642
-        return array(
643
-            'resources' => array(
644
-                array(
645
-                    'callback'        => array(
646
-                        'EventEspresso\core\libraries\rest_api\controllers\model\Meta',
647
-                        'handle_request_models_meta',
648
-                    ),
649
-                    'methods'         => WP_REST_Server::READABLE,
650
-                    'hidden_endpoint' => $hidden_endpoint,
651
-                ),
652
-            ),
653
-        );
654
-    }
655
-
656
-
657
-
658
-    /**
659
-     * Tries to hide old 4.6 endpoints from the
660
-     *
661
-     * @param array $route_data
662
-     * @return array
663
-     */
664
-    public static function hide_old_endpoints($route_data)
665
-    {
666
-        //allow API clients to override which endpoints get hidden, in case
667
-        //they want to discover particular endpoints
668
-        //also, we don't have access to the request so we have to just grab it from the superglobal
669
-        $force_show_ee_namespace = ltrim(
670
-            EEH_Array::is_set($_REQUEST, 'force_show_ee_namespace', ''),
671
-            '/'
672
-        );
673
-        foreach (EED_Core_Rest_Api::get_ee_route_data() as $namespace => $relative_urls) {
674
-            foreach ($relative_urls as $endpoint => $routes) {
675
-                foreach ($routes as $route) {
676
-                    //by default, hide "hidden_endpoint"s, unless the request indicates
677
-                    //to $force_show_ee_namespace, in which case only show that one
678
-                    //namespace's endpoints (and hide all others)
679
-                    if (($route['hidden_endpoint'] && $force_show_ee_namespace === '')
680
-                        || ($force_show_ee_namespace !== '' && $force_show_ee_namespace !== $namespace)
681
-                    ) {
682
-                        $full_route = '/' . ltrim($namespace, '/') . '/' . ltrim($endpoint, '/');
683
-                        unset($route_data[$full_route]);
684
-                    }
685
-                }
686
-            }
687
-        }
688
-        return $route_data;
689
-    }
690
-
691
-
692
-
693
-    /**
694
-     * Returns an array describing which versions of core support serving requests for.
695
-     * Keys are core versions' major and minor version, and values are the
696
-     * LOWEST requested version they can serve. Eg, 4.7 can serve requests for 4.6-like
697
-     * data by just removing a few models and fields from the responses. However, 4.15 might remove
698
-     * the answers table entirely, in which case it would be very difficult for
699
-     * it to serve 4.6-style responses.
700
-     * Versions of core that are missing from this array are unknowns.
701
-     * previous ver
702
-     *
703
-     * @return array
704
-     */
705
-    public static function version_compatibilities()
706
-    {
707
-        return apply_filters(
708
-            'FHEE__EED_Core_REST_API__version_compatibilities',
709
-            array(
710
-                '4.8.29' => '4.8.29',
711
-                '4.8.33' => '4.8.29',
712
-                '4.8.34' => '4.8.29',
713
-                '4.8.36' => '4.8.29',
714
-            )
715
-        );
716
-    }
717
-
718
-
719
-
720
-    /**
721
-     * Gets the latest API version served. Eg if there
722
-     * are two versions served of the API, 4.8.29 and 4.8.32, and
723
-     * we are on core version 4.8.34, it will return the string "4.8.32"
724
-     *
725
-     * @return string
726
-     */
727
-    public static function latest_rest_api_version()
728
-    {
729
-        $versions_served = \EED_Core_Rest_Api::versions_served();
730
-        $versions_served_keys = array_keys($versions_served);
731
-        return end($versions_served_keys);
732
-    }
733
-
734
-
735
-
736
-    /**
737
-     * Using EED_Core_Rest_Api::version_compatibilities(), determines what version of
738
-     * EE the API can serve requests for. Eg, if we are on 4.15 of core, and
739
-     * we can serve requests from 4.12 or later, this will return array( '4.12', '4.13', '4.14', '4.15' ).
740
-     * We also indicate whether or not this version should be put in the index or not
741
-     *
742
-     * @return array keys are API version numbers (just major and minor numbers), and values
743
-     * are whether or not they should be hidden
744
-     */
745
-    public static function versions_served()
746
-    {
747
-        $versions_served = array();
748
-        $possibly_served_versions = EED_Core_Rest_Api::version_compatibilities();
749
-        $lowest_compatible_version = end($possibly_served_versions);
750
-        reset($possibly_served_versions);
751
-        $versions_served_historically = array_keys($possibly_served_versions);
752
-        $latest_version = end($versions_served_historically);
753
-        reset($versions_served_historically);
754
-        //for each version of core we have ever served:
755
-        foreach ($versions_served_historically as $key_versioned_endpoint) {
756
-            //if it's not above the current core version, and it's compatible with the current version of core
757
-            if ($key_versioned_endpoint == $latest_version) {
758
-                //don't hide the latest version in the index
759
-                $versions_served[$key_versioned_endpoint] = false;
760
-            } else if (
761
-                $key_versioned_endpoint < EED_Core_Rest_Api::core_version()
762
-                && $key_versioned_endpoint >= $lowest_compatible_version
763
-            ) {
764
-                //include, but hide, previous versions which are still supported
765
-                $versions_served[$key_versioned_endpoint] = true;
766
-            } elseif (
767
-            apply_filters(
768
-                'FHEE__EED_Core_Rest_Api__versions_served__include_incompatible_versions',
769
-                false,
770
-                $possibly_served_versions
771
-            )
772
-            ) {
773
-                //if a version is no longer supported, don't include it in index or list of versions served
774
-                $versions_served[$key_versioned_endpoint] = true;
775
-            }
776
-        }
777
-        return $versions_served;
778
-    }
779
-
780
-
781
-
782
-    /**
783
-     * Gets the major and minor version of EE core's version string
784
-     *
785
-     * @return string
786
-     */
787
-    public static function core_version()
788
-    {
789
-        return apply_filters('FHEE__EED_Core_REST_API__core_version',
790
-            implode('.', array_slice(explode('.', espresso_version()), 0, 3)));
791
-    }
792
-
793
-
794
-
795
-    /**
796
-     * Gets the default limit that should be used when querying for resources
797
-     *
798
-     * @return int
799
-     */
800
-    public static function get_default_query_limit()
801
-    {
802
-        //we actually don't use a const because we want folks to always use
803
-        //this method, not the const directly
804
-        return apply_filters(
805
-            'FHEE__EED_Core_Rest_Api__get_default_query_limit',
806
-            50
807
-        );
808
-    }
809
-
810
-
811
-
812
-    /**
813
-     *    run - initial module setup
814
-     *
815
-     * @access    public
816
-     * @param  WP $WP
817
-     * @return    void
818
-     */
819
-    public function run($WP)
820
-    {
821
-    }
52
+	/**
53
+	 *    set_hooks - for hooking into EE Core, other modules, etc
54
+	 *
55
+	 * @access    public
56
+	 * @return    void
57
+	 */
58
+	public static function set_hooks()
59
+	{
60
+		self::set_hooks_both();
61
+	}
62
+
63
+
64
+
65
+	/**
66
+	 *    set_hooks_admin - for hooking into EE Admin Core, other modules, etc
67
+	 *
68
+	 * @access    public
69
+	 * @return    void
70
+	 */
71
+	public static function set_hooks_admin()
72
+	{
73
+		self::set_hooks_both();
74
+	}
75
+
76
+
77
+
78
+	public static function set_hooks_both()
79
+	{
80
+		add_action('rest_api_init', array('EED_Core_Rest_Api', 'register_routes'), 10);
81
+		add_action('rest_api_init', array('EED_Core_Rest_Api', 'set_hooks_rest_api'), 5);
82
+		add_filter('rest_route_data', array('EED_Core_Rest_Api', 'hide_old_endpoints'), 10, 2);
83
+		add_filter('rest_index',
84
+			array('EventEspresso\core\libraries\rest_api\controllers\model\Meta', 'filter_ee_metadata_into_index'));
85
+		EED_Core_Rest_Api::invalidate_cached_route_data_on_version_change();
86
+	}
87
+
88
+
89
+
90
+	/**
91
+	 * sets up hooks which only need to be included as part of REST API requests;
92
+	 * other requests like to the frontend or admin etc don't need them
93
+	 */
94
+	public static function set_hooks_rest_api()
95
+	{
96
+		//set hooks which account for changes made to the API
97
+		EED_Core_Rest_Api::_set_hooks_for_changes();
98
+	}
99
+
100
+
101
+
102
+	/**
103
+	 * public wrapper of _set_hooks_for_changes.
104
+	 * Loads all the hooks which make requests to old versions of the API
105
+	 * appear the same as they always did
106
+	 */
107
+	public static function set_hooks_for_changes()
108
+	{
109
+		self::_set_hooks_for_changes();
110
+	}
111
+
112
+
113
+
114
+
115
+
116
+
117
+
118
+	/**
119
+	 * Loads all the hooks which make requests to old versions of the API
120
+	 * appear the same as they always did
121
+	 */
122
+	protected static function _set_hooks_for_changes()
123
+	{
124
+		$folder_contents = EEH_File::get_contents_of_folders(array(EE_LIBRARIES . 'rest_api' . DS . 'changes'), false);
125
+		foreach ($folder_contents as $classname_in_namespace => $filepath) {
126
+			//ignore the base parent class
127
+			if ($classname_in_namespace === 'Changes_In_Base') {
128
+				continue;
129
+			}
130
+			$full_classname = 'EventEspresso\core\libraries\rest_api\changes\\' . $classname_in_namespace;
131
+			if (class_exists($full_classname)) {
132
+				$instance_of_class = new $full_classname;
133
+				if ($instance_of_class instanceof Changes_In_Base) {
134
+					$instance_of_class->set_hooks();
135
+				}
136
+			}
137
+		}
138
+	}
139
+
140
+
141
+
142
+	/**
143
+	 * Filters the WP routes to add our EE-related ones. This takes a bit of time
144
+	 * so we actually prefer to only do it when an EE plugin is activated or upgraded
145
+	 */
146
+	public static function register_routes()
147
+	{
148
+		foreach (EED_Core_Rest_Api::get_ee_route_data() as $namespace => $relative_urls) {
149
+			foreach ($relative_urls as $endpoint => $routes) {
150
+				foreach ($routes as $route) {
151
+					$route_args = array(
152
+						array(
153
+							'callback' => $route['callback'],
154
+							'methods'  => $route['methods'],
155
+							'args'     => isset($route['args']) ? $route['args'] : array(),
156
+						)
157
+					);
158
+					if (isset($route['schema_callback'])) {
159
+						$model_name = isset($route['schema_callback'][0])
160
+							? $route['schema_callback'][0]
161
+							: '';
162
+						$version = isset( $route['schema_callback'][1])
163
+							? $route['schema_callback'][1]
164
+							: '';
165
+						if (! empty($model_name) && ! empty($version)) {
166
+							$route_args['schema'] = function () use ($model_name, $version) {
167
+								return ModelRead::handle_schema_request(
168
+									$model_name,
169
+									$version
170
+								);
171
+							};
172
+						}
173
+					}
174
+					register_rest_route(
175
+						$namespace,
176
+						$endpoint,
177
+						$route_args
178
+					);
179
+				}
180
+			}
181
+		}
182
+	}
183
+
184
+
185
+
186
+	/**
187
+	 * Checks if there was a version change or something that merits invalidating the cached
188
+	 * route data. If so, invalidates the cached route data so that it gets refreshed
189
+	 * next time the WP API is used
190
+	 */
191
+	public static function invalidate_cached_route_data_on_version_change()
192
+	{
193
+		if (EE_System::instance()->detect_req_type() != EE_System::req_type_normal) {
194
+			EED_Core_Rest_Api::invalidate_cached_route_data();
195
+		}
196
+		foreach (EE_Registry::instance()->addons as $addon) {
197
+			if ($addon instanceof EE_Addon && $addon->detect_req_type() != EE_System::req_type_normal) {
198
+				EED_Core_Rest_Api::invalidate_cached_route_data();
199
+			}
200
+		}
201
+	}
202
+
203
+
204
+
205
+	/**
206
+	 * Removes the cached route data so it will get refreshed next time the WP API is used
207
+	 */
208
+	public static function invalidate_cached_route_data()
209
+	{
210
+		//delete the saved EE REST API routes
211
+		foreach (EED_Core_Rest_Api::versions_served() as $version => $hidden) {
212
+			delete_option(EED_Core_Rest_Api::saved_routes_option_names . $version);
213
+		}
214
+	}
215
+
216
+
217
+
218
+	/**
219
+	 * Gets the EE route data
220
+	 *
221
+	 * @return array top-level key is the namespace, next-level key is the route and its value is array{
222
+	 * @type string|array $callback
223
+	 * @type string       $methods
224
+	 * @type boolean      $hidden_endpoint
225
+	 * }
226
+	 */
227
+	public static function get_ee_route_data()
228
+	{
229
+		$ee_routes = array();
230
+		foreach (self::versions_served() as $version => $hidden_endpoints) {
231
+			$ee_routes[self::ee_api_namespace . $version] = self::_get_ee_route_data_for_version($version,
232
+				$hidden_endpoints);
233
+		}
234
+		return $ee_routes;
235
+	}
236
+
237
+
238
+
239
+	/**
240
+	 * Gets the EE route data from the wp options if it exists already,
241
+	 * otherwise re-generates it and saves it to the option
242
+	 *
243
+	 * @param string  $version
244
+	 * @param boolean $hidden_endpoints
245
+	 * @return array
246
+	 */
247
+	protected static function _get_ee_route_data_for_version($version, $hidden_endpoints = false)
248
+	{
249
+		$ee_routes = get_option(self::saved_routes_option_names . $version, null);
250
+		if ( ! $ee_routes || (defined('EE_REST_API_DEBUG_MODE') && EE_REST_API_DEBUG_MODE)) {
251
+			$ee_routes = self::_save_ee_route_data_for_version($version, $hidden_endpoints);
252
+		}
253
+		return $ee_routes;
254
+	}
255
+
256
+
257
+
258
+	/**
259
+	 * Saves the EE REST API route data to a wp option and returns it
260
+	 *
261
+	 * @param string  $version
262
+	 * @param boolean $hidden_endpoints
263
+	 * @return mixed|null|void
264
+	 */
265
+	protected static function _save_ee_route_data_for_version($version, $hidden_endpoints = false)
266
+	{
267
+		$instance = self::instance();
268
+		$routes = apply_filters(
269
+			'EED_Core_Rest_Api__save_ee_route_data_for_version__routes',
270
+			array_replace_recursive(
271
+				$instance->_get_config_route_data_for_version($version, $hidden_endpoints),
272
+				$instance->_get_meta_route_data_for_version($version, $hidden_endpoints),
273
+				$instance->_get_model_route_data_for_version($version, $hidden_endpoints),
274
+				$instance->_get_rpc_route_data_for_version($version, $hidden_endpoints)
275
+			)
276
+		);
277
+		$option_name = self::saved_routes_option_names . $version;
278
+		if (get_option($option_name)) {
279
+			update_option($option_name, $routes, true);
280
+		} else {
281
+			add_option($option_name, $routes, null, 'no');
282
+		}
283
+		return $routes;
284
+	}
285
+
286
+
287
+
288
+	/**
289
+	 * Calculates all the EE routes and saves it to a wordpress option so we don't
290
+	 * need to calculate it on every request
291
+	 *
292
+	 * @deprecated since version 4.9.1
293
+	 * @return void
294
+	 */
295
+	public static function save_ee_routes()
296
+	{
297
+		if (EE_Maintenance_Mode::instance()->models_can_query()) {
298
+			$instance = self::instance();
299
+			$routes = apply_filters(
300
+				'EED_Core_Rest_Api__save_ee_routes__routes',
301
+				array_replace_recursive(
302
+					$instance->_register_config_routes(),
303
+					$instance->_register_meta_routes(),
304
+					$instance->_register_model_routes(),
305
+					$instance->_register_rpc_routes()
306
+				)
307
+			);
308
+			update_option(self::saved_routes_option_names, $routes, true);
309
+		}
310
+	}
311
+
312
+
313
+
314
+	/**
315
+	 * Gets all the route information relating to EE models
316
+	 *
317
+	 * @return array @see get_ee_route_data
318
+	 * @deprecated since version 4.9.1
319
+	 */
320
+	protected function _register_model_routes()
321
+	{
322
+		$model_routes = array();
323
+		foreach (self::versions_served() as $version => $hidden_endpoint) {
324
+			$model_routes[EED_Core_Rest_Api::ee_api_namespace
325
+						  . $version] = $this->_get_config_route_data_for_version($version, $hidden_endpoint);
326
+		}
327
+		return $model_routes;
328
+	}
329
+
330
+
331
+
332
+	/**
333
+	 * Gets the route data for EE models in the specified version
334
+	 *
335
+	 * @param string  $version
336
+	 * @param boolean $hidden_endpoint
337
+	 * @return array
338
+	 */
339
+	protected function _get_model_route_data_for_version($version, $hidden_endpoint = false)
340
+	{
341
+		$model_version_info = new Model_Version_Info($version);
342
+		$models_to_register = apply_filters(
343
+			'FHEE__EED_Core_REST_API___register_model_routes',
344
+			$model_version_info->models_for_requested_version()
345
+		);
346
+		//let's not bother having endpoints for extra metas
347
+		unset($models_to_register['Extra_Meta']);
348
+		unset($models_to_register['Extra_Join']);
349
+		$model_routes = array();
350
+		foreach ($models_to_register as $model_name => $model_classname) {
351
+			$model = \EE_Registry::instance()->load_model($model_name);
352
+
353
+			//if this isn't a valid model then let's skip iterate to the next item in the loop.
354
+			if (! $model instanceof EEM_Base) {
355
+				continue;
356
+			}
357
+
358
+			//yes we could just register one route for ALL models, but then they wouldn't show up in the index
359
+			$plural_model_route = EEH_Inflector::pluralize_and_lower($model_name);
360
+			$singular_model_route = $plural_model_route . '/(?P<id>\d+)';
361
+			$model_routes[$plural_model_route] = array(
362
+				array(
363
+					'callback'        => array(
364
+						'EventEspresso\core\libraries\rest_api\controllers\model\Read',
365
+						'handle_request_get_all',
366
+					),
367
+					'methods'         => WP_REST_Server::READABLE,
368
+					'hidden_endpoint' => $hidden_endpoint,
369
+					'args'            => $this->_get_read_query_params($model, $version),
370
+					'_links'          => array(
371
+						'self' => rest_url(EED_Core_Rest_Api::ee_api_namespace . $version . $singular_model_route),
372
+					),
373
+					'schema_callback' => array($model_name, $version)
374
+				),
375
+				//						array(
376
+				//							'callback' => array(
377
+				//								'EventEspresso\core\libraries\rest_api\controllers\model\Write',
378
+				//								'handle_request_create_one' ),
379
+				//							'methods' => WP_REST_Server::CREATABLE,
380
+				//							'hidden_endpoint' => $hidden_endpoint
381
+				//						)
382
+			);
383
+			$model_routes[$singular_model_route] = array(
384
+				array(
385
+					'callback'        => array(
386
+						'EventEspresso\core\libraries\rest_api\controllers\model\Read',
387
+						'handle_request_get_one',
388
+					),
389
+					'methods'         => WP_REST_Server::READABLE,
390
+					'hidden_endpoint' => $hidden_endpoint,
391
+					'args'            => $this->_get_response_selection_query_params($model, $version),
392
+				),
393
+				//						array(
394
+				//							'callback' => array(
395
+				//								'EventEspresso\core\libraries\rest_api\controllers\model\Write',
396
+				//								'handle_request_edit_one' ),
397
+				//							'methods' => WP_REST_Server::EDITABLE,
398
+				//							'hidden_endpoint' => $hidden_endpoint
399
+				//							),
400
+			);
401
+			//@todo: also handle  DELETE for a single item
402
+			foreach ($model_version_info->relation_settings($model) as $relation_name => $relation_obj) {
403
+				$related_model_name_endpoint_part = ModelRead::get_related_entity_name(
404
+					$relation_name,
405
+					$relation_obj
406
+				);
407
+				$model_routes[$singular_model_route . '/' . $related_model_name_endpoint_part] = array(
408
+					array(
409
+						'callback'        => array(
410
+							'EventEspresso\core\libraries\rest_api\controllers\model\Read',
411
+							'handle_request_get_related',
412
+						),
413
+						'methods'         => WP_REST_Server::READABLE,
414
+						'hidden_endpoint' => $hidden_endpoint,
415
+						'args'            => $this->_get_read_query_params($relation_obj->get_other_model(), $version),
416
+					),
417
+					//							array(
418
+					//								'callback' => array(
419
+					//									'EventEspresso\core\libraries\rest_api\controllers\model\Write',
420
+					//									'handle_request_create_or_update_related' ),
421
+					//								'methods' => WP_REST_Server::EDITABLE,
422
+					//								'hidden_endpoint' => $hidden_endpoint
423
+					//							)
424
+				);
425
+				//@todo: handle delete related and possibly remove relation (not sure hwo to distinguish)
426
+			}
427
+		}
428
+		return $model_routes;
429
+	}
430
+
431
+
432
+
433
+	/**
434
+	 * Adds all the RPC-style routes (remote procedure call-like routes, ie
435
+	 * routes that don't conform to the traditional REST CRUD-style).
436
+	 *
437
+	 * @deprecated since 4.9.1
438
+	 */
439
+	protected function _register_rpc_routes()
440
+	{
441
+		$routes = array();
442
+		foreach (self::versions_served() as $version => $hidden_endpoint) {
443
+			$routes[self::ee_api_namespace . $version] = $this->_get_rpc_route_data_for_version($version,
444
+				$hidden_endpoint);
445
+		}
446
+		return $routes;
447
+	}
448
+
449
+
450
+
451
+	/**
452
+	 * @param string  $version
453
+	 * @param boolean $hidden_endpoint
454
+	 * @return array
455
+	 */
456
+	protected function _get_rpc_route_data_for_version($version, $hidden_endpoint = false)
457
+	{
458
+		$this_versions_routes = array();
459
+		//checkin endpoint
460
+		$this_versions_routes['registrations/(?P<REG_ID>\d+)/toggle_checkin_for_datetime/(?P<DTT_ID>\d+)'] = array(
461
+			array(
462
+				'callback'        => array(
463
+					'EventEspresso\core\libraries\rest_api\controllers\rpc\Checkin',
464
+					'handle_request_toggle_checkin',
465
+				),
466
+				'methods'         => WP_REST_Server::CREATABLE,
467
+				'hidden_endpoint' => $hidden_endpoint,
468
+				'args'            => array(
469
+					'force' => array(
470
+						'required'    => false,
471
+						'default'     => false,
472
+						'description' => __('Whether to force toggle checkin, or to verify the registration status and allowed ticket uses',
473
+							'event_espresso'),
474
+					),
475
+				),
476
+			),
477
+		);
478
+		return apply_filters(
479
+			'FHEE__EED_Core_Rest_Api___register_rpc_routes__this_versions_routes',
480
+			$this_versions_routes,
481
+			$version,
482
+			$hidden_endpoint
483
+		);
484
+	}
485
+
486
+
487
+
488
+	/**
489
+	 * Gets the query params that can be used when request one or many
490
+	 *
491
+	 * @param EEM_Base $model
492
+	 * @param string   $version
493
+	 * @return array
494
+	 */
495
+	protected function _get_response_selection_query_params(\EEM_Base $model, $version)
496
+	{
497
+		return apply_filters(
498
+			'FHEE__EED_Core_Rest_Api___get_response_selection_query_params',
499
+			array(
500
+				'include'   => array(
501
+					'required' => false,
502
+					'default'  => '*',
503
+				),
504
+				'calculate' => array(
505
+					'required' => false,
506
+					'default'  => '',
507
+					'enum'     => self::$_field_calculator->retrieve_calculated_fields_for_model($model),
508
+				),
509
+			),
510
+			$model,
511
+			$version
512
+		);
513
+	}
514
+
515
+
516
+
517
+	/**
518
+	 * Gets info about reading query params that are acceptable
519
+	 *
520
+	 * @param \EEM_Base $model eg 'Event' or 'Venue'
521
+	 * @param  string   $version
522
+	 * @return array    describing the args acceptable when querying this model
523
+	 * @throws \EE_Error
524
+	 */
525
+	protected function _get_read_query_params(\EEM_Base $model, $version)
526
+	{
527
+		$default_orderby = array();
528
+		foreach ($model->get_combined_primary_key_fields() as $key_field) {
529
+			$default_orderby[$key_field->get_name()] = 'ASC';
530
+		}
531
+		return array_merge(
532
+			$this->_get_response_selection_query_params($model, $version),
533
+			array(
534
+				'where'    => array(
535
+					'required' => false,
536
+					'default'  => array(),
537
+				),
538
+				'limit'    => array(
539
+					'required' => false,
540
+					'default'  => EED_Core_Rest_Api::get_default_query_limit(),
541
+				),
542
+				'order_by' => array(
543
+					'required' => false,
544
+					'default'  => $default_orderby,
545
+				),
546
+				'group_by' => array(
547
+					'required' => false,
548
+					'default'  => null,
549
+				),
550
+				'having'   => array(
551
+					'required' => false,
552
+					'default'  => null,
553
+				),
554
+				'caps'     => array(
555
+					'required' => false,
556
+					'default'  => EEM_Base::caps_read,
557
+				),
558
+			)
559
+		);
560
+	}
561
+
562
+
563
+
564
+	/**
565
+	 * Gets routes for the config
566
+	 *
567
+	 * @return array @see _register_model_routes
568
+	 * @deprecated since version 4.9.1
569
+	 */
570
+	protected function _register_config_routes()
571
+	{
572
+		$config_routes = array();
573
+		foreach (self::versions_served() as $version => $hidden_endpoint) {
574
+			$config_routes[self::ee_api_namespace . $version] = $this->_get_config_route_data_for_version($version,
575
+				$hidden_endpoint);
576
+		}
577
+		return $config_routes;
578
+	}
579
+
580
+
581
+
582
+	/**
583
+	 * Gets routes for the config for the specified version
584
+	 *
585
+	 * @param string  $version
586
+	 * @param boolean $hidden_endpoint
587
+	 * @return array
588
+	 */
589
+	protected function _get_config_route_data_for_version($version, $hidden_endpoint)
590
+	{
591
+		return array(
592
+			'config'    => array(
593
+				array(
594
+					'callback'        => array(
595
+						'EventEspresso\core\libraries\rest_api\controllers\config\Read',
596
+						'handle_request',
597
+					),
598
+					'methods'         => WP_REST_Server::READABLE,
599
+					'hidden_endpoint' => $hidden_endpoint,
600
+				),
601
+			),
602
+			'site_info' => array(
603
+				array(
604
+					'callback'        => array(
605
+						'EventEspresso\core\libraries\rest_api\controllers\config\Read',
606
+						'handle_request_site_info',
607
+					),
608
+					'methods'         => WP_REST_Server::READABLE,
609
+					'hidden_endpoint' => $hidden_endpoint,
610
+				),
611
+			),
612
+		);
613
+	}
614
+
615
+
616
+
617
+	/**
618
+	 * Gets the meta info routes
619
+	 *
620
+	 * @return array @see _register_model_routes
621
+	 * @deprecated since version 4.9.1
622
+	 */
623
+	protected function _register_meta_routes()
624
+	{
625
+		$meta_routes = array();
626
+		foreach (self::versions_served() as $version => $hidden_endpoint) {
627
+			$meta_routes[self::ee_api_namespace . $version] = $this->_get_meta_route_data_for_version($version,
628
+				$hidden_endpoint);
629
+		}
630
+		return $meta_routes;
631
+	}
632
+
633
+
634
+
635
+	/**
636
+	 * @param string  $version
637
+	 * @param boolean $hidden_endpoint
638
+	 * @return array
639
+	 */
640
+	protected function _get_meta_route_data_for_version($version, $hidden_endpoint = false)
641
+	{
642
+		return array(
643
+			'resources' => array(
644
+				array(
645
+					'callback'        => array(
646
+						'EventEspresso\core\libraries\rest_api\controllers\model\Meta',
647
+						'handle_request_models_meta',
648
+					),
649
+					'methods'         => WP_REST_Server::READABLE,
650
+					'hidden_endpoint' => $hidden_endpoint,
651
+				),
652
+			),
653
+		);
654
+	}
655
+
656
+
657
+
658
+	/**
659
+	 * Tries to hide old 4.6 endpoints from the
660
+	 *
661
+	 * @param array $route_data
662
+	 * @return array
663
+	 */
664
+	public static function hide_old_endpoints($route_data)
665
+	{
666
+		//allow API clients to override which endpoints get hidden, in case
667
+		//they want to discover particular endpoints
668
+		//also, we don't have access to the request so we have to just grab it from the superglobal
669
+		$force_show_ee_namespace = ltrim(
670
+			EEH_Array::is_set($_REQUEST, 'force_show_ee_namespace', ''),
671
+			'/'
672
+		);
673
+		foreach (EED_Core_Rest_Api::get_ee_route_data() as $namespace => $relative_urls) {
674
+			foreach ($relative_urls as $endpoint => $routes) {
675
+				foreach ($routes as $route) {
676
+					//by default, hide "hidden_endpoint"s, unless the request indicates
677
+					//to $force_show_ee_namespace, in which case only show that one
678
+					//namespace's endpoints (and hide all others)
679
+					if (($route['hidden_endpoint'] && $force_show_ee_namespace === '')
680
+						|| ($force_show_ee_namespace !== '' && $force_show_ee_namespace !== $namespace)
681
+					) {
682
+						$full_route = '/' . ltrim($namespace, '/') . '/' . ltrim($endpoint, '/');
683
+						unset($route_data[$full_route]);
684
+					}
685
+				}
686
+			}
687
+		}
688
+		return $route_data;
689
+	}
690
+
691
+
692
+
693
+	/**
694
+	 * Returns an array describing which versions of core support serving requests for.
695
+	 * Keys are core versions' major and minor version, and values are the
696
+	 * LOWEST requested version they can serve. Eg, 4.7 can serve requests for 4.6-like
697
+	 * data by just removing a few models and fields from the responses. However, 4.15 might remove
698
+	 * the answers table entirely, in which case it would be very difficult for
699
+	 * it to serve 4.6-style responses.
700
+	 * Versions of core that are missing from this array are unknowns.
701
+	 * previous ver
702
+	 *
703
+	 * @return array
704
+	 */
705
+	public static function version_compatibilities()
706
+	{
707
+		return apply_filters(
708
+			'FHEE__EED_Core_REST_API__version_compatibilities',
709
+			array(
710
+				'4.8.29' => '4.8.29',
711
+				'4.8.33' => '4.8.29',
712
+				'4.8.34' => '4.8.29',
713
+				'4.8.36' => '4.8.29',
714
+			)
715
+		);
716
+	}
717
+
718
+
719
+
720
+	/**
721
+	 * Gets the latest API version served. Eg if there
722
+	 * are two versions served of the API, 4.8.29 and 4.8.32, and
723
+	 * we are on core version 4.8.34, it will return the string "4.8.32"
724
+	 *
725
+	 * @return string
726
+	 */
727
+	public static function latest_rest_api_version()
728
+	{
729
+		$versions_served = \EED_Core_Rest_Api::versions_served();
730
+		$versions_served_keys = array_keys($versions_served);
731
+		return end($versions_served_keys);
732
+	}
733
+
734
+
735
+
736
+	/**
737
+	 * Using EED_Core_Rest_Api::version_compatibilities(), determines what version of
738
+	 * EE the API can serve requests for. Eg, if we are on 4.15 of core, and
739
+	 * we can serve requests from 4.12 or later, this will return array( '4.12', '4.13', '4.14', '4.15' ).
740
+	 * We also indicate whether or not this version should be put in the index or not
741
+	 *
742
+	 * @return array keys are API version numbers (just major and minor numbers), and values
743
+	 * are whether or not they should be hidden
744
+	 */
745
+	public static function versions_served()
746
+	{
747
+		$versions_served = array();
748
+		$possibly_served_versions = EED_Core_Rest_Api::version_compatibilities();
749
+		$lowest_compatible_version = end($possibly_served_versions);
750
+		reset($possibly_served_versions);
751
+		$versions_served_historically = array_keys($possibly_served_versions);
752
+		$latest_version = end($versions_served_historically);
753
+		reset($versions_served_historically);
754
+		//for each version of core we have ever served:
755
+		foreach ($versions_served_historically as $key_versioned_endpoint) {
756
+			//if it's not above the current core version, and it's compatible with the current version of core
757
+			if ($key_versioned_endpoint == $latest_version) {
758
+				//don't hide the latest version in the index
759
+				$versions_served[$key_versioned_endpoint] = false;
760
+			} else if (
761
+				$key_versioned_endpoint < EED_Core_Rest_Api::core_version()
762
+				&& $key_versioned_endpoint >= $lowest_compatible_version
763
+			) {
764
+				//include, but hide, previous versions which are still supported
765
+				$versions_served[$key_versioned_endpoint] = true;
766
+			} elseif (
767
+			apply_filters(
768
+				'FHEE__EED_Core_Rest_Api__versions_served__include_incompatible_versions',
769
+				false,
770
+				$possibly_served_versions
771
+			)
772
+			) {
773
+				//if a version is no longer supported, don't include it in index or list of versions served
774
+				$versions_served[$key_versioned_endpoint] = true;
775
+			}
776
+		}
777
+		return $versions_served;
778
+	}
779
+
780
+
781
+
782
+	/**
783
+	 * Gets the major and minor version of EE core's version string
784
+	 *
785
+	 * @return string
786
+	 */
787
+	public static function core_version()
788
+	{
789
+		return apply_filters('FHEE__EED_Core_REST_API__core_version',
790
+			implode('.', array_slice(explode('.', espresso_version()), 0, 3)));
791
+	}
792
+
793
+
794
+
795
+	/**
796
+	 * Gets the default limit that should be used when querying for resources
797
+	 *
798
+	 * @return int
799
+	 */
800
+	public static function get_default_query_limit()
801
+	{
802
+		//we actually don't use a const because we want folks to always use
803
+		//this method, not the const directly
804
+		return apply_filters(
805
+			'FHEE__EED_Core_Rest_Api__get_default_query_limit',
806
+			50
807
+		);
808
+	}
809
+
810
+
811
+
812
+	/**
813
+	 *    run - initial module setup
814
+	 *
815
+	 * @access    public
816
+	 * @param  WP $WP
817
+	 * @return    void
818
+	 */
819
+	public function run($WP)
820
+	{
821
+	}
822 822
 }
823 823
 
824 824
 // End of file EED_Core_Rest_Api.module.php
Please login to merge, or discard this patch.