Completed
Branch BUG-10532-replace-hooks-for-ts (65130e)
by
unknown
28:48 queued 15:20
created
core/db_classes/EE_Registration.class.php 3 patches
Doc Comments   +4 added lines, -3 removed lines patch added patch discarded remove patch
@@ -921,7 +921,7 @@  discard block
 block discarded – undo
921 921
 	/**
922 922
 	 * Sets deleted
923 923
 	 * @param boolean $deleted
924
-	 * @return boolean
924
+	 * @return boolean|null
925 925
 	 */
926 926
 	public function set_deleted($deleted) {
927 927
 	    if ( $deleted ) {
@@ -969,6 +969,7 @@  discard block
 block discarded – undo
969 969
 	 *
970 970
 	 * @param int | EE_Datetime $DTT_OR_ID The datetime the registration is being checked against
971 971
 	 * @param bool   $check_approved   This is used to indicate whether the caller wants can_checkin to also consider registration status as well as datetime access.
972
+	 * @param integer $DTT_OR_ID
972 973
 	 *
973 974
 	 * @return bool
974 975
 	 */
@@ -1107,7 +1108,7 @@  discard block
 block discarded – undo
1107 1108
      * Returns the latest datetime related to this registration (via the ticket attached to the registration).
1108 1109
      * "Latest" is defined by the `DTT_EVT_start` column.
1109 1110
      *
1110
-     * @return EE_Datetime|null
1111
+     * @return null|EE_Base_Class
1111 1112
      * @throws \EE_Error
1112 1113
      */
1113 1114
 	public function get_latest_related_datetime() {
@@ -1378,7 +1379,7 @@  discard block
 block discarded – undo
1378 1379
 	 * This grabs the payment method corresponding to the last payment made for the amount owing on the registration.
1379 1380
 	 * Note: if there are no payments on the registration there will be no payment method returned.
1380 1381
 	 *
1381
-	 * @return EE_Payment_Method|null
1382
+	 * @return null|EE_Base_Class
1382 1383
 	 */
1383 1384
 	public function payment_method() {
1384 1385
 		return EEM_Payment_Method::instance()->get_last_used_for_registration( $this );
Please login to merge, or discard this patch.
Indentation   +242 added lines, -242 removed lines patch added patch discarded remove patch
@@ -35,7 +35,7 @@  discard block
 block discarded – undo
35 35
 
36 36
 	/**
37 37
 	 * extra meta key for tracking reg status os trashed registrations
38
-     *
38
+	 *
39 39
 	 * @type string
40 40
 	 */
41 41
 	const PRE_TRASH_REG_STATUS_KEY = 'pre_trash_registration_status';
@@ -43,7 +43,7 @@  discard block
 block discarded – undo
43 43
 
44 44
 	/**
45 45
 	 * extra meta key for tracking if registration has reserved ticket
46
-     *
46
+	 *
47 47
 	 * @type string
48 48
 	 */
49 49
 	const HAS_RESERVED_TICKET_KEY = 'has_reserved_ticket';
@@ -89,15 +89,15 @@  discard block
 block discarded – undo
89 89
 
90 90
 
91 91
 
92
-    /**
93
-     * Overrides parent set() method so that all calls to set( 'REG_code', $REG_code ) OR set( 'STS_ID', $STS_ID ) can be routed to internal methods
94
-     *
95
-     * @param string $field_name
96
-     * @param mixed  $field_value
97
-     * @param bool   $use_default
98
-     * @throws \EE_Error
99
-     * @throws \RuntimeException
100
-     */
92
+	/**
93
+	 * Overrides parent set() method so that all calls to set( 'REG_code', $REG_code ) OR set( 'STS_ID', $STS_ID ) can be routed to internal methods
94
+	 *
95
+	 * @param string $field_name
96
+	 * @param mixed  $field_value
97
+	 * @param bool   $use_default
98
+	 * @throws \EE_Error
99
+	 * @throws \RuntimeException
100
+	 */
101 101
 	public function set( $field_name, $field_value, $use_default = FALSE ) {
102 102
 		switch( $field_name ) {
103 103
 			case 'REG_code' :
@@ -115,18 +115,18 @@  discard block
 block discarded – undo
115 115
 
116 116
 
117 117
 
118
-    /**
119
-     * Set Status ID
120
-     * updates the registration status and ALSO...
121
-     * calls reserve_registration_space() if the reg status changes TO approved from any other reg status
122
-     * calls release_registration_space() if the reg status changes FROM approved to any other reg status
123
-     *
124
-     * @param string  $new_STS_ID
125
-     * @param boolean $use_default
126
-     * @return bool
127
-     * @throws \RuntimeException
128
-     * @throws \EE_Error
129
-     */
118
+	/**
119
+	 * Set Status ID
120
+	 * updates the registration status and ALSO...
121
+	 * calls reserve_registration_space() if the reg status changes TO approved from any other reg status
122
+	 * calls release_registration_space() if the reg status changes FROM approved to any other reg status
123
+	 *
124
+	 * @param string  $new_STS_ID
125
+	 * @param boolean $use_default
126
+	 * @return bool
127
+	 * @throws \RuntimeException
128
+	 * @throws \EE_Error
129
+	 */
130 130
 	public function set_status( $new_STS_ID = NULL, $use_default = FALSE ) {
131 131
 		// get current REG_Status
132 132
 		$old_STS_ID = $this->status_ID();
@@ -137,7 +137,7 @@  discard block
 block discarded – undo
137 137
 			&& ! empty( $new_STS_ID ) // as well as the new status
138 138
 			&& $this->ID() // ensure registration is in the db
139 139
 		) {
140
-            // TO approved
140
+			// TO approved
141 141
 			if ( $new_STS_ID === EEM_Registration::status_id_approved ) {
142 142
 				// reserve a space by incrementing ticket and datetime sold values
143 143
 				$this->_reserve_registration_space();
@@ -148,12 +148,12 @@  discard block
 block discarded – undo
148 148
 				$this->_release_registration_space();
149 149
 				do_action( 'AHEE__EE_Registration__set_status__from_approved', $this, $old_STS_ID, $new_STS_ID );
150 150
 			}
151
-            // update status
152
-            parent::set('STS_ID', $new_STS_ID, $use_default);
153
-            $this->_update_if_canceled_or_declined($new_STS_ID, $old_STS_ID);
154
-            /** @type EE_Transaction_Payments $transaction_payments */
155
-            $transaction_payments = EE_Registry::instance()->load_class('Transaction_Payments');
156
-            $transaction_payments->recalculate_transaction_total( $this->transaction(), false );
151
+			// update status
152
+			parent::set('STS_ID', $new_STS_ID, $use_default);
153
+			$this->_update_if_canceled_or_declined($new_STS_ID, $old_STS_ID);
154
+			/** @type EE_Transaction_Payments $transaction_payments */
155
+			$transaction_payments = EE_Registry::instance()->load_class('Transaction_Payments');
156
+			$transaction_payments->recalculate_transaction_total( $this->transaction(), false );
157 157
 			$this->transaction()->update_status_based_on_total_paid( true );
158 158
 			do_action( 'AHEE__EE_Registration__set_status__after_update', $this );
159 159
 			return TRUE;
@@ -167,60 +167,60 @@  discard block
 block discarded – undo
167 167
 
168 168
 
169 169
 
170
-    /**
171
-     * update REGs and TXN when cancelled or declined registrations involved
172
-     *
173
-     * @param string $new_STS_ID
174
-     * @param string $old_STS_ID
175
-     * @throws \EE_Error
176
-     */
177
-    private function _update_if_canceled_or_declined($new_STS_ID, $old_STS_ID)
178
-    {
179
-        // these reg statuses should not be considered in any calculations involving monies owing
180
-        $closed_reg_statuses = EEM_Registration::closed_reg_statuses();
181
-        // true if registration has been cancelled or declined
182
-        if (
183
-            in_array($new_STS_ID, $closed_reg_statuses, true)
184
-            && ! in_array($old_STS_ID, $closed_reg_statuses, true)
185
-        ) {
186
-            /** @type EE_Registration_Processor $registration_processor */
187
-            $registration_processor = EE_Registry::instance()->load_class('Registration_Processor');
188
-            /** @type EE_Transaction_Processor $transaction_processor */
189
-            $transaction_processor = EE_Registry::instance()->load_class('Transaction_Processor');
190
-            // cancelled or declined registration
191
-            $registration_processor->update_registration_after_being_canceled_or_declined(
192
-                $this,
193
-                $closed_reg_statuses
194
-            );
195
-            $transaction_processor->update_transaction_after_canceled_or_declined_registration(
196
-                $this,
197
-                $closed_reg_statuses,
198
-                false
199
-            );
200
-            do_action('AHEE__EE_Registration__set_status__canceled_or_declined', $this, $old_STS_ID, $new_STS_ID);
201
-            return;
202
-        }
203
-        // true if reinstating cancelled or declined registration
204
-        if (
205
-            in_array($old_STS_ID, $closed_reg_statuses, true)
206
-            && ! in_array($new_STS_ID, $closed_reg_statuses, true)
207
-        ) {
208
-            /** @type EE_Registration_Processor $registration_processor */
209
-            $registration_processor = EE_Registry::instance()->load_class('Registration_Processor');
210
-            /** @type EE_Transaction_Processor $transaction_processor */
211
-            $transaction_processor = EE_Registry::instance()->load_class('Transaction_Processor');
212
-            // reinstating cancelled or declined registration
213
-            $registration_processor->update_canceled_or_declined_registration_after_being_reinstated(
214
-                $this,
215
-                $closed_reg_statuses
216
-            );
217
-            $transaction_processor->update_transaction_after_reinstating_canceled_registration(
218
-                $this,
219
-                $closed_reg_statuses,
220
-                false
221
-            );
222
-            do_action('AHEE__EE_Registration__set_status__after_reinstated', $this, $old_STS_ID, $new_STS_ID);
223
-        }
170
+	/**
171
+	 * update REGs and TXN when cancelled or declined registrations involved
172
+	 *
173
+	 * @param string $new_STS_ID
174
+	 * @param string $old_STS_ID
175
+	 * @throws \EE_Error
176
+	 */
177
+	private function _update_if_canceled_or_declined($new_STS_ID, $old_STS_ID)
178
+	{
179
+		// these reg statuses should not be considered in any calculations involving monies owing
180
+		$closed_reg_statuses = EEM_Registration::closed_reg_statuses();
181
+		// true if registration has been cancelled or declined
182
+		if (
183
+			in_array($new_STS_ID, $closed_reg_statuses, true)
184
+			&& ! in_array($old_STS_ID, $closed_reg_statuses, true)
185
+		) {
186
+			/** @type EE_Registration_Processor $registration_processor */
187
+			$registration_processor = EE_Registry::instance()->load_class('Registration_Processor');
188
+			/** @type EE_Transaction_Processor $transaction_processor */
189
+			$transaction_processor = EE_Registry::instance()->load_class('Transaction_Processor');
190
+			// cancelled or declined registration
191
+			$registration_processor->update_registration_after_being_canceled_or_declined(
192
+				$this,
193
+				$closed_reg_statuses
194
+			);
195
+			$transaction_processor->update_transaction_after_canceled_or_declined_registration(
196
+				$this,
197
+				$closed_reg_statuses,
198
+				false
199
+			);
200
+			do_action('AHEE__EE_Registration__set_status__canceled_or_declined', $this, $old_STS_ID, $new_STS_ID);
201
+			return;
202
+		}
203
+		// true if reinstating cancelled or declined registration
204
+		if (
205
+			in_array($old_STS_ID, $closed_reg_statuses, true)
206
+			&& ! in_array($new_STS_ID, $closed_reg_statuses, true)
207
+		) {
208
+			/** @type EE_Registration_Processor $registration_processor */
209
+			$registration_processor = EE_Registry::instance()->load_class('Registration_Processor');
210
+			/** @type EE_Transaction_Processor $transaction_processor */
211
+			$transaction_processor = EE_Registry::instance()->load_class('Transaction_Processor');
212
+			// reinstating cancelled or declined registration
213
+			$registration_processor->update_canceled_or_declined_registration_after_being_reinstated(
214
+				$this,
215
+				$closed_reg_statuses
216
+			);
217
+			$transaction_processor->update_transaction_after_reinstating_canceled_registration(
218
+				$this,
219
+				$closed_reg_statuses,
220
+				false
221
+			);
222
+			do_action('AHEE__EE_Registration__set_status__after_reinstated', $this, $old_STS_ID, $new_STS_ID);
223
+		}
224 224
 	}
225 225
 
226 226
 
@@ -233,16 +233,16 @@  discard block
 block discarded – undo
233 233
 
234 234
 
235 235
 
236
-    /**
237
-     * increments this registration's related ticket sold and corresponding datetime sold values
238
-     *
239
-     * @return void
240
-     * @throws \EE_Error
241
-     */
236
+	/**
237
+	 * increments this registration's related ticket sold and corresponding datetime sold values
238
+	 *
239
+	 * @return void
240
+	 * @throws \EE_Error
241
+	 */
242 242
 	private function _reserve_registration_space() {
243
-	    // reserved ticket and datetime counts will be decremented as sold counts are incremented
244
-        // so stop tracking that this reg has a ticket reserved
245
-	    $this->release_reserved_ticket();
243
+		// reserved ticket and datetime counts will be decremented as sold counts are incremented
244
+		// so stop tracking that this reg has a ticket reserved
245
+		$this->release_reserved_ticket();
246 246
 		$ticket = $this->ticket();
247 247
 		$ticket->increase_sold();
248 248
 		$ticket->save();
@@ -252,13 +252,13 @@  discard block
 block discarded – undo
252 252
 
253 253
 
254 254
 
255
-    /**
256
-     * Gets the ticket this registration is for
257
-     *
258
-     * @param boolean $include_archived whether to include archived tickets or not.
259
-     * @return EE_Ticket|EE_Base_Class
260
-     * @throws \EE_Error
261
-     */
255
+	/**
256
+	 * Gets the ticket this registration is for
257
+	 *
258
+	 * @param boolean $include_archived whether to include archived tickets or not.
259
+	 * @return EE_Ticket|EE_Base_Class
260
+	 * @throws \EE_Error
261
+	 */
262 262
 	public function ticket( $include_archived = TRUE ) {
263 263
 		$query_params = array();
264 264
 		if ( $include_archived ) {
@@ -300,12 +300,12 @@  discard block
 block discarded – undo
300 300
 
301 301
 
302 302
 
303
-    /**
304
-     * decrements (subtracts) this registration's related ticket sold and corresponding datetime sold values
305
-     *
306
-     * @return void
307
-     * @throws \EE_Error
308
-     */
303
+	/**
304
+	 * decrements (subtracts) this registration's related ticket sold and corresponding datetime sold values
305
+	 *
306
+	 * @return void
307
+	 * @throws \EE_Error
308
+	 */
309 309
 	private function _release_registration_space() {
310 310
 		$ticket = $this->ticket();
311 311
 		$ticket->decrease_sold();
@@ -314,46 +314,46 @@  discard block
 block discarded – undo
314 314
 
315 315
 
316 316
 
317
-    /**
318
-     * tracks this registration's ticket reservation in extra meta
319
-     * and can increment related ticket reserved and corresponding datetime reserved values
320
-     *
321
-     * @param bool $update_ticket if true, will increment ticket and datetime reserved count
322
-     * @return void
323
-     * @throws \EE_Error
324
-     */
317
+	/**
318
+	 * tracks this registration's ticket reservation in extra meta
319
+	 * and can increment related ticket reserved and corresponding datetime reserved values
320
+	 *
321
+	 * @param bool $update_ticket if true, will increment ticket and datetime reserved count
322
+	 * @return void
323
+	 * @throws \EE_Error
324
+	 */
325 325
 	public function reserve_ticket($update_ticket = false) {
326
-        if ($this->get_extra_meta(EE_Registration::HAS_RESERVED_TICKET_KEY, true, false) === false) {
327
-            // PLZ NOTE: although checking $update_ticket first would be more efficient,
328
-            // we NEED to ALWAYS call update_extra_meta(), which is why that is done first
329
-            if ($this->update_extra_meta(EE_Registration::HAS_RESERVED_TICKET_KEY, true, false) && $update_ticket) {
330
-                $ticket = $this->ticket();
331
-                $ticket->increase_reserved();
332
-                $ticket->save();
333
-            }
334
-        }
326
+		if ($this->get_extra_meta(EE_Registration::HAS_RESERVED_TICKET_KEY, true, false) === false) {
327
+			// PLZ NOTE: although checking $update_ticket first would be more efficient,
328
+			// we NEED to ALWAYS call update_extra_meta(), which is why that is done first
329
+			if ($this->update_extra_meta(EE_Registration::HAS_RESERVED_TICKET_KEY, true, false) && $update_ticket) {
330
+				$ticket = $this->ticket();
331
+				$ticket->increase_reserved();
332
+				$ticket->save();
333
+			}
334
+		}
335 335
 	}
336 336
 
337 337
 
338 338
 
339
-    /**
340
-     * stops tracking this registration's ticket reservation in extra meta
341
-     * decrements (subtracts) related ticket reserved and corresponding datetime reserved values
342
-     *
343
-     * @param bool $update_ticket if true, will decrement ticket and datetime reserved count
344
-     * @return void
345
-     * @throws \EE_Error
346
-     */
347
-    public function release_reserved_ticket($update_ticket = false) {
348
-        if ($this->get_extra_meta(EE_Registration::HAS_RESERVED_TICKET_KEY, true, false) !== false) {
349
-            // PLZ NOTE: although checking $update_ticket first would be more efficient,
350
-            // we NEED to ALWAYS call delete_extra_meta(), which is why that is done first
351
-            if ($this->delete_extra_meta(EE_Registration::HAS_RESERVED_TICKET_KEY) && $update_ticket) {
352
-                $ticket = $this->ticket();
353
-                $ticket->decrease_reserved();
354
-                $ticket->save();
355
-            }
356
-        }
339
+	/**
340
+	 * stops tracking this registration's ticket reservation in extra meta
341
+	 * decrements (subtracts) related ticket reserved and corresponding datetime reserved values
342
+	 *
343
+	 * @param bool $update_ticket if true, will decrement ticket and datetime reserved count
344
+	 * @return void
345
+	 * @throws \EE_Error
346
+	 */
347
+	public function release_reserved_ticket($update_ticket = false) {
348
+		if ($this->get_extra_meta(EE_Registration::HAS_RESERVED_TICKET_KEY, true, false) !== false) {
349
+			// PLZ NOTE: although checking $update_ticket first would be more efficient,
350
+			// we NEED to ALWAYS call delete_extra_meta(), which is why that is done first
351
+			if ($this->delete_extra_meta(EE_Registration::HAS_RESERVED_TICKET_KEY) && $update_ticket) {
352
+				$ticket = $this->ticket();
353
+				$ticket->decrease_reserved();
354
+				$ticket->save();
355
+			}
356
+		}
357 357
 	}
358 358
 
359 359
 
@@ -742,9 +742,9 @@  discard block
 block discarded – undo
742 742
 
743 743
 
744 744
 	/**
745
-	*		get  Attendee Number
746
-	* 		@access		public
747
-	*/
745
+	 *		get  Attendee Number
746
+	 * 		@access		public
747
+	 */
748 748
 	public function count() {
749 749
 		return $this->get( 'REG_count' );
750 750
 	}
@@ -1021,11 +1021,11 @@  discard block
 block discarded – undo
1021 1021
 	 * @return boolean
1022 1022
 	 */
1023 1023
 	public function set_deleted($deleted) {
1024
-	    if ( $deleted ) {
1025
-	        $this->delete();
1026
-        } else {
1027
-	        $this->restore();
1028
-        }
1024
+		if ( $deleted ) {
1025
+			$this->delete();
1026
+		} else {
1027
+			$this->restore();
1028
+		}
1029 1029
 	}
1030 1030
 
1031 1031
 
@@ -1130,20 +1130,20 @@  discard block
 block discarded – undo
1130 1130
 
1131 1131
 
1132 1132
 
1133
-    /**
1134
-     * toggle Check-in status for this registration
1135
-     * Check-ins are toggled in the following order:
1136
-     * never checked in -> checked in
1137
-     * checked in -> checked out
1138
-     * checked out -> checked in
1139
-     *
1140
-     * @param  int $DTT_ID  include specific datetime to toggle Check-in for.
1141
-     *                      If not included or null, then it is assumed latest datetime is being toggled.
1142
-     * @param bool $verify  If true then can_checkin() is used to verify whether the person
1143
-     *                      can be checked in or not.  Otherwise this forces change in checkin status.
1144
-     * @return bool|int     the chk_in status toggled to OR false if nothing got changed.
1145
-     * @throws EE_Error
1146
-     */
1133
+	/**
1134
+	 * toggle Check-in status for this registration
1135
+	 * Check-ins are toggled in the following order:
1136
+	 * never checked in -> checked in
1137
+	 * checked in -> checked out
1138
+	 * checked out -> checked in
1139
+	 *
1140
+	 * @param  int $DTT_ID  include specific datetime to toggle Check-in for.
1141
+	 *                      If not included or null, then it is assumed latest datetime is being toggled.
1142
+	 * @param bool $verify  If true then can_checkin() is used to verify whether the person
1143
+	 *                      can be checked in or not.  Otherwise this forces change in checkin status.
1144
+	 * @return bool|int     the chk_in status toggled to OR false if nothing got changed.
1145
+	 * @throws EE_Error
1146
+	 */
1147 1147
 	public function toggle_checkin_status( $DTT_ID = null, $verify = false ) {
1148 1148
 		if ( empty( $DTT_ID ) ) {
1149 1149
 			$datetime = $this->get_latest_related_datetime();
@@ -1200,13 +1200,13 @@  discard block
 block discarded – undo
1200 1200
 
1201 1201
 
1202 1202
 
1203
-    /**
1204
-     * Returns the latest datetime related to this registration (via the ticket attached to the registration).
1205
-     * "Latest" is defined by the `DTT_EVT_start` column.
1206
-     *
1207
-     * @return EE_Datetime|null
1208
-     * @throws \EE_Error
1209
-     */
1203
+	/**
1204
+	 * Returns the latest datetime related to this registration (via the ticket attached to the registration).
1205
+	 * "Latest" is defined by the `DTT_EVT_start` column.
1206
+	 *
1207
+	 * @return EE_Datetime|null
1208
+	 * @throws \EE_Error
1209
+	 */
1210 1210
 	public function get_latest_related_datetime() {
1211 1211
 		return EEM_Datetime::instance()->get_one(
1212 1212
 			array(
@@ -1220,12 +1220,12 @@  discard block
 block discarded – undo
1220 1220
 
1221 1221
 
1222 1222
 
1223
-    /**
1224
-     * Returns the earliest datetime related to this registration (via the ticket attached to the registration).
1225
-     * "Earliest" is defined by the `DTT_EVT_start` column.
1226
-     *
1227
-     * @throws \EE_Error
1228
-     */
1223
+	/**
1224
+	 * Returns the earliest datetime related to this registration (via the ticket attached to the registration).
1225
+	 * "Earliest" is defined by the `DTT_EVT_start` column.
1226
+	 *
1227
+	 * @throws \EE_Error
1228
+	 */
1229 1229
 	public function get_earliest_related_datetime() {
1230 1230
 		return EEM_Datetime::instance()->get_one(
1231 1231
 			array(
@@ -1239,18 +1239,18 @@  discard block
 block discarded – undo
1239 1239
 
1240 1240
 
1241 1241
 
1242
-    /**
1243
-     * This method simply returns the check-in status for this registration and the given datetime.
1244
-     * If neither the datetime nor the checkin values are provided as arguments,
1245
-     * then this will return the LATEST check-in status for the registration across all datetimes it belongs to.
1246
-     *
1247
-     * @param  int $DTT_ID        The ID of the datetime we're checking against
1248
-     *                            (if empty we'll get the primary datetime for
1249
-     *                            this registration (via event) and use it's ID);
1250
-     * @param EE_Checkin $checkin If present, we use the given checkin object rather than the dtt_id.
1251
-     * @return int                Integer representing Check-in status.
1252
-     * @throws \EE_Error
1253
-     */
1242
+	/**
1243
+	 * This method simply returns the check-in status for this registration and the given datetime.
1244
+	 * If neither the datetime nor the checkin values are provided as arguments,
1245
+	 * then this will return the LATEST check-in status for the registration across all datetimes it belongs to.
1246
+	 *
1247
+	 * @param  int $DTT_ID        The ID of the datetime we're checking against
1248
+	 *                            (if empty we'll get the primary datetime for
1249
+	 *                            this registration (via event) and use it's ID);
1250
+	 * @param EE_Checkin $checkin If present, we use the given checkin object rather than the dtt_id.
1251
+	 * @return int                Integer representing Check-in status.
1252
+	 * @throws \EE_Error
1253
+	 */
1254 1254
 	public function check_in_status_for_datetime( $DTT_ID = 0, $checkin = null ) {
1255 1255
 		$checkin_query_params = array(
1256 1256
 			'order_by' => array( 'CHK_timestamp' => 'DESC' )
@@ -1262,8 +1262,8 @@  discard block
 block discarded – undo
1262 1262
 
1263 1263
 		//get checkin object (if exists)
1264 1264
 		$checkin = $checkin instanceof EE_Checkin
1265
-            ? $checkin
1266
-            : $this->get_first_related( 'Checkin', $checkin_query_params );
1265
+			? $checkin
1266
+			: $this->get_first_related( 'Checkin', $checkin_query_params );
1267 1267
 		if ( $checkin instanceof EE_Checkin ) {
1268 1268
 			if ( $checkin->get( 'CHK_in' ) ) {
1269 1269
 				return EE_Registration::checkin_status_in; //checked in
@@ -1516,46 +1516,46 @@  discard block
 block discarded – undo
1516 1516
 
1517 1517
 
1518 1518
 
1519
-    /**
1520
-     * Soft Deletes this model object.
1521
-     *
1522
-     * @return boolean | int
1523
-     * @throws \RuntimeException
1524
-     * @throws \EE_Error
1525
-     */
1526
-    public function delete()
1527
-    {
1528
-        if($this->update_extra_meta(EE_Registration::PRE_TRASH_REG_STATUS_KEY, $this->status_ID()) === true) {
1529
-            $this->set_status(EEM_Registration::status_id_cancelled);
1530
-        }
1531
-        return parent::delete();
1532
-    }
1519
+	/**
1520
+	 * Soft Deletes this model object.
1521
+	 *
1522
+	 * @return boolean | int
1523
+	 * @throws \RuntimeException
1524
+	 * @throws \EE_Error
1525
+	 */
1526
+	public function delete()
1527
+	{
1528
+		if($this->update_extra_meta(EE_Registration::PRE_TRASH_REG_STATUS_KEY, $this->status_ID()) === true) {
1529
+			$this->set_status(EEM_Registration::status_id_cancelled);
1530
+		}
1531
+		return parent::delete();
1532
+	}
1533 1533
 
1534 1534
 
1535 1535
 
1536
-    /**
1537
-     * Restores whatever the previous status was on a registration before it was trashed (if possible)
1538
-     *
1539
-     * @throws \EE_Error
1540
-     * @throws \RuntimeException
1541
-     */
1542
-    public function restore()
1543
-    {
1544
-        $previous_status = $this->get_extra_meta(
1545
-            EE_Registration::PRE_TRASH_REG_STATUS_KEY,
1546
-            true,
1547
-            EEM_Registration::status_id_cancelled
1548
-        );
1549
-        if ($previous_status) {
1550
-            $this->delete_extra_meta(EE_Registration::PRE_TRASH_REG_STATUS_KEY);
1551
-            $this->set_status($previous_status);
1552
-        }
1553
-        return parent::restore();
1554
-    }
1536
+	/**
1537
+	 * Restores whatever the previous status was on a registration before it was trashed (if possible)
1538
+	 *
1539
+	 * @throws \EE_Error
1540
+	 * @throws \RuntimeException
1541
+	 */
1542
+	public function restore()
1543
+	{
1544
+		$previous_status = $this->get_extra_meta(
1545
+			EE_Registration::PRE_TRASH_REG_STATUS_KEY,
1546
+			true,
1547
+			EEM_Registration::status_id_cancelled
1548
+		);
1549
+		if ($previous_status) {
1550
+			$this->delete_extra_meta(EE_Registration::PRE_TRASH_REG_STATUS_KEY);
1551
+			$this->set_status($previous_status);
1552
+		}
1553
+		return parent::restore();
1554
+	}
1555 1555
 
1556 1556
 
1557 1557
 
1558
-    /*************************** DEPRECATED ***************************/
1558
+	/*************************** DEPRECATED ***************************/
1559 1559
 
1560 1560
 
1561 1561
 
@@ -1605,24 +1605,24 @@  discard block
 block discarded – undo
1605 1605
 
1606 1606
 
1607 1607
 
1608
-    /**
1609
-     * Gets the primary datetime related to this registration via the related Event to this registration
1610
-     *
1611
-     * @deprecated 4.9.17
1612
-     * @return EE_Datetime
1613
-     */
1614
-    public function get_related_primary_datetime() {
1615
-        EE_Error::doing_it_wrong(
1616
-            __METHOD__,
1617
-            esc_html__(
1618
-                'Use EE_Registration::get_latest_related_datetime() or EE_Registration::get_earliest_related_datetime()',
1619
-                'event_espresso'
1620
-            ),
1621
-            '4.9.17',
1622
-            '5.0.0'
1623
-        );
1624
-        return $this->event()->primary_datetime();
1625
-    }
1608
+	/**
1609
+	 * Gets the primary datetime related to this registration via the related Event to this registration
1610
+	 *
1611
+	 * @deprecated 4.9.17
1612
+	 * @return EE_Datetime
1613
+	 */
1614
+	public function get_related_primary_datetime() {
1615
+		EE_Error::doing_it_wrong(
1616
+			__METHOD__,
1617
+			esc_html__(
1618
+				'Use EE_Registration::get_latest_related_datetime() or EE_Registration::get_earliest_related_datetime()',
1619
+				'event_espresso'
1620
+			),
1621
+			'4.9.17',
1622
+			'5.0.0'
1623
+		);
1624
+		return $this->event()->primary_datetime();
1625
+	}
1626 1626
 
1627 1627
 
1628 1628
 
Please login to merge, or discard this patch.
Spacing   +186 added lines, -186 removed lines patch added patch discarded remove patch
@@ -1,7 +1,7 @@  discard block
 block discarded – undo
1 1
 <?php use EventEspresso\core\exceptions\EntityNotFoundException;
2 2
 
3
-if ( !defined( 'EVENT_ESPRESSO_VERSION' ) ) {
4
-	exit( 'No direct script access allowed' );
3
+if ( ! defined('EVENT_ESPRESSO_VERSION')) {
4
+	exit('No direct script access allowed');
5 5
 }
6 6
 /**
7 7
  * EE_Registration class
@@ -59,9 +59,9 @@  discard block
 block discarded – undo
59 59
 	 *                             		    date_format and the second value is the time format
60 60
 	 * @return EE_Registration
61 61
 	 */
62
-	public static function new_instance( $props_n_values = array(), $timezone = null, $date_formats = array() ) {
63
-		$has_object = parent::_check_for_object( $props_n_values, __CLASS__, $timezone, $date_formats );
64
-		return $has_object ? $has_object : new self( $props_n_values, false, $timezone, $date_formats );
62
+	public static function new_instance($props_n_values = array(), $timezone = null, $date_formats = array()) {
63
+		$has_object = parent::_check_for_object($props_n_values, __CLASS__, $timezone, $date_formats);
64
+		return $has_object ? $has_object : new self($props_n_values, false, $timezone, $date_formats);
65 65
 	}
66 66
 
67 67
 
@@ -72,8 +72,8 @@  discard block
 block discarded – undo
72 72
 	 *                          		the website will be used.
73 73
 	 * @return EE_Registration
74 74
 	 */
75
-	public static function new_instance_from_db( $props_n_values = array(), $timezone = null ) {
76
-		return new self( $props_n_values, TRUE, $timezone );
75
+	public static function new_instance_from_db($props_n_values = array(), $timezone = null) {
76
+		return new self($props_n_values, TRUE, $timezone);
77 77
 	}
78 78
 
79 79
 
@@ -83,8 +83,8 @@  discard block
 block discarded – undo
83 83
 	 *
84 84
 	 * @param        int $EVT_ID Event ID
85 85
 	 */
86
-	public function set_event( $EVT_ID = 0 ) {
87
-		$this->set( 'EVT_ID', $EVT_ID );
86
+	public function set_event($EVT_ID = 0) {
87
+		$this->set('EVT_ID', $EVT_ID);
88 88
 	}
89 89
 
90 90
 
@@ -98,18 +98,18 @@  discard block
 block discarded – undo
98 98
      * @throws \EE_Error
99 99
      * @throws \RuntimeException
100 100
      */
101
-	public function set( $field_name, $field_value, $use_default = FALSE ) {
102
-		switch( $field_name ) {
101
+	public function set($field_name, $field_value, $use_default = FALSE) {
102
+		switch ($field_name) {
103 103
 			case 'REG_code' :
104
-				if ( ! empty( $field_value ) && $this->reg_code() === null ) {
105
-					$this->set_reg_code( $field_value, $use_default );
104
+				if ( ! empty($field_value) && $this->reg_code() === null) {
105
+					$this->set_reg_code($field_value, $use_default);
106 106
 				}
107 107
 				break;
108 108
 			case 'STS_ID' :
109
-				$this->set_status( $field_value, $use_default );
109
+				$this->set_status($field_value, $use_default);
110 110
 				break;
111 111
 			default :
112
-				parent::set( $field_name, $field_value, $use_default );
112
+				parent::set($field_name, $field_value, $use_default);
113 113
 		}
114 114
 	}
115 115
 
@@ -127,40 +127,40 @@  discard block
 block discarded – undo
127 127
      * @throws \RuntimeException
128 128
      * @throws \EE_Error
129 129
      */
130
-	public function set_status( $new_STS_ID = NULL, $use_default = FALSE ) {
130
+	public function set_status($new_STS_ID = NULL, $use_default = FALSE) {
131 131
 		// get current REG_Status
132 132
 		$old_STS_ID = $this->status_ID();
133 133
 		// if status has changed
134 134
 		if (
135 135
 			$old_STS_ID !== $new_STS_ID // and that status has actually changed
136
-			&& ! empty( $old_STS_ID ) // and that old status is actually set
137
-			&& ! empty( $new_STS_ID ) // as well as the new status
136
+			&& ! empty($old_STS_ID) // and that old status is actually set
137
+			&& ! empty($new_STS_ID) // as well as the new status
138 138
 			&& $this->ID() // ensure registration is in the db
139 139
 		) {
140 140
             // TO approved
141
-			if ( $new_STS_ID === EEM_Registration::status_id_approved ) {
141
+			if ($new_STS_ID === EEM_Registration::status_id_approved) {
142 142
 				// reserve a space by incrementing ticket and datetime sold values
143 143
 				$this->_reserve_registration_space();
144
-				do_action( 'AHEE__EE_Registration__set_status__to_approved', $this, $old_STS_ID, $new_STS_ID );
144
+				do_action('AHEE__EE_Registration__set_status__to_approved', $this, $old_STS_ID, $new_STS_ID);
145 145
 			// OR FROM  approved
146
-			} else if ( $old_STS_ID === EEM_Registration::status_id_approved ) {
146
+			} else if ($old_STS_ID === EEM_Registration::status_id_approved) {
147 147
 				// release a space by decrementing ticket and datetime sold values
148 148
 				$this->_release_registration_space();
149
-				do_action( 'AHEE__EE_Registration__set_status__from_approved', $this, $old_STS_ID, $new_STS_ID );
149
+				do_action('AHEE__EE_Registration__set_status__from_approved', $this, $old_STS_ID, $new_STS_ID);
150 150
 			}
151 151
             // update status
152 152
             parent::set('STS_ID', $new_STS_ID, $use_default);
153 153
             $this->_update_if_canceled_or_declined($new_STS_ID, $old_STS_ID);
154 154
             /** @type EE_Transaction_Payments $transaction_payments */
155 155
             $transaction_payments = EE_Registry::instance()->load_class('Transaction_Payments');
156
-            $transaction_payments->recalculate_transaction_total( $this->transaction(), false );
157
-			$this->transaction()->update_status_based_on_total_paid( true );
158
-			do_action( 'AHEE__EE_Registration__set_status__after_update', $this );
156
+            $transaction_payments->recalculate_transaction_total($this->transaction(), false);
157
+			$this->transaction()->update_status_based_on_total_paid(true);
158
+			do_action('AHEE__EE_Registration__set_status__after_update', $this);
159 159
 			return TRUE;
160 160
 		} else {
161 161
 			//even though the old value matches the new value, it's still good to
162 162
 			//allow the parent set method to have a say
163
-			parent::set( 'STS_ID', $new_STS_ID, $use_default );
163
+			parent::set('STS_ID', $new_STS_ID, $use_default);
164 164
 			return TRUE;
165 165
 		}
166 166
 	}
@@ -228,7 +228,7 @@  discard block
 block discarded – undo
228 228
 	 *        get Status ID
229 229
 	 */
230 230
 	public function status_ID() {
231
-		return $this->get( 'STS_ID' );
231
+		return $this->get('STS_ID');
232 232
 	}
233 233
 
234 234
 
@@ -259,12 +259,12 @@  discard block
 block discarded – undo
259 259
      * @return EE_Ticket|EE_Base_Class
260 260
      * @throws \EE_Error
261 261
      */
262
-	public function ticket( $include_archived = TRUE ) {
262
+	public function ticket($include_archived = TRUE) {
263 263
 		$query_params = array();
264
-		if ( $include_archived ) {
265
-			$query_params[ 'default_where_conditions' ] = 'none';
264
+		if ($include_archived) {
265
+			$query_params['default_where_conditions'] = 'none';
266 266
 		}
267
-		return $this->get_first_related( 'Ticket', $query_params );
267
+		return $this->get_first_related('Ticket', $query_params);
268 268
 	}
269 269
 
270 270
 
@@ -292,7 +292,7 @@  discard block
 block discarded – undo
292 292
 	 */
293 293
 	public function wp_user() {
294 294
 		$event = $this->event();
295
-		if ( $event instanceof EE_Event ) {
295
+		if ($event instanceof EE_Event) {
296 296
 			return $event->wp_user();
297 297
 		}
298 298
 		return 0;
@@ -363,8 +363,8 @@  discard block
 block discarded – undo
363 363
 	 *
364 364
 	 * @param        int $ATT_ID Attendee ID
365 365
 	 */
366
-	public function set_attendee_id( $ATT_ID = 0 ) {
367
-		$this->set( 'ATT_ID', $ATT_ID );
366
+	public function set_attendee_id($ATT_ID = 0) {
367
+		$this->set('ATT_ID', $ATT_ID);
368 368
 	}
369 369
 
370 370
 
@@ -374,8 +374,8 @@  discard block
 block discarded – undo
374 374
 	 *
375 375
 	 * @param        int $TXN_ID Transaction ID
376 376
 	 */
377
-	public function set_transaction_id( $TXN_ID = 0 ) {
378
-		$this->set( 'TXN_ID', $TXN_ID );
377
+	public function set_transaction_id($TXN_ID = 0) {
378
+		$this->set('TXN_ID', $TXN_ID);
379 379
 	}
380 380
 
381 381
 
@@ -385,8 +385,8 @@  discard block
 block discarded – undo
385 385
 	 *
386 386
 	 * @param    string $REG_session PHP Session ID
387 387
 	 */
388
-	public function set_session( $REG_session = '' ) {
389
-		$this->set( 'REG_session', $REG_session );
388
+	public function set_session($REG_session = '') {
389
+		$this->set('REG_session', $REG_session);
390 390
 	}
391 391
 
392 392
 
@@ -396,8 +396,8 @@  discard block
 block discarded – undo
396 396
 	 *
397 397
 	 * @param    string $REG_url_link Registration URL Link
398 398
 	 */
399
-	public function set_reg_url_link( $REG_url_link = '' ) {
400
-		$this->set( 'REG_url_link', $REG_url_link );
399
+	public function set_reg_url_link($REG_url_link = '') {
400
+		$this->set('REG_url_link', $REG_url_link);
401 401
 	}
402 402
 
403 403
 
@@ -407,8 +407,8 @@  discard block
 block discarded – undo
407 407
 	 *
408 408
 	 * @param        int $REG_count Primary Attendee
409 409
 	 */
410
-	public function set_count( $REG_count = 1 ) {
411
-		$this->set( 'REG_count', $REG_count );
410
+	public function set_count($REG_count = 1) {
411
+		$this->set('REG_count', $REG_count);
412 412
 	}
413 413
 
414 414
 
@@ -418,8 +418,8 @@  discard block
 block discarded – undo
418 418
 	 *
419 419
 	 * @param        boolean $REG_group_size Group Registration
420 420
 	 */
421
-	public function set_group_size( $REG_group_size = FALSE ) {
422
-		$this->set( 'REG_group_size', $REG_group_size );
421
+	public function set_group_size($REG_group_size = FALSE) {
422
+		$this->set('REG_group_size', $REG_group_size);
423 423
 	}
424 424
 
425 425
 
@@ -495,8 +495,8 @@  discard block
 block discarded – undo
495 495
 	 *
496 496
 	 * @param        mixed ( int or string ) $REG_date Registration Date - Unix timestamp or string representation of Date
497 497
 	 */
498
-	public function set_reg_date( $REG_date = FALSE ) {
499
-		$this->set( 'REG_date', $REG_date );
498
+	public function set_reg_date($REG_date = FALSE) {
499
+		$this->set('REG_date', $REG_date);
500 500
 	}
501 501
 
502 502
 
@@ -507,8 +507,8 @@  discard block
 block discarded – undo
507 507
 	 * @access    public
508 508
 	 * @param    float $REG_final_price
509 509
 	 */
510
-	public function set_final_price( $REG_final_price = 0.00 ) {
511
-		$this->set( 'REG_final_price', $REG_final_price );
510
+	public function set_final_price($REG_final_price = 0.00) {
511
+		$this->set('REG_final_price', $REG_final_price);
512 512
 	}
513 513
 
514 514
 
@@ -519,8 +519,8 @@  discard block
 block discarded – undo
519 519
 	 * @access    public
520 520
 	 * @param    float $REG_paid
521 521
 	 */
522
-	public function set_paid( $REG_paid = 0.00 ) {
523
-		$this->set( 'REG_paid', $REG_paid );
522
+	public function set_paid($REG_paid = 0.00) {
523
+		$this->set('REG_paid', $REG_paid);
524 524
 	}
525 525
 
526 526
 
@@ -530,8 +530,8 @@  discard block
 block discarded – undo
530 530
 	 *
531 531
 	 * @param        boolean $REG_att_is_going Attendee Is Going
532 532
 	 */
533
-	public function set_att_is_going( $REG_att_is_going = FALSE ) {
534
-		$this->set( 'REG_att_is_going', $REG_att_is_going );
533
+	public function set_att_is_going($REG_att_is_going = FALSE) {
534
+		$this->set('REG_att_is_going', $REG_att_is_going);
535 535
 	}
536 536
 
537 537
 
@@ -541,7 +541,7 @@  discard block
 block discarded – undo
541 541
 	 * @return EE_Attendee
542 542
 	 */
543 543
 	public function attendee() {
544
-		return $this->get_first_related( 'Attendee' );
544
+		return $this->get_first_related('Attendee');
545 545
 	}
546 546
 
547 547
 
@@ -550,7 +550,7 @@  discard block
 block discarded – undo
550 550
 	 *        get Event ID
551 551
 	 */
552 552
 	public function event_ID() {
553
-		return $this->get( 'EVT_ID' );
553
+		return $this->get('EVT_ID');
554 554
 	}
555 555
 
556 556
 
@@ -560,7 +560,7 @@  discard block
 block discarded – undo
560 560
 	 */
561 561
 	public function event_name() {
562 562
 		$event = $this->event_obj();
563
-		if ( $event ) {
563
+		if ($event) {
564 564
 			return $event->name();
565 565
 		} else {
566 566
 			return NULL;
@@ -574,7 +574,7 @@  discard block
 block discarded – undo
574 574
 	 * @return EE_Event
575 575
 	 */
576 576
 	public function event_obj() {
577
-		return $this->get_first_related( 'Event' );
577
+		return $this->get_first_related('Event');
578 578
 	}
579 579
 
580 580
 
@@ -583,7 +583,7 @@  discard block
 block discarded – undo
583 583
 	 *        get Attendee ID
584 584
 	 */
585 585
 	public function attendee_ID() {
586
-		return $this->get( 'ATT_ID' );
586
+		return $this->get('ATT_ID');
587 587
 	}
588 588
 
589 589
 
@@ -592,7 +592,7 @@  discard block
 block discarded – undo
592 592
 	 *        get PHP Session ID
593 593
 	 */
594 594
 	public function session_ID() {
595
-		return $this->get( 'REG_session' );
595
+		return $this->get('REG_session');
596 596
 	}
597 597
 
598 598
 
@@ -602,7 +602,7 @@  discard block
 block discarded – undo
602 602
 	 * @param string $messenger 'pdf' or 'html'.  Default 'html'.
603 603
 	 * @return string
604 604
 	 */
605
-	public function receipt_url( $messenger = 'html' ) {
605
+	public function receipt_url($messenger = 'html') {
606 606
 
607 607
 		/**
608 608
 		 * The below will be deprecated one version after this.  We check first if there is a custom receipt template already in use on old system.  If there is then we just return the standard url for it.
@@ -610,12 +610,12 @@  discard block
 block discarded – undo
610 610
 		 * @since 4.5.0
611 611
 		 */
612 612
 		$template_relative_path = 'modules/gateways/Invoice/lib/templates/receipt_body.template.php';
613
-		$has_custom = EEH_Template::locate_template( $template_relative_path , array(), TRUE, TRUE, TRUE );
613
+		$has_custom = EEH_Template::locate_template($template_relative_path, array(), TRUE, TRUE, TRUE);
614 614
 
615
-		if ( $has_custom ) {
616
-			return add_query_arg( array( 'receipt' => 'true' ), $this->invoice_url( 'launch' ) );
615
+		if ($has_custom) {
616
+			return add_query_arg(array('receipt' => 'true'), $this->invoice_url('launch'));
617 617
 		}
618
-		return apply_filters( 'FHEE__EE_Registration__receipt_url__receipt_url', '', $this, $messenger, 'receipt' );
618
+		return apply_filters('FHEE__EE_Registration__receipt_url__receipt_url', '', $this, $messenger, 'receipt');
619 619
 	}
620 620
 
621 621
 
@@ -626,28 +626,28 @@  discard block
 block discarded – undo
626 626
 	 * @param string $messenger 'pdf' or 'html'.  Default 'html'.
627 627
 	 * @return string
628 628
 	 */
629
-	public function invoice_url( $messenger = 'html' ) {
629
+	public function invoice_url($messenger = 'html') {
630 630
 		/**
631 631
 		 * The below will be deprecated one version after this.  We check first if there is a custom invoice template already in use on old system.  If there is then we just return the standard url for it.
632 632
 		 *
633 633
 		 * @since 4.5.0
634 634
 		 */
635 635
 		$template_relative_path = 'modules/gateways/Invoice/lib/templates/invoice_body.template.php';
636
-		$has_custom = EEH_Template::locate_template( $template_relative_path , array(), TRUE, TRUE, TRUE );
636
+		$has_custom = EEH_Template::locate_template($template_relative_path, array(), TRUE, TRUE, TRUE);
637 637
 
638
-		if ( $has_custom ) {
639
-			if ( $messenger == 'html' ) {
640
-				return $this->invoice_url( 'launch' );
638
+		if ($has_custom) {
639
+			if ($messenger == 'html') {
640
+				return $this->invoice_url('launch');
641 641
 			}
642 642
 			$route = $messenger == 'download' || $messenger == 'pdf' ? 'download_invoice' : 'launch_invoice';
643 643
 
644
-			$query_args = array( 'ee' => $route, 'id' => $this->reg_url_link() );
645
-			if ( $messenger == 'html' ) {
644
+			$query_args = array('ee' => $route, 'id' => $this->reg_url_link());
645
+			if ($messenger == 'html') {
646 646
 				$query_args['html'] = TRUE;
647 647
 			}
648
-			return add_query_arg( $query_args, get_permalink( EE_Registry::instance()->CFG->core->thank_you_page_id ) );
648
+			return add_query_arg($query_args, get_permalink(EE_Registry::instance()->CFG->core->thank_you_page_id));
649 649
 		}
650
-		return apply_filters( 'FHEE__EE_Registration__invoice_url__invoice_url', '', $this, $messenger, 'invoice' );
650
+		return apply_filters('FHEE__EE_Registration__invoice_url__invoice_url', '', $this, $messenger, 'invoice');
651 651
 	}
652 652
 
653 653
 
@@ -660,7 +660,7 @@  discard block
 block discarded – undo
660 660
 	 * @throws \EE_Error
661 661
 	 */
662 662
 	public function reg_url_link() {
663
-		return (string)$this->get( 'REG_url_link' );
663
+		return (string) $this->get('REG_url_link');
664 664
 	}
665 665
 
666 666
 
@@ -670,8 +670,8 @@  discard block
 block discarded – undo
670 670
 	 * @param string $type 'download','launch', or 'html' (default is 'launch')
671 671
 	 * @return void
672 672
 	 */
673
-	public function e_invoice_url( $type = 'launch' ) {
674
-		echo $this->invoice_url( $type );
673
+	public function e_invoice_url($type = 'launch') {
674
+		echo $this->invoice_url($type);
675 675
 	}
676 676
 
677 677
 
@@ -691,7 +691,7 @@  discard block
 block discarded – undo
691 691
 	 * @return string
692 692
 	 */
693 693
 	public function payment_overview_url() {
694
-		return add_query_arg( array( 'e_reg_url_link' => $this->reg_url_link(), 'step' => 'payment_options', 'revisit' => TRUE ), EE_Registry::instance()->CFG->core->reg_page_url() );
694
+		return add_query_arg(array('e_reg_url_link' => $this->reg_url_link(), 'step' => 'payment_options', 'revisit' => TRUE), EE_Registry::instance()->CFG->core->reg_page_url());
695 695
 	}
696 696
 
697 697
 
@@ -702,7 +702,7 @@  discard block
 block discarded – undo
702 702
 	 * @return string
703 703
 	 */
704 704
 	public function edit_attendee_information_url() {
705
-		return add_query_arg( array( 'e_reg_url_link' => $this->reg_url_link(), 'step' => 'attendee_information', 'revisit' => TRUE ), EE_Registry::instance()->CFG->core->reg_page_url() );
705
+		return add_query_arg(array('e_reg_url_link' => $this->reg_url_link(), 'step' => 'attendee_information', 'revisit' => TRUE), EE_Registry::instance()->CFG->core->reg_page_url());
706 706
 	}
707 707
 
708 708
 
@@ -712,7 +712,7 @@  discard block
 block discarded – undo
712 712
 	 * @return string
713 713
 	 */
714 714
 	public function get_admin_edit_url() {
715
-		return EEH_URL::add_query_args_and_nonce( array( 'page' => 'espresso_registrations', 'action' => 'view_registration', '_REG_ID' => $this->ID() ), admin_url( 'admin.php' ) );
715
+		return EEH_URL::add_query_args_and_nonce(array('page' => 'espresso_registrations', 'action' => 'view_registration', '_REG_ID' => $this->ID()), admin_url('admin.php'));
716 716
 	}
717 717
 
718 718
 
@@ -721,7 +721,7 @@  discard block
 block discarded – undo
721 721
 	 *    is_primary_registrant?
722 722
 	 */
723 723
 	public function is_primary_registrant() {
724
-		return $this->get( 'REG_count' ) == 1 ? TRUE : FALSE;
724
+		return $this->get('REG_count') == 1 ? TRUE : FALSE;
725 725
 	}
726 726
 
727 727
 
@@ -730,12 +730,12 @@  discard block
 block discarded – undo
730 730
 	 * This returns the primary registration object for this registration group (which may be this object).
731 731
 	 * @return EE_Registration
732 732
 	 */
733
-	public function get_primary_registration()  {
734
-		if ( $this->is_primary_registrant() )
733
+	public function get_primary_registration() {
734
+		if ($this->is_primary_registrant())
735 735
 			return $this;
736 736
 
737 737
 		//k reg_count !== 1 so let's get the EE_Registration object matching this txn_id and reg_count == 1
738
-		$primary_registrant = EEM_Registration::instance()->get_one( array( array('TXN_ID' => $this->transaction_ID(), 'REG_count' => 1 ) ) );
738
+		$primary_registrant = EEM_Registration::instance()->get_one(array(array('TXN_ID' => $this->transaction_ID(), 'REG_count' => 1)));
739 739
 		return $primary_registrant;
740 740
 	}
741 741
 
@@ -746,7 +746,7 @@  discard block
 block discarded – undo
746 746
 	* 		@access		public
747 747
 	*/
748 748
 	public function count() {
749
-		return $this->get( 'REG_count' );
749
+		return $this->get('REG_count');
750 750
 	}
751 751
 
752 752
 
@@ -755,7 +755,7 @@  discard block
 block discarded – undo
755 755
 	 *        get Group Size
756 756
 	 */
757 757
 	public function group_size() {
758
-		return $this->get( 'REG_group_size' );
758
+		return $this->get('REG_group_size');
759 759
 	}
760 760
 
761 761
 
@@ -764,7 +764,7 @@  discard block
 block discarded – undo
764 764
 	 *        get Registration Date
765 765
 	 */
766 766
 	public function date() {
767
-		return $this->get( 'REG_date' );
767
+		return $this->get('REG_date');
768 768
 	}
769 769
 
770 770
 
@@ -775,8 +775,8 @@  discard block
 block discarded – undo
775 775
 	 * @param string $time_format
776 776
 	 * @return string
777 777
 	 */
778
-	public function pretty_date( $date_format = NULL, $time_format = NULL ) {
779
-		return $this->get_datetime( 'REG_date', $date_format, $time_format );
778
+	public function pretty_date($date_format = NULL, $time_format = NULL) {
779
+		return $this->get_datetime('REG_date', $date_format, $time_format);
780 780
 	}
781 781
 
782 782
 
@@ -788,7 +788,7 @@  discard block
 block discarded – undo
788 788
 	 * @return    float
789 789
 	 */
790 790
 	public function final_price() {
791
-		return $this->get( 'REG_final_price' );
791
+		return $this->get('REG_final_price');
792 792
 	}
793 793
 
794 794
 
@@ -799,7 +799,7 @@  discard block
 block discarded – undo
799 799
 	 * @return string
800 800
 	 */
801 801
 	public function pretty_final_price() {
802
-		return $this->get_pretty( 'REG_final_price' );
802
+		return $this->get_pretty('REG_final_price');
803 803
 	}
804 804
 
805 805
 
@@ -809,7 +809,7 @@  discard block
 block discarded – undo
809 809
 	 * @return 	float
810 810
 	 */
811 811
 	public function paid() {
812
-		return $this->get( 'REG_paid' );
812
+		return $this->get('REG_paid');
813 813
 	}
814 814
 
815 815
 
@@ -819,7 +819,7 @@  discard block
 block discarded – undo
819 819
 	 * @return 	float
820 820
 	 */
821 821
 	public function pretty_paid() {
822
-		return $this->get_pretty( 'REG_paid' );
822
+		return $this->get_pretty('REG_paid');
823 823
 	}
824 824
 
825 825
 
@@ -830,11 +830,11 @@  discard block
 block discarded – undo
830 830
 	 * @param array $requires_payment
831 831
 	 * @return bool
832 832
 	 */
833
-	public function owes_monies_and_can_pay( $requires_payment = array()) {
833
+	public function owes_monies_and_can_pay($requires_payment = array()) {
834 834
 		// these reg statuses require payment (if event is not free)
835
-		$requires_payment = ! empty( $requires_payment ) ? $requires_payment : EEM_Registration::reg_statuses_that_allow_payment();
835
+		$requires_payment = ! empty($requires_payment) ? $requires_payment : EEM_Registration::reg_statuses_that_allow_payment();
836 836
 		if (
837
-			in_array( $this->status_ID(), $requires_payment ) &&
837
+			in_array($this->status_ID(), $requires_payment) &&
838 838
 			$this->final_price() != 0 &&
839 839
 			$this->final_price() != $this->paid()
840 840
 		) {
@@ -851,8 +851,8 @@  discard block
 block discarded – undo
851 851
 	 * @param bool $show_icons
852 852
 	 * @return void
853 853
 	 */
854
-	public function e_pretty_status( $show_icons = FALSE ) {
855
-		echo $this->pretty_status( $show_icons );
854
+	public function e_pretty_status($show_icons = FALSE) {
855
+		echo $this->pretty_status($show_icons);
856 856
 	}
857 857
 
858 858
 
@@ -863,10 +863,10 @@  discard block
 block discarded – undo
863 863
 	 * @param bool $show_icons
864 864
 	 * @return string
865 865
 	 */
866
-	public function pretty_status( $show_icons = FALSE ) {
867
-		$status = EEM_Status::instance()->localized_status( array( $this->status_ID() => __( 'unknown', 'event_espresso' ) ), FALSE, 'sentence' );
866
+	public function pretty_status($show_icons = FALSE) {
867
+		$status = EEM_Status::instance()->localized_status(array($this->status_ID() => __('unknown', 'event_espresso')), FALSE, 'sentence');
868 868
 		$icon = '';
869
-		switch ( $this->status_ID() ) {
869
+		switch ($this->status_ID()) {
870 870
 			case EEM_Registration::status_id_approved:
871 871
 				$icon = $show_icons ? '<span class="dashicons dashicons-star-filled ee-icon-size-16 green-text"></span>' : '';
872 872
 				break;
@@ -889,7 +889,7 @@  discard block
 block discarded – undo
889 889
 				$icon = $show_icons ? '<span class="dashicons dashicons-clipboard ee-icon-size-16 purple-text"></span>' : '';
890 890
 				break;
891 891
 		}
892
-		return $icon . $status[ $this->status_ID() ];
892
+		return $icon.$status[$this->status_ID()];
893 893
 	}
894 894
 
895 895
 
@@ -898,7 +898,7 @@  discard block
 block discarded – undo
898 898
 	 *        get Attendee Is Going
899 899
 	 */
900 900
 	public function att_is_going() {
901
-		return $this->get( 'REG_att_is_going' );
901
+		return $this->get('REG_att_is_going');
902 902
 	}
903 903
 
904 904
 
@@ -908,8 +908,8 @@  discard block
 block discarded – undo
908 908
 	 * @param array $query_params like EEM_Base::get_all
909 909
 	 * @return EE_Answer[]
910 910
 	 */
911
-	public function answers( $query_params = NULL ) {
912
-		return $this->get_many_related( 'Answer', $query_params );
911
+	public function answers($query_params = NULL) {
912
+		return $this->get_many_related('Answer', $query_params);
913 913
 	}
914 914
 
915 915
 
@@ -923,9 +923,9 @@  discard block
 block discarded – undo
923 923
 	 * (because the answer might be an array of answer values, so passing pretty_value=true
924 924
 	 * will convert it into some kind of string)
925 925
 	 */
926
-	public function answer_value_to_question( $question, $pretty_value=true ) {
926
+	public function answer_value_to_question($question, $pretty_value = true) {
927 927
 		$question_id = EEM_Question::instance()->ensure_is_ID($question);
928
-		return EEM_Answer::instance()->get_answer_value_to_question($this,$question_id,$pretty_value);
928
+		return EEM_Answer::instance()->get_answer_value_to_question($this, $question_id, $pretty_value);
929 929
 	}
930 930
 
931 931
 
@@ -938,13 +938,13 @@  discard block
 block discarded – undo
938 938
 	 */
939 939
 	public function question_groups() {
940 940
 		$question_groups = array();
941
-		if ( $this->event() instanceof EE_Event ) {
941
+		if ($this->event() instanceof EE_Event) {
942 942
 			$question_groups = $this->event()->question_groups(
943 943
 				array(
944 944
 					array(
945 945
 						'Event_Question_Group.EQG_primary' => $this->count() == 1 ? true : false
946 946
 					),
947
-					'order_by' => array( 'QSG_order' => 'ASC' )
947
+					'order_by' => array('QSG_order' => 'ASC')
948 948
 				)
949 949
 			);
950 950
 		}
@@ -961,7 +961,7 @@  discard block
 block discarded – undo
961 961
 	 */
962 962
 	public function count_question_groups() {
963 963
 		$qg_count = 0;
964
-		if ( $this->event() instanceof EE_Event ) {
964
+		if ($this->event() instanceof EE_Event) {
965 965
 			$qg_count = $this->event()->count_related(
966 966
 				'Question_Group',
967 967
 				array(
@@ -982,7 +982,7 @@  discard block
 block discarded – undo
982 982
 	 * @return string
983 983
 	 */
984 984
 	public function reg_date() {
985
-		return $this->get_datetime( 'REG_date' );
985
+		return $this->get_datetime('REG_date');
986 986
 	}
987 987
 
988 988
 
@@ -994,7 +994,7 @@  discard block
 block discarded – undo
994 994
 	 * @return EE_Datetime_Ticket
995 995
 	 */
996 996
 	public function datetime_ticket() {
997
-		return $this->get_first_related( 'Datetime_Ticket' );
997
+		return $this->get_first_related('Datetime_Ticket');
998 998
 	}
999 999
 
1000 1000
 
@@ -1004,15 +1004,15 @@  discard block
 block discarded – undo
1004 1004
 	 * @param EE_Datetime_Ticket $datetime_ticket
1005 1005
 	 * @return EE_Datetime_Ticket
1006 1006
 	 */
1007
-	public function set_datetime_ticket( $datetime_ticket ) {
1008
-		return $this->_add_relation_to( $datetime_ticket, 'Datetime_Ticket' );
1007
+	public function set_datetime_ticket($datetime_ticket) {
1008
+		return $this->_add_relation_to($datetime_ticket, 'Datetime_Ticket');
1009 1009
 	}
1010 1010
 	/**
1011 1011
 	 * Gets deleted
1012 1012
 	 * @return boolean
1013 1013
 	 */
1014 1014
 	public function deleted() {
1015
-		return $this->get( 'REG_deleted' );
1015
+		return $this->get('REG_deleted');
1016 1016
 	}
1017 1017
 
1018 1018
 	/**
@@ -1021,7 +1021,7 @@  discard block
 block discarded – undo
1021 1021
 	 * @return boolean
1022 1022
 	 */
1023 1023
 	public function set_deleted($deleted) {
1024
-	    if ( $deleted ) {
1024
+	    if ($deleted) {
1025 1025
 	        $this->delete();
1026 1026
         } else {
1027 1027
 	        $this->restore();
@@ -1035,7 +1035,7 @@  discard block
 block discarded – undo
1035 1035
 	 * @return EE_Status
1036 1036
 	 */
1037 1037
 	public function status_obj() {
1038
-		return $this->get_first_related( 'Status' );
1038
+		return $this->get_first_related('Status');
1039 1039
 	}
1040 1040
 
1041 1041
 
@@ -1046,7 +1046,7 @@  discard block
 block discarded – undo
1046 1046
 	 * @return int
1047 1047
 	 */
1048 1048
 	public function count_checkins() {
1049
-		return $this->get_model()->count_related( $this, 'Checkin' );
1049
+		return $this->get_model()->count_related($this, 'Checkin');
1050 1050
 	}
1051 1051
 
1052 1052
 
@@ -1056,7 +1056,7 @@  discard block
 block discarded – undo
1056 1056
 	 * @return int
1057 1057
 	 */
1058 1058
 	public function count_checkins_not_checkedout() {
1059
-		return $this->get_model()->count_related( $this, 'Checkin', array( array( 'CHK_in' => 1 ) ) );
1059
+		return $this->get_model()->count_related($this, 'Checkin', array(array('CHK_in' => 1)));
1060 1060
 	}
1061 1061
 
1062 1062
 
@@ -1069,20 +1069,20 @@  discard block
 block discarded – undo
1069 1069
 	 *
1070 1070
 	 * @return bool
1071 1071
 	 */
1072
-	public function can_checkin( $DTT_OR_ID, $check_approved = TRUE ) {
1073
-		$DTT_ID = EEM_Datetime::instance()->ensure_is_ID( $DTT_OR_ID );
1072
+	public function can_checkin($DTT_OR_ID, $check_approved = TRUE) {
1073
+		$DTT_ID = EEM_Datetime::instance()->ensure_is_ID($DTT_OR_ID);
1074 1074
 
1075 1075
 		//first check registration status
1076
-		if (  ( $check_approved && ! $this->is_approved() ) || ! $DTT_ID ) {
1076
+		if (($check_approved && ! $this->is_approved()) || ! $DTT_ID) {
1077 1077
 			return false;
1078 1078
 		}
1079 1079
 		//is there a datetime ticket that matches this dtt_ID?
1080
-		if ( ! ( EEM_Datetime_Ticket::instance()->exists( array( array( 'TKT_ID' => $this->get('TKT_ID' ), 'DTT_ID' => $DTT_ID ) ) ) ) ) {
1080
+		if ( ! (EEM_Datetime_Ticket::instance()->exists(array(array('TKT_ID' => $this->get('TKT_ID'), 'DTT_ID' => $DTT_ID))))) {
1081 1081
 			return false;
1082 1082
 		}
1083 1083
 
1084 1084
 		//final check is against TKT_uses
1085
-		return $this->verify_can_checkin_against_TKT_uses( $DTT_ID );
1085
+		return $this->verify_can_checkin_against_TKT_uses($DTT_ID);
1086 1086
 	}
1087 1087
 
1088 1088
 
@@ -1095,10 +1095,10 @@  discard block
 block discarded – undo
1095 1095
 	 * @param int | EE_Datetime  $DTT_OR_ID  The datetime the registration is being checked against
1096 1096
 	 * @return bool   true means can checkin.  false means cannot checkin.
1097 1097
 	 */
1098
-	public function verify_can_checkin_against_TKT_uses( $DTT_OR_ID ) {
1099
-		$DTT_ID = EEM_Datetime::instance()->ensure_is_ID( $DTT_OR_ID );
1098
+	public function verify_can_checkin_against_TKT_uses($DTT_OR_ID) {
1099
+		$DTT_ID = EEM_Datetime::instance()->ensure_is_ID($DTT_OR_ID);
1100 1100
 
1101
-		if ( ! $DTT_ID ) {
1101
+		if ( ! $DTT_ID) {
1102 1102
 			return false;
1103 1103
 		}
1104 1104
 
@@ -1106,23 +1106,23 @@  discard block
 block discarded – undo
1106 1106
 
1107 1107
 		// if max uses is not set or equals infinity then return true cause its not a factor for whether user can check-in
1108 1108
 		// or not.
1109
-		if ( ! $max_uses || $max_uses === EE_INF ) {
1109
+		if ( ! $max_uses || $max_uses === EE_INF) {
1110 1110
 			return true;
1111 1111
 		}
1112 1112
 
1113 1113
 		//does this datetime have a checkin record?  If so, then the dtt count has already been verified so we can just
1114 1114
 		//go ahead and toggle.
1115
-		if ( EEM_Checkin::instance()->exists( array( array( 'REG_ID' => $this->ID(), 'DTT_ID' => $DTT_ID ) ) ) ) {
1115
+		if (EEM_Checkin::instance()->exists(array(array('REG_ID' => $this->ID(), 'DTT_ID' => $DTT_ID)))) {
1116 1116
 			return true;
1117 1117
 		}
1118 1118
 
1119 1119
 		//made it here so the last check is whether the number of checkins per unique datetime on this registration
1120 1120
 		//disallows further check-ins.
1121
-		$count_unique_dtt_checkins = EEM_Checkin::instance()->count( array( array( 'REG_ID' => $this->ID(), 'CHK_in' => true ) ), 'DTT_ID', true );
1121
+		$count_unique_dtt_checkins = EEM_Checkin::instance()->count(array(array('REG_ID' => $this->ID(), 'CHK_in' => true)), 'DTT_ID', true);
1122 1122
 		// checkins have already reached their max number of uses
1123 1123
 		// so registrant can NOT checkin
1124
-		if ( $count_unique_dtt_checkins >= $max_uses ) {
1125
-			EE_Error::add_error( __( 'Check-in denied because number of datetime uses for the ticket has been reached or exceeded.', 'event_espresso' ), __FILE__, __FUNCTION__, __LINE__ );
1124
+		if ($count_unique_dtt_checkins >= $max_uses) {
1125
+			EE_Error::add_error(__('Check-in denied because number of datetime uses for the ticket has been reached or exceeded.', 'event_espresso'), __FILE__, __FUNCTION__, __LINE__);
1126 1126
 			return false;
1127 1127
 		}
1128 1128
 		return true;
@@ -1144,15 +1144,15 @@  discard block
 block discarded – undo
1144 1144
      * @return bool|int     the chk_in status toggled to OR false if nothing got changed.
1145 1145
      * @throws EE_Error
1146 1146
      */
1147
-	public function toggle_checkin_status( $DTT_ID = null, $verify = false ) {
1148
-		if ( empty( $DTT_ID ) ) {
1147
+	public function toggle_checkin_status($DTT_ID = null, $verify = false) {
1148
+		if (empty($DTT_ID)) {
1149 1149
 			$datetime = $this->get_latest_related_datetime();
1150 1150
 			$DTT_ID = $datetime instanceof EE_Datetime ? $datetime->ID() : 0;
1151 1151
 		// verify the registration can checkin for the given DTT_ID
1152
-		} elseif ( ! $this->can_checkin( $DTT_ID, $verify ) ) {
1152
+		} elseif ( ! $this->can_checkin($DTT_ID, $verify)) {
1153 1153
 			EE_Error::add_error(
1154 1154
 					sprintf(
1155
-						__( 'The given registration (ID:%1$d) can not be checked in to the given DTT_ID (%2$d), because the registration does not have access', 'event_espresso'),
1155
+						__('The given registration (ID:%1$d) can not be checked in to the given DTT_ID (%2$d), because the registration does not have access', 'event_espresso'),
1156 1156
 						$this->ID(),
1157 1157
 						$DTT_ID
1158 1158
 					),
@@ -1166,8 +1166,8 @@  discard block
 block discarded – undo
1166 1166
 			EE_Registration::checkin_status_out => EE_Registration::checkin_status_in
1167 1167
 		);
1168 1168
 		//start by getting the current status so we know what status we'll be changing to.
1169
-		$cur_status = $this->check_in_status_for_datetime( $DTT_ID, NULL );
1170
-		$status_to = $status_paths[ $cur_status ];
1169
+		$cur_status = $this->check_in_status_for_datetime($DTT_ID, NULL);
1170
+		$status_to = $status_paths[$cur_status];
1171 1171
 		// database only records true for checked IN or false for checked OUT
1172 1172
 		// no record ( null ) means checked in NEVER, but we obviously don't save that
1173 1173
 		$new_status = $status_to === EE_Registration::checkin_status_in ? true : false;
@@ -1175,24 +1175,24 @@  discard block
 block discarded – undo
1175 1175
 		// because we are keeping track of Check-ins over time.
1176 1176
 		// Eventually we'll probably want to show a list table
1177 1177
 		// for the individual Check-ins so that they can be managed.
1178
-		$checkin = EE_Checkin::new_instance( array(
1178
+		$checkin = EE_Checkin::new_instance(array(
1179 1179
 				'REG_ID' => $this->ID(),
1180 1180
 				'DTT_ID' => $DTT_ID,
1181 1181
 				'CHK_in' => $new_status
1182
-		) );
1182
+		));
1183 1183
 		// if the record could not be saved then return false
1184
-		if ( $checkin->save() === 0 ) {
1185
-			if ( WP_DEBUG ) {
1184
+		if ($checkin->save() === 0) {
1185
+			if (WP_DEBUG) {
1186 1186
 				global $wpdb;
1187 1187
 				$error = sprintf(
1188
-					__( 'Registration check in update failed because of the following database error: %1$s%2$s', 'event_espresso' ),
1188
+					__('Registration check in update failed because of the following database error: %1$s%2$s', 'event_espresso'),
1189 1189
 					'<br />',
1190 1190
 					$wpdb->last_error
1191 1191
 				);
1192 1192
 			} else {
1193
-				$error = __( 'Registration check in update failed because of an unknown database error', 'event_espresso' );
1193
+				$error = __('Registration check in update failed because of an unknown database error', 'event_espresso');
1194 1194
 			}
1195
-			EE_Error::add_error( $error, __FILE__, __FUNCTION__, __LINE__ );
1195
+			EE_Error::add_error($error, __FILE__, __FUNCTION__, __LINE__);
1196 1196
 			return false;
1197 1197
 		}
1198 1198
 		return $status_to;
@@ -1213,7 +1213,7 @@  discard block
 block discarded – undo
1213 1213
 				array(
1214 1214
 					'Ticket.Registration.REG_ID' => $this->ID()
1215 1215
 				),
1216
-				'order_by' => array( 'DTT_EVT_start' => 'DESC' )
1216
+				'order_by' => array('DTT_EVT_start' => 'DESC')
1217 1217
 			)
1218 1218
 		);
1219 1219
 	}
@@ -1232,7 +1232,7 @@  discard block
 block discarded – undo
1232 1232
 				array(
1233 1233
 					'Ticket.Registration.REG_ID' => $this->ID()
1234 1234
 				),
1235
-				'order_by' => array( 'DTT_EVT_start' => 'ASC' )
1235
+				'order_by' => array('DTT_EVT_start' => 'ASC')
1236 1236
 			)
1237 1237
 		);
1238 1238
 	}
@@ -1251,21 +1251,21 @@  discard block
 block discarded – undo
1251 1251
      * @return int                Integer representing Check-in status.
1252 1252
      * @throws \EE_Error
1253 1253
      */
1254
-	public function check_in_status_for_datetime( $DTT_ID = 0, $checkin = null ) {
1254
+	public function check_in_status_for_datetime($DTT_ID = 0, $checkin = null) {
1255 1255
 		$checkin_query_params = array(
1256
-			'order_by' => array( 'CHK_timestamp' => 'DESC' )
1256
+			'order_by' => array('CHK_timestamp' => 'DESC')
1257 1257
 		);
1258 1258
 
1259
-		if ( $DTT_ID > 0 ) {
1260
-			$checkin_query_params[0] = array( 'DTT_ID' => $DTT_ID );
1259
+		if ($DTT_ID > 0) {
1260
+			$checkin_query_params[0] = array('DTT_ID' => $DTT_ID);
1261 1261
 		}
1262 1262
 
1263 1263
 		//get checkin object (if exists)
1264 1264
 		$checkin = $checkin instanceof EE_Checkin
1265 1265
             ? $checkin
1266
-            : $this->get_first_related( 'Checkin', $checkin_query_params );
1267
-		if ( $checkin instanceof EE_Checkin ) {
1268
-			if ( $checkin->get( 'CHK_in' ) ) {
1266
+            : $this->get_first_related('Checkin', $checkin_query_params);
1267
+		if ($checkin instanceof EE_Checkin) {
1268
+			if ($checkin->get('CHK_in')) {
1269 1269
 				return EE_Registration::checkin_status_in; //checked in
1270 1270
 			}
1271 1271
 			return EE_Registration::checkin_status_out; //had checked in but is now checked out.
@@ -1281,28 +1281,28 @@  discard block
 block discarded – undo
1281 1281
 	 * @param bool $error  This just flags that you want an error message returned. This is put in so that the error message can be customized with the attendee name.
1282 1282
 	 * @return string         internationalized message
1283 1283
 	 */
1284
-	public function get_checkin_msg( $DTT_ID, $error = FALSE ) {
1284
+	public function get_checkin_msg($DTT_ID, $error = FALSE) {
1285 1285
 		//let's get the attendee first so we can include the name of the attendee
1286
-		$attendee = $this->get_first_related( 'Attendee' );
1287
-		if ( $attendee instanceof EE_Attendee ) {
1288
-			if ( $error ) {
1289
-				return sprintf( __( "%s's check-in status was not changed.", "event_espresso" ), $attendee->full_name() );
1286
+		$attendee = $this->get_first_related('Attendee');
1287
+		if ($attendee instanceof EE_Attendee) {
1288
+			if ($error) {
1289
+				return sprintf(__("%s's check-in status was not changed.", "event_espresso"), $attendee->full_name());
1290 1290
 			}
1291
-			$cur_status = $this->check_in_status_for_datetime( $DTT_ID );
1291
+			$cur_status = $this->check_in_status_for_datetime($DTT_ID);
1292 1292
 			//what is the status message going to be?
1293
-			switch ( $cur_status ) {
1293
+			switch ($cur_status) {
1294 1294
 				case EE_Registration::checkin_status_never :
1295
-					return sprintf( __( "%s has been removed from Check-in records", "event_espresso" ), $attendee->full_name() );
1295
+					return sprintf(__("%s has been removed from Check-in records", "event_espresso"), $attendee->full_name());
1296 1296
 					break;
1297 1297
 				case EE_Registration::checkin_status_in :
1298
-					return sprintf( __( '%s has been checked in', 'event_espresso' ), $attendee->full_name() );
1298
+					return sprintf(__('%s has been checked in', 'event_espresso'), $attendee->full_name());
1299 1299
 					break;
1300 1300
 				case EE_Registration::checkin_status_out :
1301
-					return sprintf( __( '%s has been checked out', 'event_espresso' ), $attendee->full_name() );
1301
+					return sprintf(__('%s has been checked out', 'event_espresso'), $attendee->full_name());
1302 1302
 					break;
1303 1303
 			}
1304 1304
 		}
1305
-		return __( "The check-in status could not be determined.", "event_espresso" );
1305
+		return __("The check-in status could not be determined.", "event_espresso");
1306 1306
 	}
1307 1307
 
1308 1308
 
@@ -1326,7 +1326,7 @@  discard block
 block discarded – undo
1326 1326
 	 *        get Registration Code
1327 1327
 	 */
1328 1328
 	public function reg_code() {
1329
-		return $this->get( 'REG_code' );
1329
+		return $this->get('REG_code');
1330 1330
 	}
1331 1331
 
1332 1332
 
@@ -1335,7 +1335,7 @@  discard block
 block discarded – undo
1335 1335
 	 *        get Transaction ID
1336 1336
 	 */
1337 1337
 	public function transaction_ID() {
1338
-		return $this->get( 'TXN_ID' );
1338
+		return $this->get('TXN_ID');
1339 1339
 	}
1340 1340
 
1341 1341
 
@@ -1344,7 +1344,7 @@  discard block
 block discarded – undo
1344 1344
 	 * @return int
1345 1345
 	 */
1346 1346
 	public function ticket_ID() {
1347
-		return $this->get( 'TKT_ID' );
1347
+		return $this->get('TKT_ID');
1348 1348
 	}
1349 1349
 
1350 1350
 
@@ -1356,17 +1356,17 @@  discard block
 block discarded – undo
1356 1356
 	 * @param    string $REG_code Registration Code
1357 1357
 	 * @param	boolean $use_default
1358 1358
 	 */
1359
-	public function set_reg_code( $REG_code, $use_default = FALSE ) {
1360
-		if ( empty( $REG_code )) {
1361
-			EE_Error::add_error( __( 'REG_code can not be empty.', 'event_espresso'), __FILE__, __FUNCTION__, __LINE__ );
1359
+	public function set_reg_code($REG_code, $use_default = FALSE) {
1360
+		if (empty($REG_code)) {
1361
+			EE_Error::add_error(__('REG_code can not be empty.', 'event_espresso'), __FILE__, __FUNCTION__, __LINE__);
1362 1362
 			return;
1363 1363
 		}
1364
-		if ( ! $this->reg_code() ) {
1365
-			parent::set( 'REG_code', $REG_code, $use_default );
1364
+		if ( ! $this->reg_code()) {
1365
+			parent::set('REG_code', $REG_code, $use_default);
1366 1366
 		} else {
1367 1367
 			EE_Error::doing_it_wrong(
1368
-				__CLASS__ . '::' . __FUNCTION__,
1369
-				__( 'Can not change a registration REG_code once it has been set.', 'event_espresso' ),
1368
+				__CLASS__.'::'.__FUNCTION__,
1369
+				__('Can not change a registration REG_code once it has been set.', 'event_espresso'),
1370 1370
 				'4.6.0'
1371 1371
 			);
1372 1372
 		}
@@ -1386,17 +1386,17 @@  discard block
 block discarded – undo
1386 1386
 	 * @return EE_Registration[]  or empty array if this isn't a group registration.
1387 1387
 	 */
1388 1388
 	public function get_all_other_registrations_in_group() {
1389
-		if ( $this->group_size() < 2 ) {
1389
+		if ($this->group_size() < 2) {
1390 1390
 			return array();
1391 1391
 		}
1392 1392
 
1393 1393
 		$query[0] = array(
1394 1394
 			'TXN_ID' => $this->transaction_ID(),
1395
-			'REG_ID' => array( '!=', $this->ID() ),
1395
+			'REG_ID' => array('!=', $this->ID()),
1396 1396
 			'TKT_ID' => $this->ticket_ID()
1397 1397
 			);
1398 1398
 
1399
-		$registrations = $this->get_model()->get_all( $query );
1399
+		$registrations = $this->get_model()->get_all($query);
1400 1400
 		return $registrations;
1401 1401
 	}
1402 1402
 
@@ -1405,14 +1405,14 @@  discard block
 block discarded – undo
1405 1405
 	 * @return string
1406 1406
 	 */
1407 1407
 	public function get_admin_details_link() {
1408
-		EE_Registry::instance()->load_helper( 'URL' );
1408
+		EE_Registry::instance()->load_helper('URL');
1409 1409
 		return EEH_URL::add_query_args_and_nonce(
1410 1410
 			array(
1411 1411
 				'page' => 'espresso_registrations',
1412 1412
 				'action' => 'view_registration',
1413 1413
 				'_REG_ID' => $this->ID()
1414 1414
 			),
1415
-			admin_url( 'admin.php' )
1415
+			admin_url('admin.php')
1416 1416
 		);
1417 1417
 	}
1418 1418
 
@@ -1437,12 +1437,12 @@  discard block
 block discarded – undo
1437 1437
 	 * @return string
1438 1438
 	 */
1439 1439
 	public function get_admin_overview_link() {
1440
-		EE_Registry::instance()->load_helper( 'URL' );
1440
+		EE_Registry::instance()->load_helper('URL');
1441 1441
 		return EEH_URL::add_query_args_and_nonce(
1442 1442
 			array(
1443 1443
 				'page' => 'espresso_registrations'
1444 1444
 			),
1445
-			admin_url( 'admin.php' )
1445
+			admin_url('admin.php')
1446 1446
 		);
1447 1447
 	}
1448 1448
 
@@ -1453,8 +1453,8 @@  discard block
 block discarded – undo
1453 1453
 	 * @return \EE_Registration[]
1454 1454
 	 * @throws \EE_Error
1455 1455
 	 */
1456
-	public function payments( $query_params = array() ) {
1457
-		return $this->get_many_related( 'Payment', $query_params );
1456
+	public function payments($query_params = array()) {
1457
+		return $this->get_many_related('Payment', $query_params);
1458 1458
 	}
1459 1459
 
1460 1460
 
@@ -1464,8 +1464,8 @@  discard block
 block discarded – undo
1464 1464
 	 * @return \EE_Registration_Payment[]
1465 1465
 	 * @throws \EE_Error
1466 1466
 	 */
1467
-	public function registration_payments( $query_params = array() ) {
1468
-		return $this->get_many_related( 'Registration_Payment', $query_params );
1467
+	public function registration_payments($query_params = array()) {
1468
+		return $this->get_many_related('Registration_Payment', $query_params);
1469 1469
 	}
1470 1470
 
1471 1471
 
@@ -1478,7 +1478,7 @@  discard block
 block discarded – undo
1478 1478
 	 * @return EE_Payment_Method|null
1479 1479
 	 */
1480 1480
 	public function payment_method() {
1481
-		return EEM_Payment_Method::instance()->get_last_used_for_registration( $this );
1481
+		return EEM_Payment_Method::instance()->get_last_used_for_registration($this);
1482 1482
 	}
1483 1483
 
1484 1484
 
@@ -1525,7 +1525,7 @@  discard block
 block discarded – undo
1525 1525
      */
1526 1526
     public function delete()
1527 1527
     {
1528
-        if($this->update_extra_meta(EE_Registration::PRE_TRASH_REG_STATUS_KEY, $this->status_ID()) === true) {
1528
+        if ($this->update_extra_meta(EE_Registration::PRE_TRASH_REG_STATUS_KEY, $this->status_ID()) === true) {
1529 1529
             $this->set_status(EEM_Registration::status_id_cancelled);
1530 1530
         }
1531 1531
         return parent::delete();
Please login to merge, or discard this patch.
admin_pages/payments/Payments_Admin_Page.core.php 2 patches
Indentation   +999 added lines, -999 removed lines patch added patch discarded remove patch
@@ -1,6 +1,6 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 if (! defined('EVENT_ESPRESSO_VERSION')) {
3
-    exit('NO direct script access allowed');
3
+	exit('NO direct script access allowed');
4 4
 }
5 5
 
6 6
 
@@ -27,838 +27,838 @@  discard block
 block discarded – undo
27 27
 class Payments_Admin_Page extends EE_Admin_Page
28 28
 {
29 29
 
30
-    /**
31
-     * Variables used for when we're re-sorting the logs results, in case
32
-     * we needed to do two queries and we need to resort
33
-     *
34
-     * @var string
35
-     */
36
-    private $_sort_logs_again_direction;
37
-
38
-
39
-
40
-    /**
41
-     * @Constructor
42
-     * @access public
43
-     * @param bool $routing indicate whether we want to just load the object and handle routing or just load the object.
44
-     * @return \Payments_Admin_Page
45
-     */
46
-    public function __construct($routing = true)
47
-    {
48
-        parent::__construct($routing);
49
-    }
50
-
51
-
52
-
53
-    protected function _init_page_props()
54
-    {
55
-        $this->page_slug = EE_PAYMENTS_PG_SLUG;
56
-        $this->page_label = __('Payment Methods', 'event_espresso');
57
-        $this->_admin_base_url = EE_PAYMENTS_ADMIN_URL;
58
-        $this->_admin_base_path = EE_PAYMENTS_ADMIN;
59
-    }
60
-
61
-
62
-
63
-    protected function _ajax_hooks()
64
-    {
65
-        //todo: all hooks for ajax goes here.
66
-    }
67
-
68
-
69
-
70
-    protected function _define_page_props()
71
-    {
72
-        $this->_admin_page_title = $this->page_label;
73
-        $this->_labels = array(
74
-            'publishbox' => __('Update Settings', 'event_espresso'),
75
-        );
76
-    }
77
-
78
-
79
-
80
-    protected function _set_page_routes()
81
-    {
82
-        /**
83
-         * note that with payment method capabilities, although we've implemented
84
-         * capability mapping which will be used for accessing payment methods owned by
85
-         * other users.  This is not fully implemented yet in the payment method ui.
86
-         * Currently only the "plural" caps are in active use.
87
-         * When cap mapping is implemented, some routes will need to use the singular form of
88
-         * capability method and also include the $id of the payment method for the route.
89
-         **/
90
-        $this->_page_routes = array(
91
-            'default'                   => array(
92
-                'func'       => '_payment_methods_list',
93
-                'capability' => 'ee_edit_payment_methods',
94
-            ),
95
-            'payment_settings'          => array(
96
-                'func'       => '_payment_settings',
97
-                'capability' => 'ee_manage_gateways',
98
-            ),
99
-            'activate_payment_method'   => array(
100
-                'func'       => '_activate_payment_method',
101
-                'noheader'   => true,
102
-                'capability' => 'ee_edit_payment_methods',
103
-            ),
104
-            'deactivate_payment_method' => array(
105
-                'func'       => '_deactivate_payment_method',
106
-                'noheader'   => true,
107
-                'capability' => 'ee_delete_payment_methods',
108
-            ),
109
-            'update_payment_method'     => array(
110
-                'func'               => '_update_payment_method',
111
-                'noheader'           => true,
112
-                'headers_sent_route' => 'default',
113
-                'capability'         => 'ee_edit_payment_methods',
114
-            ),
115
-            'update_payment_settings'   => array(
116
-                'func'       => '_update_payment_settings',
117
-                'noheader'   => true,
118
-                'capability' => 'ee_manage_gateways',
119
-            ),
120
-            'payment_log'               => array(
121
-                'func'       => '_payment_log_overview_list_table',
122
-                'capability' => 'ee_read_payment_methods',
123
-            ),
124
-            'payment_log_details'       => array(
125
-                'func'       => '_payment_log_details',
126
-                'capability' => 'ee_read_payment_methods',
127
-            ),
128
-        );
129
-    }
130
-
131
-
132
-
133
-    protected function _set_page_config()
134
-    {
135
-        $payment_method_list_config = array(
136
-            'nav'           => array(
137
-                'label' => __('Payment Methods', 'event_espresso'),
138
-                'order' => 10,
139
-            ),
140
-            'metaboxes'     => $this->_default_espresso_metaboxes,
141
-            'help_tabs'     => array_merge(
142
-                array(
143
-                    'payment_methods_overview_help_tab' => array(
144
-                        'title'    => __('Payment Methods Overview', 'event_espresso'),
145
-                        'filename' => 'payment_methods_overview',
146
-                    ),
147
-                ),
148
-                $this->_add_payment_method_help_tabs()),
149
-            'help_tour'     => array('Payment_Methods_Selection_Help_Tour'),
150
-            'require_nonce' => false,
151
-        );
152
-        $this->_page_config = array(
153
-            'default'          => $payment_method_list_config,
154
-            'payment_settings' => array(
155
-                'nav'           => array(
156
-                    'label' => __('Settings', 'event_espresso'),
157
-                    'order' => 20,
158
-                ),
159
-                'help_tabs'     => array(
160
-                    'payment_methods_settings_help_tab' => array(
161
-                        'title'    => __('Payment Method Settings', 'event_espresso'),
162
-                        'filename' => 'payment_methods_settings',
163
-                    ),
164
-                ),
165
-                //'help_tour' => array( 'Payment_Methods_Settings_Help_Tour' ),
166
-                'metaboxes'     => array_merge($this->_default_espresso_metaboxes, array('_publish_post_box')),
167
-                'require_nonce' => false,
168
-            ),
169
-            'payment_log'      => array(
170
-                'nav'           => array(
171
-                    'label' => __("Logs", 'event_espresso'),
172
-                    'order' => 30,
173
-                ),
174
-                'list_table'    => 'Payment_Log_Admin_List_Table',
175
-                'metaboxes'     => $this->_default_espresso_metaboxes,
176
-                'require_nonce' => false,
177
-            ),
178
-        );
179
-    }
180
-
181
-
182
-
183
-    /**
184
-     * @return array
185
-     */
186
-    protected function _add_payment_method_help_tabs()
187
-    {
188
-        EE_Registry::instance()->load_lib('Payment_Method_Manager');
189
-        $payment_method_types = EE_Payment_Method_Manager::instance()->payment_method_types();
190
-        $all_pmt_help_tabs_config = array();
191
-        foreach ($payment_method_types as $payment_method_type) {
192
-            if (! EE_Registry::instance()->CAP->current_user_can($payment_method_type->cap_name(),
193
-                'specific_payment_method_type_access')
194
-            ) {
195
-                continue;
196
-            }
197
-            foreach ($payment_method_type->help_tabs_config() as $help_tab_name => $config) {
198
-                $template_args = isset($config['template_args']) ? $config['template_args'] : array();
199
-                $template_args['admin_page_obj'] = $this;
200
-                $all_pmt_help_tabs_config[$help_tab_name] = array(
201
-                    'title'   => $config['title'],
202
-                    'content' => EEH_Template::display_template(
203
-                        $payment_method_type->file_folder() . 'help_tabs' . DS . $config['filename'] . '.help_tab.php',
204
-                        $template_args,
205
-                        true),
206
-                );
207
-            }
208
-        }
209
-        return $all_pmt_help_tabs_config;
210
-    }
211
-
212
-
213
-
214
-    //none of the below group are currently used for Gateway Settings
215
-    protected function _add_screen_options()
216
-    {
217
-    }
218
-
219
-
220
-
221
-    protected function _add_feature_pointers()
222
-    {
223
-    }
224
-
225
-
226
-
227
-    public function admin_init()
228
-    {
229
-    }
230
-
231
-
232
-
233
-    public function admin_notices()
234
-    {
235
-    }
236
-
237
-
238
-
239
-    public function admin_footer_scripts()
240
-    {
241
-    }
242
-
243
-
244
-
245
-    public function load_scripts_styles()
246
-    {
247
-        wp_enqueue_script('ee_admin_js');
248
-        wp_enqueue_script('ee-text-links');
249
-        wp_enqueue_script('espresso_payments', EE_PAYMENTS_ASSETS_URL . 'espresso_payments_admin.js',
250
-            array('espresso-ui-theme', 'ee-datepicker'), EVENT_ESPRESSO_VERSION, true);
251
-    }
252
-
253
-
254
-
255
-    public function load_scripts_styles_default()
256
-    {
257
-        //styles
258
-        wp_register_style('espresso_payments', EE_PAYMENTS_ASSETS_URL . 'ee-payments.css', array(),
259
-            EVENT_ESPRESSO_VERSION);
260
-        wp_enqueue_style('espresso_payments');
261
-        wp_enqueue_style('ee-text-links');
262
-        //scripts
263
-    }
264
-
265
-
266
-
267
-    protected function _payment_methods_list()
268
-    {
269
-        /**
270
-         * first let's ensure payment methods have been setup. We do this here because when people activate a
271
-         * payment method for the first time (as an addon), it may not setup its capabilities or get registered correctly due
272
-         * to the loading process.  However, people MUST setup the details for the payment method so its safe to do a
273
-         * recheck here.
274
-         */
275
-        EE_Registry::instance()->load_lib('Payment_Method_Manager');
276
-        EEM_Payment_Method::instance()->verify_button_urls();
277
-        //setup tabs, one for each payment method type
278
-        $tabs = array();
279
-        $payment_methods = array();
280
-        foreach (EE_Payment_Method_Manager::instance()->payment_method_types() as $pmt_obj) {
281
-            // we don't want to show admin-only PMTs for now
282
-            if ($pmt_obj instanceof EE_PMT_Admin_Only) {
283
-                continue;
284
-            }
285
-            //check access
286
-            if (! EE_Registry::instance()->CAP->current_user_can($pmt_obj->cap_name(),
287
-                'specific_payment_method_type_access')
288
-            ) {
289
-                continue;
290
-            }
291
-            //check for any active pms of that type
292
-            $payment_method = EEM_Payment_Method::instance()->get_one_of_type($pmt_obj->system_name());
293
-            if (! $payment_method instanceof EE_Payment_Method) {
294
-                $payment_method = EE_Payment_Method::new_instance(
295
-                    array(
296
-                        'PMD_slug'       => sanitize_key($pmt_obj->system_name()),
297
-                        'PMD_type'       => $pmt_obj->system_name(),
298
-                        'PMD_name'       => $pmt_obj->pretty_name(),
299
-                        'PMD_admin_name' => $pmt_obj->pretty_name(),
300
-                    )
301
-                );
302
-            }
303
-            $payment_methods[$payment_method->slug()] = $payment_method;
304
-        }
305
-        $payment_methods = apply_filters('FHEE__Payments_Admin_Page___payment_methods_list__payment_methods',
306
-            $payment_methods);
307
-        foreach ($payment_methods as $payment_method) {
308
-            if ($payment_method instanceof EE_Payment_Method) {
309
-                add_meta_box(
310
-                //html id
311
-                    'espresso_' . $payment_method->slug() . '_payment_settings',
312
-                    //title
313
-                    sprintf(__('%s Settings', 'event_espresso'), $payment_method->admin_name()),
314
-                    //callback
315
-                    array($this, 'payment_method_settings_meta_box'),
316
-                    //post type
317
-                    null,
318
-                    //context
319
-                    'normal',
320
-                    //priority
321
-                    'default',
322
-                    //callback args
323
-                    array('payment_method' => $payment_method)
324
-                );
325
-                //setup for tabbed content
326
-                $tabs[$payment_method->slug()] = array(
327
-                    'label' => $payment_method->admin_name(),
328
-                    'class' => $payment_method->active() ? 'gateway-active' : '',
329
-                    'href'  => 'espresso_' . $payment_method->slug() . '_payment_settings',
330
-                    'title' => __('Modify this Payment Method', 'event_espresso'),
331
-                    'slug'  => $payment_method->slug(),
332
-                );
333
-            }
334
-        }
335
-        $this->_template_args['admin_page_header'] = EEH_Tabbed_Content::tab_text_links($tabs, 'payment_method_links',
336
-            '|', $this->_get_active_payment_method_slug());
337
-        $this->display_admin_page_with_sidebar();
338
-    }
339
-
340
-
341
-
342
-    /**
343
-     *   _get_active_payment_method_slug
344
-     *
345
-     * @return string
346
-     */
347
-    protected function _get_active_payment_method_slug()
348
-    {
349
-        $payment_method_slug = false;
350
-        //decide which payment method tab to open first, as dictated by the request's 'payment_method'
351
-        if (isset($this->_req_data['payment_method'])) {
352
-            // if they provided the current payment method, use it
353
-            $payment_method_slug = sanitize_key($this->_req_data['payment_method']);
354
-        }
355
-        $payment_method = EEM_Payment_Method::instance()->get_one(array(array('PMD_slug' => $payment_method_slug)));
356
-        // if that didn't work or wasn't provided, find another way to select the current pm
357
-        if (! $this->_verify_payment_method($payment_method)) {
358
-            // like, looking for an active one
359
-            $payment_method = EEM_Payment_Method::instance()->get_one_active('CART');
360
-            // test that one as well
361
-            if ($this->_verify_payment_method($payment_method)) {
362
-                $payment_method_slug = $payment_method->slug();
363
-            } else {
364
-                $payment_method_slug = 'paypal_standard';
365
-            }
366
-        }
367
-        return $payment_method_slug;
368
-    }
369
-
370
-
371
-
372
-    /**
373
-     *    payment_method_settings_meta_box
374
-     *    returns TRUE if the passed payment method is properly constructed and the logged in user has the correct
375
-     *    capabilities to access it
376
-     *
377
-     * @param \EE_Payment_Method $payment_method
378
-     * @return boolean
379
-     */
380
-    protected function _verify_payment_method($payment_method)
381
-    {
382
-        if (
383
-            $payment_method instanceof EE_Payment_Method && $payment_method->type_obj() instanceof EE_PMT_Base
384
-            && EE_Registry::instance()->CAP->current_user_can($payment_method->type_obj()->cap_name(),
385
-                'specific_payment_method_type_access')
386
-        ) {
387
-            return true;
388
-        }
389
-        return false;
390
-    }
391
-
392
-
393
-
394
-    /**
395
-     *    payment_method_settings_meta_box
396
-     *
397
-     * @param NULL  $post_obj_which_is_null is an object containing the current post (as a $post object)
398
-     * @param array $metabox                is an array with metabox id, title, callback, and args elements. the value
399
-     *                                      at 'args' has key 'payment_method', as set within _payment_methods_list
400
-     * @return string
401
-     * @throws EE_Error
402
-     */
403
-    public function payment_method_settings_meta_box($post_obj_which_is_null, $metabox)
404
-    {
405
-        $payment_method = isset($metabox['args'], $metabox['args']['payment_method'])
406
-            ? $metabox['args']['payment_method'] : null;
407
-        if (! $payment_method instanceof EE_Payment_Method) {
408
-            throw new EE_Error(sprintf(__('Payment method metabox setup incorrectly. No Payment method object was supplied',
409
-                'event_espresso')));
410
-        }
411
-        $payment_method_scopes = $payment_method->active();
412
-        // if the payment method really exists show its form, otherwise the activation template
413
-        if ($payment_method->ID() && ! empty($payment_method_scopes)) {
414
-            $form = $this->_generate_payment_method_settings_form($payment_method);
415
-            if ($form->form_data_present_in($this->_req_data)) {
416
-                $form->receive_form_submission($this->_req_data);
417
-            }
418
-            echo $form->form_open() . $form->get_html_and_js() . $form->form_close();
419
-        } else {
420
-            echo $this->_activate_payment_method_button($payment_method)->get_html_and_js();
421
-        }
422
-    }
423
-
424
-
425
-
426
-    /**
427
-     * Gets the form for all the settings related to this payment method type
428
-     *
429
-     * @access protected
430
-     * @param \EE_Payment_Method $payment_method
431
-     * @return \EE_Form_Section_Proper
432
-     */
433
-    protected function _generate_payment_method_settings_form(EE_Payment_Method $payment_method)
434
-    {
435
-        if (! $payment_method instanceof EE_Payment_Method) {
436
-            return new EE_Form_Section_Proper();
437
-        }
438
-        return new EE_Form_Section_Proper(
439
-            array(
440
-                'name'            => $payment_method->slug() . '_settings_form',
441
-                'html_id'         => $payment_method->slug() . '_settings_form',
442
-                'action'          => EE_Admin_Page::add_query_args_and_nonce(
443
-                    array(
444
-                        'action'         => 'update_payment_method',
445
-                        'payment_method' => $payment_method->slug(),
446
-                    ),
447
-                    EE_PAYMENTS_ADMIN_URL
448
-                ),
449
-                'layout_strategy' => new EE_Admin_Two_Column_Layout(),
450
-                'subsections'     => apply_filters(
451
-                    'FHEE__Payments_Admin_Page___generate_payment_method_settings_form__form_subsections',
452
-                    array(
453
-                        'pci_dss_compliance'      => $this->_pci_dss_compliance($payment_method),
454
-                        'currency_support'        => $this->_currency_support($payment_method),
455
-                        'payment_method_settings' => $this->_payment_method_settings($payment_method),
456
-                        'update'                  => $this->_update_payment_method_button($payment_method),
457
-                        'deactivate'              => $this->_deactivate_payment_method_button($payment_method),
458
-                        'fine_print'              => $this->_fine_print(),
459
-                    ),
460
-                    $payment_method
461
-                ),
462
-            )
463
-        );
464
-    }
465
-
466
-
467
-
468
-    /**
469
-     * _pci_dss_compliance
470
-     *
471
-     * @access protected
472
-     * @param \EE_Payment_Method $payment_method
473
-     * @return \EE_Form_Section_Proper
474
-     */
475
-    protected function _pci_dss_compliance(EE_Payment_Method $payment_method)
476
-    {
477
-        if ($payment_method->type_obj()->requires_https()) {
478
-            return new EE_Form_Section_HTML(
479
-                EEH_HTML::tr(
480
-                    EEH_HTML::th(
481
-                        EEH_HTML::label(
482
-                            EEH_HTML::strong(__('IMPORTANT', 'event_espresso'), '', 'important-notice')
483
-                        )
484
-                    ) .
485
-                    EEH_HTML::td(
486
-                        EEH_HTML::strong(__('You are responsible for your own website security and Payment Card Industry Data Security Standards (PCI DSS) compliance.',
487
-                            'event_espresso'))
488
-                        .
489
-                        EEH_HTML::br()
490
-                        .
491
-                        __('Learn more about ', 'event_espresso')
492
-                        . EEH_HTML::link('https://www.pcisecuritystandards.org/merchants/index.php',
493
-                            __('PCI DSS compliance', 'event_espresso'))
494
-                    )
495
-                )
496
-            );
497
-        } else {
498
-            return new EE_Form_Section_HTML('');
499
-        }
500
-    }
501
-
502
-
503
-
504
-    /**
505
-     * _currency_support
506
-     *
507
-     * @access protected
508
-     * @param \EE_Payment_Method $payment_method
509
-     * @return \EE_Form_Section_Proper
510
-     */
511
-    protected function _currency_support(EE_Payment_Method $payment_method)
512
-    {
513
-        if (! $payment_method->usable_for_currency(EE_Config::instance()->currency->code)) {
514
-            return new EE_Form_Section_HTML(
515
-                EEH_HTML::tr(
516
-                    EEH_HTML::th(
517
-                        EEH_HTML::label(
518
-                            EEH_HTML::strong(__('IMPORTANT', 'event_espresso'), '', 'important-notice')
519
-                        )
520
-                    ) .
521
-                    EEH_HTML::td(
522
-                        EEH_HTML::strong(
523
-                            sprintf(
524
-                                __('This payment method does not support the currency set on your site (%1$s). Please activate a different payment method or change your site\'s country and associated currency.',
525
-                                    'event_espresso'),
526
-                                EE_Config::instance()->currency->code
527
-                            )
528
-                        )
529
-                    )
530
-                )
531
-            );
532
-        } else {
533
-            return new EE_Form_Section_HTML('');
534
-        }
535
-    }
536
-
537
-
538
-
539
-    /**
540
-     * _update_payment_method_button
541
-     *
542
-     * @access protected
543
-     * @param \EE_Payment_Method $payment_method
544
-     * @return \EE_Form_Section_HTML
545
-     */
546
-    protected function _payment_method_settings(EE_Payment_Method $payment_method)
547
-    {
548
-        //modify the form so we only have/show fields that will be implemented for this version
549
-        return $this->_simplify_form($payment_method->type_obj()->settings_form(), $payment_method->name());
550
-    }
551
-
552
-
553
-
554
-    /**
555
-     * Simplifies the form to merely reproduce 4.1's gateway settings functionality
556
-     *
557
-     * @param EE_Form_Section_Proper $form_section
558
-     * @param string                 $payment_method_name
559
-     * @return \EE_Payment_Method_Form
560
-     * @throws \EE_Error
561
-     */
562
-    protected function _simplify_form($form_section, $payment_method_name = '')
563
-    {
564
-        if ($form_section instanceof EE_Payment_Method_Form) {
565
-            $form_section->exclude(
566
-                array(
567
-                    'PMD_type', //dont want them changing the type
568
-                    'PMD_slug', //or the slug (probably never)
569
-                    'PMD_wp_user', //or the user's ID
570
-                    'Currency' //or the currency, until the rest of EE supports simultaneous currencies
571
-                )
572
-            );
573
-            return $form_section;
574
-        } else {
575
-            throw new EE_Error(sprintf(__('The EE_Payment_Method_Form for the "%1$s" payment method is missing or invalid.',
576
-                'event_espresso'), $payment_method_name));
577
-        }
578
-    }
579
-
580
-
581
-
582
-    /**
583
-     * _update_payment_method_button
584
-     *
585
-     * @access protected
586
-     * @param \EE_Payment_Method $payment_method
587
-     * @return \EE_Form_Section_HTML
588
-     */
589
-    protected function _update_payment_method_button(EE_Payment_Method $payment_method)
590
-    {
591
-        $update_button = new EE_Submit_Input(
592
-            array(
593
-                'name'       => 'submit',
594
-                'html_id'    => 'save_' . $payment_method->slug() . '_settings',
595
-                'default'    => sprintf(__('Update %s Payment Settings', 'event_espresso'),
596
-                    $payment_method->admin_name()),
597
-                'html_label' => EEH_HTML::nbsp(),
598
-            )
599
-        );
600
-        return new EE_Form_Section_HTML(
601
-            EEH_HTML::no_row(EEH_HTML::br(2)) .
602
-            EEH_HTML::tr(
603
-                EEH_HTML::th(__('Update Settings', 'event_espresso')) .
604
-                EEH_HTML::td(
605
-                    $update_button->get_html_for_input()
606
-                )
607
-            )
608
-        );
609
-    }
610
-
611
-
612
-
613
-    /**
614
-     * _deactivate_payment_method_button
615
-     *
616
-     * @access protected
617
-     * @param \EE_Payment_Method $payment_method
618
-     * @return \EE_Form_Section_Proper
619
-     */
620
-    protected function _deactivate_payment_method_button(EE_Payment_Method $payment_method)
621
-    {
622
-        $link_text_and_title = sprintf(__('Deactivate %1$s Payments?', 'event_espresso'),
623
-            $payment_method->admin_name());
624
-        return new EE_Form_Section_HTML(
625
-            EEH_HTML::tr(
626
-                EEH_HTML::th(__('Deactivate Payment Method', 'event_espresso')) .
627
-                EEH_HTML::td(
628
-                    EEH_HTML::link(
629
-                        EE_Admin_Page::add_query_args_and_nonce(
630
-                            array(
631
-                                'action'         => 'deactivate_payment_method',
632
-                                'payment_method' => $payment_method->slug(),
633
-                            ),
634
-                            EE_PAYMENTS_ADMIN_URL
635
-                        ),
636
-                        $link_text_and_title,
637
-                        $link_text_and_title,
638
-                        'deactivate_' . $payment_method->slug(),
639
-                        'espresso-button button-secondary'
640
-                    )
641
-                )
642
-            )
643
-        );
644
-    }
645
-
646
-
647
-
648
-    /**
649
-     * _activate_payment_method_button
650
-     *
651
-     * @access protected
652
-     * @param \EE_Payment_Method $payment_method
653
-     * @return \EE_Form_Section_Proper
654
-     */
655
-    protected function _activate_payment_method_button(EE_Payment_Method $payment_method)
656
-    {
657
-        $link_text_and_title = sprintf(__('Activate %1$s Payment Method?', 'event_espresso'),
658
-            $payment_method->admin_name());
659
-        return new EE_Form_Section_Proper(
660
-            array(
661
-                'name'            => 'activate_' . $payment_method->slug() . '_settings_form',
662
-                'html_id'         => 'activate_' . $payment_method->slug() . '_settings_form',
663
-                'action'          => '#',
664
-                'layout_strategy' => new EE_Admin_Two_Column_Layout(),
665
-                'subsections'     => apply_filters(
666
-                    'FHEE__Payments_Admin_Page___activate_payment_method_button__form_subsections',
667
-                    array(
668
-                        new EE_Form_Section_HTML(
669
-                            EEH_HTML::tr(
670
-                                EEH_HTML::td($payment_method->type_obj()->introductory_html(),
671
-                                    '',
672
-                                    '',
673
-                                    '',
674
-                                    'colspan="2"'
675
-                                )
676
-                            ) .
677
-                            EEH_HTML::tr(
678
-                                EEH_HTML::th(
679
-                                    EEH_HTML::label(__('Click to Activate ', 'event_espresso'))
680
-                                ) .
681
-                                EEH_HTML::td(
682
-                                    EEH_HTML::link(
683
-                                        EE_Admin_Page::add_query_args_and_nonce(
684
-                                            array(
685
-                                                'action'              => 'activate_payment_method',
686
-                                                'payment_method_type' => $payment_method->type(),
687
-                                            ),
688
-                                            EE_PAYMENTS_ADMIN_URL
689
-                                        ),
690
-                                        $link_text_and_title,
691
-                                        $link_text_and_title,
692
-                                        'activate_' . $payment_method->slug(),
693
-                                        'espresso-button-green button-primary'
694
-                                    )
695
-                                )
696
-                            )
697
-                        ),
698
-                    ),
699
-                    $payment_method
700
-                ),
701
-            )
702
-        );
703
-    }
704
-
705
-
706
-
707
-    /**
708
-     * _fine_print
709
-     *
710
-     * @access protected
711
-     * @return \EE_Form_Section_HTML
712
-     */
713
-    protected function _fine_print()
714
-    {
715
-        return new EE_Form_Section_HTML(
716
-            EEH_HTML::tr(
717
-                EEH_HTML::th() .
718
-                EEH_HTML::td(
719
-                    EEH_HTML::p(__('All fields marked with a * are required fields', 'event_espresso'), '', 'grey-text')
720
-                )
721
-            )
722
-        );
723
-    }
724
-
725
-
726
-
727
-    /**
728
-     * Activates a payment method of that type. Mostly assuming there is only 1 of that type (or none so far)
729
-     *
730
-     * @global WP_User $current_user
731
-     */
732
-    protected function _activate_payment_method()
733
-    {
734
-        if (isset($this->_req_data['payment_method_type'])) {
735
-            $payment_method_type = sanitize_text_field($this->_req_data['payment_method_type']);
736
-            //see if one exists
737
-            EE_Registry::instance()->load_lib('Payment_Method_Manager');
738
-            $payment_method = EE_Payment_Method_Manager::instance()
739
-                                                       ->activate_a_payment_method_of_type($payment_method_type);
740
-            $this->_redirect_after_action(1, 'Payment Method', 'activated',
741
-                array('action' => 'default', 'payment_method' => $payment_method->slug()));
742
-        } else {
743
-            $this->_redirect_after_action(false, 'Payment Method', 'activated', array('action' => 'default'));
744
-        }
745
-    }
746
-
747
-
748
-
749
-    /**
750
-     * Deactivates the payment method with the specified slug, and redirects.
751
-     */
752
-    protected function _deactivate_payment_method()
753
-    {
754
-        if (isset($this->_req_data['payment_method'])) {
755
-            $payment_method_slug = sanitize_key($this->_req_data['payment_method']);
756
-            //deactivate it
757
-            EE_Registry::instance()->load_lib('Payment_Method_Manager');
758
-            $count_updated = EE_Payment_Method_Manager::instance()->deactivate_payment_method($payment_method_slug);
759
-            $this->_redirect_after_action($count_updated, 'Payment Method', 'deactivated',
760
-                array('action' => 'default', 'payment_method' => $payment_method_slug));
761
-        } else {
762
-            $this->_redirect_after_action(false, 'Payment Method', 'deactivated', array('action' => 'default'));
763
-        }
764
-    }
765
-
766
-
767
-
768
-    /**
769
-     * Processes the payment method form that was submitted. This is slightly trickier than usual form
770
-     * processing because we first need to identify WHICH form was processed and which payment method
771
-     * it corresponds to. Once we have done that, we see if the form is valid. If it is, the
772
-     * form's data is saved and we redirect to the default payment methods page, setting the updated payment method
773
-     * as the currently-selected one. If it DOESN'T validate, we render the page with the form's errors (in the
774
-     * subsequently called 'headers_sent_func' which is _payment_methods_list)
775
-     *
776
-     * @return void
777
-     */
778
-    protected function _update_payment_method()
779
-    {
780
-        if ($_SERVER['REQUEST_METHOD'] == 'POST') {
781
-            //ok let's find which gateway form to use based on the form input
782
-            EE_Registry::instance()->load_lib('Payment_Method_Manager');
783
-            /** @var $correct_pmt_form_to_use EE_Payment_Method_Form */
784
-            $correct_pmt_form_to_use = null;
785
-            $payment_method = null;
786
-            foreach (EEM_Payment_Method::instance()->get_all() as $payment_method) {
787
-                //get the form and simplify it, like what we do when we display it
788
-                $pmt_form = $this->_generate_payment_method_settings_form($payment_method);
789
-                if ($pmt_form->form_data_present_in($this->_req_data)) {
790
-                    $correct_pmt_form_to_use = $pmt_form;
791
-                    break;
792
-                }
793
-            }
794
-            //if we couldn't find the correct payment method type...
795
-            if (! $correct_pmt_form_to_use) {
796
-                EE_Error::add_error(__("We could not find which payment method type your form submission related to. Please contact support",
797
-                    'event_espresso'), __FILE__, __FUNCTION__, __LINE__);
798
-                $this->_redirect_after_action(false, 'Payment Method', 'activated', array('action' => 'default'));
799
-            }
800
-            $correct_pmt_form_to_use->receive_form_submission($this->_req_data);
801
-            if ($correct_pmt_form_to_use->is_valid()) {
802
-                $payment_settings_subform = $correct_pmt_form_to_use->get_subsection('payment_method_settings');
803
-                if (! $payment_settings_subform instanceof EE_Payment_Method_Form) {
804
-                    throw new EE_Error(
805
-                        sprintf(
806
-                            __('The payment method could not be saved because the form sections were misnamed. We expected to find %1$s, but did not.',
807
-                                'event_espresso'),
808
-                            'payment_method_settings'
809
-                        )
810
-                    );
811
-                }
812
-                $payment_settings_subform->save();
813
-                /** @var $pm EE_Payment_Method */
814
-                $this->_redirect_after_action(true, 'Payment Method', 'updated',
815
-                    array('action' => 'default', 'payment_method' => $payment_method->slug()));
816
-            } else {
817
-                EE_Error::add_error(
818
-                    sprintf(
819
-                        __('Payment method of type %s was not saved because there were validation errors. They have been marked in the form',
820
-                            'event_espresso'),
821
-                        $payment_method instanceof EE_PMT_Base ? $payment_method->pretty_name()
822
-                            : __('"(unknown)"', 'event_espresso')
823
-                    ),
824
-                    __FILE__,
825
-                    __FUNCTION__,
826
-                    __LINE__
827
-                );
828
-            }
829
-        }
830
-        return;
831
-    }
832
-
833
-
834
-
835
-    protected function _payment_settings()
836
-    {
837
-        $this->_template_args['values'] = $this->_yes_no_values;
838
-        $this->_template_args['show_pending_payment_options'] = isset(EE_Registry::instance()->CFG->registration->show_pending_payment_options)
839
-            ? absint(EE_Registry::instance()->CFG->registration->show_pending_payment_options) : false;
840
-        $this->_set_add_edit_form_tags('update_payment_settings');
841
-        $this->_set_publish_post_box_vars(null, false, false, null, false);
842
-        $this->_template_args['admin_page_content'] = EEH_Template::display_template(EE_PAYMENTS_TEMPLATE_PATH
843
-                                                                                     . 'payment_settings.template.php',
844
-            $this->_template_args, true);
845
-        $this->display_admin_page_with_sidebar();
846
-    }
847
-
848
-
849
-
850
-    /**
851
-     *        _update_payment_settings
852
-     *
853
-     * @access protected
854
-     * @return array
855
-     */
856
-    protected function _update_payment_settings()
857
-    {
858
-        EE_Registry::instance()->CFG->registration->show_pending_payment_options = isset($this->_req_data['show_pending_payment_options'])
859
-            ? $this->_req_data['show_pending_payment_options'] : false;
860
-        EE_Registry::instance()->CFG = apply_filters('FHEE__Payments_Admin_Page___update_payment_settings__CFG',
861
-            EE_Registry::instance()->CFG);
30
+	/**
31
+	 * Variables used for when we're re-sorting the logs results, in case
32
+	 * we needed to do two queries and we need to resort
33
+	 *
34
+	 * @var string
35
+	 */
36
+	private $_sort_logs_again_direction;
37
+
38
+
39
+
40
+	/**
41
+	 * @Constructor
42
+	 * @access public
43
+	 * @param bool $routing indicate whether we want to just load the object and handle routing or just load the object.
44
+	 * @return \Payments_Admin_Page
45
+	 */
46
+	public function __construct($routing = true)
47
+	{
48
+		parent::__construct($routing);
49
+	}
50
+
51
+
52
+
53
+	protected function _init_page_props()
54
+	{
55
+		$this->page_slug = EE_PAYMENTS_PG_SLUG;
56
+		$this->page_label = __('Payment Methods', 'event_espresso');
57
+		$this->_admin_base_url = EE_PAYMENTS_ADMIN_URL;
58
+		$this->_admin_base_path = EE_PAYMENTS_ADMIN;
59
+	}
60
+
61
+
62
+
63
+	protected function _ajax_hooks()
64
+	{
65
+		//todo: all hooks for ajax goes here.
66
+	}
67
+
68
+
69
+
70
+	protected function _define_page_props()
71
+	{
72
+		$this->_admin_page_title = $this->page_label;
73
+		$this->_labels = array(
74
+			'publishbox' => __('Update Settings', 'event_espresso'),
75
+		);
76
+	}
77
+
78
+
79
+
80
+	protected function _set_page_routes()
81
+	{
82
+		/**
83
+		 * note that with payment method capabilities, although we've implemented
84
+		 * capability mapping which will be used for accessing payment methods owned by
85
+		 * other users.  This is not fully implemented yet in the payment method ui.
86
+		 * Currently only the "plural" caps are in active use.
87
+		 * When cap mapping is implemented, some routes will need to use the singular form of
88
+		 * capability method and also include the $id of the payment method for the route.
89
+		 **/
90
+		$this->_page_routes = array(
91
+			'default'                   => array(
92
+				'func'       => '_payment_methods_list',
93
+				'capability' => 'ee_edit_payment_methods',
94
+			),
95
+			'payment_settings'          => array(
96
+				'func'       => '_payment_settings',
97
+				'capability' => 'ee_manage_gateways',
98
+			),
99
+			'activate_payment_method'   => array(
100
+				'func'       => '_activate_payment_method',
101
+				'noheader'   => true,
102
+				'capability' => 'ee_edit_payment_methods',
103
+			),
104
+			'deactivate_payment_method' => array(
105
+				'func'       => '_deactivate_payment_method',
106
+				'noheader'   => true,
107
+				'capability' => 'ee_delete_payment_methods',
108
+			),
109
+			'update_payment_method'     => array(
110
+				'func'               => '_update_payment_method',
111
+				'noheader'           => true,
112
+				'headers_sent_route' => 'default',
113
+				'capability'         => 'ee_edit_payment_methods',
114
+			),
115
+			'update_payment_settings'   => array(
116
+				'func'       => '_update_payment_settings',
117
+				'noheader'   => true,
118
+				'capability' => 'ee_manage_gateways',
119
+			),
120
+			'payment_log'               => array(
121
+				'func'       => '_payment_log_overview_list_table',
122
+				'capability' => 'ee_read_payment_methods',
123
+			),
124
+			'payment_log_details'       => array(
125
+				'func'       => '_payment_log_details',
126
+				'capability' => 'ee_read_payment_methods',
127
+			),
128
+		);
129
+	}
130
+
131
+
132
+
133
+	protected function _set_page_config()
134
+	{
135
+		$payment_method_list_config = array(
136
+			'nav'           => array(
137
+				'label' => __('Payment Methods', 'event_espresso'),
138
+				'order' => 10,
139
+			),
140
+			'metaboxes'     => $this->_default_espresso_metaboxes,
141
+			'help_tabs'     => array_merge(
142
+				array(
143
+					'payment_methods_overview_help_tab' => array(
144
+						'title'    => __('Payment Methods Overview', 'event_espresso'),
145
+						'filename' => 'payment_methods_overview',
146
+					),
147
+				),
148
+				$this->_add_payment_method_help_tabs()),
149
+			'help_tour'     => array('Payment_Methods_Selection_Help_Tour'),
150
+			'require_nonce' => false,
151
+		);
152
+		$this->_page_config = array(
153
+			'default'          => $payment_method_list_config,
154
+			'payment_settings' => array(
155
+				'nav'           => array(
156
+					'label' => __('Settings', 'event_espresso'),
157
+					'order' => 20,
158
+				),
159
+				'help_tabs'     => array(
160
+					'payment_methods_settings_help_tab' => array(
161
+						'title'    => __('Payment Method Settings', 'event_espresso'),
162
+						'filename' => 'payment_methods_settings',
163
+					),
164
+				),
165
+				//'help_tour' => array( 'Payment_Methods_Settings_Help_Tour' ),
166
+				'metaboxes'     => array_merge($this->_default_espresso_metaboxes, array('_publish_post_box')),
167
+				'require_nonce' => false,
168
+			),
169
+			'payment_log'      => array(
170
+				'nav'           => array(
171
+					'label' => __("Logs", 'event_espresso'),
172
+					'order' => 30,
173
+				),
174
+				'list_table'    => 'Payment_Log_Admin_List_Table',
175
+				'metaboxes'     => $this->_default_espresso_metaboxes,
176
+				'require_nonce' => false,
177
+			),
178
+		);
179
+	}
180
+
181
+
182
+
183
+	/**
184
+	 * @return array
185
+	 */
186
+	protected function _add_payment_method_help_tabs()
187
+	{
188
+		EE_Registry::instance()->load_lib('Payment_Method_Manager');
189
+		$payment_method_types = EE_Payment_Method_Manager::instance()->payment_method_types();
190
+		$all_pmt_help_tabs_config = array();
191
+		foreach ($payment_method_types as $payment_method_type) {
192
+			if (! EE_Registry::instance()->CAP->current_user_can($payment_method_type->cap_name(),
193
+				'specific_payment_method_type_access')
194
+			) {
195
+				continue;
196
+			}
197
+			foreach ($payment_method_type->help_tabs_config() as $help_tab_name => $config) {
198
+				$template_args = isset($config['template_args']) ? $config['template_args'] : array();
199
+				$template_args['admin_page_obj'] = $this;
200
+				$all_pmt_help_tabs_config[$help_tab_name] = array(
201
+					'title'   => $config['title'],
202
+					'content' => EEH_Template::display_template(
203
+						$payment_method_type->file_folder() . 'help_tabs' . DS . $config['filename'] . '.help_tab.php',
204
+						$template_args,
205
+						true),
206
+				);
207
+			}
208
+		}
209
+		return $all_pmt_help_tabs_config;
210
+	}
211
+
212
+
213
+
214
+	//none of the below group are currently used for Gateway Settings
215
+	protected function _add_screen_options()
216
+	{
217
+	}
218
+
219
+
220
+
221
+	protected function _add_feature_pointers()
222
+	{
223
+	}
224
+
225
+
226
+
227
+	public function admin_init()
228
+	{
229
+	}
230
+
231
+
232
+
233
+	public function admin_notices()
234
+	{
235
+	}
236
+
237
+
238
+
239
+	public function admin_footer_scripts()
240
+	{
241
+	}
242
+
243
+
244
+
245
+	public function load_scripts_styles()
246
+	{
247
+		wp_enqueue_script('ee_admin_js');
248
+		wp_enqueue_script('ee-text-links');
249
+		wp_enqueue_script('espresso_payments', EE_PAYMENTS_ASSETS_URL . 'espresso_payments_admin.js',
250
+			array('espresso-ui-theme', 'ee-datepicker'), EVENT_ESPRESSO_VERSION, true);
251
+	}
252
+
253
+
254
+
255
+	public function load_scripts_styles_default()
256
+	{
257
+		//styles
258
+		wp_register_style('espresso_payments', EE_PAYMENTS_ASSETS_URL . 'ee-payments.css', array(),
259
+			EVENT_ESPRESSO_VERSION);
260
+		wp_enqueue_style('espresso_payments');
261
+		wp_enqueue_style('ee-text-links');
262
+		//scripts
263
+	}
264
+
265
+
266
+
267
+	protected function _payment_methods_list()
268
+	{
269
+		/**
270
+		 * first let's ensure payment methods have been setup. We do this here because when people activate a
271
+		 * payment method for the first time (as an addon), it may not setup its capabilities or get registered correctly due
272
+		 * to the loading process.  However, people MUST setup the details for the payment method so its safe to do a
273
+		 * recheck here.
274
+		 */
275
+		EE_Registry::instance()->load_lib('Payment_Method_Manager');
276
+		EEM_Payment_Method::instance()->verify_button_urls();
277
+		//setup tabs, one for each payment method type
278
+		$tabs = array();
279
+		$payment_methods = array();
280
+		foreach (EE_Payment_Method_Manager::instance()->payment_method_types() as $pmt_obj) {
281
+			// we don't want to show admin-only PMTs for now
282
+			if ($pmt_obj instanceof EE_PMT_Admin_Only) {
283
+				continue;
284
+			}
285
+			//check access
286
+			if (! EE_Registry::instance()->CAP->current_user_can($pmt_obj->cap_name(),
287
+				'specific_payment_method_type_access')
288
+			) {
289
+				continue;
290
+			}
291
+			//check for any active pms of that type
292
+			$payment_method = EEM_Payment_Method::instance()->get_one_of_type($pmt_obj->system_name());
293
+			if (! $payment_method instanceof EE_Payment_Method) {
294
+				$payment_method = EE_Payment_Method::new_instance(
295
+					array(
296
+						'PMD_slug'       => sanitize_key($pmt_obj->system_name()),
297
+						'PMD_type'       => $pmt_obj->system_name(),
298
+						'PMD_name'       => $pmt_obj->pretty_name(),
299
+						'PMD_admin_name' => $pmt_obj->pretty_name(),
300
+					)
301
+				);
302
+			}
303
+			$payment_methods[$payment_method->slug()] = $payment_method;
304
+		}
305
+		$payment_methods = apply_filters('FHEE__Payments_Admin_Page___payment_methods_list__payment_methods',
306
+			$payment_methods);
307
+		foreach ($payment_methods as $payment_method) {
308
+			if ($payment_method instanceof EE_Payment_Method) {
309
+				add_meta_box(
310
+				//html id
311
+					'espresso_' . $payment_method->slug() . '_payment_settings',
312
+					//title
313
+					sprintf(__('%s Settings', 'event_espresso'), $payment_method->admin_name()),
314
+					//callback
315
+					array($this, 'payment_method_settings_meta_box'),
316
+					//post type
317
+					null,
318
+					//context
319
+					'normal',
320
+					//priority
321
+					'default',
322
+					//callback args
323
+					array('payment_method' => $payment_method)
324
+				);
325
+				//setup for tabbed content
326
+				$tabs[$payment_method->slug()] = array(
327
+					'label' => $payment_method->admin_name(),
328
+					'class' => $payment_method->active() ? 'gateway-active' : '',
329
+					'href'  => 'espresso_' . $payment_method->slug() . '_payment_settings',
330
+					'title' => __('Modify this Payment Method', 'event_espresso'),
331
+					'slug'  => $payment_method->slug(),
332
+				);
333
+			}
334
+		}
335
+		$this->_template_args['admin_page_header'] = EEH_Tabbed_Content::tab_text_links($tabs, 'payment_method_links',
336
+			'|', $this->_get_active_payment_method_slug());
337
+		$this->display_admin_page_with_sidebar();
338
+	}
339
+
340
+
341
+
342
+	/**
343
+	 *   _get_active_payment_method_slug
344
+	 *
345
+	 * @return string
346
+	 */
347
+	protected function _get_active_payment_method_slug()
348
+	{
349
+		$payment_method_slug = false;
350
+		//decide which payment method tab to open first, as dictated by the request's 'payment_method'
351
+		if (isset($this->_req_data['payment_method'])) {
352
+			// if they provided the current payment method, use it
353
+			$payment_method_slug = sanitize_key($this->_req_data['payment_method']);
354
+		}
355
+		$payment_method = EEM_Payment_Method::instance()->get_one(array(array('PMD_slug' => $payment_method_slug)));
356
+		// if that didn't work or wasn't provided, find another way to select the current pm
357
+		if (! $this->_verify_payment_method($payment_method)) {
358
+			// like, looking for an active one
359
+			$payment_method = EEM_Payment_Method::instance()->get_one_active('CART');
360
+			// test that one as well
361
+			if ($this->_verify_payment_method($payment_method)) {
362
+				$payment_method_slug = $payment_method->slug();
363
+			} else {
364
+				$payment_method_slug = 'paypal_standard';
365
+			}
366
+		}
367
+		return $payment_method_slug;
368
+	}
369
+
370
+
371
+
372
+	/**
373
+	 *    payment_method_settings_meta_box
374
+	 *    returns TRUE if the passed payment method is properly constructed and the logged in user has the correct
375
+	 *    capabilities to access it
376
+	 *
377
+	 * @param \EE_Payment_Method $payment_method
378
+	 * @return boolean
379
+	 */
380
+	protected function _verify_payment_method($payment_method)
381
+	{
382
+		if (
383
+			$payment_method instanceof EE_Payment_Method && $payment_method->type_obj() instanceof EE_PMT_Base
384
+			&& EE_Registry::instance()->CAP->current_user_can($payment_method->type_obj()->cap_name(),
385
+				'specific_payment_method_type_access')
386
+		) {
387
+			return true;
388
+		}
389
+		return false;
390
+	}
391
+
392
+
393
+
394
+	/**
395
+	 *    payment_method_settings_meta_box
396
+	 *
397
+	 * @param NULL  $post_obj_which_is_null is an object containing the current post (as a $post object)
398
+	 * @param array $metabox                is an array with metabox id, title, callback, and args elements. the value
399
+	 *                                      at 'args' has key 'payment_method', as set within _payment_methods_list
400
+	 * @return string
401
+	 * @throws EE_Error
402
+	 */
403
+	public function payment_method_settings_meta_box($post_obj_which_is_null, $metabox)
404
+	{
405
+		$payment_method = isset($metabox['args'], $metabox['args']['payment_method'])
406
+			? $metabox['args']['payment_method'] : null;
407
+		if (! $payment_method instanceof EE_Payment_Method) {
408
+			throw new EE_Error(sprintf(__('Payment method metabox setup incorrectly. No Payment method object was supplied',
409
+				'event_espresso')));
410
+		}
411
+		$payment_method_scopes = $payment_method->active();
412
+		// if the payment method really exists show its form, otherwise the activation template
413
+		if ($payment_method->ID() && ! empty($payment_method_scopes)) {
414
+			$form = $this->_generate_payment_method_settings_form($payment_method);
415
+			if ($form->form_data_present_in($this->_req_data)) {
416
+				$form->receive_form_submission($this->_req_data);
417
+			}
418
+			echo $form->form_open() . $form->get_html_and_js() . $form->form_close();
419
+		} else {
420
+			echo $this->_activate_payment_method_button($payment_method)->get_html_and_js();
421
+		}
422
+	}
423
+
424
+
425
+
426
+	/**
427
+	 * Gets the form for all the settings related to this payment method type
428
+	 *
429
+	 * @access protected
430
+	 * @param \EE_Payment_Method $payment_method
431
+	 * @return \EE_Form_Section_Proper
432
+	 */
433
+	protected function _generate_payment_method_settings_form(EE_Payment_Method $payment_method)
434
+	{
435
+		if (! $payment_method instanceof EE_Payment_Method) {
436
+			return new EE_Form_Section_Proper();
437
+		}
438
+		return new EE_Form_Section_Proper(
439
+			array(
440
+				'name'            => $payment_method->slug() . '_settings_form',
441
+				'html_id'         => $payment_method->slug() . '_settings_form',
442
+				'action'          => EE_Admin_Page::add_query_args_and_nonce(
443
+					array(
444
+						'action'         => 'update_payment_method',
445
+						'payment_method' => $payment_method->slug(),
446
+					),
447
+					EE_PAYMENTS_ADMIN_URL
448
+				),
449
+				'layout_strategy' => new EE_Admin_Two_Column_Layout(),
450
+				'subsections'     => apply_filters(
451
+					'FHEE__Payments_Admin_Page___generate_payment_method_settings_form__form_subsections',
452
+					array(
453
+						'pci_dss_compliance'      => $this->_pci_dss_compliance($payment_method),
454
+						'currency_support'        => $this->_currency_support($payment_method),
455
+						'payment_method_settings' => $this->_payment_method_settings($payment_method),
456
+						'update'                  => $this->_update_payment_method_button($payment_method),
457
+						'deactivate'              => $this->_deactivate_payment_method_button($payment_method),
458
+						'fine_print'              => $this->_fine_print(),
459
+					),
460
+					$payment_method
461
+				),
462
+			)
463
+		);
464
+	}
465
+
466
+
467
+
468
+	/**
469
+	 * _pci_dss_compliance
470
+	 *
471
+	 * @access protected
472
+	 * @param \EE_Payment_Method $payment_method
473
+	 * @return \EE_Form_Section_Proper
474
+	 */
475
+	protected function _pci_dss_compliance(EE_Payment_Method $payment_method)
476
+	{
477
+		if ($payment_method->type_obj()->requires_https()) {
478
+			return new EE_Form_Section_HTML(
479
+				EEH_HTML::tr(
480
+					EEH_HTML::th(
481
+						EEH_HTML::label(
482
+							EEH_HTML::strong(__('IMPORTANT', 'event_espresso'), '', 'important-notice')
483
+						)
484
+					) .
485
+					EEH_HTML::td(
486
+						EEH_HTML::strong(__('You are responsible for your own website security and Payment Card Industry Data Security Standards (PCI DSS) compliance.',
487
+							'event_espresso'))
488
+						.
489
+						EEH_HTML::br()
490
+						.
491
+						__('Learn more about ', 'event_espresso')
492
+						. EEH_HTML::link('https://www.pcisecuritystandards.org/merchants/index.php',
493
+							__('PCI DSS compliance', 'event_espresso'))
494
+					)
495
+				)
496
+			);
497
+		} else {
498
+			return new EE_Form_Section_HTML('');
499
+		}
500
+	}
501
+
502
+
503
+
504
+	/**
505
+	 * _currency_support
506
+	 *
507
+	 * @access protected
508
+	 * @param \EE_Payment_Method $payment_method
509
+	 * @return \EE_Form_Section_Proper
510
+	 */
511
+	protected function _currency_support(EE_Payment_Method $payment_method)
512
+	{
513
+		if (! $payment_method->usable_for_currency(EE_Config::instance()->currency->code)) {
514
+			return new EE_Form_Section_HTML(
515
+				EEH_HTML::tr(
516
+					EEH_HTML::th(
517
+						EEH_HTML::label(
518
+							EEH_HTML::strong(__('IMPORTANT', 'event_espresso'), '', 'important-notice')
519
+						)
520
+					) .
521
+					EEH_HTML::td(
522
+						EEH_HTML::strong(
523
+							sprintf(
524
+								__('This payment method does not support the currency set on your site (%1$s). Please activate a different payment method or change your site\'s country and associated currency.',
525
+									'event_espresso'),
526
+								EE_Config::instance()->currency->code
527
+							)
528
+						)
529
+					)
530
+				)
531
+			);
532
+		} else {
533
+			return new EE_Form_Section_HTML('');
534
+		}
535
+	}
536
+
537
+
538
+
539
+	/**
540
+	 * _update_payment_method_button
541
+	 *
542
+	 * @access protected
543
+	 * @param \EE_Payment_Method $payment_method
544
+	 * @return \EE_Form_Section_HTML
545
+	 */
546
+	protected function _payment_method_settings(EE_Payment_Method $payment_method)
547
+	{
548
+		//modify the form so we only have/show fields that will be implemented for this version
549
+		return $this->_simplify_form($payment_method->type_obj()->settings_form(), $payment_method->name());
550
+	}
551
+
552
+
553
+
554
+	/**
555
+	 * Simplifies the form to merely reproduce 4.1's gateway settings functionality
556
+	 *
557
+	 * @param EE_Form_Section_Proper $form_section
558
+	 * @param string                 $payment_method_name
559
+	 * @return \EE_Payment_Method_Form
560
+	 * @throws \EE_Error
561
+	 */
562
+	protected function _simplify_form($form_section, $payment_method_name = '')
563
+	{
564
+		if ($form_section instanceof EE_Payment_Method_Form) {
565
+			$form_section->exclude(
566
+				array(
567
+					'PMD_type', //dont want them changing the type
568
+					'PMD_slug', //or the slug (probably never)
569
+					'PMD_wp_user', //or the user's ID
570
+					'Currency' //or the currency, until the rest of EE supports simultaneous currencies
571
+				)
572
+			);
573
+			return $form_section;
574
+		} else {
575
+			throw new EE_Error(sprintf(__('The EE_Payment_Method_Form for the "%1$s" payment method is missing or invalid.',
576
+				'event_espresso'), $payment_method_name));
577
+		}
578
+	}
579
+
580
+
581
+
582
+	/**
583
+	 * _update_payment_method_button
584
+	 *
585
+	 * @access protected
586
+	 * @param \EE_Payment_Method $payment_method
587
+	 * @return \EE_Form_Section_HTML
588
+	 */
589
+	protected function _update_payment_method_button(EE_Payment_Method $payment_method)
590
+	{
591
+		$update_button = new EE_Submit_Input(
592
+			array(
593
+				'name'       => 'submit',
594
+				'html_id'    => 'save_' . $payment_method->slug() . '_settings',
595
+				'default'    => sprintf(__('Update %s Payment Settings', 'event_espresso'),
596
+					$payment_method->admin_name()),
597
+				'html_label' => EEH_HTML::nbsp(),
598
+			)
599
+		);
600
+		return new EE_Form_Section_HTML(
601
+			EEH_HTML::no_row(EEH_HTML::br(2)) .
602
+			EEH_HTML::tr(
603
+				EEH_HTML::th(__('Update Settings', 'event_espresso')) .
604
+				EEH_HTML::td(
605
+					$update_button->get_html_for_input()
606
+				)
607
+			)
608
+		);
609
+	}
610
+
611
+
612
+
613
+	/**
614
+	 * _deactivate_payment_method_button
615
+	 *
616
+	 * @access protected
617
+	 * @param \EE_Payment_Method $payment_method
618
+	 * @return \EE_Form_Section_Proper
619
+	 */
620
+	protected function _deactivate_payment_method_button(EE_Payment_Method $payment_method)
621
+	{
622
+		$link_text_and_title = sprintf(__('Deactivate %1$s Payments?', 'event_espresso'),
623
+			$payment_method->admin_name());
624
+		return new EE_Form_Section_HTML(
625
+			EEH_HTML::tr(
626
+				EEH_HTML::th(__('Deactivate Payment Method', 'event_espresso')) .
627
+				EEH_HTML::td(
628
+					EEH_HTML::link(
629
+						EE_Admin_Page::add_query_args_and_nonce(
630
+							array(
631
+								'action'         => 'deactivate_payment_method',
632
+								'payment_method' => $payment_method->slug(),
633
+							),
634
+							EE_PAYMENTS_ADMIN_URL
635
+						),
636
+						$link_text_and_title,
637
+						$link_text_and_title,
638
+						'deactivate_' . $payment_method->slug(),
639
+						'espresso-button button-secondary'
640
+					)
641
+				)
642
+			)
643
+		);
644
+	}
645
+
646
+
647
+
648
+	/**
649
+	 * _activate_payment_method_button
650
+	 *
651
+	 * @access protected
652
+	 * @param \EE_Payment_Method $payment_method
653
+	 * @return \EE_Form_Section_Proper
654
+	 */
655
+	protected function _activate_payment_method_button(EE_Payment_Method $payment_method)
656
+	{
657
+		$link_text_and_title = sprintf(__('Activate %1$s Payment Method?', 'event_espresso'),
658
+			$payment_method->admin_name());
659
+		return new EE_Form_Section_Proper(
660
+			array(
661
+				'name'            => 'activate_' . $payment_method->slug() . '_settings_form',
662
+				'html_id'         => 'activate_' . $payment_method->slug() . '_settings_form',
663
+				'action'          => '#',
664
+				'layout_strategy' => new EE_Admin_Two_Column_Layout(),
665
+				'subsections'     => apply_filters(
666
+					'FHEE__Payments_Admin_Page___activate_payment_method_button__form_subsections',
667
+					array(
668
+						new EE_Form_Section_HTML(
669
+							EEH_HTML::tr(
670
+								EEH_HTML::td($payment_method->type_obj()->introductory_html(),
671
+									'',
672
+									'',
673
+									'',
674
+									'colspan="2"'
675
+								)
676
+							) .
677
+							EEH_HTML::tr(
678
+								EEH_HTML::th(
679
+									EEH_HTML::label(__('Click to Activate ', 'event_espresso'))
680
+								) .
681
+								EEH_HTML::td(
682
+									EEH_HTML::link(
683
+										EE_Admin_Page::add_query_args_and_nonce(
684
+											array(
685
+												'action'              => 'activate_payment_method',
686
+												'payment_method_type' => $payment_method->type(),
687
+											),
688
+											EE_PAYMENTS_ADMIN_URL
689
+										),
690
+										$link_text_and_title,
691
+										$link_text_and_title,
692
+										'activate_' . $payment_method->slug(),
693
+										'espresso-button-green button-primary'
694
+									)
695
+								)
696
+							)
697
+						),
698
+					),
699
+					$payment_method
700
+				),
701
+			)
702
+		);
703
+	}
704
+
705
+
706
+
707
+	/**
708
+	 * _fine_print
709
+	 *
710
+	 * @access protected
711
+	 * @return \EE_Form_Section_HTML
712
+	 */
713
+	protected function _fine_print()
714
+	{
715
+		return new EE_Form_Section_HTML(
716
+			EEH_HTML::tr(
717
+				EEH_HTML::th() .
718
+				EEH_HTML::td(
719
+					EEH_HTML::p(__('All fields marked with a * are required fields', 'event_espresso'), '', 'grey-text')
720
+				)
721
+			)
722
+		);
723
+	}
724
+
725
+
726
+
727
+	/**
728
+	 * Activates a payment method of that type. Mostly assuming there is only 1 of that type (or none so far)
729
+	 *
730
+	 * @global WP_User $current_user
731
+	 */
732
+	protected function _activate_payment_method()
733
+	{
734
+		if (isset($this->_req_data['payment_method_type'])) {
735
+			$payment_method_type = sanitize_text_field($this->_req_data['payment_method_type']);
736
+			//see if one exists
737
+			EE_Registry::instance()->load_lib('Payment_Method_Manager');
738
+			$payment_method = EE_Payment_Method_Manager::instance()
739
+													   ->activate_a_payment_method_of_type($payment_method_type);
740
+			$this->_redirect_after_action(1, 'Payment Method', 'activated',
741
+				array('action' => 'default', 'payment_method' => $payment_method->slug()));
742
+		} else {
743
+			$this->_redirect_after_action(false, 'Payment Method', 'activated', array('action' => 'default'));
744
+		}
745
+	}
746
+
747
+
748
+
749
+	/**
750
+	 * Deactivates the payment method with the specified slug, and redirects.
751
+	 */
752
+	protected function _deactivate_payment_method()
753
+	{
754
+		if (isset($this->_req_data['payment_method'])) {
755
+			$payment_method_slug = sanitize_key($this->_req_data['payment_method']);
756
+			//deactivate it
757
+			EE_Registry::instance()->load_lib('Payment_Method_Manager');
758
+			$count_updated = EE_Payment_Method_Manager::instance()->deactivate_payment_method($payment_method_slug);
759
+			$this->_redirect_after_action($count_updated, 'Payment Method', 'deactivated',
760
+				array('action' => 'default', 'payment_method' => $payment_method_slug));
761
+		} else {
762
+			$this->_redirect_after_action(false, 'Payment Method', 'deactivated', array('action' => 'default'));
763
+		}
764
+	}
765
+
766
+
767
+
768
+	/**
769
+	 * Processes the payment method form that was submitted. This is slightly trickier than usual form
770
+	 * processing because we first need to identify WHICH form was processed and which payment method
771
+	 * it corresponds to. Once we have done that, we see if the form is valid. If it is, the
772
+	 * form's data is saved and we redirect to the default payment methods page, setting the updated payment method
773
+	 * as the currently-selected one. If it DOESN'T validate, we render the page with the form's errors (in the
774
+	 * subsequently called 'headers_sent_func' which is _payment_methods_list)
775
+	 *
776
+	 * @return void
777
+	 */
778
+	protected function _update_payment_method()
779
+	{
780
+		if ($_SERVER['REQUEST_METHOD'] == 'POST') {
781
+			//ok let's find which gateway form to use based on the form input
782
+			EE_Registry::instance()->load_lib('Payment_Method_Manager');
783
+			/** @var $correct_pmt_form_to_use EE_Payment_Method_Form */
784
+			$correct_pmt_form_to_use = null;
785
+			$payment_method = null;
786
+			foreach (EEM_Payment_Method::instance()->get_all() as $payment_method) {
787
+				//get the form and simplify it, like what we do when we display it
788
+				$pmt_form = $this->_generate_payment_method_settings_form($payment_method);
789
+				if ($pmt_form->form_data_present_in($this->_req_data)) {
790
+					$correct_pmt_form_to_use = $pmt_form;
791
+					break;
792
+				}
793
+			}
794
+			//if we couldn't find the correct payment method type...
795
+			if (! $correct_pmt_form_to_use) {
796
+				EE_Error::add_error(__("We could not find which payment method type your form submission related to. Please contact support",
797
+					'event_espresso'), __FILE__, __FUNCTION__, __LINE__);
798
+				$this->_redirect_after_action(false, 'Payment Method', 'activated', array('action' => 'default'));
799
+			}
800
+			$correct_pmt_form_to_use->receive_form_submission($this->_req_data);
801
+			if ($correct_pmt_form_to_use->is_valid()) {
802
+				$payment_settings_subform = $correct_pmt_form_to_use->get_subsection('payment_method_settings');
803
+				if (! $payment_settings_subform instanceof EE_Payment_Method_Form) {
804
+					throw new EE_Error(
805
+						sprintf(
806
+							__('The payment method could not be saved because the form sections were misnamed. We expected to find %1$s, but did not.',
807
+								'event_espresso'),
808
+							'payment_method_settings'
809
+						)
810
+					);
811
+				}
812
+				$payment_settings_subform->save();
813
+				/** @var $pm EE_Payment_Method */
814
+				$this->_redirect_after_action(true, 'Payment Method', 'updated',
815
+					array('action' => 'default', 'payment_method' => $payment_method->slug()));
816
+			} else {
817
+				EE_Error::add_error(
818
+					sprintf(
819
+						__('Payment method of type %s was not saved because there were validation errors. They have been marked in the form',
820
+							'event_espresso'),
821
+						$payment_method instanceof EE_PMT_Base ? $payment_method->pretty_name()
822
+							: __('"(unknown)"', 'event_espresso')
823
+					),
824
+					__FILE__,
825
+					__FUNCTION__,
826
+					__LINE__
827
+				);
828
+			}
829
+		}
830
+		return;
831
+	}
832
+
833
+
834
+
835
+	protected function _payment_settings()
836
+	{
837
+		$this->_template_args['values'] = $this->_yes_no_values;
838
+		$this->_template_args['show_pending_payment_options'] = isset(EE_Registry::instance()->CFG->registration->show_pending_payment_options)
839
+			? absint(EE_Registry::instance()->CFG->registration->show_pending_payment_options) : false;
840
+		$this->_set_add_edit_form_tags('update_payment_settings');
841
+		$this->_set_publish_post_box_vars(null, false, false, null, false);
842
+		$this->_template_args['admin_page_content'] = EEH_Template::display_template(EE_PAYMENTS_TEMPLATE_PATH
843
+																					 . 'payment_settings.template.php',
844
+			$this->_template_args, true);
845
+		$this->display_admin_page_with_sidebar();
846
+	}
847
+
848
+
849
+
850
+	/**
851
+	 *        _update_payment_settings
852
+	 *
853
+	 * @access protected
854
+	 * @return array
855
+	 */
856
+	protected function _update_payment_settings()
857
+	{
858
+		EE_Registry::instance()->CFG->registration->show_pending_payment_options = isset($this->_req_data['show_pending_payment_options'])
859
+			? $this->_req_data['show_pending_payment_options'] : false;
860
+		EE_Registry::instance()->CFG = apply_filters('FHEE__Payments_Admin_Page___update_payment_settings__CFG',
861
+			EE_Registry::instance()->CFG);
862 862
 //		 $superform = new EE_Form_Section_Proper(
863 863
 //		 	array(
864 864
 //		 		'subsections' => array(
@@ -876,176 +876,176 @@  discard block
 block discarded – undo
876 876
 //		 	);
877 877
 //		 	$this->_redirect_after_action( 0, 'settings', 'updated', array( 'action' => 'payment_settings' ) );
878 878
 //		 }
879
-        $what = __('Payment Settings', 'event_espresso');
880
-        $success = $this->_update_espresso_configuration($what, EE_Registry::instance()->CFG, __FILE__, __FUNCTION__,
881
-            __LINE__);
882
-        $this->_redirect_after_action($success, $what, __('updated', 'event_espresso'),
883
-            array('action' => 'payment_settings'));
884
-    }
879
+		$what = __('Payment Settings', 'event_espresso');
880
+		$success = $this->_update_espresso_configuration($what, EE_Registry::instance()->CFG, __FILE__, __FUNCTION__,
881
+			__LINE__);
882
+		$this->_redirect_after_action($success, $what, __('updated', 'event_espresso'),
883
+			array('action' => 'payment_settings'));
884
+	}
885 885
 
886 886
 
887 887
 
888
-    protected function _payment_log_overview_list_table()
889
-    {
888
+	protected function _payment_log_overview_list_table()
889
+	{
890 890
 //		$this->_search_btn_label = __('Payment Log', 'event_espresso');
891
-        $this->display_admin_list_table_page_with_sidebar();
892
-    }
893
-
894
-
895
-
896
-    protected function _set_list_table_views_payment_log()
897
-    {
898
-        $this->_views = array(
899
-            'all' => array(
900
-                'slug'  => 'all',
901
-                'label' => __('View All Logs', 'event_espresso'),
902
-                'count' => 0,
903
-            ),
904
-        );
905
-    }
906
-
907
-
908
-
909
-    /**
910
-     * @param int  $per_page
911
-     * @param int  $current_page
912
-     * @param bool $count
913
-     * @return array
914
-     */
915
-    public function get_payment_logs($per_page = 50, $current_page = 0, $count = false)
916
-    {
917
-        EE_Registry::instance()->load_model('Change_Log');
918
-        //we may need to do multiple queries (joining differently), so we actually wan tan array of query params
919
-        $query_params = array(array('LOG_type' => EEM_Change_Log::type_gateway));
920
-        //check if they've selected a specific payment method
921
-        if (isset($this->_req_data['_payment_method']) && $this->_req_data['_payment_method'] !== 'all') {
922
-            $query_params[0]['OR*pm_or_pay_pm'] = array(
923
-                'Payment.Payment_Method.PMD_ID' => $this->_req_data['_payment_method'],
924
-                'Payment_Method.PMD_ID'         => $this->_req_data['_payment_method'],
925
-            );
926
-        }
927
-        //take into account search
928
-        if (isset($this->_req_data['s']) && $this->_req_data['s']) {
929
-            $similarity_string = array('LIKE', '%' . str_replace("", "%", $this->_req_data['s']) . '%');
930
-            $query_params[0]['OR*s']['Payment.Transaction.Registration.Attendee.ATT_fname'] = $similarity_string;
931
-            $query_params[0]['OR*s']['Payment.Transaction.Registration.Attendee.ATT_lname'] = $similarity_string;
932
-            $query_params[0]['OR*s']['Payment.Transaction.Registration.Attendee.ATT_email'] = $similarity_string;
933
-            $query_params[0]['OR*s']['Payment.Payment_Method.PMD_name'] = $similarity_string;
934
-            $query_params[0]['OR*s']['Payment.Payment_Method.PMD_admin_name'] = $similarity_string;
935
-            $query_params[0]['OR*s']['Payment.Payment_Method.PMD_type'] = $similarity_string;
936
-            $query_params[0]['OR*s']['LOG_message'] = $similarity_string;
937
-            $query_params[0]['OR*s']['Payment_Method.PMD_name'] = $similarity_string;
938
-            $query_params[0]['OR*s']['Payment_Method.PMD_admin_name'] = $similarity_string;
939
-            $query_params[0]['OR*s']['Payment_Method.PMD_type'] = $similarity_string;
940
-            $query_params[0]['OR*s']['LOG_message'] = $similarity_string;
941
-        }
942
-        if (isset($this->_req_data['payment-filter-start-date'])
943
-            && isset($this->_req_data['payment-filter-end-date'])
944
-        ) {
945
-            //add date
946
-            $start_date = wp_strip_all_tags($this->_req_data['payment-filter-start-date']);
947
-            $end_date = wp_strip_all_tags($this->_req_data['payment-filter-end-date']);
948
-            //make sure our timestamps start and end right at the boundaries for each day
949
-            $start_date = date('Y-m-d', strtotime($start_date)) . ' 00:00:00';
950
-            $end_date = date('Y-m-d', strtotime($end_date)) . ' 23:59:59';
951
-            //convert to timestamps
952
-            $start_date = strtotime($start_date);
953
-            $end_date = strtotime($end_date);
954
-            //makes sure start date is the lowest value and vice versa
955
-            $start_date = min($start_date, $end_date);
956
-            $end_date = max($start_date, $end_date);
957
-            //convert for query
958
-            $start_date = EEM_Change_Log::instance()
959
-                                        ->convert_datetime_for_query('LOG_time', date('Y-m-d H:i:s', $start_date),
960
-                                            'Y-m-d H:i:s');
961
-            $end_date = EEM_Change_Log::instance()
962
-                                      ->convert_datetime_for_query('LOG_time', date('Y-m-d H:i:s', $end_date),
963
-                                          'Y-m-d H:i:s');
964
-            $query_params[0]['LOG_time'] = array('BETWEEN', array($start_date, $end_date));
965
-        }
966
-        if ($count) {
967
-            return EEM_Change_Log::instance()->count($query_params);
968
-        }
969
-        if (isset($this->_req_data['order'])) {
970
-            $sort = (isset($this->_req_data['order']) && ! empty($this->_req_data['order'])) ? $this->_req_data['order']
971
-                : 'DESC';
972
-            $query_params['order_by'] = array('LOG_time' => $sort);
973
-        } else {
974
-            $query_params['order_by'] = array('LOG_time' => 'DESC');
975
-        }
976
-        $offset = ($current_page - 1) * $per_page;
977
-        if (! isset($this->_req_data['download_results'])) {
978
-            $query_params['limit'] = array($offset, $per_page);
979
-        }
980
-        //now they've requested to instead just download the file instead of viewing it.
981
-        if (isset($this->_req_data['download_results'])) {
982
-            $wpdb_results = EEM_Change_Log::instance()->get_all_efficiently($query_params);
983
-            header('Content-Disposition: attachment');
984
-            header("Content-Disposition: attachment; filename=ee_payment_logs_for_" . sanitize_key(site_url()));
985
-            echo "<h1>Payment Logs for " . site_url() . "</h1>";
986
-            echo "<h3>Query:</h3>";
987
-            var_dump($query_params);
988
-            echo "<h3>Results:</h3>";
989
-            var_dump($wpdb_results);
990
-            die;
991
-        }
992
-        $results = EEM_Change_Log::instance()->get_all($query_params);
993
-        return $results;
994
-    }
995
-
996
-
997
-
998
-    /**
999
-     * Used by usort to RE-sort log query results, because we lose the ordering
1000
-     * because we're possibly combining the results from two queries
1001
-     *
1002
-     * @param EE_Change_Log $logA
1003
-     * @param EE_Change_Log $logB
1004
-     * @return int
1005
-     */
1006
-    protected function _sort_logs_again($logA, $logB)
1007
-    {
1008
-        $timeA = $logA->get_raw('LOG_time');
1009
-        $timeB = $logB->get_raw('LOG_time');
1010
-        if ($timeA == $timeB) {
1011
-            return 0;
1012
-        }
1013
-        $comparison = $timeA < $timeB ? -1 : 1;
1014
-        if (strtoupper($this->_sort_logs_again_direction) == 'DESC') {
1015
-            return $comparison * -1;
1016
-        } else {
1017
-            return $comparison;
1018
-        }
1019
-    }
1020
-
1021
-
1022
-
1023
-    protected function _payment_log_details()
1024
-    {
1025
-        EE_Registry::instance()->load_model('Change_Log');
1026
-        /** @var $payment_log EE_Change_Log */
1027
-        $payment_log = EEM_Change_Log::instance()->get_one_by_ID($this->_req_data['ID']);
1028
-        $payment_method = null;
1029
-        $transaction = null;
1030
-        if ($payment_log instanceof EE_Change_Log) {
1031
-            if ($payment_log->object() instanceof EE_Payment) {
1032
-                $payment_method = $payment_log->object()->payment_method();
1033
-                $transaction = $payment_log->object()->transaction();
1034
-            } elseif ($payment_log->object() instanceof EE_Payment_Method) {
1035
-                $payment_method = $payment_log->object();
1036
-            }
1037
-        }
1038
-        $this->_template_args['admin_page_content'] = EEH_Template::display_template(
1039
-            EE_PAYMENTS_TEMPLATE_PATH . 'payment_log_details.template.php',
1040
-            array(
1041
-                'payment_log'    => $payment_log,
1042
-                'payment_method' => $payment_method,
1043
-                'transaction'    => $transaction,
1044
-            ),
1045
-            true
1046
-        );
1047
-        $this->display_admin_page_with_sidebar();
1048
-    }
891
+		$this->display_admin_list_table_page_with_sidebar();
892
+	}
893
+
894
+
895
+
896
+	protected function _set_list_table_views_payment_log()
897
+	{
898
+		$this->_views = array(
899
+			'all' => array(
900
+				'slug'  => 'all',
901
+				'label' => __('View All Logs', 'event_espresso'),
902
+				'count' => 0,
903
+			),
904
+		);
905
+	}
906
+
907
+
908
+
909
+	/**
910
+	 * @param int  $per_page
911
+	 * @param int  $current_page
912
+	 * @param bool $count
913
+	 * @return array
914
+	 */
915
+	public function get_payment_logs($per_page = 50, $current_page = 0, $count = false)
916
+	{
917
+		EE_Registry::instance()->load_model('Change_Log');
918
+		//we may need to do multiple queries (joining differently), so we actually wan tan array of query params
919
+		$query_params = array(array('LOG_type' => EEM_Change_Log::type_gateway));
920
+		//check if they've selected a specific payment method
921
+		if (isset($this->_req_data['_payment_method']) && $this->_req_data['_payment_method'] !== 'all') {
922
+			$query_params[0]['OR*pm_or_pay_pm'] = array(
923
+				'Payment.Payment_Method.PMD_ID' => $this->_req_data['_payment_method'],
924
+				'Payment_Method.PMD_ID'         => $this->_req_data['_payment_method'],
925
+			);
926
+		}
927
+		//take into account search
928
+		if (isset($this->_req_data['s']) && $this->_req_data['s']) {
929
+			$similarity_string = array('LIKE', '%' . str_replace("", "%", $this->_req_data['s']) . '%');
930
+			$query_params[0]['OR*s']['Payment.Transaction.Registration.Attendee.ATT_fname'] = $similarity_string;
931
+			$query_params[0]['OR*s']['Payment.Transaction.Registration.Attendee.ATT_lname'] = $similarity_string;
932
+			$query_params[0]['OR*s']['Payment.Transaction.Registration.Attendee.ATT_email'] = $similarity_string;
933
+			$query_params[0]['OR*s']['Payment.Payment_Method.PMD_name'] = $similarity_string;
934
+			$query_params[0]['OR*s']['Payment.Payment_Method.PMD_admin_name'] = $similarity_string;
935
+			$query_params[0]['OR*s']['Payment.Payment_Method.PMD_type'] = $similarity_string;
936
+			$query_params[0]['OR*s']['LOG_message'] = $similarity_string;
937
+			$query_params[0]['OR*s']['Payment_Method.PMD_name'] = $similarity_string;
938
+			$query_params[0]['OR*s']['Payment_Method.PMD_admin_name'] = $similarity_string;
939
+			$query_params[0]['OR*s']['Payment_Method.PMD_type'] = $similarity_string;
940
+			$query_params[0]['OR*s']['LOG_message'] = $similarity_string;
941
+		}
942
+		if (isset($this->_req_data['payment-filter-start-date'])
943
+			&& isset($this->_req_data['payment-filter-end-date'])
944
+		) {
945
+			//add date
946
+			$start_date = wp_strip_all_tags($this->_req_data['payment-filter-start-date']);
947
+			$end_date = wp_strip_all_tags($this->_req_data['payment-filter-end-date']);
948
+			//make sure our timestamps start and end right at the boundaries for each day
949
+			$start_date = date('Y-m-d', strtotime($start_date)) . ' 00:00:00';
950
+			$end_date = date('Y-m-d', strtotime($end_date)) . ' 23:59:59';
951
+			//convert to timestamps
952
+			$start_date = strtotime($start_date);
953
+			$end_date = strtotime($end_date);
954
+			//makes sure start date is the lowest value and vice versa
955
+			$start_date = min($start_date, $end_date);
956
+			$end_date = max($start_date, $end_date);
957
+			//convert for query
958
+			$start_date = EEM_Change_Log::instance()
959
+										->convert_datetime_for_query('LOG_time', date('Y-m-d H:i:s', $start_date),
960
+											'Y-m-d H:i:s');
961
+			$end_date = EEM_Change_Log::instance()
962
+									  ->convert_datetime_for_query('LOG_time', date('Y-m-d H:i:s', $end_date),
963
+										  'Y-m-d H:i:s');
964
+			$query_params[0]['LOG_time'] = array('BETWEEN', array($start_date, $end_date));
965
+		}
966
+		if ($count) {
967
+			return EEM_Change_Log::instance()->count($query_params);
968
+		}
969
+		if (isset($this->_req_data['order'])) {
970
+			$sort = (isset($this->_req_data['order']) && ! empty($this->_req_data['order'])) ? $this->_req_data['order']
971
+				: 'DESC';
972
+			$query_params['order_by'] = array('LOG_time' => $sort);
973
+		} else {
974
+			$query_params['order_by'] = array('LOG_time' => 'DESC');
975
+		}
976
+		$offset = ($current_page - 1) * $per_page;
977
+		if (! isset($this->_req_data['download_results'])) {
978
+			$query_params['limit'] = array($offset, $per_page);
979
+		}
980
+		//now they've requested to instead just download the file instead of viewing it.
981
+		if (isset($this->_req_data['download_results'])) {
982
+			$wpdb_results = EEM_Change_Log::instance()->get_all_efficiently($query_params);
983
+			header('Content-Disposition: attachment');
984
+			header("Content-Disposition: attachment; filename=ee_payment_logs_for_" . sanitize_key(site_url()));
985
+			echo "<h1>Payment Logs for " . site_url() . "</h1>";
986
+			echo "<h3>Query:</h3>";
987
+			var_dump($query_params);
988
+			echo "<h3>Results:</h3>";
989
+			var_dump($wpdb_results);
990
+			die;
991
+		}
992
+		$results = EEM_Change_Log::instance()->get_all($query_params);
993
+		return $results;
994
+	}
995
+
996
+
997
+
998
+	/**
999
+	 * Used by usort to RE-sort log query results, because we lose the ordering
1000
+	 * because we're possibly combining the results from two queries
1001
+	 *
1002
+	 * @param EE_Change_Log $logA
1003
+	 * @param EE_Change_Log $logB
1004
+	 * @return int
1005
+	 */
1006
+	protected function _sort_logs_again($logA, $logB)
1007
+	{
1008
+		$timeA = $logA->get_raw('LOG_time');
1009
+		$timeB = $logB->get_raw('LOG_time');
1010
+		if ($timeA == $timeB) {
1011
+			return 0;
1012
+		}
1013
+		$comparison = $timeA < $timeB ? -1 : 1;
1014
+		if (strtoupper($this->_sort_logs_again_direction) == 'DESC') {
1015
+			return $comparison * -1;
1016
+		} else {
1017
+			return $comparison;
1018
+		}
1019
+	}
1020
+
1021
+
1022
+
1023
+	protected function _payment_log_details()
1024
+	{
1025
+		EE_Registry::instance()->load_model('Change_Log');
1026
+		/** @var $payment_log EE_Change_Log */
1027
+		$payment_log = EEM_Change_Log::instance()->get_one_by_ID($this->_req_data['ID']);
1028
+		$payment_method = null;
1029
+		$transaction = null;
1030
+		if ($payment_log instanceof EE_Change_Log) {
1031
+			if ($payment_log->object() instanceof EE_Payment) {
1032
+				$payment_method = $payment_log->object()->payment_method();
1033
+				$transaction = $payment_log->object()->transaction();
1034
+			} elseif ($payment_log->object() instanceof EE_Payment_Method) {
1035
+				$payment_method = $payment_log->object();
1036
+			}
1037
+		}
1038
+		$this->_template_args['admin_page_content'] = EEH_Template::display_template(
1039
+			EE_PAYMENTS_TEMPLATE_PATH . 'payment_log_details.template.php',
1040
+			array(
1041
+				'payment_log'    => $payment_log,
1042
+				'payment_method' => $payment_method,
1043
+				'transaction'    => $transaction,
1044
+			),
1045
+			true
1046
+		);
1047
+		$this->display_admin_page_with_sidebar();
1048
+	}
1049 1049
 
1050 1050
 
1051 1051
 } //end Payments_Admin_Page class
Please login to merge, or discard this patch.
Spacing   +38 added lines, -38 removed lines patch added patch discarded remove patch
@@ -1,5 +1,5 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if (! defined('EVENT_ESPRESSO_VERSION')) {
2
+if ( ! defined('EVENT_ESPRESSO_VERSION')) {
3 3
     exit('NO direct script access allowed');
4 4
 }
5 5
 
@@ -189,7 +189,7 @@  discard block
 block discarded – undo
189 189
         $payment_method_types = EE_Payment_Method_Manager::instance()->payment_method_types();
190 190
         $all_pmt_help_tabs_config = array();
191 191
         foreach ($payment_method_types as $payment_method_type) {
192
-            if (! EE_Registry::instance()->CAP->current_user_can($payment_method_type->cap_name(),
192
+            if ( ! EE_Registry::instance()->CAP->current_user_can($payment_method_type->cap_name(),
193 193
                 'specific_payment_method_type_access')
194 194
             ) {
195 195
                 continue;
@@ -200,7 +200,7 @@  discard block
 block discarded – undo
200 200
                 $all_pmt_help_tabs_config[$help_tab_name] = array(
201 201
                     'title'   => $config['title'],
202 202
                     'content' => EEH_Template::display_template(
203
-                        $payment_method_type->file_folder() . 'help_tabs' . DS . $config['filename'] . '.help_tab.php',
203
+                        $payment_method_type->file_folder().'help_tabs'.DS.$config['filename'].'.help_tab.php',
204 204
                         $template_args,
205 205
                         true),
206 206
                 );
@@ -246,7 +246,7 @@  discard block
 block discarded – undo
246 246
     {
247 247
         wp_enqueue_script('ee_admin_js');
248 248
         wp_enqueue_script('ee-text-links');
249
-        wp_enqueue_script('espresso_payments', EE_PAYMENTS_ASSETS_URL . 'espresso_payments_admin.js',
249
+        wp_enqueue_script('espresso_payments', EE_PAYMENTS_ASSETS_URL.'espresso_payments_admin.js',
250 250
             array('espresso-ui-theme', 'ee-datepicker'), EVENT_ESPRESSO_VERSION, true);
251 251
     }
252 252
 
@@ -255,7 +255,7 @@  discard block
 block discarded – undo
255 255
     public function load_scripts_styles_default()
256 256
     {
257 257
         //styles
258
-        wp_register_style('espresso_payments', EE_PAYMENTS_ASSETS_URL . 'ee-payments.css', array(),
258
+        wp_register_style('espresso_payments', EE_PAYMENTS_ASSETS_URL.'ee-payments.css', array(),
259 259
             EVENT_ESPRESSO_VERSION);
260 260
         wp_enqueue_style('espresso_payments');
261 261
         wp_enqueue_style('ee-text-links');
@@ -283,14 +283,14 @@  discard block
 block discarded – undo
283 283
                 continue;
284 284
             }
285 285
             //check access
286
-            if (! EE_Registry::instance()->CAP->current_user_can($pmt_obj->cap_name(),
286
+            if ( ! EE_Registry::instance()->CAP->current_user_can($pmt_obj->cap_name(),
287 287
                 'specific_payment_method_type_access')
288 288
             ) {
289 289
                 continue;
290 290
             }
291 291
             //check for any active pms of that type
292 292
             $payment_method = EEM_Payment_Method::instance()->get_one_of_type($pmt_obj->system_name());
293
-            if (! $payment_method instanceof EE_Payment_Method) {
293
+            if ( ! $payment_method instanceof EE_Payment_Method) {
294 294
                 $payment_method = EE_Payment_Method::new_instance(
295 295
                     array(
296 296
                         'PMD_slug'       => sanitize_key($pmt_obj->system_name()),
@@ -308,7 +308,7 @@  discard block
 block discarded – undo
308 308
             if ($payment_method instanceof EE_Payment_Method) {
309 309
                 add_meta_box(
310 310
                 //html id
311
-                    'espresso_' . $payment_method->slug() . '_payment_settings',
311
+                    'espresso_'.$payment_method->slug().'_payment_settings',
312 312
                     //title
313 313
                     sprintf(__('%s Settings', 'event_espresso'), $payment_method->admin_name()),
314 314
                     //callback
@@ -326,7 +326,7 @@  discard block
 block discarded – undo
326 326
                 $tabs[$payment_method->slug()] = array(
327 327
                     'label' => $payment_method->admin_name(),
328 328
                     'class' => $payment_method->active() ? 'gateway-active' : '',
329
-                    'href'  => 'espresso_' . $payment_method->slug() . '_payment_settings',
329
+                    'href'  => 'espresso_'.$payment_method->slug().'_payment_settings',
330 330
                     'title' => __('Modify this Payment Method', 'event_espresso'),
331 331
                     'slug'  => $payment_method->slug(),
332 332
                 );
@@ -354,7 +354,7 @@  discard block
 block discarded – undo
354 354
         }
355 355
         $payment_method = EEM_Payment_Method::instance()->get_one(array(array('PMD_slug' => $payment_method_slug)));
356 356
         // if that didn't work or wasn't provided, find another way to select the current pm
357
-        if (! $this->_verify_payment_method($payment_method)) {
357
+        if ( ! $this->_verify_payment_method($payment_method)) {
358 358
             // like, looking for an active one
359 359
             $payment_method = EEM_Payment_Method::instance()->get_one_active('CART');
360 360
             // test that one as well
@@ -404,7 +404,7 @@  discard block
 block discarded – undo
404 404
     {
405 405
         $payment_method = isset($metabox['args'], $metabox['args']['payment_method'])
406 406
             ? $metabox['args']['payment_method'] : null;
407
-        if (! $payment_method instanceof EE_Payment_Method) {
407
+        if ( ! $payment_method instanceof EE_Payment_Method) {
408 408
             throw new EE_Error(sprintf(__('Payment method metabox setup incorrectly. No Payment method object was supplied',
409 409
                 'event_espresso')));
410 410
         }
@@ -415,7 +415,7 @@  discard block
 block discarded – undo
415 415
             if ($form->form_data_present_in($this->_req_data)) {
416 416
                 $form->receive_form_submission($this->_req_data);
417 417
             }
418
-            echo $form->form_open() . $form->get_html_and_js() . $form->form_close();
418
+            echo $form->form_open().$form->get_html_and_js().$form->form_close();
419 419
         } else {
420 420
             echo $this->_activate_payment_method_button($payment_method)->get_html_and_js();
421 421
         }
@@ -432,13 +432,13 @@  discard block
 block discarded – undo
432 432
      */
433 433
     protected function _generate_payment_method_settings_form(EE_Payment_Method $payment_method)
434 434
     {
435
-        if (! $payment_method instanceof EE_Payment_Method) {
435
+        if ( ! $payment_method instanceof EE_Payment_Method) {
436 436
             return new EE_Form_Section_Proper();
437 437
         }
438 438
         return new EE_Form_Section_Proper(
439 439
             array(
440
-                'name'            => $payment_method->slug() . '_settings_form',
441
-                'html_id'         => $payment_method->slug() . '_settings_form',
440
+                'name'            => $payment_method->slug().'_settings_form',
441
+                'html_id'         => $payment_method->slug().'_settings_form',
442 442
                 'action'          => EE_Admin_Page::add_query_args_and_nonce(
443 443
                     array(
444 444
                         'action'         => 'update_payment_method',
@@ -481,7 +481,7 @@  discard block
 block discarded – undo
481 481
                         EEH_HTML::label(
482 482
                             EEH_HTML::strong(__('IMPORTANT', 'event_espresso'), '', 'important-notice')
483 483
                         )
484
-                    ) .
484
+                    ).
485 485
                     EEH_HTML::td(
486 486
                         EEH_HTML::strong(__('You are responsible for your own website security and Payment Card Industry Data Security Standards (PCI DSS) compliance.',
487 487
                             'event_espresso'))
@@ -510,14 +510,14 @@  discard block
 block discarded – undo
510 510
      */
511 511
     protected function _currency_support(EE_Payment_Method $payment_method)
512 512
     {
513
-        if (! $payment_method->usable_for_currency(EE_Config::instance()->currency->code)) {
513
+        if ( ! $payment_method->usable_for_currency(EE_Config::instance()->currency->code)) {
514 514
             return new EE_Form_Section_HTML(
515 515
                 EEH_HTML::tr(
516 516
                     EEH_HTML::th(
517 517
                         EEH_HTML::label(
518 518
                             EEH_HTML::strong(__('IMPORTANT', 'event_espresso'), '', 'important-notice')
519 519
                         )
520
-                    ) .
520
+                    ).
521 521
                     EEH_HTML::td(
522 522
                         EEH_HTML::strong(
523 523
                             sprintf(
@@ -591,16 +591,16 @@  discard block
 block discarded – undo
591 591
         $update_button = new EE_Submit_Input(
592 592
             array(
593 593
                 'name'       => 'submit',
594
-                'html_id'    => 'save_' . $payment_method->slug() . '_settings',
594
+                'html_id'    => 'save_'.$payment_method->slug().'_settings',
595 595
                 'default'    => sprintf(__('Update %s Payment Settings', 'event_espresso'),
596 596
                     $payment_method->admin_name()),
597 597
                 'html_label' => EEH_HTML::nbsp(),
598 598
             )
599 599
         );
600 600
         return new EE_Form_Section_HTML(
601
-            EEH_HTML::no_row(EEH_HTML::br(2)) .
601
+            EEH_HTML::no_row(EEH_HTML::br(2)).
602 602
             EEH_HTML::tr(
603
-                EEH_HTML::th(__('Update Settings', 'event_espresso')) .
603
+                EEH_HTML::th(__('Update Settings', 'event_espresso')).
604 604
                 EEH_HTML::td(
605 605
                     $update_button->get_html_for_input()
606 606
                 )
@@ -623,7 +623,7 @@  discard block
 block discarded – undo
623 623
             $payment_method->admin_name());
624 624
         return new EE_Form_Section_HTML(
625 625
             EEH_HTML::tr(
626
-                EEH_HTML::th(__('Deactivate Payment Method', 'event_espresso')) .
626
+                EEH_HTML::th(__('Deactivate Payment Method', 'event_espresso')).
627 627
                 EEH_HTML::td(
628 628
                     EEH_HTML::link(
629 629
                         EE_Admin_Page::add_query_args_and_nonce(
@@ -635,7 +635,7 @@  discard block
 block discarded – undo
635 635
                         ),
636 636
                         $link_text_and_title,
637 637
                         $link_text_and_title,
638
-                        'deactivate_' . $payment_method->slug(),
638
+                        'deactivate_'.$payment_method->slug(),
639 639
                         'espresso-button button-secondary'
640 640
                     )
641 641
                 )
@@ -658,8 +658,8 @@  discard block
 block discarded – undo
658 658
             $payment_method->admin_name());
659 659
         return new EE_Form_Section_Proper(
660 660
             array(
661
-                'name'            => 'activate_' . $payment_method->slug() . '_settings_form',
662
-                'html_id'         => 'activate_' . $payment_method->slug() . '_settings_form',
661
+                'name'            => 'activate_'.$payment_method->slug().'_settings_form',
662
+                'html_id'         => 'activate_'.$payment_method->slug().'_settings_form',
663 663
                 'action'          => '#',
664 664
                 'layout_strategy' => new EE_Admin_Two_Column_Layout(),
665 665
                 'subsections'     => apply_filters(
@@ -673,11 +673,11 @@  discard block
 block discarded – undo
673 673
                                     '',
674 674
                                     'colspan="2"'
675 675
                                 )
676
-                            ) .
676
+                            ).
677 677
                             EEH_HTML::tr(
678 678
                                 EEH_HTML::th(
679 679
                                     EEH_HTML::label(__('Click to Activate ', 'event_espresso'))
680
-                                ) .
680
+                                ).
681 681
                                 EEH_HTML::td(
682 682
                                     EEH_HTML::link(
683 683
                                         EE_Admin_Page::add_query_args_and_nonce(
@@ -689,7 +689,7 @@  discard block
 block discarded – undo
689 689
                                         ),
690 690
                                         $link_text_and_title,
691 691
                                         $link_text_and_title,
692
-                                        'activate_' . $payment_method->slug(),
692
+                                        'activate_'.$payment_method->slug(),
693 693
                                         'espresso-button-green button-primary'
694 694
                                     )
695 695
                                 )
@@ -714,7 +714,7 @@  discard block
 block discarded – undo
714 714
     {
715 715
         return new EE_Form_Section_HTML(
716 716
             EEH_HTML::tr(
717
-                EEH_HTML::th() .
717
+                EEH_HTML::th().
718 718
                 EEH_HTML::td(
719 719
                     EEH_HTML::p(__('All fields marked with a * are required fields', 'event_espresso'), '', 'grey-text')
720 720
                 )
@@ -792,7 +792,7 @@  discard block
 block discarded – undo
792 792
                 }
793 793
             }
794 794
             //if we couldn't find the correct payment method type...
795
-            if (! $correct_pmt_form_to_use) {
795
+            if ( ! $correct_pmt_form_to_use) {
796 796
                 EE_Error::add_error(__("We could not find which payment method type your form submission related to. Please contact support",
797 797
                     'event_espresso'), __FILE__, __FUNCTION__, __LINE__);
798 798
                 $this->_redirect_after_action(false, 'Payment Method', 'activated', array('action' => 'default'));
@@ -800,7 +800,7 @@  discard block
 block discarded – undo
800 800
             $correct_pmt_form_to_use->receive_form_submission($this->_req_data);
801 801
             if ($correct_pmt_form_to_use->is_valid()) {
802 802
                 $payment_settings_subform = $correct_pmt_form_to_use->get_subsection('payment_method_settings');
803
-                if (! $payment_settings_subform instanceof EE_Payment_Method_Form) {
803
+                if ( ! $payment_settings_subform instanceof EE_Payment_Method_Form) {
804 804
                     throw new EE_Error(
805 805
                         sprintf(
806 806
                             __('The payment method could not be saved because the form sections were misnamed. We expected to find %1$s, but did not.',
@@ -926,7 +926,7 @@  discard block
 block discarded – undo
926 926
         }
927 927
         //take into account search
928 928
         if (isset($this->_req_data['s']) && $this->_req_data['s']) {
929
-            $similarity_string = array('LIKE', '%' . str_replace("", "%", $this->_req_data['s']) . '%');
929
+            $similarity_string = array('LIKE', '%'.str_replace("", "%", $this->_req_data['s']).'%');
930 930
             $query_params[0]['OR*s']['Payment.Transaction.Registration.Attendee.ATT_fname'] = $similarity_string;
931 931
             $query_params[0]['OR*s']['Payment.Transaction.Registration.Attendee.ATT_lname'] = $similarity_string;
932 932
             $query_params[0]['OR*s']['Payment.Transaction.Registration.Attendee.ATT_email'] = $similarity_string;
@@ -946,8 +946,8 @@  discard block
 block discarded – undo
946 946
             $start_date = wp_strip_all_tags($this->_req_data['payment-filter-start-date']);
947 947
             $end_date = wp_strip_all_tags($this->_req_data['payment-filter-end-date']);
948 948
             //make sure our timestamps start and end right at the boundaries for each day
949
-            $start_date = date('Y-m-d', strtotime($start_date)) . ' 00:00:00';
950
-            $end_date = date('Y-m-d', strtotime($end_date)) . ' 23:59:59';
949
+            $start_date = date('Y-m-d', strtotime($start_date)).' 00:00:00';
950
+            $end_date = date('Y-m-d', strtotime($end_date)).' 23:59:59';
951 951
             //convert to timestamps
952 952
             $start_date = strtotime($start_date);
953 953
             $end_date = strtotime($end_date);
@@ -974,15 +974,15 @@  discard block
 block discarded – undo
974 974
             $query_params['order_by'] = array('LOG_time' => 'DESC');
975 975
         }
976 976
         $offset = ($current_page - 1) * $per_page;
977
-        if (! isset($this->_req_data['download_results'])) {
977
+        if ( ! isset($this->_req_data['download_results'])) {
978 978
             $query_params['limit'] = array($offset, $per_page);
979 979
         }
980 980
         //now they've requested to instead just download the file instead of viewing it.
981 981
         if (isset($this->_req_data['download_results'])) {
982 982
             $wpdb_results = EEM_Change_Log::instance()->get_all_efficiently($query_params);
983 983
             header('Content-Disposition: attachment');
984
-            header("Content-Disposition: attachment; filename=ee_payment_logs_for_" . sanitize_key(site_url()));
985
-            echo "<h1>Payment Logs for " . site_url() . "</h1>";
984
+            header("Content-Disposition: attachment; filename=ee_payment_logs_for_".sanitize_key(site_url()));
985
+            echo "<h1>Payment Logs for ".site_url()."</h1>";
986 986
             echo "<h3>Query:</h3>";
987 987
             var_dump($query_params);
988 988
             echo "<h3>Results:</h3>";
@@ -1036,7 +1036,7 @@  discard block
 block discarded – undo
1036 1036
             }
1037 1037
         }
1038 1038
         $this->_template_args['admin_page_content'] = EEH_Template::display_template(
1039
-            EE_PAYMENTS_TEMPLATE_PATH . 'payment_log_details.template.php',
1039
+            EE_PAYMENTS_TEMPLATE_PATH.'payment_log_details.template.php',
1040 1040
             array(
1041 1041
                 'payment_log'    => $payment_log,
1042 1042
                 'payment_method' => $payment_method,
Please login to merge, or discard this patch.
core/libraries/form_sections/base/EE_Model_Form_Section.form.php 1 patch
Indentation   +433 added lines, -433 removed lines patch added patch discarded remove patch
@@ -14,439 +14,439 @@
 block discarded – undo
14 14
 class EE_Model_Form_Section extends EE_Form_Section_Proper
15 15
 {
16 16
 
17
-    /**
18
-     * @var EEM_Base
19
-     */
20
-    protected $_model = null;
21
-
22
-    /**
23
-     * @var EE_Base_Class
24
-     */
25
-    protected $_model_object = null;
26
-
27
-
28
-
29
-    /**
30
-     * @param array        $options_array   keys: {
31
-     * @type EEM_Base      $model
32
-     * @type EE_Base_Class $model_object
33
-     * @type array         $subsection_args array keys should be subsection names (that either do or will exist), and
34
-     *       values are the arrays as you would pass them to that subsection
35
-     *                                      }
36
-     * @throws EE_Error
37
-     */
38
-    public function __construct($options_array = array())
39
-    {
40
-        if (isset($options_array['model']) && $options_array['model'] instanceof EEM_Base) {
41
-            $this->_model = $options_array['model'];
42
-        }
43
-        if (! $this->_model || ! $this->_model instanceof EEM_Base) {
44
-            throw new EE_Error(sprintf(__("Model Form Sections must first specify the _model property to be a subclass of EEM_Base",
45
-                "event_espresso")));
46
-        }
47
-        if (isset($options_array['subsection_args'])) {
48
-            $subsection_args = $options_array['subsection_args'];
49
-        } else {
50
-            $subsection_args = array();
51
-        }
52
-        //gather fields and relations to convert to inputs
53
-        //but if they're just going to exclude a field anyways, don't bother converting it to an input
54
-        $exclude = $this->_subsections;
55
-        if (isset($options_array['exclude'])) {
56
-            $exclude = array_merge($exclude, array_flip($options_array['exclude']));
57
-        }
58
-        $model_fields = array_diff_key($this->_model->field_settings(), $exclude);
59
-        $model_relations = array_diff_key($this->_model->relation_settings(), $exclude);
60
-        //convert fields and relations to inputs
61
-        $this->_subsections = array_merge(
62
-            $this->_convert_model_fields_to_inputs($model_fields),
63
-            $this->_convert_model_relations_to_inputs($model_relations, $subsection_args),
64
-            $this->_subsections
65
-        );
66
-        parent::__construct($options_array);
67
-        if (isset($options_array['model_object']) && $options_array['model_object'] instanceof EE_Base_Class) {
68
-            $this->populate_model_obj($options_array['model_object']);
69
-        }
70
-    }
71
-
72
-
73
-
74
-    /**
75
-     * For now, just makes inputs for only HABTM relations
76
-     *
77
-     * @param EE_Model_Relation_Base[] $relations
78
-     * @param array                    $subsection_args keys should be existing or soon-to-be-existing input names, and
79
-     *                                                  their values are {
80
-     * @type array {
81
-     * @type EE_Base_Class[]           $model_objects   if the subsection is an EE_Select_Multi_Model_Input
82
-     *                                                  }
83
-     *                                                  }
84
-     * @return array
85
-     */
86
-    protected function _convert_model_relations_to_inputs($relations, $subsection_args = array())
87
-    {
88
-        $inputs = array();
89
-        foreach ($relations as $relation_name => $relation_obj) {
90
-            $input_constructor_args = array(
91
-                array_merge(
92
-                    array(
93
-                        'required'        => $relation_obj instanceof EE_Belongs_To_Relation,
94
-                        'html_label_text' => $relation_obj instanceof EE_Belongs_To_Relation
95
-                            ? $relation_obj->get_other_model()->item_name(1)
96
-                            : $relation_obj->get_other_model()
97
-                                           ->item_name(2),
98
-                    ),
99
-                    $subsection_args
100
-                ),
101
-            );
102
-            $input = null;
103
-            switch (get_class($relation_obj)) {
104
-                case 'EE_HABTM_Relation':
105
-                    if (isset($subsection_args[$relation_name])
106
-                        && isset($subsection_args[$relation_name]['model_objects'])
107
-                    ) {
108
-                        $model_objects = $subsection_args[$relation_name]['model_objects'];
109
-                    } else {
110
-                        $model_objects = $relation_obj->get_other_model()->get_all();
111
-                    }
112
-                    $input = new EE_Select_Multi_Model_Input($model_objects, $input_constructor_args);
113
-                    break;
114
-                default:
115
-            }
116
-            if ($input) {
117
-                $inputs[$relation_name] = $input;
118
-            }
119
-        }
120
-        return $inputs;
121
-    }
122
-
123
-
124
-
125
-    /**
126
-     * Changes model fields into form section inputs
127
-     *
128
-     * @param EE_Model_Field_Base[] $model_fields keys are the model's name
129
-     * @throws EE_Error
130
-     * @return EE_Form_Input_Base[]
131
-     */
132
-    protected function _convert_model_fields_to_inputs($model_fields = array())
133
-    {
134
-        $inputs = array();
135
-        foreach ($model_fields as $field_name => $model_field) {
136
-            if ($model_field instanceof EE_Model_Field_Base) {
137
-                $input_constructor_args = array(
138
-                    array(
139
-                        'required'        => ! $model_field->is_nullable()
140
-                                             && $model_field->get_default_value()
141
-                                                === null,
142
-                        'html_label_text' => $model_field->get_nicename(),
143
-                        'default'         => $model_field->get_default_value(),
144
-                    ),
145
-                );
146
-                switch (get_class($model_field)) {
147
-                    case 'EE_All_Caps_Text_Field':
148
-                    case 'EE_Any_Foreign_Model_Name_Field':
149
-                        $input_class = 'EE_Text_Input';
150
-                        break;
151
-                    case 'EE_Boolean_Field':
152
-                        $input_class = 'EE_Yes_No_Input';
153
-                        break;
154
-                    case 'EE_Datetime_Field':
155
-                        throw new EE_Error(sprintf(__("Model field '%s' does not yet have a known conversion to form input",
156
-                            "event_espresso"), get_class($model_field)));
157
-                        break;
158
-                    case 'EE_Email_Field':
159
-                        $input_class = 'EE_Email_Input';
160
-                        break;
161
-                    case 'EE_Enum_Integer_Field':
162
-                        throw new EE_Error(sprintf(__("Model field '%s' does not yet have a known conversion to form input",
163
-                            "event_espresso"), get_class($model_field)));
164
-                        break;
165
-                    case 'EE_Enum_Text_Field':
166
-                        throw new EE_Error(sprintf(__("Model field '%s' does not yet have a known conversion to form input",
167
-                            "event_espresso"), get_class($model_field)));
168
-                        break;
169
-                    case 'EE_Float_Field':
170
-                        $input_class = 'EE_Float_Input';
171
-                        break;
172
-                    case 'EE_Foreign_Key_Int_Field':
173
-                    case 'EE_Foreign_Key_String_Field':
174
-                    case 'EE_WP_User_Field':
175
-                        $models_pointed_to = $model_field instanceof EE_Field_With_Model_Name
176
-                            ? $model_field->get_model_class_names_pointed_to() : array();
177
-                        if (true || is_array($models_pointed_to) && count($models_pointed_to) > 1) {
178
-                            $input_class = 'EE_Text_Input';
179
-                        } else {
180
-                            //so its just one model
181
-                            $model_name = is_array($models_pointed_to) ? reset($models_pointed_to) : $models_pointed_to;
182
-                            $model = EE_Registry::instance()->load_model($model_name);
183
-                            $model_names = $model->get_all_names(array('limit' => 10));
184
-                            if ($model_field->is_nullable()) {
185
-                                array_unshift($model_names, __("Please Select", 'event_espresso'));
186
-                            }
187
-                            $input_constructor_args[1] = $input_constructor_args[0];
188
-                            $input_constructor_args[0] = $model_names;
189
-                            $input_class = 'EE_Select_Input';
190
-                        }
191
-                        break;
192
-                    case 'EE_Full_HTML_Field':
193
-                        $input_class = 'EE_Text_Area_Input';
194
-                        $input_constructor_args[0]['validation_strategies'] = array(new EE_Full_HTML_Validation_Strategy());
195
-                        break;
196
-                    case 'EE_Infinite_Integer':
197
-                        throw new EE_Error(sprintf(__("Model field '%s' does not yet have a known conversion to form input",
198
-                            "event_espresso"), get_class($model_field)));
199
-                        break;
200
-                    case 'EE_Integer_Field':
201
-                        $input_class = 'EE_Text_Input';
202
-                        break;
203
-                    case 'EE_Maybe_Serialized_Text_Field':
204
-                        $input_class = 'EE_Text_Area_Input';
205
-                        break;
206
-                    case 'EE_Money_Field':
207
-                        throw new EE_Error(sprintf(__("Model field '%s' does not yet have a known conversion to form input",
208
-                            "event_espresso"), get_class($model_field)));
209
-                        break;
210
-                    case 'EE_Post_Content_Field':
211
-                        $input_class = 'EE_Text_Area_Input';
212
-                        $input_constructor_args[0]['validation_strategies'] = array(new EE_Full_HTML_Validation_Strategy());
213
-                        break;
214
-                    case 'EE_Plain_Text_Field':
215
-                        $input_class = 'EE_Text_Input';
216
-                        break;
217
-                    case 'EE_Primary_Key_Int_Field':
218
-                        $input_class = 'EE_Hidden_Input';
219
-                        $input_constructor_args['normalization_strategy'] = new EE_Int_Normalization();
220
-                        break;
221
-                    case 'EE_Primary_Key_String_Field':
222
-                        $input_class = 'EE_Hidden_Input';
223
-                        break;
224
-                    case 'EE_Serialized_Text_Field':
225
-                        $input_class = 'EE_Text_Area_Input';
226
-                        break;
227
-                    case 'EE_Simple_HTML_Field':
228
-                        $input_class = 'EE_Text_Area_Input';
229
-                        $input_constructor_args[0]['validation_strategies'] = array(new EE_Simple_HTML_Validation_Strategy());
230
-                        break;
231
-                    case 'EE_Slug_Field':
232
-                        $input_class = 'EE_Text_Input';
233
-                        break;
234
-                    case 'EE_Trashed_Flag_Field':
235
-                        $input_class = 'EE_Yes_No_Input';
236
-                        break;
237
-                    case 'EE_WP_Post_Status_Field':
238
-                        throw new EE_Error(sprintf(__("Model field '%s' does not yet have a known conversion to form input",
239
-                            "event_espresso"), get_class($model_field)));
240
-                        break;
241
-                    case 'EE_WP_Post_Type_Field':
242
-                        throw new EE_Error(sprintf(__("Model field '%s' does not yet have a known conversion to form input",
243
-                            "event_espresso"), get_class($model_field)));
244
-                        break;
245
-                    default:
246
-                        throw new EE_Error(sprintf(__("Model field of type '%s' does not convert to any known Form Input. Please add a case to EE_Model_Form_section's _convert_model_fields_to_inputs switch statement",
247
-                            "event_espresso"), get_class($model_field)));
248
-                }
249
-                $reflection = new ReflectionClass($input_class);
250
-                $input = $reflection->newInstanceArgs($input_constructor_args);
251
-                $inputs[$field_name] = $input;
252
-            }
253
-        }
254
-        return $inputs;
255
-    }
256
-
257
-
258
-
259
-    /**
260
-     * Mostly the same as populate_defaults , except takes a model object as input, not an array,
261
-     * and also sets the form's _model_object
262
-     *
263
-     * @param EE_Base_Class $model_obj
264
-     * @return void
265
-     */
266
-    public function populate_model_obj($model_obj)
267
-    {
268
-        $model_obj = $this->_model->ensure_is_obj($model_obj);
269
-        $this->_model_object = $model_obj;
270
-        $defaults = $model_obj->model_field_array();
271
-        foreach ($this->_model->relation_settings() as $relation_name => $relation_obj) {
272
-            $subsection = $this->get_subsection($relation_name, false);
273
-            if ($subsection instanceof EE_Form_Input_Base) {
274
-                if ($relation_obj instanceof EE_Belongs_To_Relation) {
275
-                    //then we only expect there to be one
276
-                    $related_item = $this->_model_object->get_first_related($relation_name);
277
-                    $defaults[$relation_name] = $related_item->ID();
278
-                } else {
279
-                    $related_items = $this->_model_object->get_many_related($relation_name);
280
-                    $ids = array();
281
-                    foreach ($related_items as $related_item) {
282
-                        $ids[] = $related_item->ID();
283
-                    }
284
-                    $defaults[$relation_name] = $ids;
285
-                }
286
-            }
287
-        }
288
-        $defaults = apply_filters(
289
-            'FHEE__EE_Model_Form_Section__populate_model_obj',
290
-            $defaults,
291
-            $this
292
-        );
293
-        $this->populate_defaults($defaults);
294
-    }
295
-
296
-
297
-
298
-    /**
299
-     * Gets all the input values that correspond to model fields. Keys are the input/field names,
300
-     * values are their normalized values
301
-     *
302
-     * @return array
303
-     */
304
-    public function inputs_values_corresponding_to_model_fields()
305
-    {
306
-        return array_intersect_key($this->input_values(), $this->_model->field_settings());
307
-    }
308
-
309
-
310
-
311
-    /**
312
-     * After we've normalized the data as normal, set the corresponding model object
313
-     * on the form.
314
-     *
315
-     * @param array $req_data should usually be $_REQUEST (the default).
316
-     * @return void
317
-     */
318
-    public function _normalize($req_data)
319
-    {
320
-        parent::_normalize($req_data);
321
-        //create or set the model object, if it isn't already
322
-        if (! $this->_model_object) {
323
-            //check to see if the form indicates a PK, in which case we want to only retrieve it and update it
324
-            $pk_name = $this->_model->primary_key_name();
325
-            $model_obj = $this->_model->get_one_by_ID($this->get_input_value($pk_name));
326
-            if ($model_obj) {
327
-                $this->_model_object = $model_obj;
328
-            } else {
329
-                $this->_model_object = EE_Registry::instance()->load_class($this->_model->get_this_model_name());
330
-            }
331
-        }
332
-    }
333
-
334
-
335
-
336
-    /**
337
-     * After this form has been initialized and is verified to be valid,
338
-     * either creates a model object from its data and saves it, or updates
339
-     * the model object its data represents
340
-     *
341
-     * @throws EE_Error
342
-     * @return int, 1 on a successful update, the ID of
343
-     *                    the new entry on insert; 0 on failure
344
-     */
345
-    public function save()
346
-    {
347
-        if (! $this->_model_object) {
348
-            throw new EE_Error(sprintf(__("Cannot save the model form's model object (model is '%s') because there is no model object set. You must either set it, or call receive_form_submission where it is set automatically",
349
-                "event_espresso"), get_class($this->_model)));
350
-        }
351
-        //ok so the model object is set. Just set it with the submitted form data
352
-        foreach ($this->inputs_values_corresponding_to_model_fields() as $field_name => $field_value) {
353
-            //only set the non-primary key
354
-            if ($field_name != $this->_model->primary_key_name()) {
355
-                $this->_model_object->set($field_name, $field_value);
356
-            }
357
-        }
358
-        $success = $this->_model_object->save();
359
-        foreach ($this->_model->relation_settings() as $relation_name => $relation_obj) {
360
-            if (isset($this->_subsections[$relation_name])) {
361
-                $success = $this->_save_related_info($relation_name);
362
-            }
363
-        }
364
-        do_action('AHEE__EE_Model_Form_Section__save__done', $this, $success);
365
-        return $success;
366
-    }
367
-
368
-
369
-
370
-    /**
371
-     * Automatically finds the related model info from the form, if present, and
372
-     * save the relations indicated
373
-     *
374
-     * @type string $relation_name
375
-     * @return bool
376
-     * @throws EE_Error
377
-     */
378
-    protected function _save_related_info($relation_name)
379
-    {
380
-        $relation_obj = $this->_model->related_settings_for($relation_name);
381
-        if ($relation_obj instanceof EE_Belongs_To_Relation) {
382
-            //there is just a foreign key on this model pointing to that one
383
-            $this->_model_object->_add_relation_to($this->get_input_value($relation_name), $relation_name);
384
-        } elseif ($relation_obj instanceof EE_Has_Many_Relation) {
385
-            //then we want to consider all of its currently-related things.
386
-            //if they're in this list, keep them
387
-            //if they're not in this list, remove them
388
-            //and lastly add all the new items
389
-            throw new EE_Error(sprintf(__('Automatic saving of related info across a "has many" relation is not yet supported',
390
-                "event_espresso")));
391
-        } elseif ($relation_obj instanceof EE_HABTM_Relation) {
392
-            //delete everything NOT in this list
393
-            $normalized_input_value = $this->get_input_value($relation_name);
394
-            if ($normalized_input_value && is_array($normalized_input_value)) {
395
-                $where_query_params = array(
396
-                    $relation_obj->get_other_model()->primary_key_name() => array('NOT_IN', $normalized_input_value),
397
-                );
398
-            } else {
399
-                $where_query_params = array();
400
-            }
401
-            $this->_model_object->_remove_relations($relation_name, $where_query_params);
402
-            foreach ($normalized_input_value as $id) {
403
-                $this->_model_object->_add_relation_to($id, $relation_name);
404
-            }
405
-        }
406
-        return true;
407
-    }
408
-
409
-
410
-
411
-    /**
412
-     * Gets the model of this model form
413
-     *
414
-     * @return EEM_Base
415
-     */
416
-    public function get_model()
417
-    {
418
-        return $this->_model;
419
-    }
420
-
421
-
422
-
423
-    /**
424
-     * Gets the model object for this model form, which was either set
425
-     * upon construction (using the $options_array arg 'model_object'), by using
426
-     * set_model_object($model_obj), or implicitly
427
-     * when receive_form_submission($req_data) was called.
428
-     *
429
-     * @return EE_Base_Class
430
-     */
431
-    public function get_model_object()
432
-    {
433
-        return $this->_model_object;
434
-    }
435
-
436
-
437
-
438
-    /**
439
-     * gets teh default name of this form section if none is specified
440
-     *
441
-     * @return string
442
-     */
443
-    protected function _set_default_name_if_empty()
444
-    {
445
-        if (! $this->_name) {
446
-            $default_name = str_replace("EEM_", "", get_class($this->_model)) . "_Model_Form";
447
-            $this->_name = $default_name;
448
-        }
449
-    }
17
+	/**
18
+	 * @var EEM_Base
19
+	 */
20
+	protected $_model = null;
21
+
22
+	/**
23
+	 * @var EE_Base_Class
24
+	 */
25
+	protected $_model_object = null;
26
+
27
+
28
+
29
+	/**
30
+	 * @param array        $options_array   keys: {
31
+	 * @type EEM_Base      $model
32
+	 * @type EE_Base_Class $model_object
33
+	 * @type array         $subsection_args array keys should be subsection names (that either do or will exist), and
34
+	 *       values are the arrays as you would pass them to that subsection
35
+	 *                                      }
36
+	 * @throws EE_Error
37
+	 */
38
+	public function __construct($options_array = array())
39
+	{
40
+		if (isset($options_array['model']) && $options_array['model'] instanceof EEM_Base) {
41
+			$this->_model = $options_array['model'];
42
+		}
43
+		if (! $this->_model || ! $this->_model instanceof EEM_Base) {
44
+			throw new EE_Error(sprintf(__("Model Form Sections must first specify the _model property to be a subclass of EEM_Base",
45
+				"event_espresso")));
46
+		}
47
+		if (isset($options_array['subsection_args'])) {
48
+			$subsection_args = $options_array['subsection_args'];
49
+		} else {
50
+			$subsection_args = array();
51
+		}
52
+		//gather fields and relations to convert to inputs
53
+		//but if they're just going to exclude a field anyways, don't bother converting it to an input
54
+		$exclude = $this->_subsections;
55
+		if (isset($options_array['exclude'])) {
56
+			$exclude = array_merge($exclude, array_flip($options_array['exclude']));
57
+		}
58
+		$model_fields = array_diff_key($this->_model->field_settings(), $exclude);
59
+		$model_relations = array_diff_key($this->_model->relation_settings(), $exclude);
60
+		//convert fields and relations to inputs
61
+		$this->_subsections = array_merge(
62
+			$this->_convert_model_fields_to_inputs($model_fields),
63
+			$this->_convert_model_relations_to_inputs($model_relations, $subsection_args),
64
+			$this->_subsections
65
+		);
66
+		parent::__construct($options_array);
67
+		if (isset($options_array['model_object']) && $options_array['model_object'] instanceof EE_Base_Class) {
68
+			$this->populate_model_obj($options_array['model_object']);
69
+		}
70
+	}
71
+
72
+
73
+
74
+	/**
75
+	 * For now, just makes inputs for only HABTM relations
76
+	 *
77
+	 * @param EE_Model_Relation_Base[] $relations
78
+	 * @param array                    $subsection_args keys should be existing or soon-to-be-existing input names, and
79
+	 *                                                  their values are {
80
+	 * @type array {
81
+	 * @type EE_Base_Class[]           $model_objects   if the subsection is an EE_Select_Multi_Model_Input
82
+	 *                                                  }
83
+	 *                                                  }
84
+	 * @return array
85
+	 */
86
+	protected function _convert_model_relations_to_inputs($relations, $subsection_args = array())
87
+	{
88
+		$inputs = array();
89
+		foreach ($relations as $relation_name => $relation_obj) {
90
+			$input_constructor_args = array(
91
+				array_merge(
92
+					array(
93
+						'required'        => $relation_obj instanceof EE_Belongs_To_Relation,
94
+						'html_label_text' => $relation_obj instanceof EE_Belongs_To_Relation
95
+							? $relation_obj->get_other_model()->item_name(1)
96
+							: $relation_obj->get_other_model()
97
+										   ->item_name(2),
98
+					),
99
+					$subsection_args
100
+				),
101
+			);
102
+			$input = null;
103
+			switch (get_class($relation_obj)) {
104
+				case 'EE_HABTM_Relation':
105
+					if (isset($subsection_args[$relation_name])
106
+						&& isset($subsection_args[$relation_name]['model_objects'])
107
+					) {
108
+						$model_objects = $subsection_args[$relation_name]['model_objects'];
109
+					} else {
110
+						$model_objects = $relation_obj->get_other_model()->get_all();
111
+					}
112
+					$input = new EE_Select_Multi_Model_Input($model_objects, $input_constructor_args);
113
+					break;
114
+				default:
115
+			}
116
+			if ($input) {
117
+				$inputs[$relation_name] = $input;
118
+			}
119
+		}
120
+		return $inputs;
121
+	}
122
+
123
+
124
+
125
+	/**
126
+	 * Changes model fields into form section inputs
127
+	 *
128
+	 * @param EE_Model_Field_Base[] $model_fields keys are the model's name
129
+	 * @throws EE_Error
130
+	 * @return EE_Form_Input_Base[]
131
+	 */
132
+	protected function _convert_model_fields_to_inputs($model_fields = array())
133
+	{
134
+		$inputs = array();
135
+		foreach ($model_fields as $field_name => $model_field) {
136
+			if ($model_field instanceof EE_Model_Field_Base) {
137
+				$input_constructor_args = array(
138
+					array(
139
+						'required'        => ! $model_field->is_nullable()
140
+											 && $model_field->get_default_value()
141
+												=== null,
142
+						'html_label_text' => $model_field->get_nicename(),
143
+						'default'         => $model_field->get_default_value(),
144
+					),
145
+				);
146
+				switch (get_class($model_field)) {
147
+					case 'EE_All_Caps_Text_Field':
148
+					case 'EE_Any_Foreign_Model_Name_Field':
149
+						$input_class = 'EE_Text_Input';
150
+						break;
151
+					case 'EE_Boolean_Field':
152
+						$input_class = 'EE_Yes_No_Input';
153
+						break;
154
+					case 'EE_Datetime_Field':
155
+						throw new EE_Error(sprintf(__("Model field '%s' does not yet have a known conversion to form input",
156
+							"event_espresso"), get_class($model_field)));
157
+						break;
158
+					case 'EE_Email_Field':
159
+						$input_class = 'EE_Email_Input';
160
+						break;
161
+					case 'EE_Enum_Integer_Field':
162
+						throw new EE_Error(sprintf(__("Model field '%s' does not yet have a known conversion to form input",
163
+							"event_espresso"), get_class($model_field)));
164
+						break;
165
+					case 'EE_Enum_Text_Field':
166
+						throw new EE_Error(sprintf(__("Model field '%s' does not yet have a known conversion to form input",
167
+							"event_espresso"), get_class($model_field)));
168
+						break;
169
+					case 'EE_Float_Field':
170
+						$input_class = 'EE_Float_Input';
171
+						break;
172
+					case 'EE_Foreign_Key_Int_Field':
173
+					case 'EE_Foreign_Key_String_Field':
174
+					case 'EE_WP_User_Field':
175
+						$models_pointed_to = $model_field instanceof EE_Field_With_Model_Name
176
+							? $model_field->get_model_class_names_pointed_to() : array();
177
+						if (true || is_array($models_pointed_to) && count($models_pointed_to) > 1) {
178
+							$input_class = 'EE_Text_Input';
179
+						} else {
180
+							//so its just one model
181
+							$model_name = is_array($models_pointed_to) ? reset($models_pointed_to) : $models_pointed_to;
182
+							$model = EE_Registry::instance()->load_model($model_name);
183
+							$model_names = $model->get_all_names(array('limit' => 10));
184
+							if ($model_field->is_nullable()) {
185
+								array_unshift($model_names, __("Please Select", 'event_espresso'));
186
+							}
187
+							$input_constructor_args[1] = $input_constructor_args[0];
188
+							$input_constructor_args[0] = $model_names;
189
+							$input_class = 'EE_Select_Input';
190
+						}
191
+						break;
192
+					case 'EE_Full_HTML_Field':
193
+						$input_class = 'EE_Text_Area_Input';
194
+						$input_constructor_args[0]['validation_strategies'] = array(new EE_Full_HTML_Validation_Strategy());
195
+						break;
196
+					case 'EE_Infinite_Integer':
197
+						throw new EE_Error(sprintf(__("Model field '%s' does not yet have a known conversion to form input",
198
+							"event_espresso"), get_class($model_field)));
199
+						break;
200
+					case 'EE_Integer_Field':
201
+						$input_class = 'EE_Text_Input';
202
+						break;
203
+					case 'EE_Maybe_Serialized_Text_Field':
204
+						$input_class = 'EE_Text_Area_Input';
205
+						break;
206
+					case 'EE_Money_Field':
207
+						throw new EE_Error(sprintf(__("Model field '%s' does not yet have a known conversion to form input",
208
+							"event_espresso"), get_class($model_field)));
209
+						break;
210
+					case 'EE_Post_Content_Field':
211
+						$input_class = 'EE_Text_Area_Input';
212
+						$input_constructor_args[0]['validation_strategies'] = array(new EE_Full_HTML_Validation_Strategy());
213
+						break;
214
+					case 'EE_Plain_Text_Field':
215
+						$input_class = 'EE_Text_Input';
216
+						break;
217
+					case 'EE_Primary_Key_Int_Field':
218
+						$input_class = 'EE_Hidden_Input';
219
+						$input_constructor_args['normalization_strategy'] = new EE_Int_Normalization();
220
+						break;
221
+					case 'EE_Primary_Key_String_Field':
222
+						$input_class = 'EE_Hidden_Input';
223
+						break;
224
+					case 'EE_Serialized_Text_Field':
225
+						$input_class = 'EE_Text_Area_Input';
226
+						break;
227
+					case 'EE_Simple_HTML_Field':
228
+						$input_class = 'EE_Text_Area_Input';
229
+						$input_constructor_args[0]['validation_strategies'] = array(new EE_Simple_HTML_Validation_Strategy());
230
+						break;
231
+					case 'EE_Slug_Field':
232
+						$input_class = 'EE_Text_Input';
233
+						break;
234
+					case 'EE_Trashed_Flag_Field':
235
+						$input_class = 'EE_Yes_No_Input';
236
+						break;
237
+					case 'EE_WP_Post_Status_Field':
238
+						throw new EE_Error(sprintf(__("Model field '%s' does not yet have a known conversion to form input",
239
+							"event_espresso"), get_class($model_field)));
240
+						break;
241
+					case 'EE_WP_Post_Type_Field':
242
+						throw new EE_Error(sprintf(__("Model field '%s' does not yet have a known conversion to form input",
243
+							"event_espresso"), get_class($model_field)));
244
+						break;
245
+					default:
246
+						throw new EE_Error(sprintf(__("Model field of type '%s' does not convert to any known Form Input. Please add a case to EE_Model_Form_section's _convert_model_fields_to_inputs switch statement",
247
+							"event_espresso"), get_class($model_field)));
248
+				}
249
+				$reflection = new ReflectionClass($input_class);
250
+				$input = $reflection->newInstanceArgs($input_constructor_args);
251
+				$inputs[$field_name] = $input;
252
+			}
253
+		}
254
+		return $inputs;
255
+	}
256
+
257
+
258
+
259
+	/**
260
+	 * Mostly the same as populate_defaults , except takes a model object as input, not an array,
261
+	 * and also sets the form's _model_object
262
+	 *
263
+	 * @param EE_Base_Class $model_obj
264
+	 * @return void
265
+	 */
266
+	public function populate_model_obj($model_obj)
267
+	{
268
+		$model_obj = $this->_model->ensure_is_obj($model_obj);
269
+		$this->_model_object = $model_obj;
270
+		$defaults = $model_obj->model_field_array();
271
+		foreach ($this->_model->relation_settings() as $relation_name => $relation_obj) {
272
+			$subsection = $this->get_subsection($relation_name, false);
273
+			if ($subsection instanceof EE_Form_Input_Base) {
274
+				if ($relation_obj instanceof EE_Belongs_To_Relation) {
275
+					//then we only expect there to be one
276
+					$related_item = $this->_model_object->get_first_related($relation_name);
277
+					$defaults[$relation_name] = $related_item->ID();
278
+				} else {
279
+					$related_items = $this->_model_object->get_many_related($relation_name);
280
+					$ids = array();
281
+					foreach ($related_items as $related_item) {
282
+						$ids[] = $related_item->ID();
283
+					}
284
+					$defaults[$relation_name] = $ids;
285
+				}
286
+			}
287
+		}
288
+		$defaults = apply_filters(
289
+			'FHEE__EE_Model_Form_Section__populate_model_obj',
290
+			$defaults,
291
+			$this
292
+		);
293
+		$this->populate_defaults($defaults);
294
+	}
295
+
296
+
297
+
298
+	/**
299
+	 * Gets all the input values that correspond to model fields. Keys are the input/field names,
300
+	 * values are their normalized values
301
+	 *
302
+	 * @return array
303
+	 */
304
+	public function inputs_values_corresponding_to_model_fields()
305
+	{
306
+		return array_intersect_key($this->input_values(), $this->_model->field_settings());
307
+	}
308
+
309
+
310
+
311
+	/**
312
+	 * After we've normalized the data as normal, set the corresponding model object
313
+	 * on the form.
314
+	 *
315
+	 * @param array $req_data should usually be $_REQUEST (the default).
316
+	 * @return void
317
+	 */
318
+	public function _normalize($req_data)
319
+	{
320
+		parent::_normalize($req_data);
321
+		//create or set the model object, if it isn't already
322
+		if (! $this->_model_object) {
323
+			//check to see if the form indicates a PK, in which case we want to only retrieve it and update it
324
+			$pk_name = $this->_model->primary_key_name();
325
+			$model_obj = $this->_model->get_one_by_ID($this->get_input_value($pk_name));
326
+			if ($model_obj) {
327
+				$this->_model_object = $model_obj;
328
+			} else {
329
+				$this->_model_object = EE_Registry::instance()->load_class($this->_model->get_this_model_name());
330
+			}
331
+		}
332
+	}
333
+
334
+
335
+
336
+	/**
337
+	 * After this form has been initialized and is verified to be valid,
338
+	 * either creates a model object from its data and saves it, or updates
339
+	 * the model object its data represents
340
+	 *
341
+	 * @throws EE_Error
342
+	 * @return int, 1 on a successful update, the ID of
343
+	 *                    the new entry on insert; 0 on failure
344
+	 */
345
+	public function save()
346
+	{
347
+		if (! $this->_model_object) {
348
+			throw new EE_Error(sprintf(__("Cannot save the model form's model object (model is '%s') because there is no model object set. You must either set it, or call receive_form_submission where it is set automatically",
349
+				"event_espresso"), get_class($this->_model)));
350
+		}
351
+		//ok so the model object is set. Just set it with the submitted form data
352
+		foreach ($this->inputs_values_corresponding_to_model_fields() as $field_name => $field_value) {
353
+			//only set the non-primary key
354
+			if ($field_name != $this->_model->primary_key_name()) {
355
+				$this->_model_object->set($field_name, $field_value);
356
+			}
357
+		}
358
+		$success = $this->_model_object->save();
359
+		foreach ($this->_model->relation_settings() as $relation_name => $relation_obj) {
360
+			if (isset($this->_subsections[$relation_name])) {
361
+				$success = $this->_save_related_info($relation_name);
362
+			}
363
+		}
364
+		do_action('AHEE__EE_Model_Form_Section__save__done', $this, $success);
365
+		return $success;
366
+	}
367
+
368
+
369
+
370
+	/**
371
+	 * Automatically finds the related model info from the form, if present, and
372
+	 * save the relations indicated
373
+	 *
374
+	 * @type string $relation_name
375
+	 * @return bool
376
+	 * @throws EE_Error
377
+	 */
378
+	protected function _save_related_info($relation_name)
379
+	{
380
+		$relation_obj = $this->_model->related_settings_for($relation_name);
381
+		if ($relation_obj instanceof EE_Belongs_To_Relation) {
382
+			//there is just a foreign key on this model pointing to that one
383
+			$this->_model_object->_add_relation_to($this->get_input_value($relation_name), $relation_name);
384
+		} elseif ($relation_obj instanceof EE_Has_Many_Relation) {
385
+			//then we want to consider all of its currently-related things.
386
+			//if they're in this list, keep them
387
+			//if they're not in this list, remove them
388
+			//and lastly add all the new items
389
+			throw new EE_Error(sprintf(__('Automatic saving of related info across a "has many" relation is not yet supported',
390
+				"event_espresso")));
391
+		} elseif ($relation_obj instanceof EE_HABTM_Relation) {
392
+			//delete everything NOT in this list
393
+			$normalized_input_value = $this->get_input_value($relation_name);
394
+			if ($normalized_input_value && is_array($normalized_input_value)) {
395
+				$where_query_params = array(
396
+					$relation_obj->get_other_model()->primary_key_name() => array('NOT_IN', $normalized_input_value),
397
+				);
398
+			} else {
399
+				$where_query_params = array();
400
+			}
401
+			$this->_model_object->_remove_relations($relation_name, $where_query_params);
402
+			foreach ($normalized_input_value as $id) {
403
+				$this->_model_object->_add_relation_to($id, $relation_name);
404
+			}
405
+		}
406
+		return true;
407
+	}
408
+
409
+
410
+
411
+	/**
412
+	 * Gets the model of this model form
413
+	 *
414
+	 * @return EEM_Base
415
+	 */
416
+	public function get_model()
417
+	{
418
+		return $this->_model;
419
+	}
420
+
421
+
422
+
423
+	/**
424
+	 * Gets the model object for this model form, which was either set
425
+	 * upon construction (using the $options_array arg 'model_object'), by using
426
+	 * set_model_object($model_obj), or implicitly
427
+	 * when receive_form_submission($req_data) was called.
428
+	 *
429
+	 * @return EE_Base_Class
430
+	 */
431
+	public function get_model_object()
432
+	{
433
+		return $this->_model_object;
434
+	}
435
+
436
+
437
+
438
+	/**
439
+	 * gets teh default name of this form section if none is specified
440
+	 *
441
+	 * @return string
442
+	 */
443
+	protected function _set_default_name_if_empty()
444
+	{
445
+		if (! $this->_name) {
446
+			$default_name = str_replace("EEM_", "", get_class($this->_model)) . "_Model_Form";
447
+			$this->_name = $default_name;
448
+		}
449
+	}
450 450
 
451 451
 
452 452
 
Please login to merge, or discard this patch.
modules/events_archive/EED_Events_Archive.module.php 3 patches
Doc Comments   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -249,7 +249,7 @@  discard block
 block discarded – undo
249 249
 
250 250
     /**
251 251
      * @access public
252
-     * @return string
252
+     * @return boolean
253 253
      */
254 254
 	public static function is_iframe() {
255 255
         return \EED_Events_Archive::$iframe;
@@ -722,7 +722,7 @@  discard block
 block discarded – undo
722 722
 	 *    display_description
723 723
 	 *
724 724
 	 * @access    public
725
-	 * @param $value
725
+	 * @param integer $value
726 726
 	 * @return    bool
727 727
 	 */
728 728
 	public static function display_description( $value ) {
Please login to merge, or discard this patch.
Indentation   +27 added lines, -27 removed lines patch added patch discarded remove patch
@@ -37,19 +37,19 @@  discard block
 block discarded – undo
37 37
 	 */
38 38
 	protected static $using_get_the_excerpt = false;
39 39
 
40
-    /**
41
-     * Used to flag when the event list is being called from an external iframe.
42
-     *
43
-     * @var bool $iframe
44
-     */
45
-    protected static $iframe = false;
46
-
47
-    /**
40
+	/**
41
+	 * Used to flag when the event list is being called from an external iframe.
42
+	 *
43
+	 * @var bool $iframe
44
+	 */
45
+	protected static $iframe = false;
46
+
47
+	/**
48 48
 	 * @var \EventEspresso\core\libraries\iframe_display\EventListIframeEmbedButton $_iframe_embed_button
49 49
 	 */
50 50
 	private static $_iframe_embed_button;
51 51
 
52
-    /**
52
+	/**
53 53
 	 * @type EE_Template_Part_Manager $template_parts
54 54
 	 */
55 55
 	protected $template_parts;
@@ -233,36 +233,36 @@  discard block
 block discarded – undo
233 233
 
234 234
 
235 235
 
236
-    /**
237
-     * @access    public
238
-     * @return    void
239
-     * @throws \EE_Error
240
-     * @throws \DomainException
241
-     */
236
+	/**
237
+	 * @access    public
238
+	 * @return    void
239
+	 * @throws \EE_Error
240
+	 * @throws \DomainException
241
+	 */
242 242
 	public function event_list_iframe() {
243
-        \EED_Events_Archive::$iframe = true;
243
+		\EED_Events_Archive::$iframe = true;
244 244
 		$event_list_iframe = new EventsArchiveIframe( $this );
245 245
 		$event_list_iframe->display();
246 246
 	}
247 247
 
248 248
 
249 249
 
250
-    /**
251
-     * @access public
252
-     * @return string
253
-     */
250
+	/**
251
+	 * @access public
252
+	 * @return string
253
+	 */
254 254
 	public static function is_iframe() {
255
-        return \EED_Events_Archive::$iframe;
255
+		return \EED_Events_Archive::$iframe;
256 256
 	}
257 257
 
258 258
 
259 259
 
260
-    /**
261
-     * @access public
262
-     * @return string
263
-     */
260
+	/**
261
+	 * @access public
262
+	 * @return string
263
+	 */
264 264
 	public static function link_target() {
265
-        return \EED_Events_Archive::$iframe ? ' target="_blank"' : '';
265
+		return \EED_Events_Archive::$iframe ? ' target="_blank"' : '';
266 266
 	}
267 267
 
268 268
 
@@ -600,7 +600,7 @@  discard block
 block discarded – undo
600 600
 	 *  @return 	void
601 601
 	 */
602 602
 	public function load_event_list_assets() {
603
-        do_action( 'AHEE__EED_Events_Archive__before_load_assets' );
603
+		do_action( 'AHEE__EED_Events_Archive__before_load_assets' );
604 604
 		add_filter( 'FHEE_load_EE_Session', '__return_true' );
605 605
 		add_filter( 'FHEE__EED_Ticket_Selector__load_tckt_slctr_assets', '__return_true' );
606 606
 		add_action('wp_enqueue_scripts', array( $this, 'wp_enqueue_scripts' ), 10 );
Please login to merge, or discard this patch.
Spacing   +178 added lines, -178 removed lines patch added patch discarded remove patch
@@ -3,7 +3,7 @@  discard block
 block discarded – undo
3 3
 use EventEspresso\core\libraries\iframe_display\EventListIframeEmbedButton;
4 4
 use EventEspresso\modules\events_archive\EventsArchiveIframe;
5 5
 
6
-if ( ! defined( 'EVENT_ESPRESSO_VERSION')) exit('No direct script access allowed');
6
+if ( ! defined('EVENT_ESPRESSO_VERSION')) exit('No direct script access allowed');
7 7
 /**
8 8
  * Event Espresso
9 9
  *
@@ -60,7 +60,7 @@  discard block
 block discarded – undo
60 60
 	 * @return EED_Events_Archive
61 61
 	 */
62 62
 	public static function instance() {
63
-		return parent::get_instance( __CLASS__ );
63
+		return parent::get_instance(__CLASS__);
64 64
 	}
65 65
 
66 66
 
@@ -72,10 +72,10 @@  discard block
 block discarded – undo
72 72
 	 *  @return 	void
73 73
 	 */
74 74
 	public static function set_hooks() {
75
-		EE_Config::register_route( EE_Registry::instance()->CFG->core->event_cpt_slug, 'Events_Archive', 'run' );
76
-		EE_Config::register_route( 'event_list', 'Events_Archive', 'event_list' );
77
-		EE_Config::register_route( 'iframe', 'Events_Archive', 'event_list_iframe', 'event_list' );
78
-		add_action( 'wp_loaded', array( 'EED_Events_Archive', 'set_definitions' ), 2 );
75
+		EE_Config::register_route(EE_Registry::instance()->CFG->core->event_cpt_slug, 'Events_Archive', 'run');
76
+		EE_Config::register_route('event_list', 'Events_Archive', 'event_list');
77
+		EE_Config::register_route('iframe', 'Events_Archive', 'event_list_iframe', 'event_list');
78
+		add_action('wp_loaded', array('EED_Events_Archive', 'set_definitions'), 2);
79 79
 	}
80 80
 
81 81
 	/**
@@ -85,12 +85,12 @@  discard block
 block discarded – undo
85 85
 	 *  @return 	void
86 86
 	 */
87 87
 	public static function set_hooks_admin() {
88
-		add_action( 'wp_loaded', array( 'EED_Events_Archive', 'set_definitions' ), 2 );
88
+		add_action('wp_loaded', array('EED_Events_Archive', 'set_definitions'), 2);
89 89
 		// hook into the end of the \EE_Admin_Page::_load_page_dependencies()
90 90
 		// to load assets for "espresso_events" page on the "default" route (action)
91 91
 		add_action(
92 92
 			'FHEE__EE_Admin_Page___load_page_dependencies__after_load__espresso_events__default',
93
-			array( 'EED_Events_Archive', 'event_list_iframe_embed_button' ),
93
+			array('EED_Events_Archive', 'event_list_iframe_embed_button'),
94 94
 			10
95 95
 		);
96 96
 	}
@@ -105,8 +105,8 @@  discard block
 block discarded – undo
105 105
 	 *  @return 	void
106 106
 	 */
107 107
 	public static function set_definitions() {
108
-		define( 'EVENTS_ARCHIVE_ASSETS_URL', plugin_dir_url( __FILE__ ) . 'assets' . DS );
109
-		define( 'EVENTS_ARCHIVE_TEMPLATES_PATH', str_replace( '\\', DS, plugin_dir_path( __FILE__ )) . 'templates' . DS );
108
+		define('EVENTS_ARCHIVE_ASSETS_URL', plugin_dir_url(__FILE__).'assets'.DS);
109
+		define('EVENTS_ARCHIVE_TEMPLATES_PATH', str_replace('\\', DS, plugin_dir_path(__FILE__)).'templates'.DS);
110 110
 	}
111 111
 
112 112
 
@@ -114,10 +114,10 @@  discard block
 block discarded – undo
114 114
 	/**
115 115
 	 * set up EE_Events_Archive_Config
116 116
 	 */
117
-	protected function set_config(){
118
-		$this->set_config_section( 'template_settings' );
119
-		$this->set_config_class( 'EE_Events_Archive_Config' );
120
-		$this->set_config_name( 'EED_Events_Archive' );
117
+	protected function set_config() {
118
+		$this->set_config_section('template_settings');
119
+		$this->set_config_class('EE_Events_Archive_Config');
120
+		$this->set_config_name('EED_Events_Archive');
121 121
 	}
122 122
 
123 123
 
@@ -126,7 +126,7 @@  discard block
 block discarded – undo
126 126
 	 * @return EventListIframeEmbedButton
127 127
 	 */
128 128
 	public static function get_iframe_embed_button() {
129
-		if ( ! self::$_iframe_embed_button instanceof EventListIframeEmbedButton ) {
129
+		if ( ! self::$_iframe_embed_button instanceof EventListIframeEmbedButton) {
130 130
 			self::$_iframe_embed_button = new EventListIframeEmbedButton();
131 131
 		}
132 132
 		return self::$_iframe_embed_button;
@@ -152,35 +152,35 @@  discard block
 block discarded – undo
152 152
 	 * @param \EE_Events_Archive_Config $config
153 153
 	 * @return \EE_Template_Part_Manager
154 154
 	 */
155
-	public function initialize_template_parts( EE_Events_Archive_Config $config = null ) {
155
+	public function initialize_template_parts(EE_Events_Archive_Config $config = null) {
156 156
 		$config = $config instanceof EE_Events_Archive_Config ? $config : $this->config();
157 157
 		EEH_Autoloader::instance()->register_template_part_autoloaders();
158 158
 		$template_parts = new EE_Template_Part_Manager();
159 159
 		$template_parts->add_template_part(
160 160
 			'tickets',
161
-			__( 'Ticket Selector', 'event_espresso' ),
161
+			__('Ticket Selector', 'event_espresso'),
162 162
 			'content-espresso_events-tickets.php',
163 163
 			$config->display_order_tickets
164 164
 		);
165 165
 		$template_parts->add_template_part(
166 166
 			'datetimes',
167
-			__( 'Dates and Times', 'event_espresso' ),
167
+			__('Dates and Times', 'event_espresso'),
168 168
 			'content-espresso_events-datetimes.php',
169 169
 			$config->display_order_datetimes
170 170
 		);
171 171
 		$template_parts->add_template_part(
172 172
 			'event',
173
-			__( 'Event Description', 'event_espresso' ),
173
+			__('Event Description', 'event_espresso'),
174 174
 			'content-espresso_events-details.php',
175 175
 			$config->display_order_event
176 176
 		);
177 177
 		$template_parts->add_template_part(
178 178
 			'venue',
179
-			__( 'Venue Information', 'event_espresso' ),
179
+			__('Venue Information', 'event_espresso'),
180 180
 			'content-espresso_events-venues.php',
181 181
 			$config->display_order_venue
182 182
 		);
183
-		do_action( 'AHEE__EED_Event_Archive__initialize_template_parts', $template_parts );
183
+		do_action('AHEE__EED_Event_Archive__initialize_template_parts', $template_parts);
184 184
 		return $template_parts;
185 185
 	}
186 186
 
@@ -193,8 +193,8 @@  discard block
 block discarded – undo
193 193
 	 * @param WP $WP
194 194
 	 * @return    void
195 195
 	 */
196
-	public function run( $WP ) {
197
-		do_action( 'AHEE__EED_Events_Archive__before_run' );
196
+	public function run($WP) {
197
+		do_action('AHEE__EED_Events_Archive__before_run');
198 198
 		// ensure valid EE_Events_Archive_Config() object exists
199 199
 		$this->set_config();
200 200
 		/** @type EE_Events_Archive_Config $config */
@@ -206,14 +206,14 @@  discard block
 block discarded – undo
206 206
 		EEH_Event_Query::add_query_filters();
207 207
 		// set params that will get used by the filters
208 208
 		EEH_Event_Query::set_query_params(
209
-			'', 	// month
210
-			'', 	// category
211
-			$config->display_expired_events, 	// show_expired
212
-			'start_date', 	// orderby
209
+			'', // month
210
+			'', // category
211
+			$config->display_expired_events, // show_expired
212
+			'start_date', // orderby
213 213
 			'ASC' 	// sort
214 214
 		);
215 215
 		// check what template is loaded
216
-		add_filter( 'template_include',  array( $this, 'template_include' ), 999, 1 );
216
+		add_filter('template_include', array($this, 'template_include'), 999, 1);
217 217
 	}
218 218
 
219 219
 
@@ -241,7 +241,7 @@  discard block
 block discarded – undo
241 241
      */
242 242
 	public function event_list_iframe() {
243 243
         \EED_Events_Archive::$iframe = true;
244
-		$event_list_iframe = new EventsArchiveIframe( $this );
244
+		$event_list_iframe = new EventsArchiveIframe($this);
245 245
 		$event_list_iframe->display();
246 246
 	}
247 247
 
@@ -279,32 +279,32 @@  discard block
 block discarded – undo
279 279
 	 * @param string $template
280 280
 	 * @return    string
281 281
 	 */
282
-	public function template_include( $template = '' ) {
282
+	public function template_include($template = '') {
283 283
 		// don't add content filter for dedicated EE child themes or private posts
284
-		if ( ! EEH_Template::is_espresso_theme() ) {
284
+		if ( ! EEH_Template::is_espresso_theme()) {
285 285
 			/** @type EE_Events_Archive_Config $config */
286 286
 			$config = $this->config();
287 287
 			// add status banner ?
288
-			if ( $config->display_status_banner ) {
289
-				add_filter( 'the_title', array( 'EED_Events_Archive', 'the_title' ), 100, 2 );
288
+			if ($config->display_status_banner) {
289
+				add_filter('the_title', array('EED_Events_Archive', 'the_title'), 100, 2);
290 290
 			}
291 291
 			// if NOT a custom template
292 292
 			if (
293
-				EE_Registry::instance()->load_core( 'Front_Controller', array(), false, true )->get_selected_template() != 'archive-espresso_events.php'
294
-				|| apply_filters( 'FHEE__EED_Event_Archive__template_include__allow_custom_selected_template', FALSE )
293
+				EE_Registry::instance()->load_core('Front_Controller', array(), false, true)->get_selected_template() != 'archive-espresso_events.php'
294
+				|| apply_filters('FHEE__EED_Event_Archive__template_include__allow_custom_selected_template', FALSE)
295 295
 			) {
296 296
 				// don't display entry meta because the existing theme will take care of that
297
-				add_filter( 'FHEE__EED_Events_Archive__template_include__events_list_active', '__return_true' );
297
+				add_filter('FHEE__EED_Events_Archive__template_include__events_list_active', '__return_true');
298 298
 			// load functions.php file for the theme (loaded by WP if using child theme)
299 299
 				EEH_Template::load_espresso_theme_functions();
300 300
 				// because we don't know if the theme is using the_excerpt()
301
-				add_filter( 'the_excerpt', array( 'EED_Events_Archive', 'event_details' ), 100, 1 );
301
+				add_filter('the_excerpt', array('EED_Events_Archive', 'event_details'), 100, 1);
302 302
 				// or the_content
303
-				add_filter( 'the_content', array( 'EED_Events_Archive', 'event_details' ), 100, 1 );
303
+				add_filter('the_content', array('EED_Events_Archive', 'event_details'), 100, 1);
304 304
 				// and just in case they are running get_the_excerpt() which DESTROYS things
305
-				add_filter( 'get_the_excerpt', array( 'EED_Events_Archive', 'get_the_excerpt' ), 1, 1 );
305
+				add_filter('get_the_excerpt', array('EED_Events_Archive', 'get_the_excerpt'), 1, 1);
306 306
 				// don't display entry meta because the existing theme will take care of that
307
-				add_filter( 'FHEE__content_espresso_events_details_template__display_entry_meta', '__return_false' );
307
+				add_filter('FHEE__content_espresso_events_details_template__display_entry_meta', '__return_false');
308 308
 			}
309 309
 		}
310 310
 		return $template;
@@ -319,17 +319,17 @@  discard block
 block discarded – undo
319 319
 	 * 	@param		string 	$excerpt
320 320
 	 * 	@return 		string
321 321
 	 */
322
-	public static function get_the_excerpt( $excerpt = '' ) {
323
-		if ( post_password_required() ) {
322
+	public static function get_the_excerpt($excerpt = '') {
323
+		if (post_password_required()) {
324 324
 			return $excerpt;
325 325
 		}
326
-		if ( apply_filters( 'FHEE__EED_Events_Archive__get_the_excerpt__theme_uses_get_the_excerpt', false ) ) {
327
-			remove_filter( 'the_excerpt', array( 'EED_Events_Archive', 'event_details' ), 100 );
328
-			remove_filter( 'the_content', array( 'EED_Events_Archive', 'event_details' ), 100 );
329
-			$excerpt = EED_Events_Archive::event_details( $excerpt );
326
+		if (apply_filters('FHEE__EED_Events_Archive__get_the_excerpt__theme_uses_get_the_excerpt', false)) {
327
+			remove_filter('the_excerpt', array('EED_Events_Archive', 'event_details'), 100);
328
+			remove_filter('the_content', array('EED_Events_Archive', 'event_details'), 100);
329
+			$excerpt = EED_Events_Archive::event_details($excerpt);
330 330
 		} else {
331 331
 			EED_Events_Archive::$using_get_the_excerpt = true;
332
-			add_filter( 'wp_trim_excerpt', array( 'EED_Events_Archive', 'end_get_the_excerpt' ), 999, 1 );
332
+			add_filter('wp_trim_excerpt', array('EED_Events_Archive', 'end_get_the_excerpt'), 999, 1);
333 333
 		}
334 334
 		return $excerpt;
335 335
 	}
@@ -343,7 +343,7 @@  discard block
 block discarded – undo
343 343
 	 * @param  string $text
344 344
 	 * @return string
345 345
 	 */
346
-	public static function end_get_the_excerpt( $text = '' ) {
346
+	public static function end_get_the_excerpt($text = '') {
347 347
 		EED_Events_Archive::$using_get_the_excerpt = false;
348 348
 		return $text;
349 349
 	}
@@ -358,10 +358,10 @@  discard block
 block discarded – undo
358 358
 	 * @param 		string 		$id
359 359
 	 * @return 		string
360 360
 	 */
361
-	public static function the_title( $title = '', $id = '' ) {
361
+	public static function the_title($title = '', $id = '') {
362 362
 	global $post;
363
-	if ( $post instanceof WP_Post ) {
364
-		return in_the_loop() && $post->ID == $id ? espresso_event_status_banner( $post->ID  ) . $title :  $title;
363
+	if ($post instanceof WP_Post) {
364
+		return in_the_loop() && $post->ID == $id ? espresso_event_status_banner($post->ID).$title : $title;
365 365
 	}
366 366
 	return $title;
367 367
 }
@@ -375,7 +375,7 @@  discard block
 block discarded – undo
375 375
 	 * 	@param		string 	$content
376 376
 	 * 	@return 		string
377 377
 	 */
378
-	public static function event_details( $content ) {
378
+	public static function event_details($content) {
379 379
 		global $post;
380 380
 		static $current_post_ID = 0;
381 381
 		if (
@@ -384,8 +384,8 @@  discard block
 block discarded – undo
384 384
 			&& ! EED_Events_Archive::$using_get_the_excerpt
385 385
 			&& ! post_password_required()
386 386
 			&& (
387
-				apply_filters( 'FHEE__EES_Espresso_Events__process_shortcode__true', false )
388
-				|| ! apply_filters( 'FHEE__content_espresso_events__template_loaded', false )
387
+				apply_filters('FHEE__EES_Espresso_Events__process_shortcode__true', false)
388
+				|| ! apply_filters('FHEE__content_espresso_events__template_loaded', false)
389 389
 			)
390 390
 		) {
391 391
 			// Set current post ID to prevent showing content twice, but only if headers have definitely been sent.
@@ -394,8 +394,8 @@  discard block
 block discarded – undo
394 394
 			// We want to allow those plugins to still do their thing and have access to our content, but depending on
395 395
 			// how your event content is being displayed (shortcode, CPT route, etc), this filter can get applied twice,
396 396
 			// so the following allows this filter to be applied multiple times, but only once for real
397
-			$current_post_ID = did_action( 'loop_start' ) ? $post->ID : 0;
398
-			if ( EE_Registry::instance()->CFG->template_settings->EED_Events_Archive->use_sortable_display_order ) {
397
+			$current_post_ID = did_action('loop_start') ? $post->ID : 0;
398
+			if (EE_Registry::instance()->CFG->template_settings->EED_Events_Archive->use_sortable_display_order) {
399 399
 				$content = \EED_Events_Archive::use_sortable_display_order();
400 400
 			} else {
401 401
 				$content = \EED_Events_Archive::use_filterable_display_order();
@@ -414,20 +414,20 @@  discard block
 block discarded – undo
414 414
 	 */
415 415
 	protected static function use_sortable_display_order() {
416 416
 		// no further password checks required atm
417
-		add_filter( 'FHEE__EED_Events_Archive__event_details__no_post_password_required', '__return_true' );
417
+		add_filter('FHEE__EED_Events_Archive__event_details__no_post_password_required', '__return_true');
418 418
 		// we need to first remove this callback from being applied to the_content() or the_excerpt() (otherwise it will recurse and blow up the interweb)
419
-		remove_filter( 'the_excerpt', array( 'EED_Events_Archive', 'event_details' ), 100 );
420
-		remove_filter( 'the_content', array( 'EED_Events_Archive', 'event_details' ), 100 );
421
-		remove_filter( 'get_the_excerpt', array( 'EED_Events_Archive', 'get_the_excerpt' ), 1 );
419
+		remove_filter('the_excerpt', array('EED_Events_Archive', 'event_details'), 100);
420
+		remove_filter('the_content', array('EED_Events_Archive', 'event_details'), 100);
421
+		remove_filter('get_the_excerpt', array('EED_Events_Archive', 'get_the_excerpt'), 1);
422 422
 		// now add additional content depending on whether event is using the_excerpt() or the_content()
423 423
 		EED_Events_Archive::instance()->template_parts = EED_Events_Archive::instance()->initialize_template_parts();
424
-		$content = EEH_Template::locate_template( 'content-espresso_events-details.php' );
425
-		$content = EED_Events_Archive::instance()->template_parts->apply_template_part_filters( $content );
424
+		$content = EEH_Template::locate_template('content-espresso_events-details.php');
425
+		$content = EED_Events_Archive::instance()->template_parts->apply_template_part_filters($content);
426 426
 		// re-add our main filters (or else the next event won't have them)
427
-		add_filter( 'the_excerpt', array( 'EED_Events_Archive', 'event_details' ), 100, 1 );
428
-		add_filter( 'the_content', array( 'EED_Events_Archive', 'event_details' ), 100, 1 );
429
-		add_filter( 'get_the_excerpt', array( 'EED_Events_Archive', 'get_the_excerpt' ), 1, 1 );
430
-		remove_filter( 'FHEE__EED_Events_Archive__event_details__no_post_password_required', '__return_true' );
427
+		add_filter('the_excerpt', array('EED_Events_Archive', 'event_details'), 100, 1);
428
+		add_filter('the_content', array('EED_Events_Archive', 'event_details'), 100, 1);
429
+		add_filter('get_the_excerpt', array('EED_Events_Archive', 'get_the_excerpt'), 1, 1);
430
+		remove_filter('FHEE__EED_Events_Archive__event_details__no_post_password_required', '__return_true');
431 431
 		return $content;
432 432
 	}
433 433
 
@@ -442,22 +442,22 @@  discard block
 block discarded – undo
442 442
 	protected static function use_filterable_display_order() {
443 443
 		// we need to first remove this callback from being applied to the_content()
444 444
 		// (otherwise it will recurse and blow up the interweb)
445
-		remove_filter( 'the_excerpt', array( 'EED_Events_Archive', 'event_details' ), 100 );
446
-		remove_filter( 'the_content', array( 'EED_Events_Archive', 'event_details' ), 100 );
447
-		remove_filter( 'get_the_excerpt', array( 'EED_Events_Archive', 'get_the_excerpt' ), 1 );
445
+		remove_filter('the_excerpt', array('EED_Events_Archive', 'event_details'), 100);
446
+		remove_filter('the_content', array('EED_Events_Archive', 'event_details'), 100);
447
+		remove_filter('get_the_excerpt', array('EED_Events_Archive', 'get_the_excerpt'), 1);
448 448
 		//now add additional content depending on whether event is using the_excerpt() or the_content()
449 449
 		EED_Events_Archive::_add_additional_excerpt_filters();
450 450
 		EED_Events_Archive::_add_additional_content_filters();
451
-		do_action( 'AHEE__EED_Events_Archive__use_filterable_display_order__after_add_filters' );
451
+		do_action('AHEE__EED_Events_Archive__use_filterable_display_order__after_add_filters');
452 452
 		// now load our template
453
-		$content = EEH_Template::locate_template( 'content-espresso_events-details.php' );
453
+		$content = EEH_Template::locate_template('content-espresso_events-details.php');
454 454
 		// re-add our main filters (or else the next event won't have them)
455
-		add_filter( 'the_excerpt', array( 'EED_Events_Archive', 'event_details' ), 100, 1 );
456
-		add_filter( 'the_content', array( 'EED_Events_Archive', 'event_details' ), 100, 1 );
457
-		add_filter( 'get_the_excerpt', array( 'EED_Events_Archive', 'get_the_excerpt' ), 1, 1 );
455
+		add_filter('the_excerpt', array('EED_Events_Archive', 'event_details'), 100, 1);
456
+		add_filter('the_content', array('EED_Events_Archive', 'event_details'), 100, 1);
457
+		add_filter('get_the_excerpt', array('EED_Events_Archive', 'get_the_excerpt'), 1, 1);
458 458
 		// but remove the other filters so that they don't get applied to the next post
459 459
 		EED_Events_Archive::_remove_additional_events_archive_filters();
460
-		do_action( 'AHEE__EED_Events_Archive__use_filterable_display_order__after_remove_filters' );
460
+		do_action('AHEE__EED_Events_Archive__use_filterable_display_order__after_remove_filters');
461 461
 		// we're not returning the $content directly because the template we are loading uses the_content (or the_excerpt)
462 462
 		//return ! empty( $template ) ? $template : $content;
463 463
 		return $content;
@@ -472,11 +472,11 @@  discard block
 block discarded – undo
472 472
 	 * 	@param		string 	$content
473 473
 	 *  	@return 		string
474 474
 	 */
475
-	public static function event_datetimes( $content ) {
476
-		if ( post_password_required() ) {
475
+	public static function event_datetimes($content) {
476
+		if (post_password_required()) {
477 477
 			return $content;
478 478
 		}
479
-		return EEH_Template::locate_template( 'content-espresso_events-datetimes.php' ) . $content;
479
+		return EEH_Template::locate_template('content-espresso_events-datetimes.php').$content;
480 480
 	}
481 481
 
482 482
 	/**
@@ -486,11 +486,11 @@  discard block
 block discarded – undo
486 486
 	 * 	@param		string 	$content
487 487
 	 *  	@return 		string
488 488
 	 */
489
-	public static function event_tickets( $content ) {
490
-		if ( post_password_required() ) {
489
+	public static function event_tickets($content) {
490
+		if (post_password_required()) {
491 491
 			return $content;
492 492
 		}
493
-		return EEH_Template::locate_template( 'content-espresso_events-tickets.php' ) . $content;
493
+		return EEH_Template::locate_template('content-espresso_events-tickets.php').$content;
494 494
 	}
495 495
 
496 496
 
@@ -502,8 +502,8 @@  discard block
 block discarded – undo
502 502
 	 * @param    string $content
503 503
 	 * @return    string
504 504
 	 */
505
-	public static function event_venue( $content ) {
506
-		return EED_Events_Archive::event_venues( $content );
505
+	public static function event_venue($content) {
506
+		return EED_Events_Archive::event_venues($content);
507 507
 	}
508 508
 
509 509
 	/**
@@ -513,11 +513,11 @@  discard block
 block discarded – undo
513 513
 	 * 	@param		string 	$content
514 514
 	 *  	@return 		string
515 515
 	 */
516
-	public static function event_venues( $content ) {
517
-		if ( post_password_required() ) {
516
+	public static function event_venues($content) {
517
+		if (post_password_required()) {
518 518
 			return $content;
519 519
 		}
520
-		return $content . EEH_Template::locate_template( 'content-espresso_events-venues.php' );
520
+		return $content.EEH_Template::locate_template('content-espresso_events-venues.php');
521 521
 	}
522 522
 
523 523
 
@@ -529,9 +529,9 @@  discard block
 block discarded – undo
529 529
 	 * @return        void
530 530
 	 */
531 531
 	private static function _add_additional_excerpt_filters() {
532
-		add_filter( 'the_excerpt', array( 'EED_Events_Archive', 'event_datetimes' ), 110, 1 );
533
-		add_filter( 'the_excerpt', array( 'EED_Events_Archive', 'event_tickets' ), 120, 1 );
534
-		add_filter( 'the_excerpt', array( 'EED_Events_Archive', 'event_venues' ), 130, 1 );
532
+		add_filter('the_excerpt', array('EED_Events_Archive', 'event_datetimes'), 110, 1);
533
+		add_filter('the_excerpt', array('EED_Events_Archive', 'event_tickets'), 120, 1);
534
+		add_filter('the_excerpt', array('EED_Events_Archive', 'event_venues'), 130, 1);
535 535
 	}
536 536
 
537 537
 
@@ -543,9 +543,9 @@  discard block
 block discarded – undo
543 543
 	 * @return        void
544 544
 	 */
545 545
 	private static function _add_additional_content_filters() {
546
-		add_filter( 'the_content', array( 'EED_Events_Archive', 'event_datetimes' ), 110, 1 );
547
-		add_filter( 'the_content', array( 'EED_Events_Archive', 'event_tickets' ), 120, 1 );
548
-		add_filter( 'the_content', array( 'EED_Events_Archive', 'event_venues' ), 130, 1 );
546
+		add_filter('the_content', array('EED_Events_Archive', 'event_datetimes'), 110, 1);
547
+		add_filter('the_content', array('EED_Events_Archive', 'event_tickets'), 120, 1);
548
+		add_filter('the_content', array('EED_Events_Archive', 'event_venues'), 130, 1);
549 549
 	}
550 550
 
551 551
 
@@ -557,12 +557,12 @@  discard block
 block discarded – undo
557 557
 	 * @return        void
558 558
 	 */
559 559
 	private static function _remove_additional_events_archive_filters() {
560
-		remove_filter( 'the_excerpt', array( 'EED_Events_Archive', 'event_datetimes' ), 110 );
561
-		remove_filter( 'the_excerpt', array( 'EED_Events_Archive', 'event_tickets' ), 120 );
562
-		remove_filter( 'the_excerpt', array( 'EED_Events_Archive', 'event_venues' ), 130 );
563
-		remove_filter( 'the_content', array( 'EED_Events_Archive', 'event_datetimes' ), 110 );
564
-		remove_filter( 'the_content', array( 'EED_Events_Archive', 'event_tickets' ), 120 );
565
-		remove_filter( 'the_content', array( 'EED_Events_Archive', 'event_venues' ), 130 );
560
+		remove_filter('the_excerpt', array('EED_Events_Archive', 'event_datetimes'), 110);
561
+		remove_filter('the_excerpt', array('EED_Events_Archive', 'event_tickets'), 120);
562
+		remove_filter('the_excerpt', array('EED_Events_Archive', 'event_venues'), 130);
563
+		remove_filter('the_content', array('EED_Events_Archive', 'event_datetimes'), 110);
564
+		remove_filter('the_content', array('EED_Events_Archive', 'event_tickets'), 120);
565
+		remove_filter('the_content', array('EED_Events_Archive', 'event_venues'), 130);
566 566
 	}
567 567
 
568 568
 
@@ -575,17 +575,17 @@  discard block
 block discarded – undo
575 575
 	 */
576 576
 	public static function remove_all_events_archive_filters() {
577 577
 		//remove_filter( 'get_the_excerpt', array( 'EED_Events_Archive', 'get_the_excerpt' ), 1 );
578
-		remove_filter( 'the_title', array( 'EED_Events_Archive', 'the_title' ), 100 );
579
-		remove_filter( 'the_excerpt', array( 'EED_Events_Archive', 'event_details' ), 100 );
580
-		remove_filter( 'the_excerpt', array( 'EED_Events_Archive', 'event_datetimes' ), 110 );
581
-		remove_filter( 'the_excerpt', array( 'EED_Events_Archive', 'event_tickets' ), 120 );
582
-		remove_filter( 'the_excerpt', array( 'EED_Events_Archive', 'event_venues' ), 130 );
583
-		remove_filter( 'the_content', array( 'EED_Events_Archive', 'event_details' ), 100 );
584
-		remove_filter( 'the_content', array( 'EED_Events_Archive', 'event_datetimes' ), 110 );
585
-		remove_filter( 'the_content', array( 'EED_Events_Archive', 'event_tickets' ), 120 );
586
-		remove_filter( 'the_content', array( 'EED_Events_Archive', 'event_venues' ), 130 );
578
+		remove_filter('the_title', array('EED_Events_Archive', 'the_title'), 100);
579
+		remove_filter('the_excerpt', array('EED_Events_Archive', 'event_details'), 100);
580
+		remove_filter('the_excerpt', array('EED_Events_Archive', 'event_datetimes'), 110);
581
+		remove_filter('the_excerpt', array('EED_Events_Archive', 'event_tickets'), 120);
582
+		remove_filter('the_excerpt', array('EED_Events_Archive', 'event_venues'), 130);
583
+		remove_filter('the_content', array('EED_Events_Archive', 'event_details'), 100);
584
+		remove_filter('the_content', array('EED_Events_Archive', 'event_datetimes'), 110);
585
+		remove_filter('the_content', array('EED_Events_Archive', 'event_tickets'), 120);
586
+		remove_filter('the_content', array('EED_Events_Archive', 'event_venues'), 130);
587 587
 		// don't display entry meta because the existing theme will take care of that
588
-		remove_filter( 'FHEE__content_espresso_events_details_template__display_entry_meta', '__return_false' );
588
+		remove_filter('FHEE__content_espresso_events_details_template__display_entry_meta', '__return_false');
589 589
 	}
590 590
 
591 591
 
@@ -600,12 +600,12 @@  discard block
 block discarded – undo
600 600
 	 *  @return 	void
601 601
 	 */
602 602
 	public function load_event_list_assets() {
603
-        do_action( 'AHEE__EED_Events_Archive__before_load_assets' );
604
-		add_filter( 'FHEE_load_EE_Session', '__return_true' );
605
-		add_filter( 'FHEE__EED_Ticket_Selector__load_tckt_slctr_assets', '__return_true' );
606
-		add_action('wp_enqueue_scripts', array( $this, 'wp_enqueue_scripts' ), 10 );
607
-		if ( EE_Registry::instance()->CFG->map_settings->use_google_maps ) {
608
-			add_action('wp_enqueue_scripts', array( 'EEH_Maps', 'espresso_google_map_js' ), 11 );
603
+        do_action('AHEE__EED_Events_Archive__before_load_assets');
604
+		add_filter('FHEE_load_EE_Session', '__return_true');
605
+		add_filter('FHEE__EED_Ticket_Selector__load_tckt_slctr_assets', '__return_true');
606
+		add_action('wp_enqueue_scripts', array($this, 'wp_enqueue_scripts'), 10);
607
+		if (EE_Registry::instance()->CFG->map_settings->use_google_maps) {
608
+			add_action('wp_enqueue_scripts', array('EEH_Maps', 'espresso_google_map_js'), 11);
609 609
 		}
610 610
 	}
611 611
 
@@ -622,13 +622,13 @@  discard block
 block discarded – undo
622 622
 	 */
623 623
 	public function wp_enqueue_scripts() {
624 624
 		// get some style
625
-		if ( apply_filters( 'FHEE_enable_default_espresso_css', FALSE ) ) {
625
+		if (apply_filters('FHEE_enable_default_espresso_css', FALSE)) {
626 626
 			// first check uploads folder
627
-			if ( EEH_File::is_readable( get_stylesheet_directory() . $this->theme . DS . 'style.css' )) {
628
-				wp_register_style( $this->theme, get_stylesheet_directory_uri() . $this->theme . DS . 'style.css', array( 'dashicons', 'espresso_default' ));
627
+			if (EEH_File::is_readable(get_stylesheet_directory().$this->theme.DS.'style.css')) {
628
+				wp_register_style($this->theme, get_stylesheet_directory_uri().$this->theme.DS.'style.css', array('dashicons', 'espresso_default'));
629 629
 			} else {
630 630
 		}
631
-		wp_enqueue_style( $this->theme );
631
+		wp_enqueue_style($this->theme);
632 632
 
633 633
 	}
634 634
 }
@@ -646,8 +646,8 @@  discard block
 block discarded – undo
646 646
 	 */
647 647
 	public static function template_settings_form() {
648 648
 	$template_settings = EE_Registry::instance()->CFG->template_settings;
649
-	$template_settings->EED_Events_Archive = isset( $template_settings->EED_Events_Archive ) ? $template_settings->EED_Events_Archive : new EE_Events_Archive_Config();
650
-	$template_settings->EED_Events_Archive = apply_filters( 'FHEE__EED_Events_Archive__template_settings_form__event_list_config', $template_settings->EED_Events_Archive );
649
+	$template_settings->EED_Events_Archive = isset($template_settings->EED_Events_Archive) ? $template_settings->EED_Events_Archive : new EE_Events_Archive_Config();
650
+	$template_settings->EED_Events_Archive = apply_filters('FHEE__EED_Events_Archive__template_settings_form__event_list_config', $template_settings->EED_Events_Archive);
651 651
 	$events_archive_settings = array(
652 652
 		'display_status_banner' => 0,
653 653
 		'display_description' => 1,
@@ -656,8 +656,8 @@  discard block
 block discarded – undo
656 656
 		'display_venue' => 0,
657 657
 		'display_expired_events' => 0
658 658
 	);
659
-	$events_archive_settings = array_merge( $events_archive_settings, (array)$template_settings->EED_Events_Archive );
660
-	EEH_Template::display_template( EVENTS_ARCHIVE_TEMPLATES_PATH . 'admin-event-list-settings.template.php', $events_archive_settings );
659
+	$events_archive_settings = array_merge($events_archive_settings, (array) $template_settings->EED_Events_Archive);
660
+	EEH_Template::display_template(EVENTS_ARCHIVE_TEMPLATES_PATH.'admin-event-list-settings.template.php', $events_archive_settings);
661 661
 }
662 662
 
663 663
 
@@ -673,16 +673,16 @@  discard block
 block discarded – undo
673 673
 	 *  @param 	EE_Request_Handler $REQ
674 674
 	 *  @return 	EE_Template_Config
675 675
 	 */
676
-	public static function update_template_settings( $CFG, $REQ ) {
676
+	public static function update_template_settings($CFG, $REQ) {
677 677
 		$CFG->EED_Events_Archive = new EE_Events_Archive_Config();
678 678
 		// unless we are resetting the config...
679
-		if ( ! isset( $REQ['EED_Events_Archive_reset_event_list_settings'] ) || absint( $REQ['EED_Events_Archive_reset_event_list_settings'] ) !== 1 ) {
680
-			$CFG->EED_Events_Archive->display_status_banner = isset( $REQ['EED_Events_Archive_display_status_banner'] ) ? absint( $REQ['EED_Events_Archive_display_status_banner'] ) : 0;
681
-			$CFG->EED_Events_Archive->display_description = isset( $REQ['EED_Events_Archive_display_description'] ) ? absint( $REQ['EED_Events_Archive_display_description'] ) : 1;
682
-			$CFG->EED_Events_Archive->display_ticket_selector = isset( $REQ['EED_Events_Archive_display_ticket_selector'] ) ? absint( $REQ['EED_Events_Archive_display_ticket_selector'] ) : 0;
683
-			$CFG->EED_Events_Archive->display_datetimes = isset( $REQ['EED_Events_Archive_display_datetimes'] ) ? absint( $REQ['EED_Events_Archive_display_datetimes'] ) : 1;
684
-			$CFG->EED_Events_Archive->display_venue = isset( $REQ['EED_Events_Archive_display_venue'] ) ? absint( $REQ['EED_Events_Archive_display_venue'] ) : 0;
685
-			$CFG->EED_Events_Archive->display_expired_events = isset( $REQ['EED_Events_Archive_display_expired_events'] ) ? absint( $REQ['EED_Events_Archive_display_expired_events'] ) : 0;			}
679
+		if ( ! isset($REQ['EED_Events_Archive_reset_event_list_settings']) || absint($REQ['EED_Events_Archive_reset_event_list_settings']) !== 1) {
680
+			$CFG->EED_Events_Archive->display_status_banner = isset($REQ['EED_Events_Archive_display_status_banner']) ? absint($REQ['EED_Events_Archive_display_status_banner']) : 0;
681
+			$CFG->EED_Events_Archive->display_description = isset($REQ['EED_Events_Archive_display_description']) ? absint($REQ['EED_Events_Archive_display_description']) : 1;
682
+			$CFG->EED_Events_Archive->display_ticket_selector = isset($REQ['EED_Events_Archive_display_ticket_selector']) ? absint($REQ['EED_Events_Archive_display_ticket_selector']) : 0;
683
+			$CFG->EED_Events_Archive->display_datetimes = isset($REQ['EED_Events_Archive_display_datetimes']) ? absint($REQ['EED_Events_Archive_display_datetimes']) : 1;
684
+			$CFG->EED_Events_Archive->display_venue = isset($REQ['EED_Events_Archive_display_venue']) ? absint($REQ['EED_Events_Archive_display_venue']) : 0;
685
+			$CFG->EED_Events_Archive->display_expired_events = isset($REQ['EED_Events_Archive_display_expired_events']) ? absint($REQ['EED_Events_Archive_display_expired_events']) : 0; }
686 686
 		return $CFG;
687 687
 	}
688 688
 
@@ -695,10 +695,10 @@  discard block
 block discarded – undo
695 695
 	 * @param string $extra_class
696 696
 	 * @return    string
697 697
 	 */
698
-	public static function event_list_css( $extra_class = '' ) {
699
-		$event_list_css = ! empty( $extra_class ) ? array( $extra_class ) : array();
698
+	public static function event_list_css($extra_class = '') {
699
+		$event_list_css = ! empty($extra_class) ? array($extra_class) : array();
700 700
 		$event_list_css[] = 'espresso-event-list-event';
701
-		return implode( ' ', $event_list_css );
701
+		return implode(' ', $event_list_css);
702 702
 	}
703 703
 
704 704
 
@@ -725,9 +725,9 @@  discard block
 block discarded – undo
725 725
 	 * @param $value
726 726
 	 * @return    bool
727 727
 	 */
728
-	public static function display_description( $value ) {
728
+	public static function display_description($value) {
729 729
 		$config = EE_Registry::instance()->CFG->template_settings->EED_Events_Archive;
730
-		$display_description= isset( $config->display_description ) ? $config->display_description : 1;
730
+		$display_description = isset($config->display_description) ? $config->display_description : 1;
731 731
 		return $display_description === $value ? TRUE : FALSE;
732 732
 	}
733 733
 
@@ -740,7 +740,7 @@  discard block
 block discarded – undo
740 740
 	 */
741 741
 	public static function display_ticket_selector() {
742 742
 		$config = EE_Registry::instance()->CFG->template_settings->EED_Events_Archive;
743
-		return isset( $config->display_ticket_selector ) && $config->display_ticket_selector ? TRUE : FALSE;
743
+		return isset($config->display_ticket_selector) && $config->display_ticket_selector ? TRUE : FALSE;
744 744
 	}
745 745
 
746 746
 
@@ -753,7 +753,7 @@  discard block
 block discarded – undo
753 753
 	 */
754 754
 	public static function display_venue() {
755 755
 		$config = EE_Registry::instance()->CFG->template_settings->EED_Events_Archive;
756
-		return isset( $config->display_venue ) && $config->display_venue && EEH_Venue_View::venue_name() ? TRUE : FALSE;
756
+		return isset($config->display_venue) && $config->display_venue && EEH_Venue_View::venue_name() ? TRUE : FALSE;
757 757
 	}
758 758
 
759 759
 
@@ -765,7 +765,7 @@  discard block
 block discarded – undo
765 765
 	 */
766 766
 	public static function display_datetimes() {
767 767
 		$config = EE_Registry::instance()->CFG->template_settings->EED_Events_Archive;
768
-		return isset( $config->display_datetimes ) && $config->display_datetimes ? TRUE : FALSE;
768
+		return isset($config->display_datetimes) && $config->display_datetimes ? TRUE : FALSE;
769 769
 }
770 770
 
771 771
 
@@ -780,7 +780,7 @@  discard block
 block discarded – undo
780 780
 	 *  @return 	string
781 781
 	 */
782 782
 	public static function event_list_title() {
783
-		return apply_filters( 'FHEE__archive_espresso_events_template__upcoming_events_h1', __( 'Upcoming Events', 'event_espresso' ));
783
+		return apply_filters('FHEE__archive_espresso_events_template__upcoming_events_h1', __('Upcoming Events', 'event_espresso'));
784 784
 	}
785 785
 
786 786
 
@@ -789,11 +789,11 @@  discard block
 block discarded – undo
789 789
 	/**
790 790
 	 * 	@since 4.4.0
791 791
 	 */
792
-	public static function _doing_it_wrong_notice( $function = '' ) {
792
+	public static function _doing_it_wrong_notice($function = '') {
793 793
 		EE_Error::doing_it_wrong(
794 794
 			__FUNCTION__,
795 795
 			sprintf(
796
-				__( 'EED_Events_Archive::%1$s was moved to EEH_Event_Query::%1$s:%2$sPlease update your existing code because the method it calls will be removed in version %3$s', 'event_espresso' ),
796
+				__('EED_Events_Archive::%1$s was moved to EEH_Event_Query::%1$s:%2$sPlease update your existing code because the method it calls will be removed in version %3$s', 'event_espresso'),
797 797
 				$function,
798 798
 				'<br />',
799 799
 				'4.6.0'
@@ -815,89 +815,89 @@  discard block
 block discarded – undo
815 815
 	 * 	@deprecated
816 816
 	 * 	@since 4.4.0
817 817
 	 */
818
-	public function posts_fields( $SQL, WP_Query $wp_query ) {
819
-		EED_Events_Archive::_doing_it_wrong_notice( __FUNCTION__ );
820
-		return EEH_Event_Query::posts_fields( $SQL, $wp_query );
818
+	public function posts_fields($SQL, WP_Query $wp_query) {
819
+		EED_Events_Archive::_doing_it_wrong_notice(__FUNCTION__);
820
+		return EEH_Event_Query::posts_fields($SQL, $wp_query);
821 821
 	}
822 822
 	/**
823 823
 	 * 	@deprecated
824 824
 	 * 	@since 4.4.0
825 825
 	 */
826
-	public static function posts_fields_sql_for_orderby( $orderby_params = array() ) {
827
-		EED_Events_Archive::_doing_it_wrong_notice( __FUNCTION__ );
828
-		return EEH_Event_Query::posts_fields_sql_for_orderby( $orderby_params );
826
+	public static function posts_fields_sql_for_orderby($orderby_params = array()) {
827
+		EED_Events_Archive::_doing_it_wrong_notice(__FUNCTION__);
828
+		return EEH_Event_Query::posts_fields_sql_for_orderby($orderby_params);
829 829
 	}
830 830
 	/**
831 831
 	 * 	@deprecated
832 832
 	 * 	@since 4.4.0
833 833
 	 */
834
-	public function posts_join( $SQL, WP_Query $wp_query ) {
835
-		EED_Events_Archive::_doing_it_wrong_notice( __FUNCTION__ );
836
-		return EEH_Event_Query::posts_join( $SQL, $wp_query );
834
+	public function posts_join($SQL, WP_Query $wp_query) {
835
+		EED_Events_Archive::_doing_it_wrong_notice(__FUNCTION__);
836
+		return EEH_Event_Query::posts_join($SQL, $wp_query);
837 837
 	}
838 838
 	/**
839 839
 	 * 	@deprecated
840 840
 	 * 	@since 4.4.0
841 841
 	 */
842
-	public static function posts_join_sql_for_terms( $join_terms = NULL ) {
843
-		EED_Events_Archive::_doing_it_wrong_notice( __FUNCTION__ );
844
-		return EEH_Event_Query::posts_join_sql_for_terms( $join_terms );
842
+	public static function posts_join_sql_for_terms($join_terms = NULL) {
843
+		EED_Events_Archive::_doing_it_wrong_notice(__FUNCTION__);
844
+		return EEH_Event_Query::posts_join_sql_for_terms($join_terms);
845 845
 	}
846 846
 	/**
847 847
 	 * 	@deprecated
848 848
 	 * 	@since 4.4.0
849 849
 	 */
850
-	public static function posts_join_for_orderby( $orderby_params = array() ) {
851
-		EED_Events_Archive::_doing_it_wrong_notice( __FUNCTION__ );
852
-		return EEH_Event_Query::posts_join_for_orderby( $orderby_params );
850
+	public static function posts_join_for_orderby($orderby_params = array()) {
851
+		EED_Events_Archive::_doing_it_wrong_notice(__FUNCTION__);
852
+		return EEH_Event_Query::posts_join_for_orderby($orderby_params);
853 853
 	}
854 854
 	/**
855 855
 	 * 	@deprecated
856 856
 	 * 	@since 4.4.0
857 857
 	 */
858
-	public function posts_where( $SQL, WP_Query $wp_query ) {
859
-		EED_Events_Archive::_doing_it_wrong_notice( __FUNCTION__ );
860
-		return EEH_Event_Query::posts_where( $SQL, $wp_query );
858
+	public function posts_where($SQL, WP_Query $wp_query) {
859
+		EED_Events_Archive::_doing_it_wrong_notice(__FUNCTION__);
860
+		return EEH_Event_Query::posts_where($SQL, $wp_query);
861 861
 	}
862 862
 	/**
863 863
 	 * 	@deprecated
864 864
 	 * 	@since 4.4.0
865 865
 	 */
866
-	public static function posts_where_sql_for_show_expired( $show_expired = FALSE ) {
867
-		EED_Events_Archive::_doing_it_wrong_notice( __FUNCTION__ );
868
-		return EEH_Event_Query::posts_where_sql_for_show_expired( $show_expired );
866
+	public static function posts_where_sql_for_show_expired($show_expired = FALSE) {
867
+		EED_Events_Archive::_doing_it_wrong_notice(__FUNCTION__);
868
+		return EEH_Event_Query::posts_where_sql_for_show_expired($show_expired);
869 869
 	}
870 870
 	/**
871 871
 	 * 	@deprecated
872 872
 	 * 	@since 4.4.0
873 873
 	 */
874
-	public static function posts_where_sql_for_event_category_slug( $event_category_slug = NULL ) {
875
-		EED_Events_Archive::_doing_it_wrong_notice( __FUNCTION__ );
876
-		return EEH_Event_Query::posts_where_sql_for_event_category_slug( $event_category_slug );
874
+	public static function posts_where_sql_for_event_category_slug($event_category_slug = NULL) {
875
+		EED_Events_Archive::_doing_it_wrong_notice(__FUNCTION__);
876
+		return EEH_Event_Query::posts_where_sql_for_event_category_slug($event_category_slug);
877 877
 	}
878 878
 	/**
879 879
 	 * 	@deprecated
880 880
 	 * 	@since 4.4.0
881 881
 	 */
882
-	public static function posts_where_sql_for_event_list_month( $month = NULL ) {
883
-		EED_Events_Archive::_doing_it_wrong_notice( __FUNCTION__ );
884
-		return EEH_Event_Query::posts_where_sql_for_event_list_month( $month );
882
+	public static function posts_where_sql_for_event_list_month($month = NULL) {
883
+		EED_Events_Archive::_doing_it_wrong_notice(__FUNCTION__);
884
+		return EEH_Event_Query::posts_where_sql_for_event_list_month($month);
885 885
 	}
886 886
 	/**
887 887
 	 * 	@deprecated
888 888
 	 * 	@since 4.4.0
889 889
 	 */
890
-	public function posts_orderby( $SQL, WP_Query $wp_query ) {
891
-		EED_Events_Archive::_doing_it_wrong_notice( __FUNCTION__ );
892
-		return EEH_Event_Query::posts_orderby( $SQL, $wp_query );
890
+	public function posts_orderby($SQL, WP_Query $wp_query) {
891
+		EED_Events_Archive::_doing_it_wrong_notice(__FUNCTION__);
892
+		return EEH_Event_Query::posts_orderby($SQL, $wp_query);
893 893
 	}
894 894
 	/**
895 895
 	 * 	@deprecated
896 896
 	 * 	@since 4.4.0
897 897
 	 */
898
-	public static function posts_orderby_sql( $orderby_params = array(), $sort = 'ASC' ) {
899
-		EED_Events_Archive::_doing_it_wrong_notice( __FUNCTION__ );
900
-		return EEH_Event_Query::posts_orderby_sql( $orderby_params, $sort );
898
+	public static function posts_orderby_sql($orderby_params = array(), $sort = 'ASC') {
899
+		EED_Events_Archive::_doing_it_wrong_notice(__FUNCTION__);
900
+		return EEH_Event_Query::posts_orderby_sql($orderby_params, $sort);
901 901
 	}
902 902
 
903 903
 
@@ -928,8 +928,8 @@  discard block
 block discarded – undo
928 928
  * @param string $extra_class
929 929
  * @return string
930 930
  */
931
-function espresso_event_list_css( $extra_class = '' ) {
932
-	return EED_Events_Archive::event_list_css( $extra_class );
931
+function espresso_event_list_css($extra_class = '') {
932
+	return EED_Events_Archive::event_list_css($extra_class);
933 933
 }
934 934
 
935 935
 /**
@@ -943,14 +943,14 @@  discard block
 block discarded – undo
943 943
  * @return bool
944 944
  */
945 945
 function espresso_display_full_description_in_event_list() {
946
-	return EED_Events_Archive::display_description( 2 );
946
+	return EED_Events_Archive::display_description(2);
947 947
 }
948 948
 
949 949
 /**
950 950
  * @return bool
951 951
  */
952 952
 function espresso_display_excerpt_in_event_list() {
953
-	return EED_Events_Archive::display_description( 1 );
953
+	return EED_Events_Archive::display_description(1);
954 954
 }
955 955
 
956 956
 /**
Please login to merge, or discard this patch.
modules/ticket_selector/DisplayTicketSelector.php 2 patches
Indentation   +670 added lines, -670 removed lines patch added patch discarded remove patch
@@ -2,7 +2,7 @@  discard block
 block discarded – undo
2 2
 namespace EventEspresso\modules\ticket_selector;
3 3
 
4 4
 if ( ! defined( 'EVENT_ESPRESSO_VERSION' ) ) {
5
-    exit( 'No direct script access allowed' );
5
+	exit( 'No direct script access allowed' );
6 6
 }
7 7
 
8 8
 
@@ -19,678 +19,678 @@  discard block
 block discarded – undo
19 19
 class DisplayTicketSelector
20 20
 {
21 21
 
22
-    /**
23
-     * event that ticket selector is being generated for
24
-     *
25
-     * @access protected
26
-     * @var \EE_Event $event
27
-     */
28
-    protected $event;
29
-
30
-    /**
31
-     * Used to flag when the ticket selector is being called from an external iframe.
32
-     *
33
-     * @var bool $iframe
34
-     */
35
-    protected $iframe = false;
36
-
37
-    /**
38
-     * max attendees that can register for event at one time
39
-     *
40
-     * @var int $max_attendees
41
-     */
42
-    private $max_attendees = EE_INF;
43
-
44
-    /**
45
-     *@var string $date_format
46
-     */
47
-    private $date_format = '';
48
-
49
-    /**
50
-     *@var string $time_format
51
-     */
52
-    private $time_format = '';
53
-
54
-
55
-
56
-    /**
57
-     * DisplayTicketSelector constructor.
58
-     */
59
-    public function __construct()
60
-    {
61
-        $this->date_format = apply_filters(
62
-            'FHEE__EED_Ticket_Selector__display_ticket_selector__date_format',
63
-            get_option('date_format')
64
-        );
65
-        $this->time_format = apply_filters(
66
-            'FHEE__EED_Ticket_Selector__display_ticket_selector__time_format',
67
-            get_option('time_format')
68
-        );
69
-    }
70
-
71
-
72
-
73
-    /**
74
-     * @param boolean $iframe
75
-     */
76
-    public function setIframe( $iframe = true )
77
-    {
78
-        $this->iframe = filter_var( $iframe, FILTER_VALIDATE_BOOLEAN );
79
-    }
80
-
81
-
82
-
83
-    /**
84
-     * finds and sets the \EE_Event object for use throughout class
85
-     *
86
-     * @param    mixed $event
87
-     * @return    bool
88
-     */
89
-    protected function setEvent( $event = null )
90
-    {
91
-        if ( $event === null ) {
92
-            global $post;
93
-            $event = $post;
94
-        }
95
-        if ( $event instanceof \EE_Event ) {
96
-            $this->event = $event;
97
-        } else if ( $event instanceof \WP_Post ) {
98
-            if ( isset( $event->EE_Event ) && $event->EE_Event instanceof \EE_Event ) {
99
-                $this->event = $event->EE_Event;
100
-            } else if ( $event->post_type === 'espresso_events' ) {
101
-                $event->EE_Event = \EEM_Event::instance()->instantiate_class_from_post_object( $event );
102
-                $this->event = $event->EE_Event;
103
-            }
104
-        } else {
105
-            $user_msg = __( 'No Event object or an invalid Event object was supplied.', 'event_espresso' );
106
-            $dev_msg = $user_msg . __(
107
-                    'In order to generate a ticket selector, please ensure you are passing either an EE_Event object or a WP_Post object of the post type "espresso_event" to the EE_Ticket_Selector class constructor.',
108
-                    'event_espresso'
109
-                );
110
-            \EE_Error::add_error( $user_msg . '||' . $dev_msg, __FILE__, __FUNCTION__, __LINE__ );
111
-            return false;
112
-        }
113
-        return true;
114
-    }
115
-
116
-
117
-
118
-    /**
119
-     * @return int
120
-     */
121
-    public function getMaxAttendees()
122
-    {
123
-        return $this->max_attendees;
124
-    }
125
-
126
-
127
-
128
-    /**
129
-     * @param int $max_attendees
130
-     */
131
-    public function setMaxAttendees($max_attendees)
132
-    {
133
-        $this->max_attendees = absint(
134
-            apply_filters(
135
-                'FHEE__EE_Ticket_Selector__display_ticket_selector__max_tickets',
136
-                $max_attendees
137
-            )
138
-        );
139
-    }
140
-
141
-
142
-
143
-    /**
144
-     * creates buttons for selecting number of attendees for an event
145
-     *
146
-     * @param \WP_Post|int $event
147
-     * @param bool         $view_details
148
-     * @return string
149
-     * @throws \EE_Error
150
-     */
151
-    public function display( $event = null, $view_details = false )
152
-    {
153
-        // reset filter for displaying submit button
154
-        remove_filter( 'FHEE__EE_Ticket_Selector__display_ticket_selector_submit', '__return_true' );
155
-        // poke and prod incoming event till it tells us what it is
156
-        if ( ! $this->setEvent( $event ) ) {
157
-            return false;
158
-        }
159
-        // begin gathering template arguments by getting event status
160
-        $template_args = array( 'event_status' => $this->event->get_active_status() );
161
-        if ( $this->activeEventAndShowTicketSelector($event, $template_args['event_status'], $view_details) ) {
162
-            return ! is_single() ? $this->displayViewDetailsButton() : '';
163
-        }
164
-        // filter the maximum qty that can appear in the Ticket Selector qty dropdowns
165
-        $this->setMaxAttendees($this->event->additional_limit());
166
-        if ($this->getMaxAttendees() < 1) {
167
-            return $this->ticketSalesClosedMessage();
168
-        }
169
-        // is the event expired ?
170
-        $template_args['event_is_expired'] = $this->event->is_expired();
171
-        if ( $template_args[ 'event_is_expired' ] ) {
172
-            return $this->expiredEventMessage();
173
-        }
174
-        // get all tickets for this event ordered by the datetime
175
-        $tickets = $this->getTickets();
176
-        if (count($tickets) < 1) {
177
-            return $this->noTicketAvailableMessage();
178
-        }
179
-        if (\EED_Events_Archive::is_iframe()){
180
-            $this->setIframe();
181
-        }
182
-        // redirecting to another site for registration ??
183
-        $external_url = (string) $this->event->external_url();
184
-        // if redirecting to another site for registration, then we don't load the TS
185
-        $ticket_selector = $external_url
186
-            ? $this->externalEventRegistration()
187
-            : $this->loadTicketSelector($tickets,$template_args);
188
-        // now set up the form (but not for the admin)
189
-        $ticket_selector = ! is_admin()
190
-            ? $this->formOpen($this->event->ID(), $external_url) . $ticket_selector
191
-            : $ticket_selector;
192
-        // submit button and form close tag
193
-        $ticket_selector .= ! is_admin() ? $this->displaySubmitButton($external_url) : '';
194
-        return $ticket_selector;
195
-    }
196
-
197
-
198
-
199
-    /**
200
-     * displayTicketSelector
201
-     * examines the event properties and determines whether a Ticket Selector should be displayed
202
-     *
203
-     * @param \WP_Post|int $event
204
-     * @param string       $_event_active_status
205
-     * @param bool         $view_details
206
-     * @return bool
207
-     * @throws \EE_Error
208
-     */
209
-    protected function activeEventAndShowTicketSelector($event, $_event_active_status, $view_details)
210
-    {
211
-        $event_post = $this->event instanceof \EE_Event ? $this->event->ID() : $event;
212
-        return ! is_admin()
213
-               && (
214
-                   ! $this->event->display_ticket_selector()
215
-                   || $view_details
216
-                   || post_password_required($event_post)
217
-                   || (
218
-                       $_event_active_status !== \EE_Datetime::active
219
-                       && $_event_active_status !== \EE_Datetime::upcoming
220
-                       && $_event_active_status !== \EE_Datetime::sold_out
221
-                       && ! (
222
-                           $_event_active_status === \EE_Datetime::inactive
223
-                           && is_user_logged_in()
224
-                       )
225
-                   )
226
-               );
227
-    }
228
-
229
-
230
-
231
-    /**
232
-     * noTicketAvailableMessage
233
-     * notice displayed if event is expired
234
-     *
235
-     * @return string
236
-     * @throws \EE_Error
237
-     */
238
-    protected function expiredEventMessage()
239
-    {
240
-        return '<div class="ee-event-expired-notice"><span class="important-notice">' . esc_html__(
241
-            'We\'re sorry, but all tickets sales have ended because the event is expired.',
242
-            'event_espresso'
243
-        ) . '</span></div>';
244
-    }
245
-
246
-
247
-
248
-    /**
249
-     * noTicketAvailableMessage
250
-     * notice displayed if event has no more tickets available
251
-     *
252
-     * @return string
253
-     * @throws \EE_Error
254
-     */
255
-    protected function noTicketAvailableMessage()
256
-    {
257
-        $no_ticket_available_msg = esc_html__( 'We\'re sorry, but all ticket sales have ended.', 'event_espresso' );
258
-        if (current_user_can('edit_post', $this->event->ID())) {
259
-            $no_ticket_available_msg .= sprintf(
260
-                esc_html__(
261
-                    '%1$sNote to Event Admin:%2$sNo tickets were found for this event. This effectively turns off ticket sales. Please ensure that at least one ticket is available for if you want people to be able to register.%3$s(click to edit this event)%4$s',
262
-                    'event_espresso'
263
-                ),
264
-                '<div class="ee-attention" style="text-align: left;"><b>',
265
-                '</b><br />',
266
-                '<span class="edit-link"><a class="post-edit-link" href="'.get_edit_post_link($this->event->ID()).'">',
267
-                '</a></span></div>'
268
-            );
269
-        }
270
-        return '
22
+	/**
23
+	 * event that ticket selector is being generated for
24
+	 *
25
+	 * @access protected
26
+	 * @var \EE_Event $event
27
+	 */
28
+	protected $event;
29
+
30
+	/**
31
+	 * Used to flag when the ticket selector is being called from an external iframe.
32
+	 *
33
+	 * @var bool $iframe
34
+	 */
35
+	protected $iframe = false;
36
+
37
+	/**
38
+	 * max attendees that can register for event at one time
39
+	 *
40
+	 * @var int $max_attendees
41
+	 */
42
+	private $max_attendees = EE_INF;
43
+
44
+	/**
45
+	 *@var string $date_format
46
+	 */
47
+	private $date_format = '';
48
+
49
+	/**
50
+	 *@var string $time_format
51
+	 */
52
+	private $time_format = '';
53
+
54
+
55
+
56
+	/**
57
+	 * DisplayTicketSelector constructor.
58
+	 */
59
+	public function __construct()
60
+	{
61
+		$this->date_format = apply_filters(
62
+			'FHEE__EED_Ticket_Selector__display_ticket_selector__date_format',
63
+			get_option('date_format')
64
+		);
65
+		$this->time_format = apply_filters(
66
+			'FHEE__EED_Ticket_Selector__display_ticket_selector__time_format',
67
+			get_option('time_format')
68
+		);
69
+	}
70
+
71
+
72
+
73
+	/**
74
+	 * @param boolean $iframe
75
+	 */
76
+	public function setIframe( $iframe = true )
77
+	{
78
+		$this->iframe = filter_var( $iframe, FILTER_VALIDATE_BOOLEAN );
79
+	}
80
+
81
+
82
+
83
+	/**
84
+	 * finds and sets the \EE_Event object for use throughout class
85
+	 *
86
+	 * @param    mixed $event
87
+	 * @return    bool
88
+	 */
89
+	protected function setEvent( $event = null )
90
+	{
91
+		if ( $event === null ) {
92
+			global $post;
93
+			$event = $post;
94
+		}
95
+		if ( $event instanceof \EE_Event ) {
96
+			$this->event = $event;
97
+		} else if ( $event instanceof \WP_Post ) {
98
+			if ( isset( $event->EE_Event ) && $event->EE_Event instanceof \EE_Event ) {
99
+				$this->event = $event->EE_Event;
100
+			} else if ( $event->post_type === 'espresso_events' ) {
101
+				$event->EE_Event = \EEM_Event::instance()->instantiate_class_from_post_object( $event );
102
+				$this->event = $event->EE_Event;
103
+			}
104
+		} else {
105
+			$user_msg = __( 'No Event object or an invalid Event object was supplied.', 'event_espresso' );
106
+			$dev_msg = $user_msg . __(
107
+					'In order to generate a ticket selector, please ensure you are passing either an EE_Event object or a WP_Post object of the post type "espresso_event" to the EE_Ticket_Selector class constructor.',
108
+					'event_espresso'
109
+				);
110
+			\EE_Error::add_error( $user_msg . '||' . $dev_msg, __FILE__, __FUNCTION__, __LINE__ );
111
+			return false;
112
+		}
113
+		return true;
114
+	}
115
+
116
+
117
+
118
+	/**
119
+	 * @return int
120
+	 */
121
+	public function getMaxAttendees()
122
+	{
123
+		return $this->max_attendees;
124
+	}
125
+
126
+
127
+
128
+	/**
129
+	 * @param int $max_attendees
130
+	 */
131
+	public function setMaxAttendees($max_attendees)
132
+	{
133
+		$this->max_attendees = absint(
134
+			apply_filters(
135
+				'FHEE__EE_Ticket_Selector__display_ticket_selector__max_tickets',
136
+				$max_attendees
137
+			)
138
+		);
139
+	}
140
+
141
+
142
+
143
+	/**
144
+	 * creates buttons for selecting number of attendees for an event
145
+	 *
146
+	 * @param \WP_Post|int $event
147
+	 * @param bool         $view_details
148
+	 * @return string
149
+	 * @throws \EE_Error
150
+	 */
151
+	public function display( $event = null, $view_details = false )
152
+	{
153
+		// reset filter for displaying submit button
154
+		remove_filter( 'FHEE__EE_Ticket_Selector__display_ticket_selector_submit', '__return_true' );
155
+		// poke and prod incoming event till it tells us what it is
156
+		if ( ! $this->setEvent( $event ) ) {
157
+			return false;
158
+		}
159
+		// begin gathering template arguments by getting event status
160
+		$template_args = array( 'event_status' => $this->event->get_active_status() );
161
+		if ( $this->activeEventAndShowTicketSelector($event, $template_args['event_status'], $view_details) ) {
162
+			return ! is_single() ? $this->displayViewDetailsButton() : '';
163
+		}
164
+		// filter the maximum qty that can appear in the Ticket Selector qty dropdowns
165
+		$this->setMaxAttendees($this->event->additional_limit());
166
+		if ($this->getMaxAttendees() < 1) {
167
+			return $this->ticketSalesClosedMessage();
168
+		}
169
+		// is the event expired ?
170
+		$template_args['event_is_expired'] = $this->event->is_expired();
171
+		if ( $template_args[ 'event_is_expired' ] ) {
172
+			return $this->expiredEventMessage();
173
+		}
174
+		// get all tickets for this event ordered by the datetime
175
+		$tickets = $this->getTickets();
176
+		if (count($tickets) < 1) {
177
+			return $this->noTicketAvailableMessage();
178
+		}
179
+		if (\EED_Events_Archive::is_iframe()){
180
+			$this->setIframe();
181
+		}
182
+		// redirecting to another site for registration ??
183
+		$external_url = (string) $this->event->external_url();
184
+		// if redirecting to another site for registration, then we don't load the TS
185
+		$ticket_selector = $external_url
186
+			? $this->externalEventRegistration()
187
+			: $this->loadTicketSelector($tickets,$template_args);
188
+		// now set up the form (but not for the admin)
189
+		$ticket_selector = ! is_admin()
190
+			? $this->formOpen($this->event->ID(), $external_url) . $ticket_selector
191
+			: $ticket_selector;
192
+		// submit button and form close tag
193
+		$ticket_selector .= ! is_admin() ? $this->displaySubmitButton($external_url) : '';
194
+		return $ticket_selector;
195
+	}
196
+
197
+
198
+
199
+	/**
200
+	 * displayTicketSelector
201
+	 * examines the event properties and determines whether a Ticket Selector should be displayed
202
+	 *
203
+	 * @param \WP_Post|int $event
204
+	 * @param string       $_event_active_status
205
+	 * @param bool         $view_details
206
+	 * @return bool
207
+	 * @throws \EE_Error
208
+	 */
209
+	protected function activeEventAndShowTicketSelector($event, $_event_active_status, $view_details)
210
+	{
211
+		$event_post = $this->event instanceof \EE_Event ? $this->event->ID() : $event;
212
+		return ! is_admin()
213
+			   && (
214
+				   ! $this->event->display_ticket_selector()
215
+				   || $view_details
216
+				   || post_password_required($event_post)
217
+				   || (
218
+					   $_event_active_status !== \EE_Datetime::active
219
+					   && $_event_active_status !== \EE_Datetime::upcoming
220
+					   && $_event_active_status !== \EE_Datetime::sold_out
221
+					   && ! (
222
+						   $_event_active_status === \EE_Datetime::inactive
223
+						   && is_user_logged_in()
224
+					   )
225
+				   )
226
+			   );
227
+	}
228
+
229
+
230
+
231
+	/**
232
+	 * noTicketAvailableMessage
233
+	 * notice displayed if event is expired
234
+	 *
235
+	 * @return string
236
+	 * @throws \EE_Error
237
+	 */
238
+	protected function expiredEventMessage()
239
+	{
240
+		return '<div class="ee-event-expired-notice"><span class="important-notice">' . esc_html__(
241
+			'We\'re sorry, but all tickets sales have ended because the event is expired.',
242
+			'event_espresso'
243
+		) . '</span></div>';
244
+	}
245
+
246
+
247
+
248
+	/**
249
+	 * noTicketAvailableMessage
250
+	 * notice displayed if event has no more tickets available
251
+	 *
252
+	 * @return string
253
+	 * @throws \EE_Error
254
+	 */
255
+	protected function noTicketAvailableMessage()
256
+	{
257
+		$no_ticket_available_msg = esc_html__( 'We\'re sorry, but all ticket sales have ended.', 'event_espresso' );
258
+		if (current_user_can('edit_post', $this->event->ID())) {
259
+			$no_ticket_available_msg .= sprintf(
260
+				esc_html__(
261
+					'%1$sNote to Event Admin:%2$sNo tickets were found for this event. This effectively turns off ticket sales. Please ensure that at least one ticket is available for if you want people to be able to register.%3$s(click to edit this event)%4$s',
262
+					'event_espresso'
263
+				),
264
+				'<div class="ee-attention" style="text-align: left;"><b>',
265
+				'</b><br />',
266
+				'<span class="edit-link"><a class="post-edit-link" href="'.get_edit_post_link($this->event->ID()).'">',
267
+				'</a></span></div>'
268
+			);
269
+		}
270
+		return '
271 271
             <div class="ee-event-expired-notice">
272 272
                 <span class="important-notice">' . $no_ticket_available_msg . '</span>
273 273
             </div>';
274
-    }
275
-
276
-
277
-
278
-    /**
279
-     * ticketSalesClosed
280
-     * notice displayed if event ticket sales are turned off
281
-     *
282
-     * @return string
283
-     * @throws \EE_Error
284
-     */
285
-    protected function ticketSalesClosedMessage()
286
-    {
287
-        $sales_closed_msg = esc_html__(
288
-            'We\'re sorry, but ticket sales have been closed at this time. Please check back again later.',
289
-            'event_espresso'
290
-        );
291
-        if (current_user_can('edit_post', $this->event->ID())) {
292
-            $sales_closed_msg .= sprintf(
293
-                esc_html__(
294
-                    '%sNote to Event Admin:%sThe "Maximum number of tickets allowed per order for this event" in the Event Registration Options has been set to "0". This effectively turns off ticket sales. %s(click to edit this event)%s',
295
-                    'event_espresso'
296
-                ),
297
-                '<div class="ee-attention" style="text-align: left;"><b>',
298
-                '</b><br />',
299
-                '<span class="edit-link"><a class="post-edit-link" href="'.get_edit_post_link($this->event->ID()).'">',
300
-                '</a></span></div>'
301
-            );
302
-        }
303
-        return '<p><span class="important-notice">' . $sales_closed_msg . '</span></p>';
304
-    }
305
-
306
-
307
-
308
-    /**
309
-     * getTickets
310
-     *
311
-     * @return \EE_Base_Class[]|\EE_Ticket[]
312
-     * @throws \EE_Error
313
-     */
314
-    protected function getTickets()
315
-    {
316
-        $ticket_query_args = array(
317
-            array('Datetime.EVT_ID' => $this->event->ID()),
318
-            'order_by' => array(
319
-                'TKT_order'              => 'ASC',
320
-                'TKT_required'           => 'DESC',
321
-                'TKT_start_date'         => 'ASC',
322
-                'TKT_end_date'           => 'ASC',
323
-                'Datetime.DTT_EVT_start' => 'DESC',
324
-            ),
325
-        );
326
-        if ( ! \EE_Registry::instance()->CFG->template_settings->EED_Ticket_Selector->show_expired_tickets) {
327
-            //use the correct applicable time query depending on what version of core is being run.
328
-            $current_time = method_exists('EEM_Datetime', 'current_time_for_query')
329
-                ? time()
330
-                : current_time('timestamp');
331
-            $ticket_query_args[0]['TKT_end_date'] = array('>', $current_time);
332
-        }
333
-        return \EEM_Ticket::instance()->get_all($ticket_query_args);
334
-    }
335
-
336
-
337
-
338
-    /**
339
-     * loadTicketSelector
340
-     * begins to assemble template arguments
341
-     * and decides whether to load a "simple" ticket selector, or the standard
342
-     *
343
-     * @param \EE_Ticket[] $tickets
344
-     * @param array $template_args
345
-     * @return string
346
-     * @throws \EE_Error
347
-     */
348
-    protected function loadTicketSelector(array $tickets, array $template_args)
349
-    {
350
-        $template_args['event'] = $this->event;
351
-        $template_args['EVT_ID'] = $this->event->ID();
352
-        $template_args['event_is_expired'] = $this->event->is_expired();
353
-        $template_args['max_atndz'] = $this->getMaxAttendees();
354
-        $template_args['date_format'] = $this->date_format;
355
-        $template_args['time_format'] = $this->time_format;
356
-        /**
357
-         * Filters the anchor ID used when redirecting to the Ticket Selector if no quantity selected
358
-         *
359
-         * @since 4.9.13
360
-         * @param     string  '#tkt-slctr-tbl-' . $EVT_ID The html ID to anchor to
361
-         * @param int $EVT_ID The Event ID
362
-         */
363
-        $template_args['anchor_id'] = apply_filters(
364
-            'FHEE__EE_Ticket_Selector__redirect_anchor_id',
365
-            '#tkt-slctr-tbl-' . $this->event->ID(),
366
-            $this->event->ID()
367
-        );
368
-        $template_args['tickets'] = $tickets;
369
-        $template_args['ticket_count'] = count($tickets);
370
-        $ticket_selector = $this->simpleTicketSelector( $tickets, $template_args);
371
-        return $ticket_selector instanceof TicketSelectorSimple
372
-            ? $ticket_selector
373
-            : new TicketSelectorStandard(
374
-                $this->event,
375
-                $tickets,
376
-                $this->getMaxAttendees(),
377
-                $template_args,
378
-                $this->date_format,
379
-                $this->time_format
380
-            );
381
-    }
382
-
383
-
384
-
385
-    /**
386
-     * simpleTicketSelector
387
-     * there's one ticket, and max attendees is set to one,
388
-     * so if the event is free, then this is a "simple" ticket selector
389
-     * a.k.a. "Dude Where's my Ticket Selector?"
390
-     *
391
-     * @param \EE_Ticket[] $tickets
392
-     * @param array  $template_args
393
-     * @return string
394
-     * @throws \EE_Error
395
-     */
396
-    protected function simpleTicketSelector($tickets, array $template_args)
397
-    {
398
-        // if there is only ONE ticket with a max qty of ONE
399
-        if (count($tickets) > 1 || $this->getMaxAttendees() !== 1) {
400
-            return '';
401
-        }
402
-        /** @var \EE_Ticket $ticket */
403
-        $ticket = reset($tickets);
404
-        // if the ticket is free... then not much need for the ticket selector
405
-        if (
406
-            apply_filters(
407
-                'FHEE__ticket_selector_chart_template__hide_ticket_selector',
408
-                $ticket->is_free(),
409
-                $this->event->ID()
410
-            )
411
-        ) {
412
-            return new TicketSelectorSimple(
413
-                $this->event,
414
-                $ticket,
415
-                $this->getMaxAttendees(),
416
-                $template_args
417
-            );
418
-        }
419
-        return '';
420
-    }
421
-
422
-
423
-
424
-    /**
425
-     * externalEventRegistration
426
-     *
427
-     * @return string
428
-     */
429
-    public function externalEventRegistration()
430
-    {
431
-        // if not we still need to trigger the display of the submit button
432
-        add_filter('FHEE__EE_Ticket_Selector__display_ticket_selector_submit', '__return_true');
433
-        //display notice to admin that registration is external
434
-        return is_admin()
435
-            ? esc_html__(
436
-                'Registration is at an external URL for this event.',
437
-                'event_espresso'
438
-            )
439
-            : '';
440
-    }
441
-
442
-
443
-
444
-    /**
445
-     * formOpen
446
-     *
447
-     * @param        int    $ID
448
-     * @param        string $external_url
449
-     * @return        string
450
-     */
451
-    public function formOpen( $ID = 0, $external_url = '' )
452
-    {
453
-        // if redirecting, we don't need any anything else
454
-        if ( $external_url ) {
455
-            $html = '<form method="GET" action="' . \EEH_URL::refactor_url($external_url) . '"';
456
-            // open link in new window ?
457
-            $html .= apply_filters(
458
-                'FHEE__EventEspresso_modules_ticket_selector_DisplayTicketSelector__formOpen__external_url_target_blank',
459
-                \EED_Events_Archive::is_iframe()
460
-            )
461
-                ? ' target="_blank"'
462
-                : '';
463
-            $html .= '>';
464
-            $query_args = \EEH_URL::get_query_string( $external_url );
465
-            foreach ( (array)$query_args as $query_arg => $value ) {
466
-                $html .= '<input type="hidden" name="' . $query_arg . '" value="' . $value . '">';
467
-            }
468
-            return $html;
469
-        }
470
-        // if there is no submit button, then don't start building a form
471
-        // because the "View Details" button will build its own form
472
-        if ( ! apply_filters( 'FHEE__EE_Ticket_Selector__display_ticket_selector_submit', false ) ) {
473
-            return '';
474
-        }
475
-        $checkout_url = \EEH_Event_View::event_link_url( $ID );
476
-        if ( ! $checkout_url ) {
477
-            \EE_Error::add_error(
478
-                esc_html__( 'The URL for the Event Details page could not be retrieved.', 'event_espresso' ),
479
-                __FILE__,
480
-                __FUNCTION__,
481
-                __LINE__
482
-            );
483
-        }
484
-        // set no cache headers and constants
485
-        \EE_System::do_not_cache();
486
-        $extra_params = $this->iframe ? ' target="_blank"' : '';
487
-        $html = '<form method="POST" action="' . $checkout_url . '"' . $extra_params . '>';
488
-        $html .= wp_nonce_field( 'process_ticket_selections', 'process_ticket_selections_nonce_' . $ID, true, false );
489
-        $html .= '<input type="hidden" name="ee" value="process_ticket_selections">';
490
-        $html = apply_filters( 'FHEE__EE_Ticket_Selector__ticket_selector_form_open__html', $html, $this->event );
491
-        return $html;
492
-    }
493
-
494
-
495
-
496
-    /**
497
-     * displaySubmitButton
498
-     *
499
-     * @param  string $external_url
500
-     * @return string
501
-     * @throws \EE_Error
502
-     */
503
-    public function displaySubmitButton($external_url = '')
504
-    {
505
-        $html = '';
506
-        if ( ! is_admin()) {
507
-            // standard TS displayed with submit button, ie: "Register Now"
508
-            if (apply_filters('FHEE__EE_Ticket_Selector__display_ticket_selector_submit', false)) {
509
-                $html .= $this->displayRegisterNowButton();
510
-                $html .= empty($external_url)
511
-                    ? $this->ticketSelectorEndDiv()
512
-                    : $this->clearTicketSelector();
513
-                $html .= '<br/>' . $this->formClose();
514
-            } else if ($this->getMaxAttendees() === 1) {
515
-                // its a "Dude Where's my Ticket Selector?" (DWMTS) type event (ie: $_max_atndz === 1)
516
-                if ($this->event->is_sold_out()) {
517
-                    // then instead of a View Details or Submit button, just display a "Sold Out" message
518
-                    $html .= apply_filters(
519
-                        'FHEE__EE_Ticket_Selector__display_ticket_selector_submit__sold_out_msg',
520
-                        sprintf(
521
-                            __(
522
-                                '%1$s"%2$s" is currently sold out.%4$sPlease check back again later, as spots may become available.%3$s',
523
-                                'event_espresso'
524
-                            ),
525
-                            '<p class="no-ticket-selector-msg clear-float">',
526
-                            $this->event->name(),
527
-                            '</p>',
528
-                            '<br />'
529
-                        ),
530
-                        $this->event
531
-                    );
532
-                    if (
533
-                    apply_filters(
534
-                        'FHEE__EE_Ticket_Selector__display_ticket_selector_submit__no_tickets_but_display_register_now_button',
535
-                        false,
536
-                        $this->event
537
-                    )
538
-                    ) {
539
-                        $html .= $this->displayRegisterNowButton();
540
-                    }
541
-                    // sold out DWMTS event, no TS, no submit or view details button, but has additional content
542
-                    $html .= $this->ticketSelectorEndDiv();
543
-                } else if (
544
-                    apply_filters('FHEE__EE_Ticket_Selector__hide_ticket_selector', false)
545
-                    && ! is_single()
546
-                ) {
547
-                    // this is a "Dude Where's my Ticket Selector?" (DWMTS) type event,
548
-                    // but no tickets are available, so display event's "View Details" button.
549
-                    // it is being viewed via somewhere other than a single post
550
-                    $html .= $this->displayViewDetailsButton(true);
551
-                }
552
-            } else if (is_archive()) {
553
-                // event list, no tickets available so display event's "View Details" button
554
-                $html .= $this->ticketSelectorEndDiv();
555
-                $html .= $this->displayViewDetailsButton();
556
-            } else {
557
-                if (
558
-                apply_filters(
559
-                    'FHEE__EE_Ticket_Selector__display_ticket_selector_submit__no_tickets_but_display_register_now_button',
560
-                    false,
561
-                    $this->event
562
-                )
563
-                ) {
564
-                    $html .= $this->displayRegisterNowButton();
565
-                }
566
-                // no submit or view details button, and no additional content
567
-                $html .= $this->ticketSelectorEndDiv();
568
-            }
569
-            if ( ! $this->iframe && ! is_archive()) {
570
-                $html .= \EEH_Template::powered_by_event_espresso('', '', array('utm_content' => 'ticket_selector'));
571
-            }
572
-        }
573
-        return $html;
574
-    }
575
-
576
-
577
-
578
-    /**
579
-     * @return string
580
-     * @throws \EE_Error
581
-     */
582
-    public function displayRegisterNowButton()
583
-    {
584
-        $btn_text = apply_filters(
585
-            'FHEE__EE_Ticket_Selector__display_ticket_selector_submit__btn_text',
586
-            __('Register Now', 'event_espresso'),
587
-            $this->event
588
-        );
589
-        $external_url = $this->event->external_url();
590
-        $html = \EEH_HTML::div(
591
-            '', 'ticket-selector-submit-' . $this->event->ID() . '-btn-wrap', 'ticket-selector-submit-btn-wrap'
592
-        );
593
-        $html .= '<input id="ticket-selector-submit-' . $this->event->ID() . '-btn"';
594
-        $html .= ' class="ticket-selector-submit-btn ';
595
-        $html .= empty($external_url) ? 'ticket-selector-submit-ajax"' : '"';
596
-        $html .= ' type="submit" value="' . $btn_text . '" />';
597
-        $html .= \EEH_HTML::divx();
598
-        $html .= apply_filters(
599
-            'FHEE__EE_Ticket_Selector__after_ticket_selector_submit',
600
-            '',
601
-            $this->event
602
-        );
603
-        return $html;
604
-    }
605
-
606
-
607
-    /**
608
-     * displayViewDetailsButton
609
-     *
610
-     * @param bool $DWMTS indicates a "Dude Where's my Ticket Selector?" (DWMTS) type event
611
-     *                    (ie: $_max_atndz === 1) where there are no available tickets,
612
-     *                    either because they are sold out, expired, or not yet on sale.
613
-     *                    In this case, we need to close the form BEFORE adding any closing divs
614
-     * @return string
615
-     * @throws \EE_Error
616
-     */
617
-    public function displayViewDetailsButton( $DWMTS = false )
618
-    {
619
-        if ( ! $this->event->get_permalink() ) {
620
-            \EE_Error::add_error(
621
-                esc_html__( 'The URL for the Event Details page could not be retrieved.', 'event_espresso' ),
622
-                __FILE__, __FUNCTION__, __LINE__
623
-            );
624
-        }
625
-        $view_details_btn = '<form method="POST" action="';
626
-        $view_details_btn .= apply_filters(
627
-            'FHEE__EE_Ticket_Selector__display_view_details_btn__btn_url',
628
-            $this->event->get_permalink(),
629
-            $this->event
630
-        );
631
-        $view_details_btn .= '"';
632
-        // open link in new window ?
633
-        $view_details_btn .= apply_filters(
634
-            'FHEE__EventEspresso_modules_ticket_selector_DisplayTicketSelector__displayViewDetailsButton__url_target_blank',
635
-            \EED_Events_Archive::is_iframe()
636
-        )
637
-            ? ' target="_blank"'
638
-            : '';
639
-        $view_details_btn .='>';
640
-        $btn_text = apply_filters(
641
-            'FHEE__EE_Ticket_Selector__display_view_details_btn__btn_text',
642
-            esc_html__('View Details', 'event_espresso'),
643
-            $this->event
644
-        );
645
-        $view_details_btn .= '<input id="ticket-selector-submit-'
646
-                             . $this->event->ID()
647
-                             . '-btn" class="ticket-selector-submit-btn view-details-btn" type="submit" value="'
648
-                             . $btn_text
649
-                             . '" />';
650
-        $view_details_btn .= apply_filters( 'FHEE__EE_Ticket_Selector__after_view_details_btn', '', $this->event );
651
-        if ($DWMTS) {
652
-            $view_details_btn .= $this->formClose();
653
-            $view_details_btn .= $this->ticketSelectorEndDiv();
654
-            $view_details_btn .= '<br/>';
655
-        } else {
656
-            $view_details_btn .= $this->clearTicketSelector();
657
-            $view_details_btn .= '<br/>';
658
-            $view_details_btn .= $this->formClose();
659
-        }
660
-        return $view_details_btn;
661
-    }
662
-
663
-
664
-
665
-    /**
666
-     * @return string
667
-     */
668
-    public function ticketSelectorEndDiv()
669
-    {
670
-        return '<div class="clear"></div></div>';
671
-    }
672
-
673
-
674
-
675
-    /**
676
-     * @return string
677
-     */
678
-    public function clearTicketSelector()
679
-    {
680
-        // standard TS displayed, appears after a "Register Now" or "view Details" button
681
-        return '<div class="clear"></div>';
682
-    }
683
-
684
-
685
-
686
-    /**
687
-     * @access        public
688
-     * @return        string
689
-     */
690
-    public function formClose()
691
-    {
692
-        return '</form>';
693
-    }
274
+	}
275
+
276
+
277
+
278
+	/**
279
+	 * ticketSalesClosed
280
+	 * notice displayed if event ticket sales are turned off
281
+	 *
282
+	 * @return string
283
+	 * @throws \EE_Error
284
+	 */
285
+	protected function ticketSalesClosedMessage()
286
+	{
287
+		$sales_closed_msg = esc_html__(
288
+			'We\'re sorry, but ticket sales have been closed at this time. Please check back again later.',
289
+			'event_espresso'
290
+		);
291
+		if (current_user_can('edit_post', $this->event->ID())) {
292
+			$sales_closed_msg .= sprintf(
293
+				esc_html__(
294
+					'%sNote to Event Admin:%sThe "Maximum number of tickets allowed per order for this event" in the Event Registration Options has been set to "0". This effectively turns off ticket sales. %s(click to edit this event)%s',
295
+					'event_espresso'
296
+				),
297
+				'<div class="ee-attention" style="text-align: left;"><b>',
298
+				'</b><br />',
299
+				'<span class="edit-link"><a class="post-edit-link" href="'.get_edit_post_link($this->event->ID()).'">',
300
+				'</a></span></div>'
301
+			);
302
+		}
303
+		return '<p><span class="important-notice">' . $sales_closed_msg . '</span></p>';
304
+	}
305
+
306
+
307
+
308
+	/**
309
+	 * getTickets
310
+	 *
311
+	 * @return \EE_Base_Class[]|\EE_Ticket[]
312
+	 * @throws \EE_Error
313
+	 */
314
+	protected function getTickets()
315
+	{
316
+		$ticket_query_args = array(
317
+			array('Datetime.EVT_ID' => $this->event->ID()),
318
+			'order_by' => array(
319
+				'TKT_order'              => 'ASC',
320
+				'TKT_required'           => 'DESC',
321
+				'TKT_start_date'         => 'ASC',
322
+				'TKT_end_date'           => 'ASC',
323
+				'Datetime.DTT_EVT_start' => 'DESC',
324
+			),
325
+		);
326
+		if ( ! \EE_Registry::instance()->CFG->template_settings->EED_Ticket_Selector->show_expired_tickets) {
327
+			//use the correct applicable time query depending on what version of core is being run.
328
+			$current_time = method_exists('EEM_Datetime', 'current_time_for_query')
329
+				? time()
330
+				: current_time('timestamp');
331
+			$ticket_query_args[0]['TKT_end_date'] = array('>', $current_time);
332
+		}
333
+		return \EEM_Ticket::instance()->get_all($ticket_query_args);
334
+	}
335
+
336
+
337
+
338
+	/**
339
+	 * loadTicketSelector
340
+	 * begins to assemble template arguments
341
+	 * and decides whether to load a "simple" ticket selector, or the standard
342
+	 *
343
+	 * @param \EE_Ticket[] $tickets
344
+	 * @param array $template_args
345
+	 * @return string
346
+	 * @throws \EE_Error
347
+	 */
348
+	protected function loadTicketSelector(array $tickets, array $template_args)
349
+	{
350
+		$template_args['event'] = $this->event;
351
+		$template_args['EVT_ID'] = $this->event->ID();
352
+		$template_args['event_is_expired'] = $this->event->is_expired();
353
+		$template_args['max_atndz'] = $this->getMaxAttendees();
354
+		$template_args['date_format'] = $this->date_format;
355
+		$template_args['time_format'] = $this->time_format;
356
+		/**
357
+		 * Filters the anchor ID used when redirecting to the Ticket Selector if no quantity selected
358
+		 *
359
+		 * @since 4.9.13
360
+		 * @param     string  '#tkt-slctr-tbl-' . $EVT_ID The html ID to anchor to
361
+		 * @param int $EVT_ID The Event ID
362
+		 */
363
+		$template_args['anchor_id'] = apply_filters(
364
+			'FHEE__EE_Ticket_Selector__redirect_anchor_id',
365
+			'#tkt-slctr-tbl-' . $this->event->ID(),
366
+			$this->event->ID()
367
+		);
368
+		$template_args['tickets'] = $tickets;
369
+		$template_args['ticket_count'] = count($tickets);
370
+		$ticket_selector = $this->simpleTicketSelector( $tickets, $template_args);
371
+		return $ticket_selector instanceof TicketSelectorSimple
372
+			? $ticket_selector
373
+			: new TicketSelectorStandard(
374
+				$this->event,
375
+				$tickets,
376
+				$this->getMaxAttendees(),
377
+				$template_args,
378
+				$this->date_format,
379
+				$this->time_format
380
+			);
381
+	}
382
+
383
+
384
+
385
+	/**
386
+	 * simpleTicketSelector
387
+	 * there's one ticket, and max attendees is set to one,
388
+	 * so if the event is free, then this is a "simple" ticket selector
389
+	 * a.k.a. "Dude Where's my Ticket Selector?"
390
+	 *
391
+	 * @param \EE_Ticket[] $tickets
392
+	 * @param array  $template_args
393
+	 * @return string
394
+	 * @throws \EE_Error
395
+	 */
396
+	protected function simpleTicketSelector($tickets, array $template_args)
397
+	{
398
+		// if there is only ONE ticket with a max qty of ONE
399
+		if (count($tickets) > 1 || $this->getMaxAttendees() !== 1) {
400
+			return '';
401
+		}
402
+		/** @var \EE_Ticket $ticket */
403
+		$ticket = reset($tickets);
404
+		// if the ticket is free... then not much need for the ticket selector
405
+		if (
406
+			apply_filters(
407
+				'FHEE__ticket_selector_chart_template__hide_ticket_selector',
408
+				$ticket->is_free(),
409
+				$this->event->ID()
410
+			)
411
+		) {
412
+			return new TicketSelectorSimple(
413
+				$this->event,
414
+				$ticket,
415
+				$this->getMaxAttendees(),
416
+				$template_args
417
+			);
418
+		}
419
+		return '';
420
+	}
421
+
422
+
423
+
424
+	/**
425
+	 * externalEventRegistration
426
+	 *
427
+	 * @return string
428
+	 */
429
+	public function externalEventRegistration()
430
+	{
431
+		// if not we still need to trigger the display of the submit button
432
+		add_filter('FHEE__EE_Ticket_Selector__display_ticket_selector_submit', '__return_true');
433
+		//display notice to admin that registration is external
434
+		return is_admin()
435
+			? esc_html__(
436
+				'Registration is at an external URL for this event.',
437
+				'event_espresso'
438
+			)
439
+			: '';
440
+	}
441
+
442
+
443
+
444
+	/**
445
+	 * formOpen
446
+	 *
447
+	 * @param        int    $ID
448
+	 * @param        string $external_url
449
+	 * @return        string
450
+	 */
451
+	public function formOpen( $ID = 0, $external_url = '' )
452
+	{
453
+		// if redirecting, we don't need any anything else
454
+		if ( $external_url ) {
455
+			$html = '<form method="GET" action="' . \EEH_URL::refactor_url($external_url) . '"';
456
+			// open link in new window ?
457
+			$html .= apply_filters(
458
+				'FHEE__EventEspresso_modules_ticket_selector_DisplayTicketSelector__formOpen__external_url_target_blank',
459
+				\EED_Events_Archive::is_iframe()
460
+			)
461
+				? ' target="_blank"'
462
+				: '';
463
+			$html .= '>';
464
+			$query_args = \EEH_URL::get_query_string( $external_url );
465
+			foreach ( (array)$query_args as $query_arg => $value ) {
466
+				$html .= '<input type="hidden" name="' . $query_arg . '" value="' . $value . '">';
467
+			}
468
+			return $html;
469
+		}
470
+		// if there is no submit button, then don't start building a form
471
+		// because the "View Details" button will build its own form
472
+		if ( ! apply_filters( 'FHEE__EE_Ticket_Selector__display_ticket_selector_submit', false ) ) {
473
+			return '';
474
+		}
475
+		$checkout_url = \EEH_Event_View::event_link_url( $ID );
476
+		if ( ! $checkout_url ) {
477
+			\EE_Error::add_error(
478
+				esc_html__( 'The URL for the Event Details page could not be retrieved.', 'event_espresso' ),
479
+				__FILE__,
480
+				__FUNCTION__,
481
+				__LINE__
482
+			);
483
+		}
484
+		// set no cache headers and constants
485
+		\EE_System::do_not_cache();
486
+		$extra_params = $this->iframe ? ' target="_blank"' : '';
487
+		$html = '<form method="POST" action="' . $checkout_url . '"' . $extra_params . '>';
488
+		$html .= wp_nonce_field( 'process_ticket_selections', 'process_ticket_selections_nonce_' . $ID, true, false );
489
+		$html .= '<input type="hidden" name="ee" value="process_ticket_selections">';
490
+		$html = apply_filters( 'FHEE__EE_Ticket_Selector__ticket_selector_form_open__html', $html, $this->event );
491
+		return $html;
492
+	}
493
+
494
+
495
+
496
+	/**
497
+	 * displaySubmitButton
498
+	 *
499
+	 * @param  string $external_url
500
+	 * @return string
501
+	 * @throws \EE_Error
502
+	 */
503
+	public function displaySubmitButton($external_url = '')
504
+	{
505
+		$html = '';
506
+		if ( ! is_admin()) {
507
+			// standard TS displayed with submit button, ie: "Register Now"
508
+			if (apply_filters('FHEE__EE_Ticket_Selector__display_ticket_selector_submit', false)) {
509
+				$html .= $this->displayRegisterNowButton();
510
+				$html .= empty($external_url)
511
+					? $this->ticketSelectorEndDiv()
512
+					: $this->clearTicketSelector();
513
+				$html .= '<br/>' . $this->formClose();
514
+			} else if ($this->getMaxAttendees() === 1) {
515
+				// its a "Dude Where's my Ticket Selector?" (DWMTS) type event (ie: $_max_atndz === 1)
516
+				if ($this->event->is_sold_out()) {
517
+					// then instead of a View Details or Submit button, just display a "Sold Out" message
518
+					$html .= apply_filters(
519
+						'FHEE__EE_Ticket_Selector__display_ticket_selector_submit__sold_out_msg',
520
+						sprintf(
521
+							__(
522
+								'%1$s"%2$s" is currently sold out.%4$sPlease check back again later, as spots may become available.%3$s',
523
+								'event_espresso'
524
+							),
525
+							'<p class="no-ticket-selector-msg clear-float">',
526
+							$this->event->name(),
527
+							'</p>',
528
+							'<br />'
529
+						),
530
+						$this->event
531
+					);
532
+					if (
533
+					apply_filters(
534
+						'FHEE__EE_Ticket_Selector__display_ticket_selector_submit__no_tickets_but_display_register_now_button',
535
+						false,
536
+						$this->event
537
+					)
538
+					) {
539
+						$html .= $this->displayRegisterNowButton();
540
+					}
541
+					// sold out DWMTS event, no TS, no submit or view details button, but has additional content
542
+					$html .= $this->ticketSelectorEndDiv();
543
+				} else if (
544
+					apply_filters('FHEE__EE_Ticket_Selector__hide_ticket_selector', false)
545
+					&& ! is_single()
546
+				) {
547
+					// this is a "Dude Where's my Ticket Selector?" (DWMTS) type event,
548
+					// but no tickets are available, so display event's "View Details" button.
549
+					// it is being viewed via somewhere other than a single post
550
+					$html .= $this->displayViewDetailsButton(true);
551
+				}
552
+			} else if (is_archive()) {
553
+				// event list, no tickets available so display event's "View Details" button
554
+				$html .= $this->ticketSelectorEndDiv();
555
+				$html .= $this->displayViewDetailsButton();
556
+			} else {
557
+				if (
558
+				apply_filters(
559
+					'FHEE__EE_Ticket_Selector__display_ticket_selector_submit__no_tickets_but_display_register_now_button',
560
+					false,
561
+					$this->event
562
+				)
563
+				) {
564
+					$html .= $this->displayRegisterNowButton();
565
+				}
566
+				// no submit or view details button, and no additional content
567
+				$html .= $this->ticketSelectorEndDiv();
568
+			}
569
+			if ( ! $this->iframe && ! is_archive()) {
570
+				$html .= \EEH_Template::powered_by_event_espresso('', '', array('utm_content' => 'ticket_selector'));
571
+			}
572
+		}
573
+		return $html;
574
+	}
575
+
576
+
577
+
578
+	/**
579
+	 * @return string
580
+	 * @throws \EE_Error
581
+	 */
582
+	public function displayRegisterNowButton()
583
+	{
584
+		$btn_text = apply_filters(
585
+			'FHEE__EE_Ticket_Selector__display_ticket_selector_submit__btn_text',
586
+			__('Register Now', 'event_espresso'),
587
+			$this->event
588
+		);
589
+		$external_url = $this->event->external_url();
590
+		$html = \EEH_HTML::div(
591
+			'', 'ticket-selector-submit-' . $this->event->ID() . '-btn-wrap', 'ticket-selector-submit-btn-wrap'
592
+		);
593
+		$html .= '<input id="ticket-selector-submit-' . $this->event->ID() . '-btn"';
594
+		$html .= ' class="ticket-selector-submit-btn ';
595
+		$html .= empty($external_url) ? 'ticket-selector-submit-ajax"' : '"';
596
+		$html .= ' type="submit" value="' . $btn_text . '" />';
597
+		$html .= \EEH_HTML::divx();
598
+		$html .= apply_filters(
599
+			'FHEE__EE_Ticket_Selector__after_ticket_selector_submit',
600
+			'',
601
+			$this->event
602
+		);
603
+		return $html;
604
+	}
605
+
606
+
607
+	/**
608
+	 * displayViewDetailsButton
609
+	 *
610
+	 * @param bool $DWMTS indicates a "Dude Where's my Ticket Selector?" (DWMTS) type event
611
+	 *                    (ie: $_max_atndz === 1) where there are no available tickets,
612
+	 *                    either because they are sold out, expired, or not yet on sale.
613
+	 *                    In this case, we need to close the form BEFORE adding any closing divs
614
+	 * @return string
615
+	 * @throws \EE_Error
616
+	 */
617
+	public function displayViewDetailsButton( $DWMTS = false )
618
+	{
619
+		if ( ! $this->event->get_permalink() ) {
620
+			\EE_Error::add_error(
621
+				esc_html__( 'The URL for the Event Details page could not be retrieved.', 'event_espresso' ),
622
+				__FILE__, __FUNCTION__, __LINE__
623
+			);
624
+		}
625
+		$view_details_btn = '<form method="POST" action="';
626
+		$view_details_btn .= apply_filters(
627
+			'FHEE__EE_Ticket_Selector__display_view_details_btn__btn_url',
628
+			$this->event->get_permalink(),
629
+			$this->event
630
+		);
631
+		$view_details_btn .= '"';
632
+		// open link in new window ?
633
+		$view_details_btn .= apply_filters(
634
+			'FHEE__EventEspresso_modules_ticket_selector_DisplayTicketSelector__displayViewDetailsButton__url_target_blank',
635
+			\EED_Events_Archive::is_iframe()
636
+		)
637
+			? ' target="_blank"'
638
+			: '';
639
+		$view_details_btn .='>';
640
+		$btn_text = apply_filters(
641
+			'FHEE__EE_Ticket_Selector__display_view_details_btn__btn_text',
642
+			esc_html__('View Details', 'event_espresso'),
643
+			$this->event
644
+		);
645
+		$view_details_btn .= '<input id="ticket-selector-submit-'
646
+							 . $this->event->ID()
647
+							 . '-btn" class="ticket-selector-submit-btn view-details-btn" type="submit" value="'
648
+							 . $btn_text
649
+							 . '" />';
650
+		$view_details_btn .= apply_filters( 'FHEE__EE_Ticket_Selector__after_view_details_btn', '', $this->event );
651
+		if ($DWMTS) {
652
+			$view_details_btn .= $this->formClose();
653
+			$view_details_btn .= $this->ticketSelectorEndDiv();
654
+			$view_details_btn .= '<br/>';
655
+		} else {
656
+			$view_details_btn .= $this->clearTicketSelector();
657
+			$view_details_btn .= '<br/>';
658
+			$view_details_btn .= $this->formClose();
659
+		}
660
+		return $view_details_btn;
661
+	}
662
+
663
+
664
+
665
+	/**
666
+	 * @return string
667
+	 */
668
+	public function ticketSelectorEndDiv()
669
+	{
670
+		return '<div class="clear"></div></div>';
671
+	}
672
+
673
+
674
+
675
+	/**
676
+	 * @return string
677
+	 */
678
+	public function clearTicketSelector()
679
+	{
680
+		// standard TS displayed, appears after a "Register Now" or "view Details" button
681
+		return '<div class="clear"></div>';
682
+	}
683
+
684
+
685
+
686
+	/**
687
+	 * @access        public
688
+	 * @return        string
689
+	 */
690
+	public function formClose()
691
+	{
692
+		return '</form>';
693
+	}
694 694
 
695 695
 
696 696
 
Please login to merge, or discard this patch.
Spacing   +52 added lines, -52 removed lines patch added patch discarded remove patch
@@ -1,8 +1,8 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 namespace EventEspresso\modules\ticket_selector;
3 3
 
4
-if ( ! defined( 'EVENT_ESPRESSO_VERSION' ) ) {
5
-    exit( 'No direct script access allowed' );
4
+if ( ! defined('EVENT_ESPRESSO_VERSION')) {
5
+    exit('No direct script access allowed');
6 6
 }
7 7
 
8 8
 
@@ -73,9 +73,9 @@  discard block
 block discarded – undo
73 73
     /**
74 74
      * @param boolean $iframe
75 75
      */
76
-    public function setIframe( $iframe = true )
76
+    public function setIframe($iframe = true)
77 77
     {
78
-        $this->iframe = filter_var( $iframe, FILTER_VALIDATE_BOOLEAN );
78
+        $this->iframe = filter_var($iframe, FILTER_VALIDATE_BOOLEAN);
79 79
     }
80 80
 
81 81
 
@@ -86,28 +86,28 @@  discard block
 block discarded – undo
86 86
      * @param    mixed $event
87 87
      * @return    bool
88 88
      */
89
-    protected function setEvent( $event = null )
89
+    protected function setEvent($event = null)
90 90
     {
91
-        if ( $event === null ) {
91
+        if ($event === null) {
92 92
             global $post;
93 93
             $event = $post;
94 94
         }
95
-        if ( $event instanceof \EE_Event ) {
95
+        if ($event instanceof \EE_Event) {
96 96
             $this->event = $event;
97
-        } else if ( $event instanceof \WP_Post ) {
98
-            if ( isset( $event->EE_Event ) && $event->EE_Event instanceof \EE_Event ) {
97
+        } else if ($event instanceof \WP_Post) {
98
+            if (isset($event->EE_Event) && $event->EE_Event instanceof \EE_Event) {
99 99
                 $this->event = $event->EE_Event;
100
-            } else if ( $event->post_type === 'espresso_events' ) {
101
-                $event->EE_Event = \EEM_Event::instance()->instantiate_class_from_post_object( $event );
100
+            } else if ($event->post_type === 'espresso_events') {
101
+                $event->EE_Event = \EEM_Event::instance()->instantiate_class_from_post_object($event);
102 102
                 $this->event = $event->EE_Event;
103 103
             }
104 104
         } else {
105
-            $user_msg = __( 'No Event object or an invalid Event object was supplied.', 'event_espresso' );
106
-            $dev_msg = $user_msg . __(
105
+            $user_msg = __('No Event object or an invalid Event object was supplied.', 'event_espresso');
106
+            $dev_msg = $user_msg.__(
107 107
                     'In order to generate a ticket selector, please ensure you are passing either an EE_Event object or a WP_Post object of the post type "espresso_event" to the EE_Ticket_Selector class constructor.',
108 108
                     'event_espresso'
109 109
                 );
110
-            \EE_Error::add_error( $user_msg . '||' . $dev_msg, __FILE__, __FUNCTION__, __LINE__ );
110
+            \EE_Error::add_error($user_msg.'||'.$dev_msg, __FILE__, __FUNCTION__, __LINE__);
111 111
             return false;
112 112
         }
113 113
         return true;
@@ -148,17 +148,17 @@  discard block
 block discarded – undo
148 148
      * @return string
149 149
      * @throws \EE_Error
150 150
      */
151
-    public function display( $event = null, $view_details = false )
151
+    public function display($event = null, $view_details = false)
152 152
     {
153 153
         // reset filter for displaying submit button
154
-        remove_filter( 'FHEE__EE_Ticket_Selector__display_ticket_selector_submit', '__return_true' );
154
+        remove_filter('FHEE__EE_Ticket_Selector__display_ticket_selector_submit', '__return_true');
155 155
         // poke and prod incoming event till it tells us what it is
156
-        if ( ! $this->setEvent( $event ) ) {
156
+        if ( ! $this->setEvent($event)) {
157 157
             return false;
158 158
         }
159 159
         // begin gathering template arguments by getting event status
160
-        $template_args = array( 'event_status' => $this->event->get_active_status() );
161
-        if ( $this->activeEventAndShowTicketSelector($event, $template_args['event_status'], $view_details) ) {
160
+        $template_args = array('event_status' => $this->event->get_active_status());
161
+        if ($this->activeEventAndShowTicketSelector($event, $template_args['event_status'], $view_details)) {
162 162
             return ! is_single() ? $this->displayViewDetailsButton() : '';
163 163
         }
164 164
         // filter the maximum qty that can appear in the Ticket Selector qty dropdowns
@@ -168,7 +168,7 @@  discard block
 block discarded – undo
168 168
         }
169 169
         // is the event expired ?
170 170
         $template_args['event_is_expired'] = $this->event->is_expired();
171
-        if ( $template_args[ 'event_is_expired' ] ) {
171
+        if ($template_args['event_is_expired']) {
172 172
             return $this->expiredEventMessage();
173 173
         }
174 174
         // get all tickets for this event ordered by the datetime
@@ -176,7 +176,7 @@  discard block
 block discarded – undo
176 176
         if (count($tickets) < 1) {
177 177
             return $this->noTicketAvailableMessage();
178 178
         }
179
-        if (\EED_Events_Archive::is_iframe()){
179
+        if (\EED_Events_Archive::is_iframe()) {
180 180
             $this->setIframe();
181 181
         }
182 182
         // redirecting to another site for registration ??
@@ -184,10 +184,10 @@  discard block
 block discarded – undo
184 184
         // if redirecting to another site for registration, then we don't load the TS
185 185
         $ticket_selector = $external_url
186 186
             ? $this->externalEventRegistration()
187
-            : $this->loadTicketSelector($tickets,$template_args);
187
+            : $this->loadTicketSelector($tickets, $template_args);
188 188
         // now set up the form (but not for the admin)
189 189
         $ticket_selector = ! is_admin()
190
-            ? $this->formOpen($this->event->ID(), $external_url) . $ticket_selector
190
+            ? $this->formOpen($this->event->ID(), $external_url).$ticket_selector
191 191
             : $ticket_selector;
192 192
         // submit button and form close tag
193 193
         $ticket_selector .= ! is_admin() ? $this->displaySubmitButton($external_url) : '';
@@ -237,10 +237,10 @@  discard block
 block discarded – undo
237 237
      */
238 238
     protected function expiredEventMessage()
239 239
     {
240
-        return '<div class="ee-event-expired-notice"><span class="important-notice">' . esc_html__(
240
+        return '<div class="ee-event-expired-notice"><span class="important-notice">'.esc_html__(
241 241
             'We\'re sorry, but all tickets sales have ended because the event is expired.',
242 242
             'event_espresso'
243
-        ) . '</span></div>';
243
+        ).'</span></div>';
244 244
     }
245 245
 
246 246
 
@@ -254,7 +254,7 @@  discard block
 block discarded – undo
254 254
      */
255 255
     protected function noTicketAvailableMessage()
256 256
     {
257
-        $no_ticket_available_msg = esc_html__( 'We\'re sorry, but all ticket sales have ended.', 'event_espresso' );
257
+        $no_ticket_available_msg = esc_html__('We\'re sorry, but all ticket sales have ended.', 'event_espresso');
258 258
         if (current_user_can('edit_post', $this->event->ID())) {
259 259
             $no_ticket_available_msg .= sprintf(
260 260
                 esc_html__(
@@ -269,7 +269,7 @@  discard block
 block discarded – undo
269 269
         }
270 270
         return '
271 271
             <div class="ee-event-expired-notice">
272
-                <span class="important-notice">' . $no_ticket_available_msg . '</span>
272
+                <span class="important-notice">' . $no_ticket_available_msg.'</span>
273 273
             </div>';
274 274
     }
275 275
 
@@ -300,7 +300,7 @@  discard block
 block discarded – undo
300 300
                 '</a></span></div>'
301 301
             );
302 302
         }
303
-        return '<p><span class="important-notice">' . $sales_closed_msg . '</span></p>';
303
+        return '<p><span class="important-notice">'.$sales_closed_msg.'</span></p>';
304 304
     }
305 305
 
306 306
 
@@ -362,12 +362,12 @@  discard block
 block discarded – undo
362 362
          */
363 363
         $template_args['anchor_id'] = apply_filters(
364 364
             'FHEE__EE_Ticket_Selector__redirect_anchor_id',
365
-            '#tkt-slctr-tbl-' . $this->event->ID(),
365
+            '#tkt-slctr-tbl-'.$this->event->ID(),
366 366
             $this->event->ID()
367 367
         );
368 368
         $template_args['tickets'] = $tickets;
369 369
         $template_args['ticket_count'] = count($tickets);
370
-        $ticket_selector = $this->simpleTicketSelector( $tickets, $template_args);
370
+        $ticket_selector = $this->simpleTicketSelector($tickets, $template_args);
371 371
         return $ticket_selector instanceof TicketSelectorSimple
372 372
             ? $ticket_selector
373 373
             : new TicketSelectorStandard(
@@ -448,11 +448,11 @@  discard block
 block discarded – undo
448 448
      * @param        string $external_url
449 449
      * @return        string
450 450
      */
451
-    public function formOpen( $ID = 0, $external_url = '' )
451
+    public function formOpen($ID = 0, $external_url = '')
452 452
     {
453 453
         // if redirecting, we don't need any anything else
454
-        if ( $external_url ) {
455
-            $html = '<form method="GET" action="' . \EEH_URL::refactor_url($external_url) . '"';
454
+        if ($external_url) {
455
+            $html = '<form method="GET" action="'.\EEH_URL::refactor_url($external_url).'"';
456 456
             // open link in new window ?
457 457
             $html .= apply_filters(
458 458
                 'FHEE__EventEspresso_modules_ticket_selector_DisplayTicketSelector__formOpen__external_url_target_blank',
@@ -461,21 +461,21 @@  discard block
 block discarded – undo
461 461
                 ? ' target="_blank"'
462 462
                 : '';
463 463
             $html .= '>';
464
-            $query_args = \EEH_URL::get_query_string( $external_url );
465
-            foreach ( (array)$query_args as $query_arg => $value ) {
466
-                $html .= '<input type="hidden" name="' . $query_arg . '" value="' . $value . '">';
464
+            $query_args = \EEH_URL::get_query_string($external_url);
465
+            foreach ((array) $query_args as $query_arg => $value) {
466
+                $html .= '<input type="hidden" name="'.$query_arg.'" value="'.$value.'">';
467 467
             }
468 468
             return $html;
469 469
         }
470 470
         // if there is no submit button, then don't start building a form
471 471
         // because the "View Details" button will build its own form
472
-        if ( ! apply_filters( 'FHEE__EE_Ticket_Selector__display_ticket_selector_submit', false ) ) {
472
+        if ( ! apply_filters('FHEE__EE_Ticket_Selector__display_ticket_selector_submit', false)) {
473 473
             return '';
474 474
         }
475
-        $checkout_url = \EEH_Event_View::event_link_url( $ID );
476
-        if ( ! $checkout_url ) {
475
+        $checkout_url = \EEH_Event_View::event_link_url($ID);
476
+        if ( ! $checkout_url) {
477 477
             \EE_Error::add_error(
478
-                esc_html__( 'The URL for the Event Details page could not be retrieved.', 'event_espresso' ),
478
+                esc_html__('The URL for the Event Details page could not be retrieved.', 'event_espresso'),
479 479
                 __FILE__,
480 480
                 __FUNCTION__,
481 481
                 __LINE__
@@ -484,10 +484,10 @@  discard block
 block discarded – undo
484 484
         // set no cache headers and constants
485 485
         \EE_System::do_not_cache();
486 486
         $extra_params = $this->iframe ? ' target="_blank"' : '';
487
-        $html = '<form method="POST" action="' . $checkout_url . '"' . $extra_params . '>';
488
-        $html .= wp_nonce_field( 'process_ticket_selections', 'process_ticket_selections_nonce_' . $ID, true, false );
487
+        $html = '<form method="POST" action="'.$checkout_url.'"'.$extra_params.'>';
488
+        $html .= wp_nonce_field('process_ticket_selections', 'process_ticket_selections_nonce_'.$ID, true, false);
489 489
         $html .= '<input type="hidden" name="ee" value="process_ticket_selections">';
490
-        $html = apply_filters( 'FHEE__EE_Ticket_Selector__ticket_selector_form_open__html', $html, $this->event );
490
+        $html = apply_filters('FHEE__EE_Ticket_Selector__ticket_selector_form_open__html', $html, $this->event);
491 491
         return $html;
492 492
     }
493 493
 
@@ -510,7 +510,7 @@  discard block
 block discarded – undo
510 510
                 $html .= empty($external_url)
511 511
                     ? $this->ticketSelectorEndDiv()
512 512
                     : $this->clearTicketSelector();
513
-                $html .= '<br/>' . $this->formClose();
513
+                $html .= '<br/>'.$this->formClose();
514 514
             } else if ($this->getMaxAttendees() === 1) {
515 515
                 // its a "Dude Where's my Ticket Selector?" (DWMTS) type event (ie: $_max_atndz === 1)
516 516
                 if ($this->event->is_sold_out()) {
@@ -588,12 +588,12 @@  discard block
 block discarded – undo
588 588
         );
589 589
         $external_url = $this->event->external_url();
590 590
         $html = \EEH_HTML::div(
591
-            '', 'ticket-selector-submit-' . $this->event->ID() . '-btn-wrap', 'ticket-selector-submit-btn-wrap'
591
+            '', 'ticket-selector-submit-'.$this->event->ID().'-btn-wrap', 'ticket-selector-submit-btn-wrap'
592 592
         );
593
-        $html .= '<input id="ticket-selector-submit-' . $this->event->ID() . '-btn"';
593
+        $html .= '<input id="ticket-selector-submit-'.$this->event->ID().'-btn"';
594 594
         $html .= ' class="ticket-selector-submit-btn ';
595 595
         $html .= empty($external_url) ? 'ticket-selector-submit-ajax"' : '"';
596
-        $html .= ' type="submit" value="' . $btn_text . '" />';
596
+        $html .= ' type="submit" value="'.$btn_text.'" />';
597 597
         $html .= \EEH_HTML::divx();
598 598
         $html .= apply_filters(
599 599
             'FHEE__EE_Ticket_Selector__after_ticket_selector_submit',
@@ -614,11 +614,11 @@  discard block
 block discarded – undo
614 614
      * @return string
615 615
      * @throws \EE_Error
616 616
      */
617
-    public function displayViewDetailsButton( $DWMTS = false )
617
+    public function displayViewDetailsButton($DWMTS = false)
618 618
     {
619
-        if ( ! $this->event->get_permalink() ) {
619
+        if ( ! $this->event->get_permalink()) {
620 620
             \EE_Error::add_error(
621
-                esc_html__( 'The URL for the Event Details page could not be retrieved.', 'event_espresso' ),
621
+                esc_html__('The URL for the Event Details page could not be retrieved.', 'event_espresso'),
622 622
                 __FILE__, __FUNCTION__, __LINE__
623 623
             );
624 624
         }
@@ -636,7 +636,7 @@  discard block
 block discarded – undo
636 636
         )
637 637
             ? ' target="_blank"'
638 638
             : '';
639
-        $view_details_btn .='>';
639
+        $view_details_btn .= '>';
640 640
         $btn_text = apply_filters(
641 641
             'FHEE__EE_Ticket_Selector__display_view_details_btn__btn_text',
642 642
             esc_html__('View Details', 'event_espresso'),
@@ -647,7 +647,7 @@  discard block
 block discarded – undo
647 647
                              . '-btn" class="ticket-selector-submit-btn view-details-btn" type="submit" value="'
648 648
                              . $btn_text
649 649
                              . '" />';
650
-        $view_details_btn .= apply_filters( 'FHEE__EE_Ticket_Selector__after_view_details_btn', '', $this->event );
650
+        $view_details_btn .= apply_filters('FHEE__EE_Ticket_Selector__after_view_details_btn', '', $this->event);
651 651
         if ($DWMTS) {
652 652
             $view_details_btn .= $this->formClose();
653 653
             $view_details_btn .= $this->ticketSelectorEndDiv();
Please login to merge, or discard this patch.
modules/ticket_selector/templates/standard_ticket_selector.template.php 1 patch
Spacing   +14 added lines, -14 removed lines patch added patch discarded remove patch
@@ -21,7 +21,7 @@  discard block
 block discarded – undo
21 21
 ?>
22 22
 <div id="tkt-slctr-tbl-wrap-dv-<?php echo $EVT_ID; ?>" class="tkt-slctr-tbl-wrap-dv">
23 23
 
24
-	<?php do_action( 'AHEE__ticket_selector_chart__template__before_ticket_selector', $event ); ?>
24
+	<?php do_action('AHEE__ticket_selector_chart__template__before_ticket_selector', $event); ?>
25 25
 	<?php echo $datetime_selector; ?>
26 26
 
27 27
 	<table id="tkt-slctr-tbl-<?php echo $EVT_ID; ?>" class="tkt-slctr-tbl">
@@ -36,7 +36,7 @@  discard block
 block discarded – undo
36 36
                     );
37 37
                     ?>
38 38
 				</th>
39
-				<?php if ( apply_filters( 'FHEE__ticket_selector_chart_template__display_ticket_price_details', TRUE ) ) { ?>
39
+				<?php if (apply_filters('FHEE__ticket_selector_chart_template__display_ticket_price_details', TRUE)) { ?>
40 40
 				<th scope="col" class="ee-ticket-selector-ticket-price-th cntr">
41 41
 					<?php
42 42
 						/**
@@ -49,7 +49,7 @@  discard block
 block discarded – undo
49 49
 						 */
50 50
 						echo apply_filters(
51 51
                             'FHEE__ticket_selector_chart_template__table_header_price',
52
-                            esc_html__( 'Price', 'event_espresso' ),
52
+                            esc_html__('Price', 'event_espresso'),
53 53
                             $EVT_ID
54 54
                         );
55 55
 					?>
@@ -67,7 +67,7 @@  discard block
 block discarded – undo
67 67
 						*/
68 68
 						echo apply_filters(
69 69
                             'FHEE__ticket_selector_chart_template__table_header_qty',
70
-                            esc_html__( 'Qty', 'event_espresso' ),
70
+                            esc_html__('Qty', 'event_espresso'),
71 71
                             $EVT_ID
72 72
                         );
73 73
 					?>
@@ -75,17 +75,17 @@  discard block
 block discarded – undo
75 75
 			</tr>
76 76
 		</thead>
77 77
 		<tbody>
78
-			<?php echo $ticket_row_html;?>
78
+			<?php echo $ticket_row_html; ?>
79 79
 		</tbody>
80 80
 	</table>
81 81
 	<?php
82
-	if ( $taxable_tickets && apply_filters( 'FHEE__ticket_selector_chart_template__display_ticket_price_details', true ) ) {
83
-		if ( $prices_displayed_including_taxes ) {
84
-			$ticket_price_includes_taxes = esc_html__( '* price includes taxes', 'event_espresso' );
82
+	if ($taxable_tickets && apply_filters('FHEE__ticket_selector_chart_template__display_ticket_price_details', true)) {
83
+		if ($prices_displayed_including_taxes) {
84
+			$ticket_price_includes_taxes = esc_html__('* price includes taxes', 'event_espresso');
85 85
 		} else {
86
-			$ticket_price_includes_taxes = esc_html__( '* price does not include taxes', 'event_espresso' );
86
+			$ticket_price_includes_taxes = esc_html__('* price does not include taxes', 'event_espresso');
87 87
 		}
88
-		echo '<p class="small-text lt-grey-text" style="text-align:right; margin: -1em 0 1em;">' . $ticket_price_includes_taxes . '</p>';
88
+		echo '<p class="small-text lt-grey-text" style="text-align:right; margin: -1em 0 1em;">'.$ticket_price_includes_taxes.'</p>';
89 89
 	}
90 90
 	?>
91 91
 
@@ -93,13 +93,13 @@  discard block
 block discarded – undo
93 93
 
94 94
 
95 95
 <?php
96
-if ( $max_atndz > 0 ) {
96
+if ($max_atndz > 0) {
97 97
 	echo apply_filters(
98 98
 		'FHEE__ticket_selector_chart_template__maximum_tickets_purchased_footnote',
99 99
         esc_html('')
100 100
 	);
101 101
 }
102
-if ( ! apply_filters( 'FHEE__EE_Ticket_Selector__display_ticket_selector_submit', false ) ) {
103
-	add_filter( 'FHEE__EE_Ticket_Selector__no_ticket_selector_submit', '__return_true' );
102
+if ( ! apply_filters('FHEE__EE_Ticket_Selector__display_ticket_selector_submit', false)) {
103
+	add_filter('FHEE__EE_Ticket_Selector__no_ticket_selector_submit', '__return_true');
104 104
 }
105
-do_action( 'AHEE__ticket_selector_chart__template__after_ticket_selector', $EVT_ID, $event );
106 105
\ No newline at end of file
106
+do_action('AHEE__ticket_selector_chart__template__after_ticket_selector', $EVT_ID, $event);
107 107
\ No newline at end of file
Please login to merge, or discard this patch.
modules/ticket_selector/TicketSelector.php 2 patches
Indentation   +109 added lines, -109 removed lines patch added patch discarded remove patch
@@ -16,115 +16,115 @@
 block discarded – undo
16 16
 abstract class TicketSelector
17 17
 {
18 18
 
19
-    /**
20
-     * @var \EE_Event $event
21
-     */
22
-    protected $event;
23
-
24
-    /**
25
-     * @var \EE_Ticket[] $tickets
26
-     */
27
-    protected $tickets;
28
-
29
-    /**
30
-     * @var int max_attendees
31
-     */
32
-    protected $max_attendees;
33
-
34
-    /**
35
-     * @var array $template_args
36
-     */
37
-    protected $template_args;
38
-
39
-
40
-
41
-    /**
42
-     * TicketSelectorSimple constructor.
43
-     *
44
-     * @param \EE_Event    $event
45
-     * @param \EE_Ticket[] $tickets
46
-     * @param int          $max_attendees
47
-     * @param array        $template_args
48
-     * @throws \EE_Error
49
-     */
50
-    public function __construct(\EE_Event $event, array $tickets, $max_attendees, array $template_args)
51
-    {
52
-        $this->event         = $event;
53
-        $this->tickets       = $tickets;
54
-        $this->max_attendees = $max_attendees;
55
-        $this->template_args = $template_args;
56
-        $this->template_args['hidden_inputs'] = $this->getHiddenInputs();
57
-        $this->addTemplateArgs();
58
-    }
59
-
60
-
61
-
62
-    /**
63
-     * sets any and all template args that are required for this Ticket Selector
64
-     *
65
-     * @return void
66
-     */
67
-    abstract protected function addTemplateArgs();
68
-
69
-
70
-
71
-    /**
72
-     * loadTicketSelectorTemplate
73
-     *
74
-     * @return string
75
-     */
76
-    protected function loadTicketSelectorTemplate()
77
-    {
78
-        try {
79
-            return \EEH_Template::locate_template(
80
-                apply_filters(
81
-                    'FHEE__EE_Ticket_Selector__display_ticket_selector__template_path',
82
-                    $this->template_args['template_path'],
83
-                    $this->event
84
-                ),
85
-                $this->template_args
86
-            );
87
-        } catch (\Exception $e) {
88
-            \EE_Error::add_error($e->getMessage(), __FILE__, __FUNCTION__, __LINE__);
89
-        }
90
-        return '';
91
-    }
92
-
93
-
94
-
95
-    /**
96
-     * The __toString method allows a class to decide how it will react when it is converted to a string.
97
-     *
98
-     * @return string
99
-     * @link http://php.net/manual/en/language.oop5.magic.php#language.oop5.magic.tostring
100
-     */
101
-    public function __toString()
102
-    {
103
-        return $this->loadTicketSelectorTemplate();
104
-    }
105
-
106
-
107
-
108
-
109
-    /**
110
-     * getHiddenInputs
111
-     *
112
-     * @return string
113
-     * @throws \EE_Error
114
-     */
115
-    public function getHiddenInputs()
116
-    {
117
-        // $rows = count($this->tickets);
118
-        $html = '<input type="hidden" name="noheader" value="true"/>';
119
-        $html .= '<input type="hidden" name="tkt-slctr-return-url-' . $this->event->ID() . '"';
120
-        $html .= ' value="' . \EEH_URL::current_url() . $this->template_args['anchor_id'] . '"/>';
121
-        $html .= '<input type="hidden" name="tkt-slctr-rows-' . $this->event->ID();
122
-        $html .= '" value="' . count($this->tickets) . '"/>';
123
-        $html .= '<input type="hidden" name="tkt-slctr-max-atndz-' . $this->event->ID();
124
-        $html .= '" value="' . $this->template_args['max_atndz'] . '"/>';
125
-        $html .= '<input type="hidden" name="tkt-slctr-event-id" value="' . $this->event->ID() . '"/>';
126
-        return $html;
127
-    }
19
+	/**
20
+	 * @var \EE_Event $event
21
+	 */
22
+	protected $event;
23
+
24
+	/**
25
+	 * @var \EE_Ticket[] $tickets
26
+	 */
27
+	protected $tickets;
28
+
29
+	/**
30
+	 * @var int max_attendees
31
+	 */
32
+	protected $max_attendees;
33
+
34
+	/**
35
+	 * @var array $template_args
36
+	 */
37
+	protected $template_args;
38
+
39
+
40
+
41
+	/**
42
+	 * TicketSelectorSimple constructor.
43
+	 *
44
+	 * @param \EE_Event    $event
45
+	 * @param \EE_Ticket[] $tickets
46
+	 * @param int          $max_attendees
47
+	 * @param array        $template_args
48
+	 * @throws \EE_Error
49
+	 */
50
+	public function __construct(\EE_Event $event, array $tickets, $max_attendees, array $template_args)
51
+	{
52
+		$this->event         = $event;
53
+		$this->tickets       = $tickets;
54
+		$this->max_attendees = $max_attendees;
55
+		$this->template_args = $template_args;
56
+		$this->template_args['hidden_inputs'] = $this->getHiddenInputs();
57
+		$this->addTemplateArgs();
58
+	}
59
+
60
+
61
+
62
+	/**
63
+	 * sets any and all template args that are required for this Ticket Selector
64
+	 *
65
+	 * @return void
66
+	 */
67
+	abstract protected function addTemplateArgs();
68
+
69
+
70
+
71
+	/**
72
+	 * loadTicketSelectorTemplate
73
+	 *
74
+	 * @return string
75
+	 */
76
+	protected function loadTicketSelectorTemplate()
77
+	{
78
+		try {
79
+			return \EEH_Template::locate_template(
80
+				apply_filters(
81
+					'FHEE__EE_Ticket_Selector__display_ticket_selector__template_path',
82
+					$this->template_args['template_path'],
83
+					$this->event
84
+				),
85
+				$this->template_args
86
+			);
87
+		} catch (\Exception $e) {
88
+			\EE_Error::add_error($e->getMessage(), __FILE__, __FUNCTION__, __LINE__);
89
+		}
90
+		return '';
91
+	}
92
+
93
+
94
+
95
+	/**
96
+	 * The __toString method allows a class to decide how it will react when it is converted to a string.
97
+	 *
98
+	 * @return string
99
+	 * @link http://php.net/manual/en/language.oop5.magic.php#language.oop5.magic.tostring
100
+	 */
101
+	public function __toString()
102
+	{
103
+		return $this->loadTicketSelectorTemplate();
104
+	}
105
+
106
+
107
+
108
+
109
+	/**
110
+	 * getHiddenInputs
111
+	 *
112
+	 * @return string
113
+	 * @throws \EE_Error
114
+	 */
115
+	public function getHiddenInputs()
116
+	{
117
+		// $rows = count($this->tickets);
118
+		$html = '<input type="hidden" name="noheader" value="true"/>';
119
+		$html .= '<input type="hidden" name="tkt-slctr-return-url-' . $this->event->ID() . '"';
120
+		$html .= ' value="' . \EEH_URL::current_url() . $this->template_args['anchor_id'] . '"/>';
121
+		$html .= '<input type="hidden" name="tkt-slctr-rows-' . $this->event->ID();
122
+		$html .= '" value="' . count($this->tickets) . '"/>';
123
+		$html .= '<input type="hidden" name="tkt-slctr-max-atndz-' . $this->event->ID();
124
+		$html .= '" value="' . $this->template_args['max_atndz'] . '"/>';
125
+		$html .= '<input type="hidden" name="tkt-slctr-event-id" value="' . $this->event->ID() . '"/>';
126
+		return $html;
127
+	}
128 128
 
129 129
 }
130 130
 // End of file TicketSelector.php
Please login to merge, or discard this patch.
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -116,13 +116,13 @@
 block discarded – undo
116 116
     {
117 117
         // $rows = count($this->tickets);
118 118
         $html = '<input type="hidden" name="noheader" value="true"/>';
119
-        $html .= '<input type="hidden" name="tkt-slctr-return-url-' . $this->event->ID() . '"';
120
-        $html .= ' value="' . \EEH_URL::current_url() . $this->template_args['anchor_id'] . '"/>';
121
-        $html .= '<input type="hidden" name="tkt-slctr-rows-' . $this->event->ID();
122
-        $html .= '" value="' . count($this->tickets) . '"/>';
123
-        $html .= '<input type="hidden" name="tkt-slctr-max-atndz-' . $this->event->ID();
124
-        $html .= '" value="' . $this->template_args['max_atndz'] . '"/>';
125
-        $html .= '<input type="hidden" name="tkt-slctr-event-id" value="' . $this->event->ID() . '"/>';
119
+        $html .= '<input type="hidden" name="tkt-slctr-return-url-'.$this->event->ID().'"';
120
+        $html .= ' value="'.\EEH_URL::current_url().$this->template_args['anchor_id'].'"/>';
121
+        $html .= '<input type="hidden" name="tkt-slctr-rows-'.$this->event->ID();
122
+        $html .= '" value="'.count($this->tickets).'"/>';
123
+        $html .= '<input type="hidden" name="tkt-slctr-max-atndz-'.$this->event->ID();
124
+        $html .= '" value="'.$this->template_args['max_atndz'].'"/>';
125
+        $html .= '<input type="hidden" name="tkt-slctr-event-id" value="'.$this->event->ID().'"/>';
126 126
         return $html;
127 127
     }
128 128
 
Please login to merge, or discard this patch.
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.