Completed
Branch dependabot/composer/tijsverkoy... (491ea6)
by
unknown
32:00 queued 25:42
created
core/domain/services/commands/attendee/CreateAttendeeCommandHandler.php 2 patches
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -51,7 +51,7 @@
 block discarded – undo
51 51
     public function handle(CommandInterface $command)
52 52
     {
53 53
         /** @var CreateAttendeeCommand $command */
54
-        if (! $command instanceof CreateAttendeeCommand) {
54
+        if ( ! $command instanceof CreateAttendeeCommand) {
55 55
             throw new InvalidEntityException(get_class($command), 'CreateAttendeeCommand');
56 56
         }
57 57
         // have we met before?
Please login to merge, or discard this patch.
Indentation   +128 added lines, -128 removed lines patch added patch discarded remove patch
@@ -20,142 +20,142 @@
 block discarded – undo
20 20
  */
21 21
 class CreateAttendeeCommandHandler extends CommandHandler
22 22
 {
23
-    /**
24
-     * @var EEM_Attendee $attendee_model
25
-     */
26
-    protected $attendee_model;
23
+	/**
24
+	 * @var EEM_Attendee $attendee_model
25
+	 */
26
+	protected $attendee_model;
27 27
 
28 28
 
29
-    /**
30
-     * @param EEM_Attendee $attendee_model
31
-     */
32
-    public function __construct(EEM_Attendee $attendee_model)
33
-    {
34
-        defined('EVENT_ESPRESSO_VERSION') || exit;
35
-        $this->attendee_model = $attendee_model;
36
-    }
29
+	/**
30
+	 * @param EEM_Attendee $attendee_model
31
+	 */
32
+	public function __construct(EEM_Attendee $attendee_model)
33
+	{
34
+		defined('EVENT_ESPRESSO_VERSION') || exit;
35
+		$this->attendee_model = $attendee_model;
36
+	}
37 37
 
38 38
 
39
-    /**
40
-     * @param CommandInterface|CreateAttendeeCommand $command
41
-     * @return EE_Attendee
42
-     * @throws EE_Error
43
-     * @throws InvalidEntityException
44
-     */
45
-    public function handle(CommandInterface $command)
46
-    {
47
-        /** @var CreateAttendeeCommand $command */
48
-        if (! $command instanceof CreateAttendeeCommand) {
49
-            throw new InvalidEntityException(get_class($command), 'CreateAttendeeCommand');
50
-        }
51
-        // have we met before?
52
-        $attendee = $this->findExistingAttendee(
53
-            $command->registration(),
54
-            $command->attendeeDetails()
55
-        );
56
-        // did we find an already existing record for this attendee ?
57
-        if ($attendee instanceof EE_Attendee) {
58
-            $attendee = $this->updateExistingAttendeeData(
59
-                $attendee,
60
-                $command->attendeeDetails()
61
-            );
62
-        } else {
63
-            $attendee = $this->createNewAttendee(
64
-                $command->registration(),
65
-                $command->attendeeDetails()
66
-            );
67
-        }
68
-        return $attendee;
69
-    }
39
+	/**
40
+	 * @param CommandInterface|CreateAttendeeCommand $command
41
+	 * @return EE_Attendee
42
+	 * @throws EE_Error
43
+	 * @throws InvalidEntityException
44
+	 */
45
+	public function handle(CommandInterface $command)
46
+	{
47
+		/** @var CreateAttendeeCommand $command */
48
+		if (! $command instanceof CreateAttendeeCommand) {
49
+			throw new InvalidEntityException(get_class($command), 'CreateAttendeeCommand');
50
+		}
51
+		// have we met before?
52
+		$attendee = $this->findExistingAttendee(
53
+			$command->registration(),
54
+			$command->attendeeDetails()
55
+		);
56
+		// did we find an already existing record for this attendee ?
57
+		if ($attendee instanceof EE_Attendee) {
58
+			$attendee = $this->updateExistingAttendeeData(
59
+				$attendee,
60
+				$command->attendeeDetails()
61
+			);
62
+		} else {
63
+			$attendee = $this->createNewAttendee(
64
+				$command->registration(),
65
+				$command->attendeeDetails()
66
+			);
67
+		}
68
+		return $attendee;
69
+	}
70 70
 
71 71
 
72
-    /**
73
-     * find_existing_attendee
74
-     *
75
-     * @param EE_Registration $registration
76
-     * @param array           $attendee_data
77
-     * @return EE_Attendee
78
-     * @throws EE_Error
79
-     */
80
-    private function findExistingAttendee(EE_Registration $registration, array $attendee_data)
81
-    {
82
-        $existing_attendee = null;
83
-        // does this attendee already exist in the db ?
84
-        // we're searching using a combination of first name, last name, AND email address
85
-        $ATT_fname = ! empty($attendee_data['ATT_fname'])
86
-            ? $attendee_data['ATT_fname']
87
-            : '';
88
-        $ATT_lname = ! empty($attendee_data['ATT_lname'])
89
-            ? $attendee_data['ATT_lname']
90
-            : '';
91
-        $ATT_email = ! empty($attendee_data['ATT_email'])
92
-            ? $attendee_data['ATT_email']
93
-            : '';
94
-        // but only if those have values
95
-        if ($ATT_fname && $ATT_lname && $ATT_email) {
96
-            $existing_attendee = $this->attendee_model->find_existing_attendee(
97
-                [
98
-                    'ATT_fname' => $ATT_fname,
99
-                    'ATT_lname' => $ATT_lname,
100
-                    'ATT_email' => $ATT_email,
101
-                ]
102
-            );
103
-        }
104
-        return apply_filters(
105
-            'FHEE_EventEspresso_core_domain_services_commands_attendee_CreateAttendeeCommandHandler__findExistingAttendee__existing_attendee',
106
-            $existing_attendee,
107
-            $registration,
108
-            $attendee_data
109
-        );
110
-    }
72
+	/**
73
+	 * find_existing_attendee
74
+	 *
75
+	 * @param EE_Registration $registration
76
+	 * @param array           $attendee_data
77
+	 * @return EE_Attendee
78
+	 * @throws EE_Error
79
+	 */
80
+	private function findExistingAttendee(EE_Registration $registration, array $attendee_data)
81
+	{
82
+		$existing_attendee = null;
83
+		// does this attendee already exist in the db ?
84
+		// we're searching using a combination of first name, last name, AND email address
85
+		$ATT_fname = ! empty($attendee_data['ATT_fname'])
86
+			? $attendee_data['ATT_fname']
87
+			: '';
88
+		$ATT_lname = ! empty($attendee_data['ATT_lname'])
89
+			? $attendee_data['ATT_lname']
90
+			: '';
91
+		$ATT_email = ! empty($attendee_data['ATT_email'])
92
+			? $attendee_data['ATT_email']
93
+			: '';
94
+		// but only if those have values
95
+		if ($ATT_fname && $ATT_lname && $ATT_email) {
96
+			$existing_attendee = $this->attendee_model->find_existing_attendee(
97
+				[
98
+					'ATT_fname' => $ATT_fname,
99
+					'ATT_lname' => $ATT_lname,
100
+					'ATT_email' => $ATT_email,
101
+				]
102
+			);
103
+		}
104
+		return apply_filters(
105
+			'FHEE_EventEspresso_core_domain_services_commands_attendee_CreateAttendeeCommandHandler__findExistingAttendee__existing_attendee',
106
+			$existing_attendee,
107
+			$registration,
108
+			$attendee_data
109
+		);
110
+	}
111 111
 
112 112
 
113
-    /**
114
-     * _update_existing_attendee_data
115
-     * in case it has changed since last time they registered for an event
116
-     *
117
-     * @param EE_Attendee $existing_attendee
118
-     * @param array       $attendee_data
119
-     * @return EE_Attendee
120
-     * @throws EE_Error
121
-     */
122
-    private function updateExistingAttendeeData(EE_Attendee $existing_attendee, array $attendee_data)
123
-    {
124
-        // first remove fname, lname, and email from attendee data
125
-        // because these properties will be exactly the same as the returned attendee object,
126
-        // since they were used in the query to get the attendee object in the first place
127
-        $dont_set = ['ATT_fname', 'ATT_lname', 'ATT_email'];
128
-        // now loop thru what's left and add to attendee CPT
129
-        foreach ($attendee_data as $property_name => $property_value) {
130
-            if (
131
-                ! in_array($property_name, $dont_set, true)
132
-                && $this->attendee_model->has_field($property_name)
133
-            ) {
134
-                $existing_attendee->set($property_name, $property_value);
135
-            }
136
-        }
137
-        // better save that now
138
-        $existing_attendee->save();
139
-        return $existing_attendee;
140
-    }
113
+	/**
114
+	 * _update_existing_attendee_data
115
+	 * in case it has changed since last time they registered for an event
116
+	 *
117
+	 * @param EE_Attendee $existing_attendee
118
+	 * @param array       $attendee_data
119
+	 * @return EE_Attendee
120
+	 * @throws EE_Error
121
+	 */
122
+	private function updateExistingAttendeeData(EE_Attendee $existing_attendee, array $attendee_data)
123
+	{
124
+		// first remove fname, lname, and email from attendee data
125
+		// because these properties will be exactly the same as the returned attendee object,
126
+		// since they were used in the query to get the attendee object in the first place
127
+		$dont_set = ['ATT_fname', 'ATT_lname', 'ATT_email'];
128
+		// now loop thru what's left and add to attendee CPT
129
+		foreach ($attendee_data as $property_name => $property_value) {
130
+			if (
131
+				! in_array($property_name, $dont_set, true)
132
+				&& $this->attendee_model->has_field($property_name)
133
+			) {
134
+				$existing_attendee->set($property_name, $property_value);
135
+			}
136
+		}
137
+		// better save that now
138
+		$existing_attendee->save();
139
+		return $existing_attendee;
140
+	}
141 141
 
142 142
 
143
-    /**
144
-     * create_new_attendee
145
-     *
146
-     * @param EE_Registration $registration
147
-     * @param array           $attendee_data
148
-     * @return EE_Attendee
149
-     * @throws EE_Error
150
-     * @throws EntityNotFoundException
151
-     */
152
-    private function createNewAttendee(EE_Registration $registration, array $attendee_data)
153
-    {
154
-        // create new attendee object
155
-        $new_attendee = EE_Attendee::new_instance($attendee_data);
156
-        // set author to event creator
157
-        $new_attendee->set('ATT_author', $registration->event()->wp_user());
158
-        $new_attendee->save();
159
-        return $new_attendee;
160
-    }
143
+	/**
144
+	 * create_new_attendee
145
+	 *
146
+	 * @param EE_Registration $registration
147
+	 * @param array           $attendee_data
148
+	 * @return EE_Attendee
149
+	 * @throws EE_Error
150
+	 * @throws EntityNotFoundException
151
+	 */
152
+	private function createNewAttendee(EE_Registration $registration, array $attendee_data)
153
+	{
154
+		// create new attendee object
155
+		$new_attendee = EE_Attendee::new_instance($attendee_data);
156
+		// set author to event creator
157
+		$new_attendee->set('ATT_author', $registration->event()->wp_user());
158
+		$new_attendee->save();
159
+		return $new_attendee;
160
+	}
161 161
 }
Please login to merge, or discard this patch.
core/domain/services/commands/attendee/CreateAttendeeCommand.php 2 patches
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -81,7 +81,7 @@
 block discarded – undo
81 81
     public function getCapCheck()
82 82
     {
83 83
         // need cap for non-AJAX admin requests
84
-        if (! (defined('DOING_AJAX') && DOING_AJAX) && is_admin()) {
84
+        if ( ! (defined('DOING_AJAX') && DOING_AJAX) && is_admin()) {
85 85
             return new CapCheck('ee_edit_contacts', 'create_new_contact');
86 86
         }
87 87
         return new PublicCapabilities('', 'create_new_contact');
Please login to merge, or discard this patch.
Indentation   +49 added lines, -49 removed lines patch added patch discarded remove patch
@@ -20,62 +20,62 @@
 block discarded – undo
20 20
  */
21 21
 class CreateAttendeeCommand extends Command implements CommandRequiresCapCheckInterface
22 22
 {
23
-    /**
24
-     * array of details where keys are names of EEM_Attendee model fields
25
-     *
26
-     * @var array $attendee_details
27
-     */
28
-    protected $attendee_details;
23
+	/**
24
+	 * array of details where keys are names of EEM_Attendee model fields
25
+	 *
26
+	 * @var array $attendee_details
27
+	 */
28
+	protected $attendee_details;
29 29
 
30
-    /**
31
-     * an existing registration to associate this attendee with
32
-     *
33
-     * @var EE_Registration $registration
34
-     */
35
-    protected $registration;
30
+	/**
31
+	 * an existing registration to associate this attendee with
32
+	 *
33
+	 * @var EE_Registration $registration
34
+	 */
35
+	protected $registration;
36 36
 
37 37
 
38
-    /**
39
-     * CreateAttendeeCommand constructor.
40
-     *
41
-     * @param array           $attendee_details
42
-     * @param EE_Registration $registration
43
-     */
44
-    public function __construct(array $attendee_details, EE_Registration $registration)
45
-    {
46
-        $this->attendee_details = $attendee_details;
47
-        $this->registration     = $registration;
48
-    }
38
+	/**
39
+	 * CreateAttendeeCommand constructor.
40
+	 *
41
+	 * @param array           $attendee_details
42
+	 * @param EE_Registration $registration
43
+	 */
44
+	public function __construct(array $attendee_details, EE_Registration $registration)
45
+	{
46
+		$this->attendee_details = $attendee_details;
47
+		$this->registration     = $registration;
48
+	}
49 49
 
50 50
 
51
-    /**
52
-     * @return array
53
-     */
54
-    public function attendeeDetails()
55
-    {
56
-        return $this->attendee_details;
57
-    }
51
+	/**
52
+	 * @return array
53
+	 */
54
+	public function attendeeDetails()
55
+	{
56
+		return $this->attendee_details;
57
+	}
58 58
 
59 59
 
60
-    /**
61
-     * @return EE_Registration
62
-     */
63
-    public function registration()
64
-    {
65
-        return $this->registration;
66
-    }
60
+	/**
61
+	 * @return EE_Registration
62
+	 */
63
+	public function registration()
64
+	{
65
+		return $this->registration;
66
+	}
67 67
 
68 68
 
69
-    /**
70
-     * @return CapCheckInterface
71
-     * @throws InvalidDataTypeException
72
-     */
73
-    public function getCapCheck()
74
-    {
75
-        // need cap for non-AJAX admin requests
76
-        if (! (defined('DOING_AJAX') && DOING_AJAX) && is_admin()) {
77
-            return new CapCheck('ee_edit_contacts', 'create_new_contact');
78
-        }
79
-        return new PublicCapabilities('', 'create_new_contact');
80
-    }
69
+	/**
70
+	 * @return CapCheckInterface
71
+	 * @throws InvalidDataTypeException
72
+	 */
73
+	public function getCapCheck()
74
+	{
75
+		// need cap for non-AJAX admin requests
76
+		if (! (defined('DOING_AJAX') && DOING_AJAX) && is_admin()) {
77
+			return new CapCheck('ee_edit_contacts', 'create_new_contact');
78
+		}
79
+		return new PublicCapabilities('', 'create_new_contact');
80
+	}
81 81
 }
Please login to merge, or discard this patch.
modules/ticket_selector/TicketDatetimeAvailabilityTracker.php 2 patches
Spacing   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -66,24 +66,24 @@  discard block
 block discarded – undo
66 66
     public function ticketDatetimeAvailability(EE_Ticket $ticket, $get_original_ticket_spaces = false)
67 67
     {
68 68
         // if the $_available_spaces array has not been set up yet...
69
-        if (! isset($this->available_spaces['tickets'][ $ticket->ID() ])) {
69
+        if ( ! isset($this->available_spaces['tickets'][$ticket->ID()])) {
70 70
             $this->setInitialTicketDatetimeAvailability($ticket);
71 71
         }
72 72
         $available_spaces = $ticket->qty() - $ticket->sold();
73
-        if (isset($this->available_spaces['tickets'][ $ticket->ID() ])) {
73
+        if (isset($this->available_spaces['tickets'][$ticket->ID()])) {
74 74
             // loop thru tickets, which will ALSO include individual ticket records AND a total
75
-            foreach ($this->available_spaces['tickets'][ $ticket->ID() ] as $DTD_ID => $spaces) {
75
+            foreach ($this->available_spaces['tickets'][$ticket->ID()] as $DTD_ID => $spaces) {
76 76
                 // if we want the original datetime availability BEFORE we started subtracting tickets ?
77 77
                 if ($get_original_ticket_spaces) {
78 78
                     // then grab the available spaces from the "tickets" array
79 79
                     // and compare with the above to get the lowest number
80 80
                     $available_spaces = min(
81 81
                         $available_spaces,
82
-                        $this->available_spaces['tickets'][ $ticket->ID() ][ $DTD_ID ]
82
+                        $this->available_spaces['tickets'][$ticket->ID()][$DTD_ID]
83 83
                     );
84 84
                 } else {
85 85
                     // we want the updated ticket availability as stored in the "datetimes" array
86
-                    $available_spaces = min($available_spaces, $this->available_spaces['datetimes'][ $DTD_ID ]);
86
+                    $available_spaces = min($available_spaces, $this->available_spaces['datetimes'][$DTD_ID]);
87 87
                 }
88 88
             }
89 89
         }
@@ -114,7 +114,7 @@  discard block
 block discarded – undo
114 114
                 'order_by' => array('DTT_EVT_start' => 'ASC'),
115 115
             )
116 116
         );
117
-        if (! empty($datetimes)) {
117
+        if ( ! empty($datetimes)) {
118 118
             // now loop thru all of the datetimes
119 119
             foreach ($datetimes as $datetime) {
120 120
                 if ($datetime instanceof EE_Datetime) {
@@ -122,17 +122,17 @@  discard block
 block discarded – undo
122 122
                     $spaces_remaining = $datetime->spaces_remaining();
123 123
                     // save the total available spaces ( the lesser of the ticket qty minus the number of tickets sold
124 124
                     // or the datetime spaces remaining) to this ticket using the datetime ID as the key
125
-                    $this->available_spaces['tickets'][ $ticket->ID() ][ $datetime->ID() ] = min(
125
+                    $this->available_spaces['tickets'][$ticket->ID()][$datetime->ID()] = min(
126 126
                         $ticket->qty() - $ticket->sold(),
127 127
                         $spaces_remaining
128 128
                     );
129 129
                     // if the remaining spaces for this datetime is already set,
130 130
                     // then compare that against the datetime spaces remaining, and take the lowest number,
131 131
                     // else just take the datetime spaces remaining, and assign to the datetimes array
132
-                    $this->available_spaces['datetimes'][ $datetime->ID() ] = isset(
133
-                        $this->available_spaces['datetimes'][ $datetime->ID() ]
132
+                    $this->available_spaces['datetimes'][$datetime->ID()] = isset(
133
+                        $this->available_spaces['datetimes'][$datetime->ID()]
134 134
                     )
135
-                        ? min($this->available_spaces['datetimes'][ $datetime->ID() ], $spaces_remaining)
135
+                        ? min($this->available_spaces['datetimes'][$datetime->ID()], $spaces_remaining)
136 136
                         : $spaces_remaining;
137 137
                 }
138 138
             }
@@ -148,11 +148,11 @@  discard block
 block discarded – undo
148 148
      */
149 149
     public function recalculateTicketDatetimeAvailability(EE_Ticket $ticket, $qty = 0)
150 150
     {
151
-        if (isset($this->available_spaces['tickets'][ $ticket->ID() ])) {
151
+        if (isset($this->available_spaces['tickets'][$ticket->ID()])) {
152 152
             // loop thru tickets, which will ALSO include individual ticket records AND a total
153
-            foreach ($this->available_spaces['tickets'][ $ticket->ID() ] as $DTD_ID => $spaces) {
153
+            foreach ($this->available_spaces['tickets'][$ticket->ID()] as $DTD_ID => $spaces) {
154 154
                 // subtract the qty of selected tickets from each datetime's available spaces this ticket has access to,
155
-                $this->available_spaces['datetimes'][ $DTD_ID ] -= $qty;
155
+                $this->available_spaces['datetimes'][$DTD_ID] -= $qty;
156 156
             }
157 157
         }
158 158
     }
Please login to merge, or discard this patch.
Indentation   +213 added lines, -213 removed lines patch added patch discarded remove patch
@@ -21,217 +21,217 @@
 block discarded – undo
21 21
  */
22 22
 class TicketDatetimeAvailabilityTracker
23 23
 {
24
-    /**
25
-     * array of datetimes and the spaces available for them
26
-     *
27
-     * @var array[][]
28
-     */
29
-    private $available_spaces = array();
30
-
31
-    /**
32
-     * @var EEM_Datetime $datetime_model
33
-     */
34
-    private $datetime_model;
35
-
36
-
37
-    /**
38
-     * TicketDatetimeAvailabilityTracker constructor.
39
-     *
40
-     * @param EEM_Datetime $datetime_model
41
-     */
42
-    public function __construct(EEM_Datetime $datetime_model)
43
-    {
44
-        $this->datetime_model = $datetime_model;
45
-    }
46
-
47
-
48
-    /**
49
-     * ticketDatetimeAvailability
50
-     * creates an array of tickets plus all of the datetimes available to each ticket
51
-     * and tracks the spaces remaining for each of those datetimes
52
-     *
53
-     * @param EE_Ticket $ticket - selected ticket
54
-     * @param bool      $get_original_ticket_spaces
55
-     * @return int
56
-     * @throws EE_Error
57
-     * @throws InvalidArgumentException
58
-     * @throws InvalidDataTypeException
59
-     * @throws InvalidInterfaceException
60
-     */
61
-    public function ticketDatetimeAvailability(EE_Ticket $ticket, $get_original_ticket_spaces = false)
62
-    {
63
-        // if the $_available_spaces array has not been set up yet...
64
-        if (! isset($this->available_spaces['tickets'][ $ticket->ID() ])) {
65
-            $this->setInitialTicketDatetimeAvailability($ticket);
66
-        }
67
-        $available_spaces = $ticket->qty() - $ticket->sold();
68
-        if (isset($this->available_spaces['tickets'][ $ticket->ID() ])) {
69
-            // loop thru tickets, which will ALSO include individual ticket records AND a total
70
-            foreach ($this->available_spaces['tickets'][ $ticket->ID() ] as $DTD_ID => $spaces) {
71
-                // if we want the original datetime availability BEFORE we started subtracting tickets ?
72
-                if ($get_original_ticket_spaces) {
73
-                    // then grab the available spaces from the "tickets" array
74
-                    // and compare with the above to get the lowest number
75
-                    $available_spaces = min(
76
-                        $available_spaces,
77
-                        $this->available_spaces['tickets'][ $ticket->ID() ][ $DTD_ID ]
78
-                    );
79
-                } else {
80
-                    // we want the updated ticket availability as stored in the "datetimes" array
81
-                    $available_spaces = min($available_spaces, $this->available_spaces['datetimes'][ $DTD_ID ]);
82
-                }
83
-            }
84
-        }
85
-        return $available_spaces;
86
-    }
87
-
88
-
89
-    /**
90
-     * @param EE_Ticket $ticket
91
-     * @return void
92
-     * @throws InvalidArgumentException
93
-     * @throws InvalidInterfaceException
94
-     * @throws InvalidDataTypeException
95
-     * @throws EE_Error
96
-     */
97
-    private function setInitialTicketDatetimeAvailability(EE_Ticket $ticket)
98
-    {
99
-        // first, get all of the datetimes that are available to this ticket
100
-        $datetimes = $ticket->get_many_related(
101
-            'Datetime',
102
-            array(
103
-                array(
104
-                    'DTT_EVT_end' => array(
105
-                        '>=',
106
-                        $this->datetime_model->current_time_for_query('DTT_EVT_end'),
107
-                    ),
108
-                ),
109
-                'order_by' => array('DTT_EVT_start' => 'ASC'),
110
-            )
111
-        );
112
-        if (! empty($datetimes)) {
113
-            // now loop thru all of the datetimes
114
-            foreach ($datetimes as $datetime) {
115
-                if ($datetime instanceof EE_Datetime) {
116
-                    // the number of spaces available for the datetime without considering individual ticket quantities
117
-                    $spaces_remaining = $datetime->spaces_remaining();
118
-                    // save the total available spaces ( the lesser of the ticket qty minus the number of tickets sold
119
-                    // or the datetime spaces remaining) to this ticket using the datetime ID as the key
120
-                    $this->available_spaces['tickets'][ $ticket->ID() ][ $datetime->ID() ] = min(
121
-                        $ticket->qty() - $ticket->sold(),
122
-                        $spaces_remaining
123
-                    );
124
-                    // if the remaining spaces for this datetime is already set,
125
-                    // then compare that against the datetime spaces remaining, and take the lowest number,
126
-                    // else just take the datetime spaces remaining, and assign to the datetimes array
127
-                    $this->available_spaces['datetimes'][ $datetime->ID() ] = isset(
128
-                        $this->available_spaces['datetimes'][ $datetime->ID() ]
129
-                    )
130
-                        ? min($this->available_spaces['datetimes'][ $datetime->ID() ], $spaces_remaining)
131
-                        : $spaces_remaining;
132
-                }
133
-            }
134
-        }
135
-    }
136
-
137
-
138
-    /**
139
-     * @param    EE_Ticket $ticket
140
-     * @param    int       $qty
141
-     * @return    void
142
-     * @throws EE_Error
143
-     */
144
-    public function recalculateTicketDatetimeAvailability(EE_Ticket $ticket, $qty = 0)
145
-    {
146
-        if (isset($this->available_spaces['tickets'][ $ticket->ID() ])) {
147
-            // loop thru tickets, which will ALSO include individual ticket records AND a total
148
-            foreach ($this->available_spaces['tickets'][ $ticket->ID() ] as $DTD_ID => $spaces) {
149
-                // subtract the qty of selected tickets from each datetime's available spaces this ticket has access to,
150
-                $this->available_spaces['datetimes'][ $DTD_ID ] -= $qty;
151
-            }
152
-        }
153
-    }
154
-
155
-
156
-    /**
157
-     * @param EE_Ticket $ticket
158
-     * @param           $qty
159
-     * @param int       $total_ticket_count
160
-     * @throws EE_Error
161
-     * @throws InvalidArgumentException
162
-     * @throws InvalidDataTypeException
163
-     * @throws InvalidInterfaceException
164
-     */
165
-    public function processAvailabilityError(EE_Ticket $ticket, $qty, $total_ticket_count = 1)
166
-    {
167
-        // tickets can not be purchased but let's find the exact number left
168
-        // for the last ticket selected PRIOR to subtracting tickets
169
-        $available_spaces = $this->ticketDatetimeAvailability($ticket, true);
170
-        // greedy greedy greedy eh?
171
-        if ($available_spaces > 0) {
172
-            if (
173
-                apply_filters(
174
-                    'FHEE__EE_Ticket_Selector___add_ticket_to_cart__allow_display_availability_error',
175
-                    true,
176
-                    $ticket,
177
-                    $qty,
178
-                    $available_spaces
179
-                )
180
-            ) {
181
-                $this->availabilityError(
182
-                    $available_spaces,
183
-                    $total_ticket_count
184
-                );
185
-            }
186
-        } else {
187
-            EE_Error::add_error(
188
-                esc_html__(
189
-                    'We\'re sorry, but there are no available spaces left for this event at this particular date and time.',
190
-                    'event_espresso'
191
-                ),
192
-                __FILE__,
193
-                __FUNCTION__,
194
-                __LINE__
195
-            );
196
-        }
197
-    }
198
-
199
-
200
-    /**
201
-     * @param int $available_spaces
202
-     * @param int $total_ticket_count
203
-     */
204
-    private function availabilityError($available_spaces = 1, $total_ticket_count = 1)
205
-    {
206
-        // add error messaging - we're using the _n function that will generate
207
-        // the appropriate singular or plural message based on the number of $available_spaces
208
-        if ($total_ticket_count) {
209
-            $msg = sprintf(
210
-                esc_html(
211
-                    _n(
212
-                        'We\'re sorry, but there is only %1$s available space left for this event at this particular date and time. Please select a different number (or different combination) of tickets by cancelling the current selection and choosing again, or proceed to registration.',
213
-                        'We\'re sorry, but there are only %1$s available spaces left for this event at this particular date and time. Please select a different number (or different combination) of tickets by cancelling the current selection and choosing again, or proceed to registration.',
214
-                        $available_spaces,
215
-                        'event_espresso'
216
-                    )
217
-                ),
218
-                $available_spaces,
219
-                '<br />'
220
-            );
221
-        } else {
222
-            $msg = sprintf(
223
-                esc_html(
224
-                    _n(
225
-                        'We\'re sorry, but there is only %1$s available space left for this event at this particular date and time. Please select a different number (or different combination) of tickets.',
226
-                        'We\'re sorry, but there are only %1$s available spaces left for this event at this particular date and time. Please select a different number (or different combination) of tickets.',
227
-                        $available_spaces,
228
-                        'event_espresso'
229
-                    )
230
-                ),
231
-                $available_spaces,
232
-                '<br />'
233
-            );
234
-        }
235
-        EE_Error::add_error($msg, __FILE__, __FUNCTION__, __LINE__);
236
-    }
24
+	/**
25
+	 * array of datetimes and the spaces available for them
26
+	 *
27
+	 * @var array[][]
28
+	 */
29
+	private $available_spaces = array();
30
+
31
+	/**
32
+	 * @var EEM_Datetime $datetime_model
33
+	 */
34
+	private $datetime_model;
35
+
36
+
37
+	/**
38
+	 * TicketDatetimeAvailabilityTracker constructor.
39
+	 *
40
+	 * @param EEM_Datetime $datetime_model
41
+	 */
42
+	public function __construct(EEM_Datetime $datetime_model)
43
+	{
44
+		$this->datetime_model = $datetime_model;
45
+	}
46
+
47
+
48
+	/**
49
+	 * ticketDatetimeAvailability
50
+	 * creates an array of tickets plus all of the datetimes available to each ticket
51
+	 * and tracks the spaces remaining for each of those datetimes
52
+	 *
53
+	 * @param EE_Ticket $ticket - selected ticket
54
+	 * @param bool      $get_original_ticket_spaces
55
+	 * @return int
56
+	 * @throws EE_Error
57
+	 * @throws InvalidArgumentException
58
+	 * @throws InvalidDataTypeException
59
+	 * @throws InvalidInterfaceException
60
+	 */
61
+	public function ticketDatetimeAvailability(EE_Ticket $ticket, $get_original_ticket_spaces = false)
62
+	{
63
+		// if the $_available_spaces array has not been set up yet...
64
+		if (! isset($this->available_spaces['tickets'][ $ticket->ID() ])) {
65
+			$this->setInitialTicketDatetimeAvailability($ticket);
66
+		}
67
+		$available_spaces = $ticket->qty() - $ticket->sold();
68
+		if (isset($this->available_spaces['tickets'][ $ticket->ID() ])) {
69
+			// loop thru tickets, which will ALSO include individual ticket records AND a total
70
+			foreach ($this->available_spaces['tickets'][ $ticket->ID() ] as $DTD_ID => $spaces) {
71
+				// if we want the original datetime availability BEFORE we started subtracting tickets ?
72
+				if ($get_original_ticket_spaces) {
73
+					// then grab the available spaces from the "tickets" array
74
+					// and compare with the above to get the lowest number
75
+					$available_spaces = min(
76
+						$available_spaces,
77
+						$this->available_spaces['tickets'][ $ticket->ID() ][ $DTD_ID ]
78
+					);
79
+				} else {
80
+					// we want the updated ticket availability as stored in the "datetimes" array
81
+					$available_spaces = min($available_spaces, $this->available_spaces['datetimes'][ $DTD_ID ]);
82
+				}
83
+			}
84
+		}
85
+		return $available_spaces;
86
+	}
87
+
88
+
89
+	/**
90
+	 * @param EE_Ticket $ticket
91
+	 * @return void
92
+	 * @throws InvalidArgumentException
93
+	 * @throws InvalidInterfaceException
94
+	 * @throws InvalidDataTypeException
95
+	 * @throws EE_Error
96
+	 */
97
+	private function setInitialTicketDatetimeAvailability(EE_Ticket $ticket)
98
+	{
99
+		// first, get all of the datetimes that are available to this ticket
100
+		$datetimes = $ticket->get_many_related(
101
+			'Datetime',
102
+			array(
103
+				array(
104
+					'DTT_EVT_end' => array(
105
+						'>=',
106
+						$this->datetime_model->current_time_for_query('DTT_EVT_end'),
107
+					),
108
+				),
109
+				'order_by' => array('DTT_EVT_start' => 'ASC'),
110
+			)
111
+		);
112
+		if (! empty($datetimes)) {
113
+			// now loop thru all of the datetimes
114
+			foreach ($datetimes as $datetime) {
115
+				if ($datetime instanceof EE_Datetime) {
116
+					// the number of spaces available for the datetime without considering individual ticket quantities
117
+					$spaces_remaining = $datetime->spaces_remaining();
118
+					// save the total available spaces ( the lesser of the ticket qty minus the number of tickets sold
119
+					// or the datetime spaces remaining) to this ticket using the datetime ID as the key
120
+					$this->available_spaces['tickets'][ $ticket->ID() ][ $datetime->ID() ] = min(
121
+						$ticket->qty() - $ticket->sold(),
122
+						$spaces_remaining
123
+					);
124
+					// if the remaining spaces for this datetime is already set,
125
+					// then compare that against the datetime spaces remaining, and take the lowest number,
126
+					// else just take the datetime spaces remaining, and assign to the datetimes array
127
+					$this->available_spaces['datetimes'][ $datetime->ID() ] = isset(
128
+						$this->available_spaces['datetimes'][ $datetime->ID() ]
129
+					)
130
+						? min($this->available_spaces['datetimes'][ $datetime->ID() ], $spaces_remaining)
131
+						: $spaces_remaining;
132
+				}
133
+			}
134
+		}
135
+	}
136
+
137
+
138
+	/**
139
+	 * @param    EE_Ticket $ticket
140
+	 * @param    int       $qty
141
+	 * @return    void
142
+	 * @throws EE_Error
143
+	 */
144
+	public function recalculateTicketDatetimeAvailability(EE_Ticket $ticket, $qty = 0)
145
+	{
146
+		if (isset($this->available_spaces['tickets'][ $ticket->ID() ])) {
147
+			// loop thru tickets, which will ALSO include individual ticket records AND a total
148
+			foreach ($this->available_spaces['tickets'][ $ticket->ID() ] as $DTD_ID => $spaces) {
149
+				// subtract the qty of selected tickets from each datetime's available spaces this ticket has access to,
150
+				$this->available_spaces['datetimes'][ $DTD_ID ] -= $qty;
151
+			}
152
+		}
153
+	}
154
+
155
+
156
+	/**
157
+	 * @param EE_Ticket $ticket
158
+	 * @param           $qty
159
+	 * @param int       $total_ticket_count
160
+	 * @throws EE_Error
161
+	 * @throws InvalidArgumentException
162
+	 * @throws InvalidDataTypeException
163
+	 * @throws InvalidInterfaceException
164
+	 */
165
+	public function processAvailabilityError(EE_Ticket $ticket, $qty, $total_ticket_count = 1)
166
+	{
167
+		// tickets can not be purchased but let's find the exact number left
168
+		// for the last ticket selected PRIOR to subtracting tickets
169
+		$available_spaces = $this->ticketDatetimeAvailability($ticket, true);
170
+		// greedy greedy greedy eh?
171
+		if ($available_spaces > 0) {
172
+			if (
173
+				apply_filters(
174
+					'FHEE__EE_Ticket_Selector___add_ticket_to_cart__allow_display_availability_error',
175
+					true,
176
+					$ticket,
177
+					$qty,
178
+					$available_spaces
179
+				)
180
+			) {
181
+				$this->availabilityError(
182
+					$available_spaces,
183
+					$total_ticket_count
184
+				);
185
+			}
186
+		} else {
187
+			EE_Error::add_error(
188
+				esc_html__(
189
+					'We\'re sorry, but there are no available spaces left for this event at this particular date and time.',
190
+					'event_espresso'
191
+				),
192
+				__FILE__,
193
+				__FUNCTION__,
194
+				__LINE__
195
+			);
196
+		}
197
+	}
198
+
199
+
200
+	/**
201
+	 * @param int $available_spaces
202
+	 * @param int $total_ticket_count
203
+	 */
204
+	private function availabilityError($available_spaces = 1, $total_ticket_count = 1)
205
+	{
206
+		// add error messaging - we're using the _n function that will generate
207
+		// the appropriate singular or plural message based on the number of $available_spaces
208
+		if ($total_ticket_count) {
209
+			$msg = sprintf(
210
+				esc_html(
211
+					_n(
212
+						'We\'re sorry, but there is only %1$s available space left for this event at this particular date and time. Please select a different number (or different combination) of tickets by cancelling the current selection and choosing again, or proceed to registration.',
213
+						'We\'re sorry, but there are only %1$s available spaces left for this event at this particular date and time. Please select a different number (or different combination) of tickets by cancelling the current selection and choosing again, or proceed to registration.',
214
+						$available_spaces,
215
+						'event_espresso'
216
+					)
217
+				),
218
+				$available_spaces,
219
+				'<br />'
220
+			);
221
+		} else {
222
+			$msg = sprintf(
223
+				esc_html(
224
+					_n(
225
+						'We\'re sorry, but there is only %1$s available space left for this event at this particular date and time. Please select a different number (or different combination) of tickets.',
226
+						'We\'re sorry, but there are only %1$s available spaces left for this event at this particular date and time. Please select a different number (or different combination) of tickets.',
227
+						$available_spaces,
228
+						'event_espresso'
229
+					)
230
+				),
231
+				$available_spaces,
232
+				'<br />'
233
+			);
234
+		}
235
+		EE_Error::add_error($msg, __FILE__, __FUNCTION__, __LINE__);
236
+	}
237 237
 }
Please login to merge, or discard this patch.
core/services/bootstrap/BootstrapDependencyInjectionContainer.php 2 patches
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -78,13 +78,13 @@
 block discarded – undo
78 78
         // EE_Dependency_Map: info about how to load classes required by other classes
79 79
         espresso_load_required(
80 80
             'EE_Dependency_Map',
81
-            EE_CORE . 'EE_Dependency_Map.core.php'
81
+            EE_CORE.'EE_Dependency_Map.core.php'
82 82
         );
83 83
         $this->dependency_map = EE_Dependency_Map::instance($this->class_cache);
84 84
         // EE_Registry: central repository for classes (legacy)
85 85
         espresso_load_required(
86 86
             'EE_Registry',
87
-            EE_CORE . 'EE_Registry.core.php'
87
+            EE_CORE.'EE_Registry.core.php'
88 88
         );
89 89
         $this->registry = EE_Registry::instance(
90 90
             $this->dependency_map,
Please login to merge, or discard this patch.
Indentation   +101 added lines, -101 removed lines patch added patch discarded remove patch
@@ -24,105 +24,105 @@
 block discarded – undo
24 24
  */
25 25
 class BootstrapDependencyInjectionContainer
26 26
 {
27
-    private ClassInterfaceCache $class_cache;
28
-
29
-    private Mirror $mirror;
30
-
31
-    private ObjectIdentifier $object_identifier;
32
-
33
-    protected EE_Dependency_Map $dependency_map;
34
-
35
-    protected EE_Registry $registry;
36
-
37
-    protected LoaderInterface $loader;
38
-
39
-
40
-    // /**
41
-    //  * Can't use this just yet until we exorcise some more of our singleton usage from core
42
-    //  */
43
-    // public function buildDependencyInjectionContainer()
44
-    // {
45
-    //      // build DI container
46
-    //      $OpenCoffeeShop = new EventEspresso\core\services\container\OpenCoffeeShop();
47
-    //      $OpenCoffeeShop->addRecipes();
48
-    //      $CoffeeShop = $OpenCoffeeShop->CoffeeShop();
49
-    // }
50
-
51
-
52
-    /**
53
-     * Setups  EE_Registry and EE_Dependency_Map
54
-     *
55
-     * @throws EE_Error
56
-     */
57
-    public function buildLegacyDependencyInjectionContainer()
58
-    {
59
-        $this->class_cache       = new ClassInterfaceCache();
60
-        $this->object_identifier = new ObjectIdentifier($this->class_cache);
61
-        $this->mirror            = new Mirror();
62
-        // EE_Dependency_Map: info about how to load classes required by other classes
63
-        espresso_load_required(
64
-            'EE_Dependency_Map',
65
-            EE_CORE . 'EE_Dependency_Map.core.php'
66
-        );
67
-        $this->dependency_map = EE_Dependency_Map::instance($this->class_cache);
68
-        // EE_Registry: central repository for classes (legacy)
69
-        espresso_load_required(
70
-            'EE_Registry',
71
-            EE_CORE . 'EE_Registry.core.php'
72
-        );
73
-        $this->registry = EE_Registry::instance(
74
-            $this->dependency_map,
75
-            $this->mirror,
76
-            $this->class_cache,
77
-            $this->object_identifier
78
-        );
79
-    }
80
-
81
-
82
-    /**
83
-     * Performs initial setup for the generic Loader
84
-     *
85
-     * @throws InvalidDataTypeException
86
-     * @throws InvalidInterfaceException
87
-     * @throws InvalidArgumentException
88
-     */
89
-    public function buildLoader()
90
-    {
91
-        $this->loader = LoaderFactory::getLoader(
92
-            $this->registry,
93
-            $this->class_cache,
94
-            $this->object_identifier
95
-        );
96
-        $this->loader->share('EventEspresso\core\services\loaders\ClassInterfaceCache', $this->class_cache);
97
-        $this->loader->share('EventEspresso\core\services\loaders\ObjectIdentifier', $this->object_identifier);
98
-        $this->loader->share('EventEspresso\core\services\container\Mirror', $this->mirror);
99
-        $this->dependency_map->setLoader($this->loader);
100
-    }
101
-
102
-
103
-    /**
104
-     * @return EE_Dependency_Map
105
-     */
106
-    public function getDependencyMap(): EE_Dependency_Map
107
-    {
108
-        return $this->dependency_map;
109
-    }
110
-
111
-
112
-    /**
113
-     * @return EE_Registry
114
-     */
115
-    public function getRegistry(): EE_Registry
116
-    {
117
-        return $this->registry;
118
-    }
119
-
120
-
121
-    /**
122
-     * @return LoaderInterface
123
-     */
124
-    public function getLoader(): LoaderInterface
125
-    {
126
-        return $this->loader;
127
-    }
27
+	private ClassInterfaceCache $class_cache;
28
+
29
+	private Mirror $mirror;
30
+
31
+	private ObjectIdentifier $object_identifier;
32
+
33
+	protected EE_Dependency_Map $dependency_map;
34
+
35
+	protected EE_Registry $registry;
36
+
37
+	protected LoaderInterface $loader;
38
+
39
+
40
+	// /**
41
+	//  * Can't use this just yet until we exorcise some more of our singleton usage from core
42
+	//  */
43
+	// public function buildDependencyInjectionContainer()
44
+	// {
45
+	//      // build DI container
46
+	//      $OpenCoffeeShop = new EventEspresso\core\services\container\OpenCoffeeShop();
47
+	//      $OpenCoffeeShop->addRecipes();
48
+	//      $CoffeeShop = $OpenCoffeeShop->CoffeeShop();
49
+	// }
50
+
51
+
52
+	/**
53
+	 * Setups  EE_Registry and EE_Dependency_Map
54
+	 *
55
+	 * @throws EE_Error
56
+	 */
57
+	public function buildLegacyDependencyInjectionContainer()
58
+	{
59
+		$this->class_cache       = new ClassInterfaceCache();
60
+		$this->object_identifier = new ObjectIdentifier($this->class_cache);
61
+		$this->mirror            = new Mirror();
62
+		// EE_Dependency_Map: info about how to load classes required by other classes
63
+		espresso_load_required(
64
+			'EE_Dependency_Map',
65
+			EE_CORE . 'EE_Dependency_Map.core.php'
66
+		);
67
+		$this->dependency_map = EE_Dependency_Map::instance($this->class_cache);
68
+		// EE_Registry: central repository for classes (legacy)
69
+		espresso_load_required(
70
+			'EE_Registry',
71
+			EE_CORE . 'EE_Registry.core.php'
72
+		);
73
+		$this->registry = EE_Registry::instance(
74
+			$this->dependency_map,
75
+			$this->mirror,
76
+			$this->class_cache,
77
+			$this->object_identifier
78
+		);
79
+	}
80
+
81
+
82
+	/**
83
+	 * Performs initial setup for the generic Loader
84
+	 *
85
+	 * @throws InvalidDataTypeException
86
+	 * @throws InvalidInterfaceException
87
+	 * @throws InvalidArgumentException
88
+	 */
89
+	public function buildLoader()
90
+	{
91
+		$this->loader = LoaderFactory::getLoader(
92
+			$this->registry,
93
+			$this->class_cache,
94
+			$this->object_identifier
95
+		);
96
+		$this->loader->share('EventEspresso\core\services\loaders\ClassInterfaceCache', $this->class_cache);
97
+		$this->loader->share('EventEspresso\core\services\loaders\ObjectIdentifier', $this->object_identifier);
98
+		$this->loader->share('EventEspresso\core\services\container\Mirror', $this->mirror);
99
+		$this->dependency_map->setLoader($this->loader);
100
+	}
101
+
102
+
103
+	/**
104
+	 * @return EE_Dependency_Map
105
+	 */
106
+	public function getDependencyMap(): EE_Dependency_Map
107
+	{
108
+		return $this->dependency_map;
109
+	}
110
+
111
+
112
+	/**
113
+	 * @return EE_Registry
114
+	 */
115
+	public function getRegistry(): EE_Registry
116
+	{
117
+		return $this->registry;
118
+	}
119
+
120
+
121
+	/**
122
+	 * @return LoaderInterface
123
+	 */
124
+	public function getLoader(): LoaderInterface
125
+	{
126
+		return $this->loader;
127
+	}
128 128
 }
Please login to merge, or discard this patch.
core/services/loaders/CoreLoader.php 2 patches
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -47,7 +47,7 @@
 block discarded – undo
47 47
      */
48 48
     public function __construct($generator)
49 49
     {
50
-        if (! ($generator instanceof EE_Registry || $generator instanceof CoffeeShop)) {
50
+        if ( ! ($generator instanceof EE_Registry || $generator instanceof CoffeeShop)) {
51 51
             throw new InvalidArgumentException(
52 52
                 esc_html__(
53 53
                     'The CoreLoader class must receive an instance of EE_Registry or the CoffeeShop DI container.',
Please login to merge, or discard this patch.
Indentation   +101 added lines, -101 removed lines patch added patch discarded remove patch
@@ -28,111 +28,111 @@
 block discarded – undo
28 28
  */
29 29
 class CoreLoader implements LoaderDecoratorInterface
30 30
 {
31
-    /**
32
-     * @var EE_Registry|CoffeeShop $generator
33
-     */
34
-    private $generator;
31
+	/**
32
+	 * @var EE_Registry|CoffeeShop $generator
33
+	 */
34
+	private $generator;
35 35
 
36 36
 
37
-    /**
38
-     * CoreLoader constructor.
39
-     *
40
-     * @param EE_Registry|CoffeeShop $generator
41
-     * @throws InvalidArgumentException
42
-     */
43
-    public function __construct($generator)
44
-    {
45
-        if (! ($generator instanceof EE_Registry || $generator instanceof CoffeeShop)) {
46
-            throw new InvalidArgumentException(
47
-                esc_html__(
48
-                    'The CoreLoader class must receive an instance of EE_Registry or the CoffeeShop DI container.',
49
-                    'event_espresso'
50
-                )
51
-            );
52
-        }
53
-        $this->generator = $generator;
54
-    }
37
+	/**
38
+	 * CoreLoader constructor.
39
+	 *
40
+	 * @param EE_Registry|CoffeeShop $generator
41
+	 * @throws InvalidArgumentException
42
+	 */
43
+	public function __construct($generator)
44
+	{
45
+		if (! ($generator instanceof EE_Registry || $generator instanceof CoffeeShop)) {
46
+			throw new InvalidArgumentException(
47
+				esc_html__(
48
+					'The CoreLoader class must receive an instance of EE_Registry or the CoffeeShop DI container.',
49
+					'event_espresso'
50
+				)
51
+			);
52
+		}
53
+		$this->generator = $generator;
54
+	}
55 55
 
56 56
 
57
-    /**
58
-     * Calls the appropriate loading method from the installed generator;
59
-     * If EE_Registry is being used, then the additional parameters for the EE_Registry::create() method
60
-     * can be added to the $arguments array and they will be extracted and passed to EE_Registry::create(),
61
-     * but NOT to the class being instantiated.
62
-     * This is done by adding the parameters to the $arguments array as follows:
63
-     *  array(
64
-     *      'EE_Registry::create(from_db)'   => true, // boolean value, default = false
65
-     *      'EE_Registry::create(load_only)' => true, // boolean value, default = false
66
-     *      'EE_Registry::create(addon)'     => true, // boolean value, default = false
67
-     *  )
68
-     *
69
-     * @param string $fqcn
70
-     * @param array  $arguments
71
-     * @param bool   $shared
72
-     * @return mixed
73
-     * @throws OutOfBoundsException
74
-     * @throws ServiceExistsException
75
-     * @throws InstantiationException
76
-     * @throws InvalidIdentifierException
77
-     * @throws InvalidDataTypeException
78
-     * @throws InvalidClassException
79
-     * @throws EE_Error
80
-     * @throws ServiceNotFoundException
81
-     * @throws ReflectionException
82
-     * @throws InvalidInterfaceException
83
-     * @throws InvalidArgumentException
84
-     */
85
-    public function load($fqcn, $arguments = array(), $shared = true)
86
-    {
87
-        $shared = filter_var($shared, FILTER_VALIDATE_BOOLEAN);
88
-        if ($this->generator instanceof EE_Registry) {
89
-            // check if additional EE_Registry::create() arguments have been passed
90
-            // from_db
91
-            $from_db = isset($arguments['EE_Registry::create(from_db)'])
92
-                ? filter_var($arguments['EE_Registry::create(from_db)'], FILTER_VALIDATE_BOOLEAN)
93
-                : false;
94
-            // load_only
95
-            $load_only = isset($arguments['EE_Registry::create(load_only)'])
96
-                ? filter_var($arguments['EE_Registry::create(load_only)'], FILTER_VALIDATE_BOOLEAN)
97
-                : false;
98
-            // addon
99
-            $addon = isset($arguments['EE_Registry::create(addon)'])
100
-                ? filter_var($arguments['EE_Registry::create(addon)'], FILTER_VALIDATE_BOOLEAN)
101
-                : false;
102
-            unset(
103
-                $arguments['EE_Registry::create(from_db)'],
104
-                $arguments['EE_Registry::create(load_only)'],
105
-                $arguments['EE_Registry::create(addon)']
106
-            );
107
-            // addons need to be cached on EE_Registry
108
-            $shared = $addon ? true : $shared;
109
-            return $this->generator->create(
110
-                $fqcn,
111
-                $arguments,
112
-                $shared,
113
-                $from_db,
114
-                $load_only,
115
-                $addon
116
-            );
117
-        }
118
-        return $this->generator->brew(
119
-            $fqcn,
120
-            $arguments,
121
-            $shared ? CoffeeMaker::BREW_SHARED : CoffeeMaker::BREW_NEW
122
-        );
123
-    }
57
+	/**
58
+	 * Calls the appropriate loading method from the installed generator;
59
+	 * If EE_Registry is being used, then the additional parameters for the EE_Registry::create() method
60
+	 * can be added to the $arguments array and they will be extracted and passed to EE_Registry::create(),
61
+	 * but NOT to the class being instantiated.
62
+	 * This is done by adding the parameters to the $arguments array as follows:
63
+	 *  array(
64
+	 *      'EE_Registry::create(from_db)'   => true, // boolean value, default = false
65
+	 *      'EE_Registry::create(load_only)' => true, // boolean value, default = false
66
+	 *      'EE_Registry::create(addon)'     => true, // boolean value, default = false
67
+	 *  )
68
+	 *
69
+	 * @param string $fqcn
70
+	 * @param array  $arguments
71
+	 * @param bool   $shared
72
+	 * @return mixed
73
+	 * @throws OutOfBoundsException
74
+	 * @throws ServiceExistsException
75
+	 * @throws InstantiationException
76
+	 * @throws InvalidIdentifierException
77
+	 * @throws InvalidDataTypeException
78
+	 * @throws InvalidClassException
79
+	 * @throws EE_Error
80
+	 * @throws ServiceNotFoundException
81
+	 * @throws ReflectionException
82
+	 * @throws InvalidInterfaceException
83
+	 * @throws InvalidArgumentException
84
+	 */
85
+	public function load($fqcn, $arguments = array(), $shared = true)
86
+	{
87
+		$shared = filter_var($shared, FILTER_VALIDATE_BOOLEAN);
88
+		if ($this->generator instanceof EE_Registry) {
89
+			// check if additional EE_Registry::create() arguments have been passed
90
+			// from_db
91
+			$from_db = isset($arguments['EE_Registry::create(from_db)'])
92
+				? filter_var($arguments['EE_Registry::create(from_db)'], FILTER_VALIDATE_BOOLEAN)
93
+				: false;
94
+			// load_only
95
+			$load_only = isset($arguments['EE_Registry::create(load_only)'])
96
+				? filter_var($arguments['EE_Registry::create(load_only)'], FILTER_VALIDATE_BOOLEAN)
97
+				: false;
98
+			// addon
99
+			$addon = isset($arguments['EE_Registry::create(addon)'])
100
+				? filter_var($arguments['EE_Registry::create(addon)'], FILTER_VALIDATE_BOOLEAN)
101
+				: false;
102
+			unset(
103
+				$arguments['EE_Registry::create(from_db)'],
104
+				$arguments['EE_Registry::create(load_only)'],
105
+				$arguments['EE_Registry::create(addon)']
106
+			);
107
+			// addons need to be cached on EE_Registry
108
+			$shared = $addon ? true : $shared;
109
+			return $this->generator->create(
110
+				$fqcn,
111
+				$arguments,
112
+				$shared,
113
+				$from_db,
114
+				$load_only,
115
+				$addon
116
+			);
117
+		}
118
+		return $this->generator->brew(
119
+			$fqcn,
120
+			$arguments,
121
+			$shared ? CoffeeMaker::BREW_SHARED : CoffeeMaker::BREW_NEW
122
+		);
123
+	}
124 124
 
125 125
 
126
-    /**
127
-     * calls reset() on generator if method exists
128
-     *
129
-     * @throws EE_Error
130
-     * @throws ReflectionException
131
-     */
132
-    public function reset()
133
-    {
134
-        if ($this->generator instanceof ResettableInterface) {
135
-            $this->generator->reset();
136
-        }
137
-    }
126
+	/**
127
+	 * calls reset() on generator if method exists
128
+	 *
129
+	 * @throws EE_Error
130
+	 * @throws ReflectionException
131
+	 */
132
+	public function reset()
133
+	{
134
+		if ($this->generator instanceof ResettableInterface) {
135
+			$this->generator->reset();
136
+		}
137
+	}
138 138
 }
Please login to merge, or discard this patch.
core/domain/services/custom_post_types/RegisterCustomPostTypes.php 2 patches
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -61,7 +61,7 @@
 block discarded – undo
61 61
     {
62 62
         $custom_post_types = $this->custom_post_types->getDefinitions();
63 63
         foreach ($custom_post_types as $custom_post_type => $CPT) {
64
-            $this->wp_post_types[ $custom_post_type ] = $this->registerCustomPostType(
64
+            $this->wp_post_types[$custom_post_type] = $this->registerCustomPostType(
65 65
                 $custom_post_type,
66 66
                 $CPT['singular_name'],
67 67
                 $CPT['plural_name'],
Please login to merge, or discard this patch.
Indentation   +295 added lines, -295 removed lines patch added patch discarded remove patch
@@ -17,314 +17,314 @@
 block discarded – undo
17 17
  */
18 18
 class RegisterCustomPostTypes
19 19
 {
20
-    /**
21
-     * @var CustomPostTypeDefinitions $custom_post_types
22
-     */
23
-    public $custom_post_types;
20
+	/**
21
+	 * @var CustomPostTypeDefinitions $custom_post_types
22
+	 */
23
+	public $custom_post_types;
24 24
 
25
-    /**
26
-     * @var WP_Post_Type[] $wp_post_types
27
-     */
28
-    public $wp_post_types = array();
25
+	/**
26
+	 * @var WP_Post_Type[] $wp_post_types
27
+	 */
28
+	public $wp_post_types = array();
29 29
 
30 30
 
31
-    /**
32
-     * RegisterCustomPostTypes constructor.
33
-     *
34
-     * @param CustomPostTypeDefinitions $custom_post_types
35
-     */
36
-    public function __construct(CustomPostTypeDefinitions $custom_post_types)
37
-    {
38
-        $this->custom_post_types = $custom_post_types;
39
-    }
31
+	/**
32
+	 * RegisterCustomPostTypes constructor.
33
+	 *
34
+	 * @param CustomPostTypeDefinitions $custom_post_types
35
+	 */
36
+	public function __construct(CustomPostTypeDefinitions $custom_post_types)
37
+	{
38
+		$this->custom_post_types = $custom_post_types;
39
+	}
40 40
 
41 41
 
42
-    /**
43
-     * @return WP_Post_Type[]
44
-     */
45
-    public function getRegisteredCustomPostTypes()
46
-    {
47
-        return $this->wp_post_types;
48
-    }
42
+	/**
43
+	 * @return WP_Post_Type[]
44
+	 */
45
+	public function getRegisteredCustomPostTypes()
46
+	{
47
+		return $this->wp_post_types;
48
+	}
49 49
 
50 50
 
51
-    /**
52
-     * @return void
53
-     * @throws DomainException
54
-     */
55
-    public function registerCustomPostTypes()
56
-    {
57
-        $custom_post_types = $this->custom_post_types->getDefinitions();
58
-        foreach ($custom_post_types as $custom_post_type => $CPT) {
59
-            $this->wp_post_types[ $custom_post_type ] = $this->registerCustomPostType(
60
-                $custom_post_type,
61
-                $CPT['singular_name'],
62
-                $CPT['plural_name'],
63
-                $CPT['singular_slug'],
64
-                $CPT['plural_slug'],
65
-                $CPT['args']
66
-            );
67
-        }
68
-    }
51
+	/**
52
+	 * @return void
53
+	 * @throws DomainException
54
+	 */
55
+	public function registerCustomPostTypes()
56
+	{
57
+		$custom_post_types = $this->custom_post_types->getDefinitions();
58
+		foreach ($custom_post_types as $custom_post_type => $CPT) {
59
+			$this->wp_post_types[ $custom_post_type ] = $this->registerCustomPostType(
60
+				$custom_post_type,
61
+				$CPT['singular_name'],
62
+				$CPT['plural_name'],
63
+				$CPT['singular_slug'],
64
+				$CPT['plural_slug'],
65
+				$CPT['args']
66
+			);
67
+		}
68
+	}
69 69
 
70 70
 
71
-    /**
72
-     * Registers a new custom post type. Sets default settings given only the following params.
73
-     * Returns the registered post type object, or an error object.
74
-     *
75
-     * @param string $post_type          the actual post type name
76
-     *                                   IMPORTANT:
77
-     *                                   this must match what the slug is for admin pages related to this CPT
78
-     *                                   Also any models must use this slug as well
79
-     * @param string $singular_name      a pre-internationalized string for the singular name of the objects
80
-     * @param string $plural_name        a pre-internationalized string for the plural name of the objects
81
-     * @param string $singular_slug
82
-     * @param string $plural_slug
83
-     * @param array  $override_arguments exactly like $args as described in
84
-     *                                   http://codex.wordpress.org/Function_Reference/register_post_type
85
-     * @return WP_Post_Type|WP_Error
86
-     * @throws DomainException
87
-     */
88
-    public function registerCustomPostType(
89
-        $post_type,
90
-        $singular_name,
91
-        $plural_name,
92
-        $singular_slug = '',
93
-        $plural_slug = '',
94
-        array $override_arguments = array()
95
-    ) {
96
-        $wp_post_type = register_post_type(
97
-            $post_type,
98
-            $this->prepareArguments(
99
-                $post_type,
100
-                $singular_name,
101
-                $plural_name,
102
-                $singular_slug,
103
-                $plural_slug,
104
-                $override_arguments
105
-            )
106
-        );
107
-        if ($wp_post_type instanceof WP_Error) {
108
-            throw new DomainException($wp_post_type->get_error_message());
109
-        }
110
-        return $wp_post_type;
111
-    }
71
+	/**
72
+	 * Registers a new custom post type. Sets default settings given only the following params.
73
+	 * Returns the registered post type object, or an error object.
74
+	 *
75
+	 * @param string $post_type          the actual post type name
76
+	 *                                   IMPORTANT:
77
+	 *                                   this must match what the slug is for admin pages related to this CPT
78
+	 *                                   Also any models must use this slug as well
79
+	 * @param string $singular_name      a pre-internationalized string for the singular name of the objects
80
+	 * @param string $plural_name        a pre-internationalized string for the plural name of the objects
81
+	 * @param string $singular_slug
82
+	 * @param string $plural_slug
83
+	 * @param array  $override_arguments exactly like $args as described in
84
+	 *                                   http://codex.wordpress.org/Function_Reference/register_post_type
85
+	 * @return WP_Post_Type|WP_Error
86
+	 * @throws DomainException
87
+	 */
88
+	public function registerCustomPostType(
89
+		$post_type,
90
+		$singular_name,
91
+		$plural_name,
92
+		$singular_slug = '',
93
+		$plural_slug = '',
94
+		array $override_arguments = array()
95
+	) {
96
+		$wp_post_type = register_post_type(
97
+			$post_type,
98
+			$this->prepareArguments(
99
+				$post_type,
100
+				$singular_name,
101
+				$plural_name,
102
+				$singular_slug,
103
+				$plural_slug,
104
+				$override_arguments
105
+			)
106
+		);
107
+		if ($wp_post_type instanceof WP_Error) {
108
+			throw new DomainException($wp_post_type->get_error_message());
109
+		}
110
+		return $wp_post_type;
111
+	}
112 112
 
113 113
 
114
-    /**
115
-     * @param string $post_type          the actual post type name
116
-     * @param string $singular_name      a pre-internationalized string for the singular name of the objects
117
-     * @param string $plural_name        a pre-internationalized string for the plural name of the objects
118
-     * @param string $singular_slug
119
-     * @param string $plural_slug
120
-     * @param array  $override_arguments The default values set in this function will be overridden
121
-     *                                   by whatever you set in $override_arguments
122
-     * @return array
123
-     */
124
-    protected function prepareArguments(
125
-        $post_type,
126
-        $singular_name,
127
-        $plural_name,
128
-        $singular_slug,
129
-        $plural_slug,
130
-        array $override_arguments = array()
131
-    ) {
132
-        // verify plural slug and singular slug, if they aren't we'll use $singular_name and $plural_name
133
-        $singular_slug = ! empty($singular_slug) ? $singular_slug : $singular_name;
134
-        $plural_slug = ! empty($plural_slug) ? $plural_slug : $plural_name;
135
-        $labels = $this->getLabels(
136
-            $singular_name,
137
-            $plural_name,
138
-            $singular_slug,
139
-            $plural_slug
140
-        );
141
-        // note the page_templates arg in the supports index is something specific to EE.
142
-        // WordPress doesn't actually have that in their register_post_type api.
143
-        $arguments = $this->getDefaultArguments($labels, $post_type, $plural_slug);
144
-        if ($override_arguments) {
145
-            if (isset($override_arguments['labels'])) {
146
-                $labels = array_merge($arguments['labels'], $override_arguments['labels']);
147
-            }
148
-            $arguments = array_merge($arguments, $override_arguments);
149
-            $arguments['labels'] = $labels;
150
-        }
151
-        return $arguments;
152
-    }
114
+	/**
115
+	 * @param string $post_type          the actual post type name
116
+	 * @param string $singular_name      a pre-internationalized string for the singular name of the objects
117
+	 * @param string $plural_name        a pre-internationalized string for the plural name of the objects
118
+	 * @param string $singular_slug
119
+	 * @param string $plural_slug
120
+	 * @param array  $override_arguments The default values set in this function will be overridden
121
+	 *                                   by whatever you set in $override_arguments
122
+	 * @return array
123
+	 */
124
+	protected function prepareArguments(
125
+		$post_type,
126
+		$singular_name,
127
+		$plural_name,
128
+		$singular_slug,
129
+		$plural_slug,
130
+		array $override_arguments = array()
131
+	) {
132
+		// verify plural slug and singular slug, if they aren't we'll use $singular_name and $plural_name
133
+		$singular_slug = ! empty($singular_slug) ? $singular_slug : $singular_name;
134
+		$plural_slug = ! empty($plural_slug) ? $plural_slug : $plural_name;
135
+		$labels = $this->getLabels(
136
+			$singular_name,
137
+			$plural_name,
138
+			$singular_slug,
139
+			$plural_slug
140
+		);
141
+		// note the page_templates arg in the supports index is something specific to EE.
142
+		// WordPress doesn't actually have that in their register_post_type api.
143
+		$arguments = $this->getDefaultArguments($labels, $post_type, $plural_slug);
144
+		if ($override_arguments) {
145
+			if (isset($override_arguments['labels'])) {
146
+				$labels = array_merge($arguments['labels'], $override_arguments['labels']);
147
+			}
148
+			$arguments = array_merge($arguments, $override_arguments);
149
+			$arguments['labels'] = $labels;
150
+		}
151
+		return $arguments;
152
+	}
153 153
 
154 154
 
155
-    /**
156
-     * @param string $singular_name
157
-     * @param string $plural_name
158
-     * @param string $singular_slug
159
-     * @param string $plural_slug
160
-     * @return array
161
-     */
162
-    private function getLabels($singular_name, $plural_name, $singular_slug, $plural_slug)
163
-    {
164
-        return array(
165
-            'name'                     => $plural_name,
166
-            'singular_name'            => $singular_name,
167
-            'singular_slug'            => $singular_slug,
168
-            'plural_slug'              => $plural_slug,
169
-            'add_new'                  => sprintf(
170
-                /* Translators: Post Type Label */
171
-                esc_html_x('Add New %s', 'Add New Event', 'event_espresso'),
172
-                $singular_name
173
-            ),
174
-            'add_new_item'             => sprintf(
175
-                /* Translators: Post Type Label */
176
-                esc_html_x('Add New %s', 'Add New Event', 'event_espresso'),
177
-                $singular_name
178
-            ),
179
-            'edit_item'                => sprintf(
180
-                /* Translators: Post Type Label */
181
-                esc_html_x('Edit %s', 'Edit Event', 'event_espresso'),
182
-                $singular_name
183
-            ),
184
-            'new_item'                 => sprintf(
185
-                /* Translators: Post Type Label */
186
-                esc_html_x('New %s', 'New Event', 'event_espresso'),
187
-                $singular_name
188
-            ),
189
-            'all_items'                => sprintf(
190
-                /* Translators: Post Type Label */
191
-                esc_html_x('All %s', 'All Events', 'event_espresso'),
192
-                $plural_name
193
-            ),
194
-            'view_item'                => sprintf(
195
-                /* Translators: Post Type Label */
196
-                esc_html_x('View %s', 'View Event', 'event_espresso'),
197
-                $singular_name
198
-            ),
199
-            'view_items'               => sprintf(
200
-                /* Translators: Post Type Label */
201
-                esc_html_x('View %s', 'View Events', 'event_espresso'),
202
-                $plural_name
203
-            ),
204
-            'archives'                 => sprintf(
205
-                /* Translators: Post Type Label */
206
-                esc_html_x('%s Archives', 'Event Archives', 'event_espresso'),
207
-                $singular_name
208
-            ),
209
-            'attributes'               => sprintf(
210
-                /* Translators: Post Type Label */
211
-                esc_html_x('%s Attributes', 'Event Attributes', 'event_espresso'),
212
-                $singular_name
213
-            ),
214
-            'insert_into_item'         => sprintf(
215
-                /* Translators: Post Type Label */
216
-                esc_html_x('Insert into this %s', 'Insert into this Event', 'event_espresso'),
217
-                $singular_name
218
-            ),
219
-            'uploaded_to_this_item'    => sprintf(
220
-                /* Translators: Post Type Label */
221
-                esc_html_x('Uploaded to this %s', 'Uploaded to this Event', 'event_espresso'),
222
-                $singular_name
223
-            ),
224
-            'filter_items_list'        => sprintf(
225
-                /* Translators: Post Type Label */
226
-                esc_html_x('Filter %s list', 'Filter Events list', 'event_espresso'),
227
-                $plural_name
228
-            ),
229
-            'items_list_navigation'    => sprintf(
230
-                /* Translators: Post Type Label */
231
-                esc_html_x('%s list navigation', 'Events list navigation', 'event_espresso'),
232
-                $plural_name
233
-            ),
234
-            'items_list'               => sprintf(
235
-                /* Translators: Post Type Label */
236
-                esc_html_x('%s list', 'Events list', 'event_espresso'),
237
-                $plural_name
238
-            ),
239
-            'item_published'           => sprintf(
240
-                /* Translators: Post Type Label */
241
-                esc_html_x('%s published', 'Event published', 'event_espresso'),
242
-                $singular_name
243
-            ),
244
-            'item_published_privately' => sprintf(
245
-                /* Translators: Post Type Label */
246
-                esc_html_x('%s published privately', 'Event published privately', 'event_espresso'),
247
-                $singular_name
248
-            ),
249
-            'item_reverted_to_draft'   => sprintf(
250
-                /* Translators: Post Type Label */
251
-                esc_html_x('%s reverted to draft', 'Event reverted to draft', 'event_espresso'),
252
-                $singular_name
253
-            ),
254
-            'item_scheduled'           => sprintf(
255
-                /* Translators: Post Type Label */
256
-                esc_html_x('%s scheduled', 'Event scheduled', 'event_espresso'),
257
-                $singular_name
258
-            ),
259
-            'item_updated'             => sprintf(
260
-                /* Translators: Post Type Label */
261
-                esc_html_x('%s updated', 'Event updated', 'event_espresso'),
262
-                $singular_name
263
-            ),
264
-            'search_items'             => sprintf(
265
-                /* Translators: Post Type Label */
266
-                esc_html_x('Search %s', 'Search Events', 'event_espresso'),
267
-                $plural_name
268
-            ),
269
-            'not_found'                => sprintf(
270
-                /* Translators: Post Type Label */
271
-                esc_html_x('No %s found', 'No Events found', 'event_espresso'),
272
-                $plural_name
273
-            ),
274
-            'not_found_in_trash'       => sprintf(
275
-                /* Translators: Post Type Label */
276
-                esc_html_x('No %s found in Trash', 'No Events found in Trash', 'event_espresso'),
277
-                $plural_name
278
-            ),
279
-            'parent_item_colon'        => '',
280
-            'menu_name'                => $plural_name,
281
-        );
282
-    }
155
+	/**
156
+	 * @param string $singular_name
157
+	 * @param string $plural_name
158
+	 * @param string $singular_slug
159
+	 * @param string $plural_slug
160
+	 * @return array
161
+	 */
162
+	private function getLabels($singular_name, $plural_name, $singular_slug, $plural_slug)
163
+	{
164
+		return array(
165
+			'name'                     => $plural_name,
166
+			'singular_name'            => $singular_name,
167
+			'singular_slug'            => $singular_slug,
168
+			'plural_slug'              => $plural_slug,
169
+			'add_new'                  => sprintf(
170
+				/* Translators: Post Type Label */
171
+				esc_html_x('Add New %s', 'Add New Event', 'event_espresso'),
172
+				$singular_name
173
+			),
174
+			'add_new_item'             => sprintf(
175
+				/* Translators: Post Type Label */
176
+				esc_html_x('Add New %s', 'Add New Event', 'event_espresso'),
177
+				$singular_name
178
+			),
179
+			'edit_item'                => sprintf(
180
+				/* Translators: Post Type Label */
181
+				esc_html_x('Edit %s', 'Edit Event', 'event_espresso'),
182
+				$singular_name
183
+			),
184
+			'new_item'                 => sprintf(
185
+				/* Translators: Post Type Label */
186
+				esc_html_x('New %s', 'New Event', 'event_espresso'),
187
+				$singular_name
188
+			),
189
+			'all_items'                => sprintf(
190
+				/* Translators: Post Type Label */
191
+				esc_html_x('All %s', 'All Events', 'event_espresso'),
192
+				$plural_name
193
+			),
194
+			'view_item'                => sprintf(
195
+				/* Translators: Post Type Label */
196
+				esc_html_x('View %s', 'View Event', 'event_espresso'),
197
+				$singular_name
198
+			),
199
+			'view_items'               => sprintf(
200
+				/* Translators: Post Type Label */
201
+				esc_html_x('View %s', 'View Events', 'event_espresso'),
202
+				$plural_name
203
+			),
204
+			'archives'                 => sprintf(
205
+				/* Translators: Post Type Label */
206
+				esc_html_x('%s Archives', 'Event Archives', 'event_espresso'),
207
+				$singular_name
208
+			),
209
+			'attributes'               => sprintf(
210
+				/* Translators: Post Type Label */
211
+				esc_html_x('%s Attributes', 'Event Attributes', 'event_espresso'),
212
+				$singular_name
213
+			),
214
+			'insert_into_item'         => sprintf(
215
+				/* Translators: Post Type Label */
216
+				esc_html_x('Insert into this %s', 'Insert into this Event', 'event_espresso'),
217
+				$singular_name
218
+			),
219
+			'uploaded_to_this_item'    => sprintf(
220
+				/* Translators: Post Type Label */
221
+				esc_html_x('Uploaded to this %s', 'Uploaded to this Event', 'event_espresso'),
222
+				$singular_name
223
+			),
224
+			'filter_items_list'        => sprintf(
225
+				/* Translators: Post Type Label */
226
+				esc_html_x('Filter %s list', 'Filter Events list', 'event_espresso'),
227
+				$plural_name
228
+			),
229
+			'items_list_navigation'    => sprintf(
230
+				/* Translators: Post Type Label */
231
+				esc_html_x('%s list navigation', 'Events list navigation', 'event_espresso'),
232
+				$plural_name
233
+			),
234
+			'items_list'               => sprintf(
235
+				/* Translators: Post Type Label */
236
+				esc_html_x('%s list', 'Events list', 'event_espresso'),
237
+				$plural_name
238
+			),
239
+			'item_published'           => sprintf(
240
+				/* Translators: Post Type Label */
241
+				esc_html_x('%s published', 'Event published', 'event_espresso'),
242
+				$singular_name
243
+			),
244
+			'item_published_privately' => sprintf(
245
+				/* Translators: Post Type Label */
246
+				esc_html_x('%s published privately', 'Event published privately', 'event_espresso'),
247
+				$singular_name
248
+			),
249
+			'item_reverted_to_draft'   => sprintf(
250
+				/* Translators: Post Type Label */
251
+				esc_html_x('%s reverted to draft', 'Event reverted to draft', 'event_espresso'),
252
+				$singular_name
253
+			),
254
+			'item_scheduled'           => sprintf(
255
+				/* Translators: Post Type Label */
256
+				esc_html_x('%s scheduled', 'Event scheduled', 'event_espresso'),
257
+				$singular_name
258
+			),
259
+			'item_updated'             => sprintf(
260
+				/* Translators: Post Type Label */
261
+				esc_html_x('%s updated', 'Event updated', 'event_espresso'),
262
+				$singular_name
263
+			),
264
+			'search_items'             => sprintf(
265
+				/* Translators: Post Type Label */
266
+				esc_html_x('Search %s', 'Search Events', 'event_espresso'),
267
+				$plural_name
268
+			),
269
+			'not_found'                => sprintf(
270
+				/* Translators: Post Type Label */
271
+				esc_html_x('No %s found', 'No Events found', 'event_espresso'),
272
+				$plural_name
273
+			),
274
+			'not_found_in_trash'       => sprintf(
275
+				/* Translators: Post Type Label */
276
+				esc_html_x('No %s found in Trash', 'No Events found in Trash', 'event_espresso'),
277
+				$plural_name
278
+			),
279
+			'parent_item_colon'        => '',
280
+			'menu_name'                => $plural_name,
281
+		);
282
+	}
283 283
 
284 284
 
285
-    /**
286
-     * @param array  $labels
287
-     * @param string $post_type
288
-     * @param string $plural_slug
289
-     * @return array
290
-     */
291
-    private function getDefaultArguments(array $labels, $post_type, $plural_slug)
292
-    {
293
-        return array(
294
-            'labels'             => $labels,
295
-            'public'             => true,
296
-            'publicly_queryable' => true,
297
-            'show_ui'            => false,
298
-            'show_ee_ui'         => true,
299
-            'show_in_menu'       => false,
300
-            'show_in_nav_menus'  => false,
301
-            'query_var'          => true,
302
-            'rewrite'            => apply_filters(
303
-                'FHEE__EventEspresso_core_domain_entities_custom_post_types_RegisterCustomPostTypes__getDefaultArguments__rewrite',
304
-                // legacy filter applied for now,
305
-                // later on we'll run a has_filter($tag) check and throw a doing_it_wrong() notice
306
-                apply_filters(
307
-                    'FHEE__EE_Register_CPTs__register_CPT__rewrite',
308
-                    array('slug' => $plural_slug),
309
-                    $post_type
310
-                ),
311
-                $post_type,
312
-                $plural_slug
313
-            ),
314
-            'capability_type'    => 'post',
315
-            'map_meta_cap'       => true,
316
-            'has_archive'        => true,
317
-            'hierarchical'       => false,
318
-            'menu_position'      => null,
319
-            'supports'           => array(
320
-                'title',
321
-                'editor',
322
-                'author',
323
-                'thumbnail',
324
-                'excerpt',
325
-                'custom-fields',
326
-                'comments',
327
-            ),
328
-        );
329
-    }
285
+	/**
286
+	 * @param array  $labels
287
+	 * @param string $post_type
288
+	 * @param string $plural_slug
289
+	 * @return array
290
+	 */
291
+	private function getDefaultArguments(array $labels, $post_type, $plural_slug)
292
+	{
293
+		return array(
294
+			'labels'             => $labels,
295
+			'public'             => true,
296
+			'publicly_queryable' => true,
297
+			'show_ui'            => false,
298
+			'show_ee_ui'         => true,
299
+			'show_in_menu'       => false,
300
+			'show_in_nav_menus'  => false,
301
+			'query_var'          => true,
302
+			'rewrite'            => apply_filters(
303
+				'FHEE__EventEspresso_core_domain_entities_custom_post_types_RegisterCustomPostTypes__getDefaultArguments__rewrite',
304
+				// legacy filter applied for now,
305
+				// later on we'll run a has_filter($tag) check and throw a doing_it_wrong() notice
306
+				apply_filters(
307
+					'FHEE__EE_Register_CPTs__register_CPT__rewrite',
308
+					array('slug' => $plural_slug),
309
+					$post_type
310
+				),
311
+				$post_type,
312
+				$plural_slug
313
+			),
314
+			'capability_type'    => 'post',
315
+			'map_meta_cap'       => true,
316
+			'has_archive'        => true,
317
+			'hierarchical'       => false,
318
+			'menu_position'      => null,
319
+			'supports'           => array(
320
+				'title',
321
+				'editor',
322
+				'author',
323
+				'thumbnail',
324
+				'excerpt',
325
+				'custom-fields',
326
+				'comments',
327
+			),
328
+		);
329
+	}
330 330
 }
Please login to merge, or discard this patch.
caffeinated/modules/recaptcha/ReCaptcha/RequestMethod/SocketPost.php 2 patches
Indentation   +83 added lines, -83 removed lines patch added patch discarded remove patch
@@ -33,87 +33,87 @@
 block discarded – undo
33 33
  */
34 34
 class SocketPost implements RequestMethod
35 35
 {
36
-    /**
37
-     * reCAPTCHA service host.
38
-     *
39
-     * @const string
40
-     */
41
-    const RECAPTCHA_HOST = 'www.google.com';
42
-
43
-    /**
44
-     * @const string reCAPTCHA service path
45
-     */
46
-    const SITE_VERIFY_PATH = '/recaptcha/api/siteverify';
47
-
48
-    /**
49
-     * @const string Bad request error
50
-     */
51
-    const BAD_REQUEST = '{"success": false, "error-codes": ["invalid-request"]}';
52
-
53
-    /**
54
-     * @const string Bad response error
55
-     */
56
-    const BAD_RESPONSE = '{"success": false, "error-codes": ["invalid-response"]}';
57
-
58
-    /**
59
-     * Socket to the reCAPTCHA service
60
-     *
61
-     * @var Socket
62
-     */
63
-    private $socket;
64
-
65
-    /**
66
-     * Constructor
67
-     *
68
-     * @param \ReCaptcha\RequestMethod\Socket $socket optional socket, injectable for testing
69
-     */
70
-    public function __construct(Socket $socket = null)
71
-    {
72
-        if (! is_null($socket)) {
73
-            $this->socket = $socket;
74
-        } else {
75
-            $this->socket = new Socket();
76
-        }
77
-    }
78
-
79
-    /**
80
-     * Submit the POST request with the specified parameters.
81
-     *
82
-     * @param RequestParameters $params Request parameters
83
-     * @return string Body of the reCAPTCHA response
84
-     */
85
-    public function submit(RequestParameters $params)
86
-    {
87
-        $errno = 0;
88
-        $errstr = '';
89
-
90
-        if ($this->socket->fsockopen('ssl://' . self::RECAPTCHA_HOST, 443, $errno, $errstr, 30) !== false) {
91
-            $content = $params->toQueryString();
92
-
93
-            $request = "POST " . self::SITE_VERIFY_PATH . " HTTP/1.1\r\n";
94
-            $request .= "Host: " . self::RECAPTCHA_HOST . "\r\n";
95
-            $request .= "Content-Type: application/x-www-form-urlencoded\r\n";
96
-            $request .= "Content-length: " . strlen($content) . "\r\n";
97
-            $request .= "Connection: close\r\n\r\n";
98
-            $request .= $content . "\r\n\r\n";
99
-
100
-            $this->socket->fwrite($request);
101
-            $response = '';
102
-
103
-            while (! $this->socket->feof()) {
104
-                $response .= $this->socket->fgets(4096);
105
-            }
106
-
107
-            $this->socket->fclose();
108
-
109
-            if (0 === strpos($response, 'HTTP/1.1 200 OK')) {
110
-                $parts = preg_split("#\n\s*\n#Uis", $response);
111
-                return $parts[1];
112
-            }
113
-
114
-            return self::BAD_RESPONSE;
115
-        }
116
-
117
-        return self::BAD_REQUEST;
118
-    }
36
+	/**
37
+	 * reCAPTCHA service host.
38
+	 *
39
+	 * @const string
40
+	 */
41
+	const RECAPTCHA_HOST = 'www.google.com';
42
+
43
+	/**
44
+	 * @const string reCAPTCHA service path
45
+	 */
46
+	const SITE_VERIFY_PATH = '/recaptcha/api/siteverify';
47
+
48
+	/**
49
+	 * @const string Bad request error
50
+	 */
51
+	const BAD_REQUEST = '{"success": false, "error-codes": ["invalid-request"]}';
52
+
53
+	/**
54
+	 * @const string Bad response error
55
+	 */
56
+	const BAD_RESPONSE = '{"success": false, "error-codes": ["invalid-response"]}';
57
+
58
+	/**
59
+	 * Socket to the reCAPTCHA service
60
+	 *
61
+	 * @var Socket
62
+	 */
63
+	private $socket;
64
+
65
+	/**
66
+	 * Constructor
67
+	 *
68
+	 * @param \ReCaptcha\RequestMethod\Socket $socket optional socket, injectable for testing
69
+	 */
70
+	public function __construct(Socket $socket = null)
71
+	{
72
+		if (! is_null($socket)) {
73
+			$this->socket = $socket;
74
+		} else {
75
+			$this->socket = new Socket();
76
+		}
77
+	}
78
+
79
+	/**
80
+	 * Submit the POST request with the specified parameters.
81
+	 *
82
+	 * @param RequestParameters $params Request parameters
83
+	 * @return string Body of the reCAPTCHA response
84
+	 */
85
+	public function submit(RequestParameters $params)
86
+	{
87
+		$errno = 0;
88
+		$errstr = '';
89
+
90
+		if ($this->socket->fsockopen('ssl://' . self::RECAPTCHA_HOST, 443, $errno, $errstr, 30) !== false) {
91
+			$content = $params->toQueryString();
92
+
93
+			$request = "POST " . self::SITE_VERIFY_PATH . " HTTP/1.1\r\n";
94
+			$request .= "Host: " . self::RECAPTCHA_HOST . "\r\n";
95
+			$request .= "Content-Type: application/x-www-form-urlencoded\r\n";
96
+			$request .= "Content-length: " . strlen($content) . "\r\n";
97
+			$request .= "Connection: close\r\n\r\n";
98
+			$request .= $content . "\r\n\r\n";
99
+
100
+			$this->socket->fwrite($request);
101
+			$response = '';
102
+
103
+			while (! $this->socket->feof()) {
104
+				$response .= $this->socket->fgets(4096);
105
+			}
106
+
107
+			$this->socket->fclose();
108
+
109
+			if (0 === strpos($response, 'HTTP/1.1 200 OK')) {
110
+				$parts = preg_split("#\n\s*\n#Uis", $response);
111
+				return $parts[1];
112
+			}
113
+
114
+			return self::BAD_RESPONSE;
115
+		}
116
+
117
+		return self::BAD_REQUEST;
118
+	}
119 119
 }
Please login to merge, or discard this patch.
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -69,7 +69,7 @@  discard block
 block discarded – undo
69 69
      */
70 70
     public function __construct(Socket $socket = null)
71 71
     {
72
-        if (! is_null($socket)) {
72
+        if ( ! is_null($socket)) {
73 73
             $this->socket = $socket;
74 74
         } else {
75 75
             $this->socket = new Socket();
@@ -87,20 +87,20 @@  discard block
 block discarded – undo
87 87
         $errno = 0;
88 88
         $errstr = '';
89 89
 
90
-        if ($this->socket->fsockopen('ssl://' . self::RECAPTCHA_HOST, 443, $errno, $errstr, 30) !== false) {
90
+        if ($this->socket->fsockopen('ssl://'.self::RECAPTCHA_HOST, 443, $errno, $errstr, 30) !== false) {
91 91
             $content = $params->toQueryString();
92 92
 
93
-            $request = "POST " . self::SITE_VERIFY_PATH . " HTTP/1.1\r\n";
94
-            $request .= "Host: " . self::RECAPTCHA_HOST . "\r\n";
93
+            $request = "POST ".self::SITE_VERIFY_PATH." HTTP/1.1\r\n";
94
+            $request .= "Host: ".self::RECAPTCHA_HOST."\r\n";
95 95
             $request .= "Content-Type: application/x-www-form-urlencoded\r\n";
96
-            $request .= "Content-length: " . strlen($content) . "\r\n";
96
+            $request .= "Content-length: ".strlen($content)."\r\n";
97 97
             $request .= "Connection: close\r\n\r\n";
98
-            $request .= $content . "\r\n\r\n";
98
+            $request .= $content."\r\n\r\n";
99 99
 
100 100
             $this->socket->fwrite($request);
101 101
             $response = '';
102 102
 
103
-            while (! $this->socket->feof()) {
103
+            while ( ! $this->socket->feof()) {
104 104
                 $response .= $this->socket->fgets(4096);
105 105
             }
106 106
 
Please login to merge, or discard this patch.
caffeinated/modules/recaptcha/ReCaptcha/RequestMethod/Socket.php 1 patch
Indentation   +69 added lines, -69 removed lines patch added patch discarded remove patch
@@ -29,79 +29,79 @@
 block discarded – undo
29 29
  */
30 30
 class Socket
31 31
 {
32
-    private $handle = null;
32
+	private $handle = null;
33 33
 
34
-    /**
35
-     * fsockopen
36
-     *
37
-     * @see http://php.net/fsockopen
38
-     * @param string $hostname
39
-     * @param int    $port
40
-     * @param int    $errno
41
-     * @param string $errstr
42
-     * @param float  $timeout
43
-     * @return resource
44
-     */
45
-    public function fsockopen($hostname, $port = -1, &$errno = 0, &$errstr = '', $timeout = null)
46
-    {
47
-        $this->handle = fsockopen(
48
-            $hostname,
49
-            $port,
50
-            $errno,
51
-            $errstr,
52
-            (is_null($timeout) ? ini_get("default_socket_timeout") : $timeout)
53
-        );
34
+	/**
35
+	 * fsockopen
36
+	 *
37
+	 * @see http://php.net/fsockopen
38
+	 * @param string $hostname
39
+	 * @param int    $port
40
+	 * @param int    $errno
41
+	 * @param string $errstr
42
+	 * @param float  $timeout
43
+	 * @return resource
44
+	 */
45
+	public function fsockopen($hostname, $port = -1, &$errno = 0, &$errstr = '', $timeout = null)
46
+	{
47
+		$this->handle = fsockopen(
48
+			$hostname,
49
+			$port,
50
+			$errno,
51
+			$errstr,
52
+			(is_null($timeout) ? ini_get("default_socket_timeout") : $timeout)
53
+		);
54 54
 
55
-        if ($this->handle != false && $errno === 0 && $errstr === '') {
56
-            return $this->handle;
57
-        } else {
58
-            return false;
59
-        }
60
-    }
55
+		if ($this->handle != false && $errno === 0 && $errstr === '') {
56
+			return $this->handle;
57
+		} else {
58
+			return false;
59
+		}
60
+	}
61 61
 
62
-    /**
63
-     * fwrite
64
-     *
65
-     * @see http://php.net/fwrite
66
-     * @param string $string
67
-     * @param int    $length
68
-     * @return int | bool
69
-     */
70
-    public function fwrite($string, $length = null)
71
-    {
72
-        return fwrite($this->handle, $string, (is_null($length) ? strlen($string) : $length));
73
-    }
62
+	/**
63
+	 * fwrite
64
+	 *
65
+	 * @see http://php.net/fwrite
66
+	 * @param string $string
67
+	 * @param int    $length
68
+	 * @return int | bool
69
+	 */
70
+	public function fwrite($string, $length = null)
71
+	{
72
+		return fwrite($this->handle, $string, (is_null($length) ? strlen($string) : $length));
73
+	}
74 74
 
75
-    /**
76
-     * fgets
77
-     *
78
-     * @see http://php.net/fgets
79
-     * @param int $length
80
-     */
81
-    public function fgets($length = null)
82
-    {
83
-        return fgets($this->handle, $length);
84
-    }
75
+	/**
76
+	 * fgets
77
+	 *
78
+	 * @see http://php.net/fgets
79
+	 * @param int $length
80
+	 */
81
+	public function fgets($length = null)
82
+	{
83
+		return fgets($this->handle, $length);
84
+	}
85 85
 
86
-    /**
87
-     * feof
88
-     *
89
-     * @see http://php.net/feof
90
-     * @return bool
91
-     */
92
-    public function feof()
93
-    {
94
-        return feof($this->handle);
95
-    }
86
+	/**
87
+	 * feof
88
+	 *
89
+	 * @see http://php.net/feof
90
+	 * @return bool
91
+	 */
92
+	public function feof()
93
+	{
94
+		return feof($this->handle);
95
+	}
96 96
 
97
-    /**
98
-     * fclose
99
-     *
100
-     * @see http://php.net/fclose
101
-     * @return bool
102
-     */
103
-    public function fclose()
104
-    {
105
-        return fclose($this->handle);
106
-    }
97
+	/**
98
+	 * fclose
99
+	 *
100
+	 * @see http://php.net/fclose
101
+	 * @return bool
102
+	 */
103
+	public function fclose()
104
+	{
105
+		return fclose($this->handle);
106
+	}
107 107
 }
Please login to merge, or discard this patch.
core/exceptions/ExceptionLogger.php 2 patches
Spacing   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -33,18 +33,18 @@
 block discarded – undo
33 33
      */
34 34
     public function log(\Exception $exception, $time = 0)
35 35
     {
36
-        if (! $time) {
36
+        if ( ! $time) {
37 37
             $time = time();
38 38
         }
39 39
         $exception_log = '----------------------------------------------------------------------------------------';
40 40
         $exception_log .= PHP_EOL;
41
-        $exception_log .= '[' . date('Y-m-d H:i:s', $time) . ']  Exception Details' . PHP_EOL;
42
-        $exception_log .= 'Message: ' . $exception->getMessage() . PHP_EOL;
43
-        $exception_log .= 'Code: ' . $exception->getCode() . PHP_EOL;
44
-        $exception_log .= 'File: ' . $exception->getFile() . PHP_EOL;
45
-        $exception_log .= 'Line No: ' . $exception->getLine() . PHP_EOL;
46
-        $exception_log .= 'Stack trace: ' . PHP_EOL;
47
-        $exception_log .= $exception->getTraceAsString() . PHP_EOL;
41
+        $exception_log .= '['.date('Y-m-d H:i:s', $time).']  Exception Details'.PHP_EOL;
42
+        $exception_log .= 'Message: '.$exception->getMessage().PHP_EOL;
43
+        $exception_log .= 'Code: '.$exception->getCode().PHP_EOL;
44
+        $exception_log .= 'File: '.$exception->getFile().PHP_EOL;
45
+        $exception_log .= 'Line No: '.$exception->getLine().PHP_EOL;
46
+        $exception_log .= 'Stack trace: '.PHP_EOL;
47
+        $exception_log .= $exception->getTraceAsString().PHP_EOL;
48 48
         $exception_log .= '----------------------------------------------------------------------------------------';
49 49
         $exception_log .= PHP_EOL;
50 50
         error_log($exception_log);
Please login to merge, or discard this patch.
Indentation   +33 added lines, -33 removed lines patch added patch discarded remove patch
@@ -12,39 +12,39 @@
 block discarded – undo
12 12
  */
13 13
 class ExceptionLogger
14 14
 {
15
-    /**
16
-     * ExceptionLogger constructor.
17
-     *
18
-     * @param \Exception $exception
19
-     */
20
-    public function __construct(\Exception $exception)
21
-    {
22
-        $this->log($exception);
23
-    }
15
+	/**
16
+	 * ExceptionLogger constructor.
17
+	 *
18
+	 * @param \Exception $exception
19
+	 */
20
+	public function __construct(\Exception $exception)
21
+	{
22
+		$this->log($exception);
23
+	}
24 24
 
25 25
 
26
-    /**
27
-     * write exception details to log file
28
-     *
29
-     * @param \Exception $exception
30
-     * @param int        $time
31
-     */
32
-    public function log(\Exception $exception, $time = 0)
33
-    {
34
-        if (! $time) {
35
-            $time = time();
36
-        }
37
-        $exception_log = '----------------------------------------------------------------------------------------';
38
-        $exception_log .= PHP_EOL;
39
-        $exception_log .= '[' . date('Y-m-d H:i:s', $time) . ']  Exception Details' . PHP_EOL;
40
-        $exception_log .= 'Message: ' . $exception->getMessage() . PHP_EOL;
41
-        $exception_log .= 'Code: ' . $exception->getCode() . PHP_EOL;
42
-        $exception_log .= 'File: ' . $exception->getFile() . PHP_EOL;
43
-        $exception_log .= 'Line No: ' . $exception->getLine() . PHP_EOL;
44
-        $exception_log .= 'Stack trace: ' . PHP_EOL;
45
-        $exception_log .= $exception->getTraceAsString() . PHP_EOL;
46
-        $exception_log .= '----------------------------------------------------------------------------------------';
47
-        $exception_log .= PHP_EOL;
48
-        error_log($exception_log);
49
-    }
26
+	/**
27
+	 * write exception details to log file
28
+	 *
29
+	 * @param \Exception $exception
30
+	 * @param int        $time
31
+	 */
32
+	public function log(\Exception $exception, $time = 0)
33
+	{
34
+		if (! $time) {
35
+			$time = time();
36
+		}
37
+		$exception_log = '----------------------------------------------------------------------------------------';
38
+		$exception_log .= PHP_EOL;
39
+		$exception_log .= '[' . date('Y-m-d H:i:s', $time) . ']  Exception Details' . PHP_EOL;
40
+		$exception_log .= 'Message: ' . $exception->getMessage() . PHP_EOL;
41
+		$exception_log .= 'Code: ' . $exception->getCode() . PHP_EOL;
42
+		$exception_log .= 'File: ' . $exception->getFile() . PHP_EOL;
43
+		$exception_log .= 'Line No: ' . $exception->getLine() . PHP_EOL;
44
+		$exception_log .= 'Stack trace: ' . PHP_EOL;
45
+		$exception_log .= $exception->getTraceAsString() . PHP_EOL;
46
+		$exception_log .= '----------------------------------------------------------------------------------------';
47
+		$exception_log .= PHP_EOL;
48
+		error_log($exception_log);
49
+	}
50 50
 }
Please login to merge, or discard this patch.