Completed
Branch dependabot/npm_and_yarn/wordpr... (bfaa54)
by
unknown
19:48 queued 17:30
created
core/services/notices/ConvertNoticesToEeErrors.php 2 patches
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -43,7 +43,7 @@
 block discarded – undo
43 43
             $error_string = esc_html__('The following errors occurred:', 'event_espresso');
44 44
             foreach ($notices->getError() as $notice) {
45 45
                 if ($this->getThrowExceptions()) {
46
-                    $error_string .= '<br />' . $notice->message();
46
+                    $error_string .= '<br />'.$notice->message();
47 47
                 } else {
48 48
                     EE_Error::add_error(
49 49
                         $notice->message(),
Please login to merge, or discard this patch.
Indentation   +50 added lines, -50 removed lines patch added patch discarded remove patch
@@ -19,56 +19,56 @@
 block discarded – undo
19 19
 class ConvertNoticesToEeErrors extends NoticeConverter
20 20
 {
21 21
 
22
-    /**
23
-     * Converts Notice objects into EE_Error notifications
24
-     *
25
-     * @param NoticesContainerInterface $notices
26
-     * @throws EE_Error
27
-     */
28
-    public function process(NoticesContainerInterface $notices)
29
-    {
30
-        $this->setNotices($notices);
31
-        $notices = $this->getNotices();
32
-        if ($notices->hasAttention()) {
33
-            foreach ($notices->getAttention() as $notice) {
34
-                EE_Error::add_attention(
35
-                    $notice->message(),
36
-                    $notice->file(),
37
-                    $notice->func(),
38
-                    $notice->line()
39
-                );
40
-            }
41
-        }
42
-        if ($notices->hasError()) {
43
-            $error_string = esc_html__('The following errors occurred:', 'event_espresso');
44
-            foreach ($notices->getError() as $notice) {
45
-                if ($this->getThrowExceptions()) {
46
-                    $error_string .= '<br />' . $notice->message();
47
-                } else {
48
-                    EE_Error::add_error(
49
-                        $notice->message(),
50
-                        $notice->file(),
51
-                        $notice->func(),
52
-                        $notice->line()
53
-                    );
54
-                }
55
-            }
56
-            if ($this->getThrowExceptions()) {
57
-                throw new EE_Error($error_string);
58
-            }
59
-        }
60
-        if ($notices->hasSuccess()) {
61
-            foreach ($notices->getSuccess() as $notice) {
62
-                EE_Error::add_success(
63
-                    $notice->message(),
64
-                    $notice->file(),
65
-                    $notice->func(),
66
-                    $notice->line()
67
-                );
68
-            }
69
-        }
70
-        $this->clearNotices();
71
-    }
22
+	/**
23
+	 * Converts Notice objects into EE_Error notifications
24
+	 *
25
+	 * @param NoticesContainerInterface $notices
26
+	 * @throws EE_Error
27
+	 */
28
+	public function process(NoticesContainerInterface $notices)
29
+	{
30
+		$this->setNotices($notices);
31
+		$notices = $this->getNotices();
32
+		if ($notices->hasAttention()) {
33
+			foreach ($notices->getAttention() as $notice) {
34
+				EE_Error::add_attention(
35
+					$notice->message(),
36
+					$notice->file(),
37
+					$notice->func(),
38
+					$notice->line()
39
+				);
40
+			}
41
+		}
42
+		if ($notices->hasError()) {
43
+			$error_string = esc_html__('The following errors occurred:', 'event_espresso');
44
+			foreach ($notices->getError() as $notice) {
45
+				if ($this->getThrowExceptions()) {
46
+					$error_string .= '<br />' . $notice->message();
47
+				} else {
48
+					EE_Error::add_error(
49
+						$notice->message(),
50
+						$notice->file(),
51
+						$notice->func(),
52
+						$notice->line()
53
+					);
54
+				}
55
+			}
56
+			if ($this->getThrowExceptions()) {
57
+				throw new EE_Error($error_string);
58
+			}
59
+		}
60
+		if ($notices->hasSuccess()) {
61
+			foreach ($notices->getSuccess() as $notice) {
62
+				EE_Error::add_success(
63
+					$notice->message(),
64
+					$notice->file(),
65
+					$notice->func(),
66
+					$notice->line()
67
+				);
68
+			}
69
+		}
70
+		$this->clearNotices();
71
+	}
72 72
 
73 73
 
74 74
 }
Please login to merge, or discard this patch.
acceptance_tests/Helpers/TicketSelector.php 1 patch
Indentation   +17 added lines, -17 removed lines patch added patch discarded remove patch
@@ -12,23 +12,23 @@
 block discarded – undo
12 12
 trait TicketSelector
13 13
 {
14 14
 
15
-    /**
16
-     * Use to select a quantity from the first ticket for the given event (so this can be used on a event archive page).
17
-     * @param int|string $event_id
18
-     * @param int|string $quantity
19
-     */
20
-    public function selectQuantityOfFirstTicketForEventId($event_id, $quantity = 1)
21
-    {
22
-        $this->actor()->selectOption(TicketSelectorElements::ticketOptionByEventIdSelector($event_id), $quantity);
23
-    }
15
+	/**
16
+	 * Use to select a quantity from the first ticket for the given event (so this can be used on a event archive page).
17
+	 * @param int|string $event_id
18
+	 * @param int|string $quantity
19
+	 */
20
+	public function selectQuantityOfFirstTicketForEventId($event_id, $quantity = 1)
21
+	{
22
+		$this->actor()->selectOption(TicketSelectorElements::ticketOptionByEventIdSelector($event_id), $quantity);
23
+	}
24 24
 
25 25
 
26
-    /**
27
-     * Used to submit the ticket selection for the given event id (so this can be used on an event archive page).
28
-     * @param int|string $event_id
29
-     */
30
-    public function submitTicketSelectionsForEventId($event_id)
31
-    {
32
-        $this->actor()->click(TicketSelectorElements::ticketSelectionSubmitSelectorByEventId($event_id));
33
-    }
26
+	/**
27
+	 * Used to submit the ticket selection for the given event id (so this can be used on an event archive page).
28
+	 * @param int|string $event_id
29
+	 */
30
+	public function submitTicketSelectionsForEventId($event_id)
31
+	{
32
+		$this->actor()->click(TicketSelectorElements::ticketSelectionSubmitSelectorByEventId($event_id));
33
+	}
34 34
 }
35 35
\ No newline at end of file
Please login to merge, or discard this patch.
acceptance_tests/Page/MessagesAdmin.php 2 patches
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -103,8 +103,8 @@
 block discarded – undo
103 103
     public static function editMessageTemplateClassByMessageType($message_type_slug, $context = '')
104 104
     {
105 105
         return $context
106
-            ? '.' . $message_type_slug . '-' . $context . '-edit-link'
107
-            : '.' . $message_type_slug . '-edit-link';
106
+            ? '.'.$message_type_slug.'-'.$context.'-edit-link'
107
+            : '.'.$message_type_slug.'-edit-link';
108 108
     }
109 109
 
110 110
 
Please login to merge, or discard this patch.
Indentation   +267 added lines, -267 removed lines patch added patch discarded remove patch
@@ -14,292 +14,292 @@
 block discarded – undo
14 14
 class MessagesAdmin extends CoreAdmin
15 15
 {
16 16
 
17
-    /**
18
-     * Context slug for the admin messages context.
19
-     */
20
-    const ADMIN_CONTEXT_SLUG = 'admin';
17
+	/**
18
+	 * Context slug for the admin messages context.
19
+	 */
20
+	const ADMIN_CONTEXT_SLUG = 'admin';
21 21
 
22
-    /**
23
-     * Context slug for the primary attendee messages context
24
-     */
25
-    const PRIMARY_ATTENDEE_CONTEXT_SLUG = 'primary_attendee';
22
+	/**
23
+	 * Context slug for the primary attendee messages context
24
+	 */
25
+	const PRIMARY_ATTENDEE_CONTEXT_SLUG = 'primary_attendee';
26 26
 
27 27
 
28
-    /**
29
-     * Context slug for the attendee messages context
30
-     */
31
-    const ATTENDEE_CONTEXT_SLUG = 'attendee';
28
+	/**
29
+	 * Context slug for the attendee messages context
30
+	 */
31
+	const ATTENDEE_CONTEXT_SLUG = 'attendee';
32 32
 
33 33
 
34
-    /**
35
-     * Status reference for the EEM_Message::status_sent status.
36
-     */
37
-    const MESSAGE_STATUS_SENT = 'MSN';
34
+	/**
35
+	 * Status reference for the EEM_Message::status_sent status.
36
+	 */
37
+	const MESSAGE_STATUS_SENT = 'MSN';
38 38
 
39 39
 
40
-    /**
41
-     * Message type slug for the Payment Failed message type
42
-     */
43
-    const PAYMENT_FAILED_MESSAGE_TYPE_SLUG = 'payment_failed';
40
+	/**
41
+	 * Message type slug for the Payment Failed message type
42
+	 */
43
+	const PAYMENT_FAILED_MESSAGE_TYPE_SLUG = 'payment_failed';
44 44
 
45 45
 
46
-    /**
47
-     * Message type slug for the Registration Pending Payment message type
48
-     */
49
-    const MESSAGE_TYPE_PENDING_PAYMENT = 'pending_approval';
46
+	/**
47
+	 * Message type slug for the Registration Pending Payment message type
48
+	 */
49
+	const MESSAGE_TYPE_PENDING_PAYMENT = 'pending_approval';
50 50
 
51 51
 
52
-    /**
53
-     * Selector for the Global Messages "Send on same request" field in the Messages Settings tab.
54
-     */
55
-    const GLOBAL_MESSAGES_SETTINGS_ON_REQUEST_SELECTION_SELECTOR =
56
-        '#global_messages_settings-do-messages-on-same-request';
52
+	/**
53
+	 * Selector for the Global Messages "Send on same request" field in the Messages Settings tab.
54
+	 */
55
+	const GLOBAL_MESSAGES_SETTINGS_ON_REQUEST_SELECTION_SELECTOR =
56
+		'#global_messages_settings-do-messages-on-same-request';
57 57
 
58 58
 
59
-    /**
60
-     * Selector for the Global Messages Settings submit button in the Messages Settings tab.
61
-     */
62
-    const GLOBAL_MESSAGES_SETTINGS_SUBMIT_SELECTOR = '#global_messages_settings-update-settings-submit';
59
+	/**
60
+	 * Selector for the Global Messages Settings submit button in the Messages Settings tab.
61
+	 */
62
+	const GLOBAL_MESSAGES_SETTINGS_SUBMIT_SELECTOR = '#global_messages_settings-update-settings-submit';
63 63
 
64 64
 
65
-    /**
66
-     * This is the container where active message types for a messenger are found/dragged to.
67
-     */
68
-    const MESSAGES_SETTINGS_ACTIVE_MESSAGE_TYPES_CONTAINER_SELECTOR = '#active-message-types';
65
+	/**
66
+	 * This is the container where active message types for a messenger are found/dragged to.
67
+	 */
68
+	const MESSAGES_SETTINGS_ACTIVE_MESSAGE_TYPES_CONTAINER_SELECTOR = '#active-message-types';
69 69
 
70 70
 
71
-    /**
72
-     * Locator for the context switcher selector on the Message Template Editor page.
73
-     */
74
-    const MESSAGES_CONTEXT_SWITCHER_SELECTOR = "//form[@id='ee-msg-context-switcher-frm']/select";
71
+	/**
72
+	 * Locator for the context switcher selector on the Message Template Editor page.
73
+	 */
74
+	const MESSAGES_CONTEXT_SWITCHER_SELECTOR = "//form[@id='ee-msg-context-switcher-frm']/select";
75 75
 
76 76
 
77
-    /**
78
-     * Locator for the context switcher submit button in the Message Template Editor page.
79
-     */
80
-    const MESSAGES_CONTEXT_SWITCHER_BUTTON_SELECTOR = "#submit-msg-context-switcher-sbmt";
77
+	/**
78
+	 * Locator for the context switcher submit button in the Message Template Editor page.
79
+	 */
80
+	const MESSAGES_CONTEXT_SWITCHER_BUTTON_SELECTOR = "#submit-msg-context-switcher-sbmt";
81 81
 
82 82
 
83
-    /**
84
-     * Locator for the dialog container used for housing viewed messages in the message activity list table.
85
-     */
86
-    const MESSAGES_LIST_TABLE_VIEW_MESSAGE_DIALOG_CONTAINER_SELECTOR = '.ee-admin-dialog-container-inner-content';
87
-
88
-
89
-    /**
90
-     * Returns the selector for the on/off toggle for context on the message template editor.
91
-     */
92
-    const MESSAGES_CONTEXT_ACTIVE_STATE_TOGGLE =
93
-        "//div[@class='activate_context_on_off_toggle_container']/div[@class='switch']/label";
94
-
95
-
96
-    const SELECTOR_LINK_FINALIZE_PAYMENT_PENDING_PAYMENT_MESSAGE = "//td/p[@class='callout']/a";
97
-
98
-
99
-
100
-    /**
101
-     * @param string $additional_params Any additional request parameters for the generated url should be included as
102
-     *                                  a string.
103
-     * @return string
104
-     */
105
-    public static function messageActivityListTableUrl($additional_params = '')
106
-    {
107
-        return self::adminUrl('espresso_messages', 'default', $additional_params);
108
-    }
109
-
110
-
111
-    /**
112
-     * @param string $additional_params Any additional request parameters for the generated url should be included as
113
-     *                                  a string.
114
-     * @return string
115
-     */
116
-    public static function defaultMessageTemplateListTableUrl($additional_params = '')
117
-    {
118
-        return self::adminUrl('espresso_messages', 'global_mtps', $additional_params);
119
-    }
120
-
121
-
122
-    /**
123
-     * @param string $additional_params Any additional request parameters for the generated url should be included as
124
-     *                                  a string.
125
-     * @return string
126
-     */
127
-    public static function customMessageTemplateListTableUrl($additional_params = '')
128
-    {
129
-        return self::adminUrl('espresso_messages', 'custom_mtps', $additional_params);
130
-    }
131
-
132
-
133
-    /**
134
-     * @return string
135
-     */
136
-    public static function messageSettingsUrl()
137
-    {
138
-        return self::adminUrl('espresso_messages', 'settings');
139
-    }
140
-
141
-
142
-
143
-    public static function draggableSettingsBoxSelectorForMessageTypeAndMessenger(
144
-        $message_type_slug,
145
-        $messenger_slug = 'email'
146
-    ) {
147
-        return "#$message_type_slug-messagetype-$messenger_slug";
148
-    }
149
-
150
-
151
-    /**
152
-     * @param string $message_type_slug
153
-     * @param string $context
154
-     * @return string
155
-     */
156
-    public static function editMessageTemplateClassByMessageType($message_type_slug, $context = '')
157
-    {
158
-        return $context
159
-            ? '.' . $message_type_slug . '-' . $context . '-edit-link'
160
-            : '.' . $message_type_slug . '-edit-link';
161
-    }
162
-
163
-
164
-    /**
165
-     * Selector for (a) specific table cell(s) in the Messages Activity list table for the given parameters.
166
-     *
167
-     * @param        $field
168
-     * @param        $message_type_label
169
-     * @param string $message_status
170
-     * @param string $messenger
171
-     * @param string $context
172
-     * @param string $table_cell_content_for_field
173
-     * @param int    $number_in_set   It's possible that the given parameters could match multiple items in the view.
174
-     *                                This allows you to indicate which item from the set to match.  If this is set to 0
175
-     *                                then all matches for the locator will be returned.
176
-     * @return string
177
-     * @throws \InvalidArgumentException
178
-     */
179
-    public static function messagesActivityListTableCellSelectorFor(
180
-        $field,
181
-        $message_type_label,
182
-        $message_status = self::MESSAGE_STATUS_SENT,
183
-        $messenger = 'Email',
184
-        $context = 'Event Admin',
185
-        $table_cell_content_for_field = '',
186
-        $number_in_set = 1
187
-    ) {
188
-        $selector = "//tbody[@id='the-list']";
189
-        $selector .= "//tr[contains(@class, 'msg-status-$message_status')]"
190
-                     . "//td[contains(@class, 'message_type') and text()='$message_type_label']";
191
-        if ($messenger) {
192
-            $selector .= "/ancestor::tr/td[contains(@class, 'messenger') and text()='$messenger']";
193
-        }
194
-        $selector .= "/ancestor::tr/td[contains(@class, 'column-context') and text()='$context']";
195
-        $selector .= $table_cell_content_for_field
196
-            ? "/ancestor::tr/td[contains(@class, 'column-$field') and text()='$table_cell_content_for_field']"
197
-            : "/ancestor::tr/td[contains(@class, 'column-$field')]";
198
-        return $number_in_set > 0 ? Locator::elementAt($selector, $number_in_set) : $selector;
199
-    }
200
-
201
-
202
-    /**
203
-     * Selector for the Create Custom button found in the message template list table.
204
-     * @param string $message_type_label
205
-     * @param string $messenger_label
206
-     * @return string
207
-     */
208
-    public static function createCustomButtonForMessageTypeAndMessenger($message_type_label, $messenger_label)
209
-    {
210
-        $selector = "//tr/td[contains(@class, 'message_type') and text()='$message_type_label']"
211
-                    . "//ancestor::tr/td[contains(@class, 'messenger') and contains(., '$messenger_label')]"
212
-                    . "//ancestor::tr/td/a[@class='button button-small']";
213
-        return $selector;
214
-    }
215
-
216
-
217
-    /**
218
-     * Note, this could potentially match multiple buttons in the view so the selector is intentionally restricted to
219
-     * the FIRST match (which will be the latest message sent if the table is default sorted).
220
-     *
221
-     * @param string $message_type_label    The visible message type label for the row you want to match
222
-     * @param string $message_status        The status of the message for the row you want to match.
223
-     * @param string $messenger             The visible messenger label for the row you want to match.
224
-     * @param string $context               The visible context label for the row you want to match.
225
-     * @param int    $number_in_set         It's possible that the given parameters could match multiple items in the
226
-     *                                      view. This allows you to indicate which item from the set to match.
227
-     * @return string
228
-     * @throws \InvalidArgumentException
229
-     */
230
-    public static function messagesActivityListTableViewButtonSelectorFor(
231
-        $message_type_label,
232
-        $message_status = self::MESSAGE_STATUS_SENT,
233
-        $messenger = 'Email',
234
-        $context = 'Event Admin',
235
-        $number_in_set = 1
236
-    ) {
237
-        $selector = self::messagesActivityListTableCellSelectorFor(
238
-            'action',
239
-            $message_type_label,
240
-            $message_status,
241
-            $messenger,
242
-            $context,
243
-            '',
244
-            $number_in_set
245
-        );
246
-        $selector .= "/a/span[contains(@class, 'ee-message-action-link-view')"
247
-                     . " and not(contains(@class, 'ee-message-action-link-view_transaction'))]";
248
-        return $selector;
249
-    }
250
-
251
-
252
-    /**
253
-     * Locator for the delete action link for a message item in the message activity list table.
254
-     * Note: The link is not visible by default, so the column would need hovered over for the link to appear.
255
-     *
256
-     * @param        $message_type_label
257
-     * @param string $message_status
258
-     * @param string $messenger
259
-     * @param string $context
260
-     * @param int    $number_in_set
261
-     * @return string
262
-     * @throws \InvalidArgumentException
263
-     */
264
-    public static function messagesActivityListTableDeleteActionSelectorFor(
265
-        $message_type_label,
266
-        $message_status = self::MESSAGE_STATUS_SENT,
267
-        $messenger = 'Email',
268
-        $context = 'Event Admin',
269
-        $number_in_set = 1
270
-    ) {
271
-        $selector = self::messagesActivityListTableCellSelectorFor(
272
-            'to',
273
-            $message_type_label,
274
-            $message_status,
275
-            $messenger,
276
-            $context,
277
-            '',
278
-            $number_in_set
279
-        );
280
-        $selector .= "/div/span[@class='delete']/a";
281
-        return $selector;
282
-    }
283
-
284
-
285
-
286
-    /**
287
-     * Returns the input selector for a given field in the message template editor.
288
-     * Assumes one is already viewing the Message Template Editor.
289
-     * @param string     $field
290
-     * @return string
291
-     */
292
-    public static function messageInputFieldSelectorFor($field)
293
-    {
294
-        return "//div[@id='post-body']//input[@id='$field-content']";
295
-    }
296
-
297
-
298
-    /**
299
-     * Wrapper for self::messageInputFieldSelectorFor('to') that takes care of getting the input for the To field.
300
-     */
301
-    public static function messageTemplateToFieldSelector()
302
-    {
303
-        return self::messageInputFieldSelectorFor('to');
304
-    }
83
+	/**
84
+	 * Locator for the dialog container used for housing viewed messages in the message activity list table.
85
+	 */
86
+	const MESSAGES_LIST_TABLE_VIEW_MESSAGE_DIALOG_CONTAINER_SELECTOR = '.ee-admin-dialog-container-inner-content';
87
+
88
+
89
+	/**
90
+	 * Returns the selector for the on/off toggle for context on the message template editor.
91
+	 */
92
+	const MESSAGES_CONTEXT_ACTIVE_STATE_TOGGLE =
93
+		"//div[@class='activate_context_on_off_toggle_container']/div[@class='switch']/label";
94
+
95
+
96
+	const SELECTOR_LINK_FINALIZE_PAYMENT_PENDING_PAYMENT_MESSAGE = "//td/p[@class='callout']/a";
97
+
98
+
99
+
100
+	/**
101
+	 * @param string $additional_params Any additional request parameters for the generated url should be included as
102
+	 *                                  a string.
103
+	 * @return string
104
+	 */
105
+	public static function messageActivityListTableUrl($additional_params = '')
106
+	{
107
+		return self::adminUrl('espresso_messages', 'default', $additional_params);
108
+	}
109
+
110
+
111
+	/**
112
+	 * @param string $additional_params Any additional request parameters for the generated url should be included as
113
+	 *                                  a string.
114
+	 * @return string
115
+	 */
116
+	public static function defaultMessageTemplateListTableUrl($additional_params = '')
117
+	{
118
+		return self::adminUrl('espresso_messages', 'global_mtps', $additional_params);
119
+	}
120
+
121
+
122
+	/**
123
+	 * @param string $additional_params Any additional request parameters for the generated url should be included as
124
+	 *                                  a string.
125
+	 * @return string
126
+	 */
127
+	public static function customMessageTemplateListTableUrl($additional_params = '')
128
+	{
129
+		return self::adminUrl('espresso_messages', 'custom_mtps', $additional_params);
130
+	}
131
+
132
+
133
+	/**
134
+	 * @return string
135
+	 */
136
+	public static function messageSettingsUrl()
137
+	{
138
+		return self::adminUrl('espresso_messages', 'settings');
139
+	}
140
+
141
+
142
+
143
+	public static function draggableSettingsBoxSelectorForMessageTypeAndMessenger(
144
+		$message_type_slug,
145
+		$messenger_slug = 'email'
146
+	) {
147
+		return "#$message_type_slug-messagetype-$messenger_slug";
148
+	}
149
+
150
+
151
+	/**
152
+	 * @param string $message_type_slug
153
+	 * @param string $context
154
+	 * @return string
155
+	 */
156
+	public static function editMessageTemplateClassByMessageType($message_type_slug, $context = '')
157
+	{
158
+		return $context
159
+			? '.' . $message_type_slug . '-' . $context . '-edit-link'
160
+			: '.' . $message_type_slug . '-edit-link';
161
+	}
162
+
163
+
164
+	/**
165
+	 * Selector for (a) specific table cell(s) in the Messages Activity list table for the given parameters.
166
+	 *
167
+	 * @param        $field
168
+	 * @param        $message_type_label
169
+	 * @param string $message_status
170
+	 * @param string $messenger
171
+	 * @param string $context
172
+	 * @param string $table_cell_content_for_field
173
+	 * @param int    $number_in_set   It's possible that the given parameters could match multiple items in the view.
174
+	 *                                This allows you to indicate which item from the set to match.  If this is set to 0
175
+	 *                                then all matches for the locator will be returned.
176
+	 * @return string
177
+	 * @throws \InvalidArgumentException
178
+	 */
179
+	public static function messagesActivityListTableCellSelectorFor(
180
+		$field,
181
+		$message_type_label,
182
+		$message_status = self::MESSAGE_STATUS_SENT,
183
+		$messenger = 'Email',
184
+		$context = 'Event Admin',
185
+		$table_cell_content_for_field = '',
186
+		$number_in_set = 1
187
+	) {
188
+		$selector = "//tbody[@id='the-list']";
189
+		$selector .= "//tr[contains(@class, 'msg-status-$message_status')]"
190
+					 . "//td[contains(@class, 'message_type') and text()='$message_type_label']";
191
+		if ($messenger) {
192
+			$selector .= "/ancestor::tr/td[contains(@class, 'messenger') and text()='$messenger']";
193
+		}
194
+		$selector .= "/ancestor::tr/td[contains(@class, 'column-context') and text()='$context']";
195
+		$selector .= $table_cell_content_for_field
196
+			? "/ancestor::tr/td[contains(@class, 'column-$field') and text()='$table_cell_content_for_field']"
197
+			: "/ancestor::tr/td[contains(@class, 'column-$field')]";
198
+		return $number_in_set > 0 ? Locator::elementAt($selector, $number_in_set) : $selector;
199
+	}
200
+
201
+
202
+	/**
203
+	 * Selector for the Create Custom button found in the message template list table.
204
+	 * @param string $message_type_label
205
+	 * @param string $messenger_label
206
+	 * @return string
207
+	 */
208
+	public static function createCustomButtonForMessageTypeAndMessenger($message_type_label, $messenger_label)
209
+	{
210
+		$selector = "//tr/td[contains(@class, 'message_type') and text()='$message_type_label']"
211
+					. "//ancestor::tr/td[contains(@class, 'messenger') and contains(., '$messenger_label')]"
212
+					. "//ancestor::tr/td/a[@class='button button-small']";
213
+		return $selector;
214
+	}
215
+
216
+
217
+	/**
218
+	 * Note, this could potentially match multiple buttons in the view so the selector is intentionally restricted to
219
+	 * the FIRST match (which will be the latest message sent if the table is default sorted).
220
+	 *
221
+	 * @param string $message_type_label    The visible message type label for the row you want to match
222
+	 * @param string $message_status        The status of the message for the row you want to match.
223
+	 * @param string $messenger             The visible messenger label for the row you want to match.
224
+	 * @param string $context               The visible context label for the row you want to match.
225
+	 * @param int    $number_in_set         It's possible that the given parameters could match multiple items in the
226
+	 *                                      view. This allows you to indicate which item from the set to match.
227
+	 * @return string
228
+	 * @throws \InvalidArgumentException
229
+	 */
230
+	public static function messagesActivityListTableViewButtonSelectorFor(
231
+		$message_type_label,
232
+		$message_status = self::MESSAGE_STATUS_SENT,
233
+		$messenger = 'Email',
234
+		$context = 'Event Admin',
235
+		$number_in_set = 1
236
+	) {
237
+		$selector = self::messagesActivityListTableCellSelectorFor(
238
+			'action',
239
+			$message_type_label,
240
+			$message_status,
241
+			$messenger,
242
+			$context,
243
+			'',
244
+			$number_in_set
245
+		);
246
+		$selector .= "/a/span[contains(@class, 'ee-message-action-link-view')"
247
+					 . " and not(contains(@class, 'ee-message-action-link-view_transaction'))]";
248
+		return $selector;
249
+	}
250
+
251
+
252
+	/**
253
+	 * Locator for the delete action link for a message item in the message activity list table.
254
+	 * Note: The link is not visible by default, so the column would need hovered over for the link to appear.
255
+	 *
256
+	 * @param        $message_type_label
257
+	 * @param string $message_status
258
+	 * @param string $messenger
259
+	 * @param string $context
260
+	 * @param int    $number_in_set
261
+	 * @return string
262
+	 * @throws \InvalidArgumentException
263
+	 */
264
+	public static function messagesActivityListTableDeleteActionSelectorFor(
265
+		$message_type_label,
266
+		$message_status = self::MESSAGE_STATUS_SENT,
267
+		$messenger = 'Email',
268
+		$context = 'Event Admin',
269
+		$number_in_set = 1
270
+	) {
271
+		$selector = self::messagesActivityListTableCellSelectorFor(
272
+			'to',
273
+			$message_type_label,
274
+			$message_status,
275
+			$messenger,
276
+			$context,
277
+			'',
278
+			$number_in_set
279
+		);
280
+		$selector .= "/div/span[@class='delete']/a";
281
+		return $selector;
282
+	}
283
+
284
+
285
+
286
+	/**
287
+	 * Returns the input selector for a given field in the message template editor.
288
+	 * Assumes one is already viewing the Message Template Editor.
289
+	 * @param string     $field
290
+	 * @return string
291
+	 */
292
+	public static function messageInputFieldSelectorFor($field)
293
+	{
294
+		return "//div[@id='post-body']//input[@id='$field-content']";
295
+	}
296
+
297
+
298
+	/**
299
+	 * Wrapper for self::messageInputFieldSelectorFor('to') that takes care of getting the input for the To field.
300
+	 */
301
+	public static function messageTemplateToFieldSelector()
302
+	{
303
+		return self::messageInputFieldSelectorFor('to');
304
+	}
305 305
 }
306 306
\ No newline at end of file
Please login to merge, or discard this patch.
core/domain/services/admin/AdminToolBar.php 2 patches
Spacing   +10 added lines, -10 removed lines patch added patch discarded remove patch
@@ -120,7 +120,7 @@  discard block
 block discarded – undo
120 120
     {
121 121
         wp_register_style(
122 122
             'espresso-admin-toolbar',
123
-            EE_GLOBAL_ASSETS_URL . 'css/espresso-admin-toolbar.css',
123
+            EE_GLOBAL_ASSETS_URL.'css/espresso-admin-toolbar.css',
124 124
             array('dashicons'),
125 125
             EVENT_ESPRESSO_VERSION
126 126
         );
@@ -143,7 +143,7 @@  discard block
 block discarded – undo
143 143
                 'href'  => $this->events_admin_url,
144 144
                 'meta'  => array(
145 145
                     'title' => esc_html__('Event Espresso', 'event_espresso'),
146
-                    'class' => $this->menu_class . 'first',
146
+                    'class' => $this->menu_class.'first',
147 147
                 ),
148 148
             )
149 149
         );
@@ -491,7 +491,7 @@  discard block
 block discarded – undo
491 491
                     'meta'   => array(
492 492
                         'title'  => esc_html__('Approved', 'event_espresso'),
493 493
                         'target' => '',
494
-                        'class'  => $this->menu_class . ' ee-toolbar-icon-approved',
494
+                        'class'  => $this->menu_class.' ee-toolbar-icon-approved',
495 495
                     ),
496 496
                 )
497 497
             );
@@ -528,7 +528,7 @@  discard block
 block discarded – undo
528 528
                     'meta'   => array(
529 529
                         'title'  => esc_html__('Pending Payment', 'event_espresso'),
530 530
                         'target' => '',
531
-                        'class'  => $this->menu_class . ' ee-toolbar-icon-pending',
531
+                        'class'  => $this->menu_class.' ee-toolbar-icon-pending',
532 532
                     ),
533 533
                 )
534 534
             );
@@ -565,7 +565,7 @@  discard block
 block discarded – undo
565 565
                     'meta'   => array(
566 566
                         'title'  => esc_html__('Not Approved', 'event_espresso'),
567 567
                         'target' => '',
568
-                        'class'  => $this->menu_class . ' ee-toolbar-icon-not-approved',
568
+                        'class'  => $this->menu_class.' ee-toolbar-icon-not-approved',
569 569
                     ),
570 570
                 )
571 571
             );
@@ -602,7 +602,7 @@  discard block
 block discarded – undo
602 602
                     'meta'   => array(
603 603
                         'title'  => esc_html__('Cancelled', 'event_espresso'),
604 604
                         'target' => '',
605
-                        'class'  => $this->menu_class . ' ee-toolbar-icon-cancelled',
605
+                        'class'  => $this->menu_class.' ee-toolbar-icon-cancelled',
606 606
                     ),
607 607
                 )
608 608
             );
@@ -674,7 +674,7 @@  discard block
 block discarded – undo
674 674
                     'meta'   => array(
675 675
                         'title'  => esc_html__('Approved', 'event_espresso'),
676 676
                         'target' => '',
677
-                        'class'  => $this->menu_class . ' ee-toolbar-icon-approved',
677
+                        'class'  => $this->menu_class.' ee-toolbar-icon-approved',
678 678
                     ),
679 679
                 )
680 680
             );
@@ -711,7 +711,7 @@  discard block
 block discarded – undo
711 711
                     'meta'   => array(
712 712
                         'title'  => esc_html__('Pending', 'event_espresso'),
713 713
                         'target' => '',
714
-                        'class'  => $this->menu_class . ' ee-toolbar-icon-pending',
714
+                        'class'  => $this->menu_class.' ee-toolbar-icon-pending',
715 715
                     ),
716 716
                 )
717 717
             );
@@ -748,7 +748,7 @@  discard block
 block discarded – undo
748 748
                     'meta'   => array(
749 749
                         'title'  => esc_html__('Not Approved', 'event_espresso'),
750 750
                         'target' => '',
751
-                        'class'  => $this->menu_class . ' ee-toolbar-icon-not-approved',
751
+                        'class'  => $this->menu_class.' ee-toolbar-icon-not-approved',
752 752
                     ),
753 753
                 )
754 754
             );
@@ -785,7 +785,7 @@  discard block
 block discarded – undo
785 785
                     'meta'   => array(
786 786
                         'title'  => esc_html__('Cancelled', 'event_espresso'),
787 787
                         'target' => '',
788
-                        'class'  => $this->menu_class . ' ee-toolbar-icon-cancelled',
788
+                        'class'  => $this->menu_class.' ee-toolbar-icon-cancelled',
789 789
                     ),
790 790
                 )
791 791
             );
Please login to merge, or discard this patch.
Indentation   +776 added lines, -776 removed lines patch added patch discarded remove patch
@@ -19,780 +19,780 @@
 block discarded – undo
19 19
 class AdminToolBar
20 20
 {
21 21
 
22
-    /**
23
-     * @var WP_Admin_Bar $admin_bar
24
-     */
25
-    private $admin_bar;
26
-
27
-    /**
28
-     * @var EE_Capabilities $capabilities
29
-     */
30
-    private $capabilities;
31
-
32
-    /**
33
-     * @var string $events_admin_url
34
-     */
35
-    private $events_admin_url;
36
-
37
-    /**
38
-     * @var string $menu_class
39
-     */
40
-    private $menu_class = 'espresso_menu_item_class';
41
-
42
-    /**
43
-     * @var string $reg_admin_url
44
-     */
45
-    private $reg_admin_url;
46
-
47
-
48
-    /**
49
-     * AdminToolBar constructor.
50
-     *
51
-     * @param EE_Capabilities $capabilities
52
-     */
53
-    public function __construct(EE_Capabilities $capabilities)
54
-    {
55
-        $this->capabilities = $capabilities;
56
-        add_action('admin_bar_menu', array($this, 'espressoToolbarItems'), 100);
57
-        $this->enqueueAssets();
58
-    }
59
-
60
-
61
-    /**
62
-     *    espresso_toolbar_items
63
-     *
64
-     * @access public
65
-     * @param  WP_Admin_Bar $admin_bar
66
-     * @return void
67
-     */
68
-    public function espressoToolbarItems(WP_Admin_Bar $admin_bar)
69
-    {
70
-        // if its an AJAX request, or user is NOT an admin, or in full M-Mode
71
-        if (
72
-            defined('DOING_AJAX')
73
-            || ! $this->capabilities->current_user_can('ee_read_ee', 'ee_admin_bar_menu_top_level')
74
-            || EE_Maintenance_Mode::instance()->level() === EE_Maintenance_Mode::level_2_complete_maintenance
75
-        ) {
76
-            return;
77
-        }
78
-        do_action('AHEE_log', __FILE__, __FUNCTION__, '');
79
-        $this->admin_bar = $admin_bar;
80
-        // we don't use the constants EVENTS_ADMIN_URL or REG_ADMIN_URL
81
-        // because they're only defined in each of their respective constructors
82
-        // and this might be a frontend request, in which case they aren't available
83
-        $this->events_admin_url = admin_url('admin.php?page=espresso_events');
84
-        $this->reg_admin_url = admin_url('admin.php?page=espresso_registrations');
85
-        // now let's add all of the menu items
86
-        $this->addTopLevelMenu();
87
-        $this->addEventsSubMenu();
88
-        $this->addEventsAddEditHeader();
89
-        $this->addEventsAddNew();
90
-        $this->addEventsEditCurrentEvent();
91
-        $this->addEventsViewHeader();
92
-        $this->addEventsViewAll();
93
-        $this->addEventsViewToday();
94
-        $this->addEventsViewThisMonth();
95
-        $this->addRegistrationSubMenu();
96
-        $this->addRegistrationOverviewToday();
97
-        $this->addRegistrationOverviewTodayApproved();
98
-        $this->addRegistrationOverviewTodayPendingPayment();
99
-        $this->addRegistrationOverviewTodayNotApproved();
100
-        $this->addRegistrationOverviewTodayCancelled();
101
-        $this->addRegistrationOverviewThisMonth();
102
-        $this->addRegistrationOverviewThisMonthApproved();
103
-        $this->addRegistrationOverviewThisMonthPending();
104
-        $this->addRegistrationOverviewThisMonthNotApproved();
105
-        $this->addRegistrationOverviewThisMonthCancelled();
106
-        $this->addExtensionsAndServices();
107
-    }
108
-
109
-
110
-    /**
111
-     * @return void
112
-     */
113
-    private function enqueueAssets()
114
-    {
115
-        wp_register_style(
116
-            'espresso-admin-toolbar',
117
-            EE_GLOBAL_ASSETS_URL . 'css/espresso-admin-toolbar.css',
118
-            array('dashicons'),
119
-            EVENT_ESPRESSO_VERSION
120
-        );
121
-        wp_enqueue_style('espresso-admin-toolbar');
122
-    }
123
-
124
-
125
-    /**
126
-     * @return void
127
-     */
128
-    private function addTopLevelMenu()
129
-    {
130
-        $this->admin_bar->add_menu(
131
-            array(
132
-                'id'    => 'espresso-toolbar',
133
-                'title' => '<span class="ee-icon ee-icon-ee-cup-thick ee-icon-size-20"></span><span class="ab-label">'
134
-                           . esc_html_x('Event Espresso', 'admin bar menu group label', 'event_espresso')
135
-                           . '</span>',
136
-                'href'  => $this->events_admin_url,
137
-                'meta'  => array(
138
-                    'title' => esc_html__('Event Espresso', 'event_espresso'),
139
-                    'class' => $this->menu_class . 'first',
140
-                ),
141
-            )
142
-        );
143
-    }
144
-
145
-
146
-    /**
147
-     * @return void
148
-     */
149
-    private function addEventsSubMenu()
150
-    {
151
-        if (
152
-            $this->capabilities->current_user_can(
153
-                'ee_read_events',
154
-                'ee_admin_bar_menu_espresso-toolbar-events'
155
-            )
156
-        ) {
157
-            $this->admin_bar->add_menu(
158
-                array(
159
-                    'id'     => 'espresso-toolbar-events',
160
-                    'parent' => 'espresso-toolbar',
161
-                    'title'  => '<span class="ee-toolbar-icon"></span>'
162
-                                . esc_html__('Events', 'event_espresso'),
163
-                    'href'   => $this->events_admin_url,
164
-                    'meta'   => array(
165
-                        'title'  => esc_html__('Events', 'event_espresso'),
166
-                        'target' => '',
167
-                        'class'  => $this->menu_class,
168
-                    ),
169
-                )
170
-            );
171
-        }
172
-    }
173
-
174
-
175
-    /**
176
-     * @return void
177
-     */
178
-    private function addEventsAddEditHeader()
179
-    {
180
-        if (
181
-            $this->capabilities->current_user_can(
182
-                'ee_read_events',
183
-                'ee_admin_bar_menu_espresso-toolbar-events-view'
184
-            )
185
-        ) {
186
-            $this->admin_bar->add_menu(
187
-                array(
188
-                    'id'     => 'espresso-toolbar-events-add-edit',
189
-                    'parent' => 'espresso-toolbar-events',
190
-                    'title'  => esc_html__('Add / Edit', 'event_espresso'),
191
-                    'href'   => '',
192
-                )
193
-            );
194
-        }
195
-    }
196
-
197
-
198
-    /**
199
-     * @return void
200
-     */
201
-    private function addEventsAddNew()
202
-    {
203
-        if (
204
-            $this->capabilities->current_user_can(
205
-                'ee_edit_events',
206
-                'ee_admin_bar_menu_espresso-toolbar-events-new'
207
-            )
208
-        ) {
209
-            $this->admin_bar->add_menu(
210
-                array(
211
-                    'id'     => 'espresso-toolbar-events-new',
212
-                    'parent' => 'espresso-toolbar-events',
213
-                    'title'  => '<span class="ee-toolbar-icon"></span>'
214
-                                . esc_html__('Add New', 'event_espresso'),
215
-                    'href'   => EEH_URL::add_query_args_and_nonce(
216
-                        array('action' => 'create_new'),
217
-                        $this->events_admin_url
218
-                    ),
219
-                    'meta'   => array(
220
-                        'title'  => esc_html__('Add New', 'event_espresso'),
221
-                        'target' => '',
222
-                        'class'  => $this->menu_class,
223
-                    ),
224
-                )
225
-            );
226
-        }
227
-    }
228
-
229
-
230
-    /**
231
-     * @return void
232
-     */
233
-    private function addEventsEditCurrentEvent()
234
-    {
235
-        if (is_single() && (get_post_type() === 'espresso_events')) {
236
-            // Current post
237
-            global $post;
238
-            if (
239
-                $this->capabilities->current_user_can(
240
-                    'ee_edit_event',
241
-                    'ee_admin_bar_menu_espresso-toolbar-events-edit',
242
-                    $post->ID
243
-                )
244
-            ) {
245
-                $this->admin_bar->add_menu(
246
-                    array(
247
-                        'id'     => 'espresso-toolbar-events-edit',
248
-                        'parent' => 'espresso-toolbar-events',
249
-                        'title'  => '<span class="ee-toolbar-icon"></span>'
250
-                                    . esc_html__('Edit Event', 'event_espresso'),
251
-                        'href'   => EEH_URL::add_query_args_and_nonce(
252
-                            array(
253
-                                'action' => 'edit',
254
-                                'post'   => $post->ID,
255
-                            ),
256
-                            $this->events_admin_url
257
-                        ),
258
-                        'meta'   => array(
259
-                            'title'  => esc_html__('Edit Event', 'event_espresso'),
260
-                            'target' => '',
261
-                            'class'  => $this->menu_class,
262
-                        ),
263
-                    )
264
-                );
265
-            }
266
-        }
267
-    }
268
-
269
-
270
-    /**
271
-     * @return void
272
-     */
273
-    private function addEventsViewHeader()
274
-    {
275
-        if (
276
-            $this->capabilities->current_user_can(
277
-                'ee_read_events',
278
-                'ee_admin_bar_menu_espresso-toolbar-events-view'
279
-            )
280
-        ) {
281
-            $this->admin_bar->add_menu(
282
-                array(
283
-                    'id'     => 'espresso-toolbar-events-view',
284
-                    'parent' => 'espresso-toolbar-events',
285
-                    'title'  => esc_html__('View', 'event_espresso'),
286
-                    'href'   => '',
287
-                )
288
-            );
289
-        }
290
-    }
291
-
292
-
293
-    /**
294
-     * @return void
295
-     */
296
-    private function addEventsViewAll()
297
-    {
298
-        if (
299
-            $this->capabilities->current_user_can(
300
-                'ee_read_events',
301
-                'ee_admin_bar_menu_espresso-toolbar-events-all'
302
-            )
303
-        ) {
304
-            $this->admin_bar->add_menu(
305
-                array(
306
-                    'id'     => 'espresso-toolbar-events-all',
307
-                    'parent' => 'espresso-toolbar-events',
308
-                    'title'  => '<span class="ee-toolbar-icon"></span>'
309
-                                . esc_html__('All', 'event_espresso'),
310
-                    'href'   => $this->events_admin_url,
311
-                    'meta'   => array(
312
-                        'title'  => esc_html__('All', 'event_espresso'),
313
-                        'target' => '',
314
-                        'class'  => $this->menu_class,
315
-                    ),
316
-                )
317
-            );
318
-        }
319
-    }
320
-
321
-
322
-    /**
323
-     * @return void
324
-     */
325
-    private function addEventsViewToday()
326
-    {
327
-        if (
328
-            $this->capabilities->current_user_can(
329
-                'ee_read_events',
330
-                'ee_admin_bar_menu_espresso-toolbar-events-today'
331
-            )
332
-        ) {
333
-            $this->admin_bar->add_menu(
334
-                array(
335
-                    'id'     => 'espresso-toolbar-events-today',
336
-                    'parent' => 'espresso-toolbar-events',
337
-                    'title'  => '<span class="ee-toolbar-icon"></span>'
338
-                                . esc_html__('Today', 'event_espresso'),
339
-                    'href'   => EEH_URL::add_query_args_and_nonce(
340
-                        array(
341
-                            'action' => 'default',
342
-                            'status' => 'today',
343
-                        ),
344
-                        $this->events_admin_url
345
-                    ),
346
-                    'meta'   => array(
347
-                        'title'  => esc_html__('Today', 'event_espresso'),
348
-                        'target' => '',
349
-                        'class'  => $this->menu_class,
350
-                    ),
351
-                )
352
-            );
353
-        }
354
-    }
355
-
356
-
357
-    /**
358
-     * @return void
359
-     */
360
-    private function addEventsViewThisMonth()
361
-    {
362
-        if (
363
-            $this->capabilities->current_user_can(
364
-                'ee_read_events',
365
-                'ee_admin_bar_menu_espresso-toolbar-events-month'
366
-            )
367
-        ) {
368
-            $this->admin_bar->add_menu(
369
-                array(
370
-                    'id'     => 'espresso-toolbar-events-month',
371
-                    'parent' => 'espresso-toolbar-events',
372
-                    'title'  => '<span class="ee-toolbar-icon"></span>'
373
-                                . esc_html__('This Month', 'event_espresso'),
374
-                    'href'   => EEH_URL::add_query_args_and_nonce(
375
-                        array(
376
-                            'action' => 'default',
377
-                            'status' => 'month',
378
-                        ),
379
-                        $this->events_admin_url
380
-                    ),
381
-                    'meta'   => array(
382
-                        'title'  => esc_html__('This Month', 'event_espresso'),
383
-                        'target' => '',
384
-                        'class'  => $this->menu_class,
385
-                    ),
386
-                )
387
-            );
388
-        }
389
-    }
390
-
391
-
392
-    /**
393
-     * @return void
394
-     */
395
-    private function addRegistrationSubMenu()
396
-    {
397
-        if (
398
-            $this->capabilities->current_user_can(
399
-                'ee_read_registrations',
400
-                'ee_admin_bar_menu_espresso-toolbar-registrations'
401
-            )
402
-        ) {
403
-            $this->admin_bar->add_menu(
404
-                array(
405
-                    'id'     => 'espresso-toolbar-registrations',
406
-                    'parent' => 'espresso-toolbar',
407
-                    'title'  => '<span class="ee-toolbar-icon"></span>'
408
-                                . esc_html__('Registrations', 'event_espresso'),
409
-                    'href'   => $this->reg_admin_url,
410
-                    'meta'   => array(
411
-                        'title'  => esc_html__('Registrations', 'event_espresso'),
412
-                        'target' => '',
413
-                        'class'  => $this->menu_class,
414
-                    ),
415
-                )
416
-            );
417
-        }
418
-    }
419
-
420
-
421
-    /**
422
-     * @return void
423
-     */
424
-    private function addRegistrationOverviewToday()
425
-    {
426
-        if (
427
-            $this->capabilities->current_user_can(
428
-                'ee_read_registrations',
429
-                'ee_admin_bar_menu_espresso-toolbar-registrations-today'
430
-            )
431
-        ) {
432
-            $this->admin_bar->add_menu(
433
-                array(
434
-                    'id'     => 'espresso-toolbar-registrations-today',
435
-                    'parent' => 'espresso-toolbar-registrations',
436
-                    'title'  => esc_html__('Today', 'event_espresso'),
437
-                    'href'   => '',
438
-                    'meta'   => array(
439
-                        'title'  => esc_html__('Today', 'event_espresso'),
440
-                        'target' => '',
441
-                        'class'  => $this->menu_class,
442
-                    ),
443
-                )
444
-            );
445
-        }
446
-    }
447
-
448
-
449
-    /**
450
-     * @return void
451
-     */
452
-    private function addRegistrationOverviewTodayApproved()
453
-    {
454
-        if (
455
-            $this->capabilities->current_user_can(
456
-                'ee_read_registrations',
457
-                'ee_admin_bar_menu_espresso-toolbar-registrations-today-approved'
458
-            )
459
-        ) {
460
-            $this->admin_bar->add_menu(
461
-                array(
462
-                    'id'     => 'espresso-toolbar-registrations-today-approved',
463
-                    'parent' => 'espresso-toolbar-registrations',
464
-                    'title'  => '<span class="ee-toolbar-icon"></span>'
465
-                                . esc_html__('Approved', 'event_espresso'),
466
-                    'href'   => EEH_URL::add_query_args_and_nonce(
467
-                        array(
468
-                            'action'      => 'default',
469
-                            'status'      => 'today',
470
-                            '_reg_status' => EEM_Registration::status_id_approved,
471
-                        ),
472
-                        $this->reg_admin_url
473
-                    ),
474
-                    'meta'   => array(
475
-                        'title'  => esc_html__('Approved', 'event_espresso'),
476
-                        'target' => '',
477
-                        'class'  => $this->menu_class . ' ee-toolbar-icon-approved',
478
-                    ),
479
-                )
480
-            );
481
-        }
482
-    }
483
-
484
-
485
-    /**
486
-     * @return void
487
-     */
488
-    private function addRegistrationOverviewTodayPendingPayment()
489
-    {
490
-        if (
491
-            $this->capabilities->current_user_can(
492
-                'ee_read_registrations',
493
-                'ee_admin_bar_menu_espresso-toolbar-registrations-today-pending'
494
-            )
495
-        ) {
496
-            $this->admin_bar->add_menu(
497
-                array(
498
-                    'id'     => 'espresso-toolbar-registrations-today-pending',
499
-                    'parent' => 'espresso-toolbar-registrations',
500
-                    'title'  => '<span class="ee-toolbar-icon"></span>'
501
-                                . esc_html__('Pending', 'event_espresso'),
502
-                    'href'   => EEH_URL::add_query_args_and_nonce(
503
-                        array(
504
-                            'action'      => 'default',
505
-                            'status'      => 'today',
506
-                            '_reg_status' => EEM_Registration::status_id_pending_payment,
507
-                        ),
508
-                        $this->reg_admin_url
509
-                    ),
510
-                    'meta'   => array(
511
-                        'title'  => esc_html__('Pending Payment', 'event_espresso'),
512
-                        'target' => '',
513
-                        'class'  => $this->menu_class . ' ee-toolbar-icon-pending',
514
-                    ),
515
-                )
516
-            );
517
-        }
518
-    }
519
-
520
-
521
-    /**
522
-     * @return void
523
-     */
524
-    private function addRegistrationOverviewTodayNotApproved()
525
-    {
526
-        if (
527
-            $this->capabilities->current_user_can(
528
-                'ee_read_registrations',
529
-                'ee_admin_bar_menu_espresso-toolbar-registrations-today-not-approved'
530
-            )
531
-        ) {
532
-            $this->admin_bar->add_menu(
533
-                array(
534
-                    'id'     => 'espresso-toolbar-registrations-today-not-approved',
535
-                    'parent' => 'espresso-toolbar-registrations',
536
-                    'title'  => '<span class="ee-toolbar-icon"></span>'
537
-                                . esc_html__('Not Approved', 'event_espresso'),
538
-                    'href'   => EEH_URL::add_query_args_and_nonce(
539
-                        array(
540
-                            'action'      => 'default',
541
-                            'status'      => 'today',
542
-                            '_reg_status' => EEM_Registration::status_id_not_approved,
543
-                        ),
544
-                        $this->reg_admin_url
545
-                    ),
546
-                    'meta'   => array(
547
-                        'title'  => esc_html__('Not Approved', 'event_espresso'),
548
-                        'target' => '',
549
-                        'class'  => $this->menu_class . ' ee-toolbar-icon-not-approved',
550
-                    ),
551
-                )
552
-            );
553
-        }
554
-    }
555
-
556
-
557
-    /**
558
-     * @return void
559
-     */
560
-    private function addRegistrationOverviewTodayCancelled()
561
-    {
562
-        if (
563
-            $this->capabilities->current_user_can(
564
-                'ee_read_registrations',
565
-                'ee_admin_bar_menu_espresso-toolbar-registrations-today-cancelled'
566
-            )
567
-        ) {
568
-            $this->admin_bar->add_menu(
569
-                array(
570
-                    'id'     => 'espresso-toolbar-registrations-today-cancelled',
571
-                    'parent' => 'espresso-toolbar-registrations',
572
-                    'title'  => '<span class="ee-toolbar-icon"></span>'
573
-                                . esc_html__('Cancelled', 'event_espresso'),
574
-                    'href'   => EEH_URL::add_query_args_and_nonce(
575
-                        array(
576
-                            'action'      => 'default',
577
-                            'status'      => 'today',
578
-                            '_reg_status' => EEM_Registration::status_id_cancelled,
579
-                        ),
580
-                        $this->reg_admin_url
581
-                    ),
582
-                    'meta'   => array(
583
-                        'title'  => esc_html__('Cancelled', 'event_espresso'),
584
-                        'target' => '',
585
-                        'class'  => $this->menu_class . ' ee-toolbar-icon-cancelled',
586
-                    ),
587
-                )
588
-            );
589
-        }
590
-    }
591
-
592
-
593
-    /**
594
-     * @return void
595
-     */
596
-    private function addRegistrationOverviewThisMonth()
597
-    {
598
-        if (
599
-            $this->capabilities->current_user_can(
600
-                'ee_read_registrations',
601
-                'ee_admin_bar_menu_espresso-toolbar-registrations-month'
602
-            )
603
-        ) {
604
-            $this->admin_bar->add_menu(
605
-                array(
606
-                    'id'     => 'espresso-toolbar-registrations-month',
607
-                    'parent' => 'espresso-toolbar-registrations',
608
-                    'title'  => esc_html__('This Month', 'event_espresso'),
609
-                    'href'   => '', // EEH_URL::add_query_args_and_nonce(
610
-                    //     array(
611
-                    //         'action' => 'default',
612
-                    //         'status' => 'month'
613
-                    //     ),
614
-                    //     $this->reg_admin_url
615
-                    // ),
616
-                    'meta'   => array(
617
-                        'title'  => esc_html__('This Month', 'event_espresso'),
618
-                        'target' => '',
619
-                        'class'  => $this->menu_class,
620
-                    ),
621
-                )
622
-            );
623
-        }
624
-    }
625
-
626
-
627
-    /**
628
-     * @return void
629
-     */
630
-    private function addRegistrationOverviewThisMonthApproved()
631
-    {
632
-        if (
633
-            $this->capabilities->current_user_can(
634
-                'ee_read_registrations',
635
-                'ee_admin_bar_menu_espresso-toolbar-registrations-month-approved'
636
-            )
637
-        ) {
638
-            $this->admin_bar->add_menu(
639
-                array(
640
-                    'id'     => 'espresso-toolbar-registrations-month-approved',
641
-                    'parent' => 'espresso-toolbar-registrations',
642
-                    'title'  => '<span class="ee-toolbar-icon"></span>'
643
-                                . esc_html__('Approved', 'event_espresso'),
644
-                    'href'   => EEH_URL::add_query_args_and_nonce(
645
-                        array(
646
-                            'action'      => 'default',
647
-                            'status'      => 'month',
648
-                            '_reg_status' => EEM_Registration::status_id_approved,
649
-                        ),
650
-                        $this->reg_admin_url
651
-                    ),
652
-                    'meta'   => array(
653
-                        'title'  => esc_html__('Approved', 'event_espresso'),
654
-                        'target' => '',
655
-                        'class'  => $this->menu_class . ' ee-toolbar-icon-approved',
656
-                    ),
657
-                )
658
-            );
659
-        }
660
-    }
661
-
662
-
663
-    /**
664
-     * @return void
665
-     */
666
-    private function addRegistrationOverviewThisMonthPending()
667
-    {
668
-        if (
669
-            $this->capabilities->current_user_can(
670
-                'ee_read_registrations',
671
-                'ee_admin_bar_menu_espresso-toolbar-registrations-month-pending'
672
-            )
673
-        ) {
674
-            $this->admin_bar->add_menu(
675
-                array(
676
-                    'id'     => 'espresso-toolbar-registrations-month-pending',
677
-                    'parent' => 'espresso-toolbar-registrations',
678
-                    'title'  => '<span class="ee-toolbar-icon"></span>'
679
-                                . esc_html__('Pending', 'event_espresso'),
680
-                    'href'   => EEH_URL::add_query_args_and_nonce(
681
-                        array(
682
-                            'action'      => 'default',
683
-                            'status'      => 'month',
684
-                            '_reg_status' => EEM_Registration::status_id_pending_payment,
685
-                        ),
686
-                        $this->reg_admin_url
687
-                    ),
688
-                    'meta'   => array(
689
-                        'title'  => esc_html__('Pending', 'event_espresso'),
690
-                        'target' => '',
691
-                        'class'  => $this->menu_class . ' ee-toolbar-icon-pending',
692
-                    ),
693
-                )
694
-            );
695
-        }
696
-    }
697
-
698
-
699
-    /**
700
-     * @return void
701
-     */
702
-    private function addRegistrationOverviewThisMonthNotApproved()
703
-    {
704
-        if (
705
-            $this->capabilities->current_user_can(
706
-                'ee_read_registrations',
707
-                'ee_admin_bar_menu_espresso-toolbar-registrations-month-not-approved'
708
-            )
709
-        ) {
710
-            $this->admin_bar->add_menu(
711
-                array(
712
-                    'id'     => 'espresso-toolbar-registrations-month-not-approved',
713
-                    'parent' => 'espresso-toolbar-registrations',
714
-                    'title'  => '<span class="ee-toolbar-icon"></span>'
715
-                                . esc_html__('Not Approved', 'event_espresso'),
716
-                    'href'   => EEH_URL::add_query_args_and_nonce(
717
-                        array(
718
-                            'action'      => 'default',
719
-                            'status'      => 'month',
720
-                            '_reg_status' => EEM_Registration::status_id_not_approved,
721
-                        ),
722
-                        $this->reg_admin_url
723
-                    ),
724
-                    'meta'   => array(
725
-                        'title'  => esc_html__('Not Approved', 'event_espresso'),
726
-                        'target' => '',
727
-                        'class'  => $this->menu_class . ' ee-toolbar-icon-not-approved',
728
-                    ),
729
-                )
730
-            );
731
-        }
732
-    }
733
-
734
-
735
-    /**
736
-     * @return void
737
-     */
738
-    private function addRegistrationOverviewThisMonthCancelled()
739
-    {
740
-        if (
741
-            $this->capabilities->current_user_can(
742
-                'ee_read_registrations',
743
-                'ee_admin_bar_menu_espresso-toolbar-registrations-month-cancelled'
744
-            )
745
-        ) {
746
-            $this->admin_bar->add_menu(
747
-                array(
748
-                    'id'     => 'espresso-toolbar-registrations-month-cancelled',
749
-                    'parent' => 'espresso-toolbar-registrations',
750
-                    'title'  => '<span class="ee-toolbar-icon"></span>'
751
-                                . esc_html__('Cancelled', 'event_espresso'),
752
-                    'href'   => EEH_URL::add_query_args_and_nonce(
753
-                        array(
754
-                            'action'      => 'default',
755
-                            'status'      => 'month',
756
-                            '_reg_status' => EEM_Registration::status_id_cancelled,
757
-                        ),
758
-                        $this->reg_admin_url
759
-                    ),
760
-                    'meta'   => array(
761
-                        'title'  => esc_html__('Cancelled', 'event_espresso'),
762
-                        'target' => '',
763
-                        'class'  => $this->menu_class . ' ee-toolbar-icon-cancelled',
764
-                    ),
765
-                )
766
-            );
767
-        }
768
-    }
769
-
770
-
771
-    /**
772
-     * @return void
773
-     */
774
-    private function addExtensionsAndServices()
775
-    {
776
-        if (
777
-            $this->capabilities->current_user_can(
778
-                'ee_read_ee',
779
-                'ee_admin_bar_menu_espresso-toolbar-extensions-and-services'
780
-            )
781
-        ) {
782
-            $this->admin_bar->add_menu(
783
-                array(
784
-                    'id'     => 'espresso-toolbar-extensions-and-services',
785
-                    'parent' => 'espresso-toolbar',
786
-                    'title'  => '<span class="ee-toolbar-icon"></span>'
787
-                                . esc_html__('Extensions & Services', 'event_espresso'),
788
-                    'href'   => admin_url('admin.php?page=espresso_packages'),
789
-                    'meta'   => array(
790
-                        'title'  => esc_html__('Extensions & Services', 'event_espresso'),
791
-                        'target' => '',
792
-                        'class'  => $this->menu_class,
793
-                    ),
794
-                )
795
-            );
796
-        }
797
-    }
22
+	/**
23
+	 * @var WP_Admin_Bar $admin_bar
24
+	 */
25
+	private $admin_bar;
26
+
27
+	/**
28
+	 * @var EE_Capabilities $capabilities
29
+	 */
30
+	private $capabilities;
31
+
32
+	/**
33
+	 * @var string $events_admin_url
34
+	 */
35
+	private $events_admin_url;
36
+
37
+	/**
38
+	 * @var string $menu_class
39
+	 */
40
+	private $menu_class = 'espresso_menu_item_class';
41
+
42
+	/**
43
+	 * @var string $reg_admin_url
44
+	 */
45
+	private $reg_admin_url;
46
+
47
+
48
+	/**
49
+	 * AdminToolBar constructor.
50
+	 *
51
+	 * @param EE_Capabilities $capabilities
52
+	 */
53
+	public function __construct(EE_Capabilities $capabilities)
54
+	{
55
+		$this->capabilities = $capabilities;
56
+		add_action('admin_bar_menu', array($this, 'espressoToolbarItems'), 100);
57
+		$this->enqueueAssets();
58
+	}
59
+
60
+
61
+	/**
62
+	 *    espresso_toolbar_items
63
+	 *
64
+	 * @access public
65
+	 * @param  WP_Admin_Bar $admin_bar
66
+	 * @return void
67
+	 */
68
+	public function espressoToolbarItems(WP_Admin_Bar $admin_bar)
69
+	{
70
+		// if its an AJAX request, or user is NOT an admin, or in full M-Mode
71
+		if (
72
+			defined('DOING_AJAX')
73
+			|| ! $this->capabilities->current_user_can('ee_read_ee', 'ee_admin_bar_menu_top_level')
74
+			|| EE_Maintenance_Mode::instance()->level() === EE_Maintenance_Mode::level_2_complete_maintenance
75
+		) {
76
+			return;
77
+		}
78
+		do_action('AHEE_log', __FILE__, __FUNCTION__, '');
79
+		$this->admin_bar = $admin_bar;
80
+		// we don't use the constants EVENTS_ADMIN_URL or REG_ADMIN_URL
81
+		// because they're only defined in each of their respective constructors
82
+		// and this might be a frontend request, in which case they aren't available
83
+		$this->events_admin_url = admin_url('admin.php?page=espresso_events');
84
+		$this->reg_admin_url = admin_url('admin.php?page=espresso_registrations');
85
+		// now let's add all of the menu items
86
+		$this->addTopLevelMenu();
87
+		$this->addEventsSubMenu();
88
+		$this->addEventsAddEditHeader();
89
+		$this->addEventsAddNew();
90
+		$this->addEventsEditCurrentEvent();
91
+		$this->addEventsViewHeader();
92
+		$this->addEventsViewAll();
93
+		$this->addEventsViewToday();
94
+		$this->addEventsViewThisMonth();
95
+		$this->addRegistrationSubMenu();
96
+		$this->addRegistrationOverviewToday();
97
+		$this->addRegistrationOverviewTodayApproved();
98
+		$this->addRegistrationOverviewTodayPendingPayment();
99
+		$this->addRegistrationOverviewTodayNotApproved();
100
+		$this->addRegistrationOverviewTodayCancelled();
101
+		$this->addRegistrationOverviewThisMonth();
102
+		$this->addRegistrationOverviewThisMonthApproved();
103
+		$this->addRegistrationOverviewThisMonthPending();
104
+		$this->addRegistrationOverviewThisMonthNotApproved();
105
+		$this->addRegistrationOverviewThisMonthCancelled();
106
+		$this->addExtensionsAndServices();
107
+	}
108
+
109
+
110
+	/**
111
+	 * @return void
112
+	 */
113
+	private function enqueueAssets()
114
+	{
115
+		wp_register_style(
116
+			'espresso-admin-toolbar',
117
+			EE_GLOBAL_ASSETS_URL . 'css/espresso-admin-toolbar.css',
118
+			array('dashicons'),
119
+			EVENT_ESPRESSO_VERSION
120
+		);
121
+		wp_enqueue_style('espresso-admin-toolbar');
122
+	}
123
+
124
+
125
+	/**
126
+	 * @return void
127
+	 */
128
+	private function addTopLevelMenu()
129
+	{
130
+		$this->admin_bar->add_menu(
131
+			array(
132
+				'id'    => 'espresso-toolbar',
133
+				'title' => '<span class="ee-icon ee-icon-ee-cup-thick ee-icon-size-20"></span><span class="ab-label">'
134
+						   . esc_html_x('Event Espresso', 'admin bar menu group label', 'event_espresso')
135
+						   . '</span>',
136
+				'href'  => $this->events_admin_url,
137
+				'meta'  => array(
138
+					'title' => esc_html__('Event Espresso', 'event_espresso'),
139
+					'class' => $this->menu_class . 'first',
140
+				),
141
+			)
142
+		);
143
+	}
144
+
145
+
146
+	/**
147
+	 * @return void
148
+	 */
149
+	private function addEventsSubMenu()
150
+	{
151
+		if (
152
+			$this->capabilities->current_user_can(
153
+				'ee_read_events',
154
+				'ee_admin_bar_menu_espresso-toolbar-events'
155
+			)
156
+		) {
157
+			$this->admin_bar->add_menu(
158
+				array(
159
+					'id'     => 'espresso-toolbar-events',
160
+					'parent' => 'espresso-toolbar',
161
+					'title'  => '<span class="ee-toolbar-icon"></span>'
162
+								. esc_html__('Events', 'event_espresso'),
163
+					'href'   => $this->events_admin_url,
164
+					'meta'   => array(
165
+						'title'  => esc_html__('Events', 'event_espresso'),
166
+						'target' => '',
167
+						'class'  => $this->menu_class,
168
+					),
169
+				)
170
+			);
171
+		}
172
+	}
173
+
174
+
175
+	/**
176
+	 * @return void
177
+	 */
178
+	private function addEventsAddEditHeader()
179
+	{
180
+		if (
181
+			$this->capabilities->current_user_can(
182
+				'ee_read_events',
183
+				'ee_admin_bar_menu_espresso-toolbar-events-view'
184
+			)
185
+		) {
186
+			$this->admin_bar->add_menu(
187
+				array(
188
+					'id'     => 'espresso-toolbar-events-add-edit',
189
+					'parent' => 'espresso-toolbar-events',
190
+					'title'  => esc_html__('Add / Edit', 'event_espresso'),
191
+					'href'   => '',
192
+				)
193
+			);
194
+		}
195
+	}
196
+
197
+
198
+	/**
199
+	 * @return void
200
+	 */
201
+	private function addEventsAddNew()
202
+	{
203
+		if (
204
+			$this->capabilities->current_user_can(
205
+				'ee_edit_events',
206
+				'ee_admin_bar_menu_espresso-toolbar-events-new'
207
+			)
208
+		) {
209
+			$this->admin_bar->add_menu(
210
+				array(
211
+					'id'     => 'espresso-toolbar-events-new',
212
+					'parent' => 'espresso-toolbar-events',
213
+					'title'  => '<span class="ee-toolbar-icon"></span>'
214
+								. esc_html__('Add New', 'event_espresso'),
215
+					'href'   => EEH_URL::add_query_args_and_nonce(
216
+						array('action' => 'create_new'),
217
+						$this->events_admin_url
218
+					),
219
+					'meta'   => array(
220
+						'title'  => esc_html__('Add New', 'event_espresso'),
221
+						'target' => '',
222
+						'class'  => $this->menu_class,
223
+					),
224
+				)
225
+			);
226
+		}
227
+	}
228
+
229
+
230
+	/**
231
+	 * @return void
232
+	 */
233
+	private function addEventsEditCurrentEvent()
234
+	{
235
+		if (is_single() && (get_post_type() === 'espresso_events')) {
236
+			// Current post
237
+			global $post;
238
+			if (
239
+				$this->capabilities->current_user_can(
240
+					'ee_edit_event',
241
+					'ee_admin_bar_menu_espresso-toolbar-events-edit',
242
+					$post->ID
243
+				)
244
+			) {
245
+				$this->admin_bar->add_menu(
246
+					array(
247
+						'id'     => 'espresso-toolbar-events-edit',
248
+						'parent' => 'espresso-toolbar-events',
249
+						'title'  => '<span class="ee-toolbar-icon"></span>'
250
+									. esc_html__('Edit Event', 'event_espresso'),
251
+						'href'   => EEH_URL::add_query_args_and_nonce(
252
+							array(
253
+								'action' => 'edit',
254
+								'post'   => $post->ID,
255
+							),
256
+							$this->events_admin_url
257
+						),
258
+						'meta'   => array(
259
+							'title'  => esc_html__('Edit Event', 'event_espresso'),
260
+							'target' => '',
261
+							'class'  => $this->menu_class,
262
+						),
263
+					)
264
+				);
265
+			}
266
+		}
267
+	}
268
+
269
+
270
+	/**
271
+	 * @return void
272
+	 */
273
+	private function addEventsViewHeader()
274
+	{
275
+		if (
276
+			$this->capabilities->current_user_can(
277
+				'ee_read_events',
278
+				'ee_admin_bar_menu_espresso-toolbar-events-view'
279
+			)
280
+		) {
281
+			$this->admin_bar->add_menu(
282
+				array(
283
+					'id'     => 'espresso-toolbar-events-view',
284
+					'parent' => 'espresso-toolbar-events',
285
+					'title'  => esc_html__('View', 'event_espresso'),
286
+					'href'   => '',
287
+				)
288
+			);
289
+		}
290
+	}
291
+
292
+
293
+	/**
294
+	 * @return void
295
+	 */
296
+	private function addEventsViewAll()
297
+	{
298
+		if (
299
+			$this->capabilities->current_user_can(
300
+				'ee_read_events',
301
+				'ee_admin_bar_menu_espresso-toolbar-events-all'
302
+			)
303
+		) {
304
+			$this->admin_bar->add_menu(
305
+				array(
306
+					'id'     => 'espresso-toolbar-events-all',
307
+					'parent' => 'espresso-toolbar-events',
308
+					'title'  => '<span class="ee-toolbar-icon"></span>'
309
+								. esc_html__('All', 'event_espresso'),
310
+					'href'   => $this->events_admin_url,
311
+					'meta'   => array(
312
+						'title'  => esc_html__('All', 'event_espresso'),
313
+						'target' => '',
314
+						'class'  => $this->menu_class,
315
+					),
316
+				)
317
+			);
318
+		}
319
+	}
320
+
321
+
322
+	/**
323
+	 * @return void
324
+	 */
325
+	private function addEventsViewToday()
326
+	{
327
+		if (
328
+			$this->capabilities->current_user_can(
329
+				'ee_read_events',
330
+				'ee_admin_bar_menu_espresso-toolbar-events-today'
331
+			)
332
+		) {
333
+			$this->admin_bar->add_menu(
334
+				array(
335
+					'id'     => 'espresso-toolbar-events-today',
336
+					'parent' => 'espresso-toolbar-events',
337
+					'title'  => '<span class="ee-toolbar-icon"></span>'
338
+								. esc_html__('Today', 'event_espresso'),
339
+					'href'   => EEH_URL::add_query_args_and_nonce(
340
+						array(
341
+							'action' => 'default',
342
+							'status' => 'today',
343
+						),
344
+						$this->events_admin_url
345
+					),
346
+					'meta'   => array(
347
+						'title'  => esc_html__('Today', 'event_espresso'),
348
+						'target' => '',
349
+						'class'  => $this->menu_class,
350
+					),
351
+				)
352
+			);
353
+		}
354
+	}
355
+
356
+
357
+	/**
358
+	 * @return void
359
+	 */
360
+	private function addEventsViewThisMonth()
361
+	{
362
+		if (
363
+			$this->capabilities->current_user_can(
364
+				'ee_read_events',
365
+				'ee_admin_bar_menu_espresso-toolbar-events-month'
366
+			)
367
+		) {
368
+			$this->admin_bar->add_menu(
369
+				array(
370
+					'id'     => 'espresso-toolbar-events-month',
371
+					'parent' => 'espresso-toolbar-events',
372
+					'title'  => '<span class="ee-toolbar-icon"></span>'
373
+								. esc_html__('This Month', 'event_espresso'),
374
+					'href'   => EEH_URL::add_query_args_and_nonce(
375
+						array(
376
+							'action' => 'default',
377
+							'status' => 'month',
378
+						),
379
+						$this->events_admin_url
380
+					),
381
+					'meta'   => array(
382
+						'title'  => esc_html__('This Month', 'event_espresso'),
383
+						'target' => '',
384
+						'class'  => $this->menu_class,
385
+					),
386
+				)
387
+			);
388
+		}
389
+	}
390
+
391
+
392
+	/**
393
+	 * @return void
394
+	 */
395
+	private function addRegistrationSubMenu()
396
+	{
397
+		if (
398
+			$this->capabilities->current_user_can(
399
+				'ee_read_registrations',
400
+				'ee_admin_bar_menu_espresso-toolbar-registrations'
401
+			)
402
+		) {
403
+			$this->admin_bar->add_menu(
404
+				array(
405
+					'id'     => 'espresso-toolbar-registrations',
406
+					'parent' => 'espresso-toolbar',
407
+					'title'  => '<span class="ee-toolbar-icon"></span>'
408
+								. esc_html__('Registrations', 'event_espresso'),
409
+					'href'   => $this->reg_admin_url,
410
+					'meta'   => array(
411
+						'title'  => esc_html__('Registrations', 'event_espresso'),
412
+						'target' => '',
413
+						'class'  => $this->menu_class,
414
+					),
415
+				)
416
+			);
417
+		}
418
+	}
419
+
420
+
421
+	/**
422
+	 * @return void
423
+	 */
424
+	private function addRegistrationOverviewToday()
425
+	{
426
+		if (
427
+			$this->capabilities->current_user_can(
428
+				'ee_read_registrations',
429
+				'ee_admin_bar_menu_espresso-toolbar-registrations-today'
430
+			)
431
+		) {
432
+			$this->admin_bar->add_menu(
433
+				array(
434
+					'id'     => 'espresso-toolbar-registrations-today',
435
+					'parent' => 'espresso-toolbar-registrations',
436
+					'title'  => esc_html__('Today', 'event_espresso'),
437
+					'href'   => '',
438
+					'meta'   => array(
439
+						'title'  => esc_html__('Today', 'event_espresso'),
440
+						'target' => '',
441
+						'class'  => $this->menu_class,
442
+					),
443
+				)
444
+			);
445
+		}
446
+	}
447
+
448
+
449
+	/**
450
+	 * @return void
451
+	 */
452
+	private function addRegistrationOverviewTodayApproved()
453
+	{
454
+		if (
455
+			$this->capabilities->current_user_can(
456
+				'ee_read_registrations',
457
+				'ee_admin_bar_menu_espresso-toolbar-registrations-today-approved'
458
+			)
459
+		) {
460
+			$this->admin_bar->add_menu(
461
+				array(
462
+					'id'     => 'espresso-toolbar-registrations-today-approved',
463
+					'parent' => 'espresso-toolbar-registrations',
464
+					'title'  => '<span class="ee-toolbar-icon"></span>'
465
+								. esc_html__('Approved', 'event_espresso'),
466
+					'href'   => EEH_URL::add_query_args_and_nonce(
467
+						array(
468
+							'action'      => 'default',
469
+							'status'      => 'today',
470
+							'_reg_status' => EEM_Registration::status_id_approved,
471
+						),
472
+						$this->reg_admin_url
473
+					),
474
+					'meta'   => array(
475
+						'title'  => esc_html__('Approved', 'event_espresso'),
476
+						'target' => '',
477
+						'class'  => $this->menu_class . ' ee-toolbar-icon-approved',
478
+					),
479
+				)
480
+			);
481
+		}
482
+	}
483
+
484
+
485
+	/**
486
+	 * @return void
487
+	 */
488
+	private function addRegistrationOverviewTodayPendingPayment()
489
+	{
490
+		if (
491
+			$this->capabilities->current_user_can(
492
+				'ee_read_registrations',
493
+				'ee_admin_bar_menu_espresso-toolbar-registrations-today-pending'
494
+			)
495
+		) {
496
+			$this->admin_bar->add_menu(
497
+				array(
498
+					'id'     => 'espresso-toolbar-registrations-today-pending',
499
+					'parent' => 'espresso-toolbar-registrations',
500
+					'title'  => '<span class="ee-toolbar-icon"></span>'
501
+								. esc_html__('Pending', 'event_espresso'),
502
+					'href'   => EEH_URL::add_query_args_and_nonce(
503
+						array(
504
+							'action'      => 'default',
505
+							'status'      => 'today',
506
+							'_reg_status' => EEM_Registration::status_id_pending_payment,
507
+						),
508
+						$this->reg_admin_url
509
+					),
510
+					'meta'   => array(
511
+						'title'  => esc_html__('Pending Payment', 'event_espresso'),
512
+						'target' => '',
513
+						'class'  => $this->menu_class . ' ee-toolbar-icon-pending',
514
+					),
515
+				)
516
+			);
517
+		}
518
+	}
519
+
520
+
521
+	/**
522
+	 * @return void
523
+	 */
524
+	private function addRegistrationOverviewTodayNotApproved()
525
+	{
526
+		if (
527
+			$this->capabilities->current_user_can(
528
+				'ee_read_registrations',
529
+				'ee_admin_bar_menu_espresso-toolbar-registrations-today-not-approved'
530
+			)
531
+		) {
532
+			$this->admin_bar->add_menu(
533
+				array(
534
+					'id'     => 'espresso-toolbar-registrations-today-not-approved',
535
+					'parent' => 'espresso-toolbar-registrations',
536
+					'title'  => '<span class="ee-toolbar-icon"></span>'
537
+								. esc_html__('Not Approved', 'event_espresso'),
538
+					'href'   => EEH_URL::add_query_args_and_nonce(
539
+						array(
540
+							'action'      => 'default',
541
+							'status'      => 'today',
542
+							'_reg_status' => EEM_Registration::status_id_not_approved,
543
+						),
544
+						$this->reg_admin_url
545
+					),
546
+					'meta'   => array(
547
+						'title'  => esc_html__('Not Approved', 'event_espresso'),
548
+						'target' => '',
549
+						'class'  => $this->menu_class . ' ee-toolbar-icon-not-approved',
550
+					),
551
+				)
552
+			);
553
+		}
554
+	}
555
+
556
+
557
+	/**
558
+	 * @return void
559
+	 */
560
+	private function addRegistrationOverviewTodayCancelled()
561
+	{
562
+		if (
563
+			$this->capabilities->current_user_can(
564
+				'ee_read_registrations',
565
+				'ee_admin_bar_menu_espresso-toolbar-registrations-today-cancelled'
566
+			)
567
+		) {
568
+			$this->admin_bar->add_menu(
569
+				array(
570
+					'id'     => 'espresso-toolbar-registrations-today-cancelled',
571
+					'parent' => 'espresso-toolbar-registrations',
572
+					'title'  => '<span class="ee-toolbar-icon"></span>'
573
+								. esc_html__('Cancelled', 'event_espresso'),
574
+					'href'   => EEH_URL::add_query_args_and_nonce(
575
+						array(
576
+							'action'      => 'default',
577
+							'status'      => 'today',
578
+							'_reg_status' => EEM_Registration::status_id_cancelled,
579
+						),
580
+						$this->reg_admin_url
581
+					),
582
+					'meta'   => array(
583
+						'title'  => esc_html__('Cancelled', 'event_espresso'),
584
+						'target' => '',
585
+						'class'  => $this->menu_class . ' ee-toolbar-icon-cancelled',
586
+					),
587
+				)
588
+			);
589
+		}
590
+	}
591
+
592
+
593
+	/**
594
+	 * @return void
595
+	 */
596
+	private function addRegistrationOverviewThisMonth()
597
+	{
598
+		if (
599
+			$this->capabilities->current_user_can(
600
+				'ee_read_registrations',
601
+				'ee_admin_bar_menu_espresso-toolbar-registrations-month'
602
+			)
603
+		) {
604
+			$this->admin_bar->add_menu(
605
+				array(
606
+					'id'     => 'espresso-toolbar-registrations-month',
607
+					'parent' => 'espresso-toolbar-registrations',
608
+					'title'  => esc_html__('This Month', 'event_espresso'),
609
+					'href'   => '', // EEH_URL::add_query_args_and_nonce(
610
+					//     array(
611
+					//         'action' => 'default',
612
+					//         'status' => 'month'
613
+					//     ),
614
+					//     $this->reg_admin_url
615
+					// ),
616
+					'meta'   => array(
617
+						'title'  => esc_html__('This Month', 'event_espresso'),
618
+						'target' => '',
619
+						'class'  => $this->menu_class,
620
+					),
621
+				)
622
+			);
623
+		}
624
+	}
625
+
626
+
627
+	/**
628
+	 * @return void
629
+	 */
630
+	private function addRegistrationOverviewThisMonthApproved()
631
+	{
632
+		if (
633
+			$this->capabilities->current_user_can(
634
+				'ee_read_registrations',
635
+				'ee_admin_bar_menu_espresso-toolbar-registrations-month-approved'
636
+			)
637
+		) {
638
+			$this->admin_bar->add_menu(
639
+				array(
640
+					'id'     => 'espresso-toolbar-registrations-month-approved',
641
+					'parent' => 'espresso-toolbar-registrations',
642
+					'title'  => '<span class="ee-toolbar-icon"></span>'
643
+								. esc_html__('Approved', 'event_espresso'),
644
+					'href'   => EEH_URL::add_query_args_and_nonce(
645
+						array(
646
+							'action'      => 'default',
647
+							'status'      => 'month',
648
+							'_reg_status' => EEM_Registration::status_id_approved,
649
+						),
650
+						$this->reg_admin_url
651
+					),
652
+					'meta'   => array(
653
+						'title'  => esc_html__('Approved', 'event_espresso'),
654
+						'target' => '',
655
+						'class'  => $this->menu_class . ' ee-toolbar-icon-approved',
656
+					),
657
+				)
658
+			);
659
+		}
660
+	}
661
+
662
+
663
+	/**
664
+	 * @return void
665
+	 */
666
+	private function addRegistrationOverviewThisMonthPending()
667
+	{
668
+		if (
669
+			$this->capabilities->current_user_can(
670
+				'ee_read_registrations',
671
+				'ee_admin_bar_menu_espresso-toolbar-registrations-month-pending'
672
+			)
673
+		) {
674
+			$this->admin_bar->add_menu(
675
+				array(
676
+					'id'     => 'espresso-toolbar-registrations-month-pending',
677
+					'parent' => 'espresso-toolbar-registrations',
678
+					'title'  => '<span class="ee-toolbar-icon"></span>'
679
+								. esc_html__('Pending', 'event_espresso'),
680
+					'href'   => EEH_URL::add_query_args_and_nonce(
681
+						array(
682
+							'action'      => 'default',
683
+							'status'      => 'month',
684
+							'_reg_status' => EEM_Registration::status_id_pending_payment,
685
+						),
686
+						$this->reg_admin_url
687
+					),
688
+					'meta'   => array(
689
+						'title'  => esc_html__('Pending', 'event_espresso'),
690
+						'target' => '',
691
+						'class'  => $this->menu_class . ' ee-toolbar-icon-pending',
692
+					),
693
+				)
694
+			);
695
+		}
696
+	}
697
+
698
+
699
+	/**
700
+	 * @return void
701
+	 */
702
+	private function addRegistrationOverviewThisMonthNotApproved()
703
+	{
704
+		if (
705
+			$this->capabilities->current_user_can(
706
+				'ee_read_registrations',
707
+				'ee_admin_bar_menu_espresso-toolbar-registrations-month-not-approved'
708
+			)
709
+		) {
710
+			$this->admin_bar->add_menu(
711
+				array(
712
+					'id'     => 'espresso-toolbar-registrations-month-not-approved',
713
+					'parent' => 'espresso-toolbar-registrations',
714
+					'title'  => '<span class="ee-toolbar-icon"></span>'
715
+								. esc_html__('Not Approved', 'event_espresso'),
716
+					'href'   => EEH_URL::add_query_args_and_nonce(
717
+						array(
718
+							'action'      => 'default',
719
+							'status'      => 'month',
720
+							'_reg_status' => EEM_Registration::status_id_not_approved,
721
+						),
722
+						$this->reg_admin_url
723
+					),
724
+					'meta'   => array(
725
+						'title'  => esc_html__('Not Approved', 'event_espresso'),
726
+						'target' => '',
727
+						'class'  => $this->menu_class . ' ee-toolbar-icon-not-approved',
728
+					),
729
+				)
730
+			);
731
+		}
732
+	}
733
+
734
+
735
+	/**
736
+	 * @return void
737
+	 */
738
+	private function addRegistrationOverviewThisMonthCancelled()
739
+	{
740
+		if (
741
+			$this->capabilities->current_user_can(
742
+				'ee_read_registrations',
743
+				'ee_admin_bar_menu_espresso-toolbar-registrations-month-cancelled'
744
+			)
745
+		) {
746
+			$this->admin_bar->add_menu(
747
+				array(
748
+					'id'     => 'espresso-toolbar-registrations-month-cancelled',
749
+					'parent' => 'espresso-toolbar-registrations',
750
+					'title'  => '<span class="ee-toolbar-icon"></span>'
751
+								. esc_html__('Cancelled', 'event_espresso'),
752
+					'href'   => EEH_URL::add_query_args_and_nonce(
753
+						array(
754
+							'action'      => 'default',
755
+							'status'      => 'month',
756
+							'_reg_status' => EEM_Registration::status_id_cancelled,
757
+						),
758
+						$this->reg_admin_url
759
+					),
760
+					'meta'   => array(
761
+						'title'  => esc_html__('Cancelled', 'event_espresso'),
762
+						'target' => '',
763
+						'class'  => $this->menu_class . ' ee-toolbar-icon-cancelled',
764
+					),
765
+				)
766
+			);
767
+		}
768
+	}
769
+
770
+
771
+	/**
772
+	 * @return void
773
+	 */
774
+	private function addExtensionsAndServices()
775
+	{
776
+		if (
777
+			$this->capabilities->current_user_can(
778
+				'ee_read_ee',
779
+				'ee_admin_bar_menu_espresso-toolbar-extensions-and-services'
780
+			)
781
+		) {
782
+			$this->admin_bar->add_menu(
783
+				array(
784
+					'id'     => 'espresso-toolbar-extensions-and-services',
785
+					'parent' => 'espresso-toolbar',
786
+					'title'  => '<span class="ee-toolbar-icon"></span>'
787
+								. esc_html__('Extensions & Services', 'event_espresso'),
788
+					'href'   => admin_url('admin.php?page=espresso_packages'),
789
+					'meta'   => array(
790
+						'title'  => esc_html__('Extensions & Services', 'event_espresso'),
791
+						'target' => '',
792
+						'class'  => $this->menu_class,
793
+					),
794
+				)
795
+			);
796
+		}
797
+	}
798 798
 }
Please login to merge, or discard this patch.
core/services/cache/BasicCacheManager.php 2 patches
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -140,7 +140,7 @@  discard block
 block discarded – undo
140 140
         // with these parameters
141 141
         $cache_id .= filter_input(INPUT_SERVER, 'QUERY_STRING', FILTER_SANITIZE_URL);
142 142
         // then md5 the above to control it's length, add all of our prefixes, and truncate
143
-        return substr($this->cachePrefix() . $id_prefix . '-' . md5($cache_id), 0, 182);
143
+        return substr($this->cachePrefix().$id_prefix.'-'.md5($cache_id), 0, 182);
144 144
     }
145 145
 
146 146
 
@@ -170,9 +170,9 @@  discard block
 block discarded – undo
170 170
         return '
171 171
 <div class="ee-cached-content-notice" style="position:fixed; bottom:0; left: 0;">
172 172
     <p style="font-size:9px;font-weight:normal;color:#666;line-height: 12px;margin:0 0 3px 5px">
173
-        <b>' . $type . '</b><span style="color:#999"> : </span>
174
-        <span>' . $cache_id . '</span>
175
-        <span style="margin-left:2em;">' . __FILE__ . '</span>
173
+        <b>' . $type.'</b><span style="color:#999"> : </span>
174
+        <span>' . $cache_id.'</span>
175
+        <span style="margin-left:2em;">' . __FILE__.'</span>
176 176
     </p>
177 177
 </div>';
178 178
     }
Please login to merge, or discard this patch.
Indentation   +130 added lines, -130 removed lines patch added patch discarded remove patch
@@ -16,135 +16,135 @@  discard block
 block discarded – undo
16 16
 class BasicCacheManager implements CacheManagerInterface
17 17
 {
18 18
 
19
-    /**
20
-     * @type string
21
-     */
22
-    const CACHE_PREFIX = 'ee_cache_';
23
-
24
-
25
-    /**
26
-     * @var CacheStorageInterface $cache_storage
27
-     */
28
-    private $cache_storage;
29
-
30
-
31
-    /**
32
-     * BasicCacheManager constructor.
33
-     *
34
-     * @param CacheStorageInterface $cache_storage [required]
35
-     */
36
-    public function __construct(CacheStorageInterface $cache_storage)
37
-    {
38
-        $this->cache_storage = $cache_storage;
39
-    }
40
-
41
-
42
-    /**
43
-     * returns a string that will be prepended to all cache identifiers
44
-     *
45
-     * @return string
46
-     */
47
-    public function cachePrefix()
48
-    {
49
-        return BasicCacheManager::CACHE_PREFIX;
50
-    }
51
-
52
-
53
-    /**
54
-     * @param string  $id_prefix [required] Prepended to all cache IDs. Can be helpful in finding specific cache types.
55
-     *                           May also be helpful to include an additional specific identifier,
56
-     *                           such as a post ID as part of the $id_prefix so that individual caches
57
-     *                           can be found and/or cleared. ex: "venue-28", or "shortcode-156".
58
-     *                           BasicCacheManager::CACHE_PREFIX will also be prepended to the cache id.
59
-     * @param string  $cache_id  [required] Additional identifying details that make this cache unique.
60
-     *                           It is advisable to use some of the actual data
61
-     *                           that is used to generate the content being cached,
62
-     *                           in order to guarantee that the cache id is unique for that content.
63
-     *                           The cache id will be md5'd before usage to make it more db friendly,
64
-     *                           and the entire cache id string will be truncated to 190 characters.
65
-     * @param Closure $callback  [required] since the point of caching is to avoid generating content when not
66
-     *                           necessary,
67
-     *                           we wrap our content creation in a Closure so that it is not executed until needed.
68
-     * @param int     $expiration
69
-     * @return Closure|mixed
70
-     */
71
-    public function get($id_prefix, $cache_id, Closure $callback, $expiration = HOUR_IN_SECONDS)
72
-    {
73
-        $content = '';
74
-        $expiration = absint(
75
-            apply_filters(
76
-                'FHEE__CacheManager__get__cache_expiration',
77
-                $expiration,
78
-                $id_prefix,
79
-                $cache_id
80
-            )
81
-        );
82
-        $cache_id = $this->generateCacheIdentifier($id_prefix, $cache_id);
83
-        // is caching enabled for this content ?
84
-        if ($expiration) {
85
-            $content = $this->cache_storage->get($cache_id);
86
-        }
87
-        // any existing content ?
88
-        if (empty($content)) {
89
-            // nope! let's generate some new stuff
90
-            $content = $callback();
91
-            // save the new content if caching is enabled
92
-            if ($expiration) {
93
-                $this->cache_storage->add($cache_id, $content, $expiration);
94
-                if (EE_DEBUG) {
95
-                    $content .= $this->displayCacheNotice($cache_id, 'REFRESH CACHE');
96
-                }
97
-            }
98
-        } else {
99
-            if (EE_DEBUG) {
100
-                $content .= $this->displayCacheNotice($cache_id, 'CACHED CONTENT');
101
-            }
102
-        }
103
-        return $content;
104
-    }
105
-
106
-
107
-    /**
108
-     * Generates a unique identifier string for the cache
109
-     *
110
-     * @param string $id_prefix [required] see BasicCacheManager::get()
111
-     * @param string $cache_id  [required] see BasicCacheManager::get()
112
-     * @return string
113
-     */
114
-    private function generateCacheIdentifier($id_prefix, $cache_id)
115
-    {
116
-        // let's make the cached content unique for this "page"
117
-        $cache_id .= filter_input(INPUT_SERVER, 'REQUEST_URI', FILTER_SANITIZE_URL);
118
-        // with these parameters
119
-        $cache_id .= filter_input(INPUT_SERVER, 'QUERY_STRING', FILTER_SANITIZE_URL);
120
-        // then md5 the above to control it's length, add all of our prefixes, and truncate
121
-        return substr($this->cachePrefix() . $id_prefix . '-' . md5($cache_id), 0, 182);
122
-    }
123
-
124
-
125
-    /**
126
-     * @param array|string $cache_id [required] Could be an ID prefix affecting many caches
127
-     *                               or a specific ID targeting a single cache item
128
-     * @return void
129
-     */
130
-    public function clear($cache_id)
131
-    {
132
-        // ensure incoming arg is in an array
133
-        $cache_id = is_array($cache_id) ? $cache_id : array($cache_id);
134
-        // delete corresponding transients for the supplied id prefix
135
-        $this->cache_storage->deleteMany($cache_id);
136
-    }
137
-
138
-
139
-    /**
140
-     * @param array|string $cache_id [required] Could be an ID prefix affecting many caches
141
-     *                               or a specific ID targeting a single cache item
142
-     * @param string       $type
143
-     * @return string
144
-     */
145
-    private function displayCacheNotice($cache_id, $type)
146
-    {
147
-        return '
19
+	/**
20
+	 * @type string
21
+	 */
22
+	const CACHE_PREFIX = 'ee_cache_';
23
+
24
+
25
+	/**
26
+	 * @var CacheStorageInterface $cache_storage
27
+	 */
28
+	private $cache_storage;
29
+
30
+
31
+	/**
32
+	 * BasicCacheManager constructor.
33
+	 *
34
+	 * @param CacheStorageInterface $cache_storage [required]
35
+	 */
36
+	public function __construct(CacheStorageInterface $cache_storage)
37
+	{
38
+		$this->cache_storage = $cache_storage;
39
+	}
40
+
41
+
42
+	/**
43
+	 * returns a string that will be prepended to all cache identifiers
44
+	 *
45
+	 * @return string
46
+	 */
47
+	public function cachePrefix()
48
+	{
49
+		return BasicCacheManager::CACHE_PREFIX;
50
+	}
51
+
52
+
53
+	/**
54
+	 * @param string  $id_prefix [required] Prepended to all cache IDs. Can be helpful in finding specific cache types.
55
+	 *                           May also be helpful to include an additional specific identifier,
56
+	 *                           such as a post ID as part of the $id_prefix so that individual caches
57
+	 *                           can be found and/or cleared. ex: "venue-28", or "shortcode-156".
58
+	 *                           BasicCacheManager::CACHE_PREFIX will also be prepended to the cache id.
59
+	 * @param string  $cache_id  [required] Additional identifying details that make this cache unique.
60
+	 *                           It is advisable to use some of the actual data
61
+	 *                           that is used to generate the content being cached,
62
+	 *                           in order to guarantee that the cache id is unique for that content.
63
+	 *                           The cache id will be md5'd before usage to make it more db friendly,
64
+	 *                           and the entire cache id string will be truncated to 190 characters.
65
+	 * @param Closure $callback  [required] since the point of caching is to avoid generating content when not
66
+	 *                           necessary,
67
+	 *                           we wrap our content creation in a Closure so that it is not executed until needed.
68
+	 * @param int     $expiration
69
+	 * @return Closure|mixed
70
+	 */
71
+	public function get($id_prefix, $cache_id, Closure $callback, $expiration = HOUR_IN_SECONDS)
72
+	{
73
+		$content = '';
74
+		$expiration = absint(
75
+			apply_filters(
76
+				'FHEE__CacheManager__get__cache_expiration',
77
+				$expiration,
78
+				$id_prefix,
79
+				$cache_id
80
+			)
81
+		);
82
+		$cache_id = $this->generateCacheIdentifier($id_prefix, $cache_id);
83
+		// is caching enabled for this content ?
84
+		if ($expiration) {
85
+			$content = $this->cache_storage->get($cache_id);
86
+		}
87
+		// any existing content ?
88
+		if (empty($content)) {
89
+			// nope! let's generate some new stuff
90
+			$content = $callback();
91
+			// save the new content if caching is enabled
92
+			if ($expiration) {
93
+				$this->cache_storage->add($cache_id, $content, $expiration);
94
+				if (EE_DEBUG) {
95
+					$content .= $this->displayCacheNotice($cache_id, 'REFRESH CACHE');
96
+				}
97
+			}
98
+		} else {
99
+			if (EE_DEBUG) {
100
+				$content .= $this->displayCacheNotice($cache_id, 'CACHED CONTENT');
101
+			}
102
+		}
103
+		return $content;
104
+	}
105
+
106
+
107
+	/**
108
+	 * Generates a unique identifier string for the cache
109
+	 *
110
+	 * @param string $id_prefix [required] see BasicCacheManager::get()
111
+	 * @param string $cache_id  [required] see BasicCacheManager::get()
112
+	 * @return string
113
+	 */
114
+	private function generateCacheIdentifier($id_prefix, $cache_id)
115
+	{
116
+		// let's make the cached content unique for this "page"
117
+		$cache_id .= filter_input(INPUT_SERVER, 'REQUEST_URI', FILTER_SANITIZE_URL);
118
+		// with these parameters
119
+		$cache_id .= filter_input(INPUT_SERVER, 'QUERY_STRING', FILTER_SANITIZE_URL);
120
+		// then md5 the above to control it's length, add all of our prefixes, and truncate
121
+		return substr($this->cachePrefix() . $id_prefix . '-' . md5($cache_id), 0, 182);
122
+	}
123
+
124
+
125
+	/**
126
+	 * @param array|string $cache_id [required] Could be an ID prefix affecting many caches
127
+	 *                               or a specific ID targeting a single cache item
128
+	 * @return void
129
+	 */
130
+	public function clear($cache_id)
131
+	{
132
+		// ensure incoming arg is in an array
133
+		$cache_id = is_array($cache_id) ? $cache_id : array($cache_id);
134
+		// delete corresponding transients for the supplied id prefix
135
+		$this->cache_storage->deleteMany($cache_id);
136
+	}
137
+
138
+
139
+	/**
140
+	 * @param array|string $cache_id [required] Could be an ID prefix affecting many caches
141
+	 *                               or a specific ID targeting a single cache item
142
+	 * @param string       $type
143
+	 * @return string
144
+	 */
145
+	private function displayCacheNotice($cache_id, $type)
146
+	{
147
+		return '
148 148
 <div class="ee-cached-content-notice" style="position:fixed; bottom:0; left: 0;">
149 149
     <p style="font-size:9px;font-weight:normal;color:#666;line-height: 12px;margin:0 0 3px 5px">
150 150
         <b>' . $type . '</b><span style="color:#999"> : </span>
@@ -152,5 +152,5 @@  discard block
 block discarded – undo
152 152
         <span style="margin-left:2em;">' . __FILE__ . '</span>
153 153
     </p>
154 154
 </div>';
155
-    }
155
+	}
156 156
 }
Please login to merge, or discard this patch.
acceptance_tests/Page/CoreAdmin.php 2 patches
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -66,9 +66,9 @@  discard block
 block discarded – undo
66 66
      */
67 67
     public static function adminUrl($page = 'espresso_events', $action = 'default', $additional_params = '')
68 68
     {
69
-        $url = self::URL_PREFIX . $page;
70
-        $url .= $action ? '&action=' . $action : '';
71
-        $url .= $additional_params ? '&' . ltrim('&', ltrim('?', $additional_params)) : '';
69
+        $url = self::URL_PREFIX.$page;
70
+        $url .= $action ? '&action='.$action : '';
71
+        $url .= $additional_params ? '&'.ltrim('&', ltrim('?', $additional_params)) : '';
72 72
         return $url;
73 73
     }
74 74
 
@@ -80,7 +80,7 @@  discard block
 block discarded – undo
80 80
      */
81 81
     public static function wpEditorTextTabSelector($field_reference)
82 82
     {
83
-        return '#content-' . $field_reference . '-content-html';
83
+        return '#content-'.$field_reference.'-content-html';
84 84
     }
85 85
 
86 86
 
@@ -91,6 +91,6 @@  discard block
 block discarded – undo
91 91
      */
92 92
     public static function wpEditorTextAreaSelector($field_reference)
93 93
     {
94
-        return '#content-' . $field_reference . '-content';
94
+        return '#content-'.$field_reference.'-content';
95 95
     }
96 96
 }
Please login to merge, or discard this patch.
Indentation   +92 added lines, -92 removed lines patch added patch discarded remove patch
@@ -13,96 +13,96 @@
 block discarded – undo
13 13
 class CoreAdmin
14 14
 {
15 15
 
16
-    /**
17
-     * @var string
18
-     */
19
-    const URL_PREFIX = 'admin.php?page=';
20
-
21
-
22
-    /**
23
-     * This is the selector for the next page button on list tables.
24
-     * @var string
25
-     */
26
-    const ADMIN_LIST_TABLE_NEXT_PAGE_CLASS = '.next-page';
27
-
28
-
29
-    /**
30
-     * The selector for the search input submit button on list table pages
31
-     * @var string
32
-     */
33
-    const LIST_TABLE_SEARCH_SUBMIT_SELECTOR = '#search-submit';
34
-
35
-
36
-    /**
37
-     * Selector for the screen options dropdown.
38
-     * @var string
39
-     */
40
-    const WP_SCREEN_SETTINGS_LINK_SELECTOR = '#show-settings-link';
41
-
42
-
43
-    /**
44
-     * Selector for the per page field setting selector (found within screen options dropdown)
45
-     * @var string
46
-     */
47
-    const WP_SCREEN_SETTINGS_PER_PAGE_FIELD_SELECTOR = '.screen-per-page';
48
-
49
-
50
-    /**
51
-     * Selector for apply screen options settings.
52
-     * @var string
53
-     */
54
-    const WP_SCREEN_OPTIONS_APPLY_SETTINGS_BUTTON_SELECTOR = '#screen-options-apply';
55
-
56
-
57
-    /**
58
-     * Selector for bulk action select field on list tables.
59
-     */
60
-    const SELECTOR_LIST_TABLE_BULK_ACTION_FIELD = '#bulk-action-selector-';
61
-
62
-
63
-    /**
64
-     * Selector for applying a bulk action.
65
-     */
66
-    const SELECTOR_LIST_TABLE_BULK_ACTTION_APPLY = '#doaction';
67
-
68
-
69
-    /**
70
-     * Get the EE admin url for the given properties.
71
-     * Note, this is JUST the endpoint for the admin route.  It is expected that the actor/test would be calling this
72
-     * with `amOnAdminPage` action.
73
-     *
74
-     * @param string $page
75
-     * @param string $action
76
-     * @param string $additional_params
77
-     * @return string
78
-     */
79
-    public static function adminUrl($page = 'espresso_events', $action = 'default', $additional_params = '')
80
-    {
81
-        $url = self::URL_PREFIX . $page;
82
-        $url .= $action ? '&action=' . $action : '';
83
-        $url .= $additional_params ? '&' . ltrim('&', ltrim('?', $additional_params)) : '';
84
-        return $url;
85
-    }
86
-
87
-
88
-    /**
89
-     * Returns the selector for the text tab switcher for a wp-editor instance.
90
-     * @param $field_reference
91
-     * @return string
92
-     */
93
-    public static function wpEditorTextTabSelector($field_reference)
94
-    {
95
-        return '#content-' . $field_reference . '-content-html';
96
-    }
97
-
98
-
99
-    /**
100
-     * Returns the selector for the textarea exposed when clicing the text tab switcher for a wp-editor instance.
101
-     * @param $field_reference
102
-     * @return string
103
-     */
104
-    public static function wpEditorTextAreaSelector($field_reference)
105
-    {
106
-        return '#content-' . $field_reference . '-content';
107
-    }
16
+	/**
17
+	 * @var string
18
+	 */
19
+	const URL_PREFIX = 'admin.php?page=';
20
+
21
+
22
+	/**
23
+	 * This is the selector for the next page button on list tables.
24
+	 * @var string
25
+	 */
26
+	const ADMIN_LIST_TABLE_NEXT_PAGE_CLASS = '.next-page';
27
+
28
+
29
+	/**
30
+	 * The selector for the search input submit button on list table pages
31
+	 * @var string
32
+	 */
33
+	const LIST_TABLE_SEARCH_SUBMIT_SELECTOR = '#search-submit';
34
+
35
+
36
+	/**
37
+	 * Selector for the screen options dropdown.
38
+	 * @var string
39
+	 */
40
+	const WP_SCREEN_SETTINGS_LINK_SELECTOR = '#show-settings-link';
41
+
42
+
43
+	/**
44
+	 * Selector for the per page field setting selector (found within screen options dropdown)
45
+	 * @var string
46
+	 */
47
+	const WP_SCREEN_SETTINGS_PER_PAGE_FIELD_SELECTOR = '.screen-per-page';
48
+
49
+
50
+	/**
51
+	 * Selector for apply screen options settings.
52
+	 * @var string
53
+	 */
54
+	const WP_SCREEN_OPTIONS_APPLY_SETTINGS_BUTTON_SELECTOR = '#screen-options-apply';
55
+
56
+
57
+	/**
58
+	 * Selector for bulk action select field on list tables.
59
+	 */
60
+	const SELECTOR_LIST_TABLE_BULK_ACTION_FIELD = '#bulk-action-selector-';
61
+
62
+
63
+	/**
64
+	 * Selector for applying a bulk action.
65
+	 */
66
+	const SELECTOR_LIST_TABLE_BULK_ACTTION_APPLY = '#doaction';
67
+
68
+
69
+	/**
70
+	 * Get the EE admin url for the given properties.
71
+	 * Note, this is JUST the endpoint for the admin route.  It is expected that the actor/test would be calling this
72
+	 * with `amOnAdminPage` action.
73
+	 *
74
+	 * @param string $page
75
+	 * @param string $action
76
+	 * @param string $additional_params
77
+	 * @return string
78
+	 */
79
+	public static function adminUrl($page = 'espresso_events', $action = 'default', $additional_params = '')
80
+	{
81
+		$url = self::URL_PREFIX . $page;
82
+		$url .= $action ? '&action=' . $action : '';
83
+		$url .= $additional_params ? '&' . ltrim('&', ltrim('?', $additional_params)) : '';
84
+		return $url;
85
+	}
86
+
87
+
88
+	/**
89
+	 * Returns the selector for the text tab switcher for a wp-editor instance.
90
+	 * @param $field_reference
91
+	 * @return string
92
+	 */
93
+	public static function wpEditorTextTabSelector($field_reference)
94
+	{
95
+		return '#content-' . $field_reference . '-content-html';
96
+	}
97
+
98
+
99
+	/**
100
+	 * Returns the selector for the textarea exposed when clicing the text tab switcher for a wp-editor instance.
101
+	 * @param $field_reference
102
+	 * @return string
103
+	 */
104
+	public static function wpEditorTextAreaSelector($field_reference)
105
+	{
106
+		return '#content-' . $field_reference . '-content';
107
+	}
108 108
 }
Please login to merge, or discard this patch.
core/libraries/messages/EE_Message_Template_Group_Collection.lib.php 2 patches
Indentation   +100 added lines, -100 removed lines patch added patch discarded remove patch
@@ -14,115 +14,115 @@
 block discarded – undo
14 14
 {
15 15
 
16 16
 
17
-    /**
18
-     * EE_Message_Template_Group_Collection constructor.
19
-     */
20
-    public function __construct()
21
-    {
22
-        $this->interface = 'EE_Message_Template_Group';
23
-    }
17
+	/**
18
+	 * EE_Message_Template_Group_Collection constructor.
19
+	 */
20
+	public function __construct()
21
+	{
22
+		$this->interface = 'EE_Message_Template_Group';
23
+	}
24 24
 
25 25
 
26
-    /**
27
-     * Adds the Message Template Group object to the repository.
28
-     *
29
-     * @param           $message_template_group
30
-     * @param array|int $EVT_ID    Some templates are specific to EVT, so this is provided as a way of
31
-     *                         indexing the template by key.  If this template is shared among multiple events then
32
-     *                         include the events as an array.
33
-     * @return bool
34
-     */
35
-    public function add($message_template_group, $EVT_ID = array())
36
-    {
37
-        $EVT_ID = is_array($EVT_ID) ? $EVT_ID : (array) $EVT_ID;
38
-        if ($message_template_group instanceof $this->interface) {
39
-            $data['key'] = $this->getKey(
40
-                $message_template_group->messenger(),
41
-                $message_template_group->message_type(),
42
-                $EVT_ID
43
-            );
44
-            return parent::add($message_template_group, $data);
45
-        }
46
-        return false;
47
-    }
26
+	/**
27
+	 * Adds the Message Template Group object to the repository.
28
+	 *
29
+	 * @param           $message_template_group
30
+	 * @param array|int $EVT_ID    Some templates are specific to EVT, so this is provided as a way of
31
+	 *                         indexing the template by key.  If this template is shared among multiple events then
32
+	 *                         include the events as an array.
33
+	 * @return bool
34
+	 */
35
+	public function add($message_template_group, $EVT_ID = array())
36
+	{
37
+		$EVT_ID = is_array($EVT_ID) ? $EVT_ID : (array) $EVT_ID;
38
+		if ($message_template_group instanceof $this->interface) {
39
+			$data['key'] = $this->getKey(
40
+				$message_template_group->messenger(),
41
+				$message_template_group->message_type(),
42
+				$EVT_ID
43
+			);
44
+			return parent::add($message_template_group, $data);
45
+		}
46
+		return false;
47
+	}
48 48
 
49 49
 
50
-    /**
51
-     * This retrieves any EE_Message_Template_Group in the repo by its ID.
52
-     *
53
-     * @param $GRP_ID
54
-     * @return EE_Message_Template_Group | null
55
-     */
56
-    public function get_by_ID($GRP_ID)
57
-    {
58
-        $this->rewind();
59
-        while ($this->valid()) {
60
-            if ($this->current()->ID() === $GRP_ID) {
61
-                /** @var EE_Message_Template_Group $message_template_group */
62
-                $message_template_group = $this->current();
63
-                $this->rewind();
64
-                return $message_template_group;
65
-            }
66
-            $this->next();
67
-        }
68
-        return null;
69
-    }
50
+	/**
51
+	 * This retrieves any EE_Message_Template_Group in the repo by its ID.
52
+	 *
53
+	 * @param $GRP_ID
54
+	 * @return EE_Message_Template_Group | null
55
+	 */
56
+	public function get_by_ID($GRP_ID)
57
+	{
58
+		$this->rewind();
59
+		while ($this->valid()) {
60
+			if ($this->current()->ID() === $GRP_ID) {
61
+				/** @var EE_Message_Template_Group $message_template_group */
62
+				$message_template_group = $this->current();
63
+				$this->rewind();
64
+				return $message_template_group;
65
+			}
66
+			$this->next();
67
+		}
68
+		return null;
69
+	}
70 70
 
71 71
 
72
-    /**
73
-     * Generates a hash used to identify a given Message Template Group.
74
-     *
75
-     * @param string $messenger    The EE_messenger->name
76
-     * @param string $message_type The EE_message_type->name
77
-     * @param int    $EVT_ID       Optional.  If the template is for a specific EVT then that should be included.
78
-     * @deprecated 4.9.40.rc.017  Use getKey instead.
79
-     * @return string
80
-     */
81
-    public function get_key($messenger, $message_type, $EVT_ID = 0)
82
-    {
83
-        $EVT_ID = (array) $EVT_ID;
84
-        return $this->getKey($messenger, $message_type, $EVT_ID);
85
-    }
72
+	/**
73
+	 * Generates a hash used to identify a given Message Template Group.
74
+	 *
75
+	 * @param string $messenger    The EE_messenger->name
76
+	 * @param string $message_type The EE_message_type->name
77
+	 * @param int    $EVT_ID       Optional.  If the template is for a specific EVT then that should be included.
78
+	 * @deprecated 4.9.40.rc.017  Use getKey instead.
79
+	 * @return string
80
+	 */
81
+	public function get_key($messenger, $message_type, $EVT_ID = 0)
82
+	{
83
+		$EVT_ID = (array) $EVT_ID;
84
+		return $this->getKey($messenger, $message_type, $EVT_ID);
85
+	}
86 86
 
87 87
 
88
-    /**
89
-     * Generates a hash used to identify a given Message Template Group
90
-     * @param string    $messenger      The EE_messenger->name
91
-     * @param string    $message_type   The EE_message_type->name
92
-     * @param array     $EVT_ID         Optional.  If the template is for a specific EVT_ID (or events) then that should
93
-     *                                  be included.
94
-     * @since 4.9.40.rc.017
95
-     * @return string
96
-     */
97
-    public function getKey($messenger, $message_type, array $EVT_ID = array())
98
-    {
99
-        sort($EVT_ID);
100
-        $EVT_ID = implode(',', array_unique($EVT_ID));
101
-        return md5($messenger . $message_type . $EVT_ID);
102
-    }
88
+	/**
89
+	 * Generates a hash used to identify a given Message Template Group
90
+	 * @param string    $messenger      The EE_messenger->name
91
+	 * @param string    $message_type   The EE_message_type->name
92
+	 * @param array     $EVT_ID         Optional.  If the template is for a specific EVT_ID (or events) then that should
93
+	 *                                  be included.
94
+	 * @since 4.9.40.rc.017
95
+	 * @return string
96
+	 */
97
+	public function getKey($messenger, $message_type, array $EVT_ID = array())
98
+	{
99
+		sort($EVT_ID);
100
+		$EVT_ID = implode(',', array_unique($EVT_ID));
101
+		return md5($messenger . $message_type . $EVT_ID);
102
+	}
103 103
 
104 104
 
105
-    /**
106
-     * This returns a saved EE_Message_Template_Group object if there is one in the repository indexed by a key matching
107
-     * the given string.
108
-     *
109
-     * @param string $key @see EE_Message_Template_Group::get_key() to setup a key formatted for searching.
110
-     * @return null|EE_Message_Template_Group
111
-     */
112
-    public function get_by_key($key)
113
-    {
114
-        $this->rewind();
115
-        while ($this->valid()) {
116
-            $data = $this->getInfo();
117
-            if (isset($data['key']) && $data['key'] === $key) {
118
-                /** @var EE_Message_Template_Group $message_template_group */
119
-                $message_template_group = $this->current();
120
-                $this->rewind();
121
-                return $message_template_group;
122
-            }
123
-            $this->next();
124
-        }
125
-        return null;
126
-    }
105
+	/**
106
+	 * This returns a saved EE_Message_Template_Group object if there is one in the repository indexed by a key matching
107
+	 * the given string.
108
+	 *
109
+	 * @param string $key @see EE_Message_Template_Group::get_key() to setup a key formatted for searching.
110
+	 * @return null|EE_Message_Template_Group
111
+	 */
112
+	public function get_by_key($key)
113
+	{
114
+		$this->rewind();
115
+		while ($this->valid()) {
116
+			$data = $this->getInfo();
117
+			if (isset($data['key']) && $data['key'] === $key) {
118
+				/** @var EE_Message_Template_Group $message_template_group */
119
+				$message_template_group = $this->current();
120
+				$this->rewind();
121
+				return $message_template_group;
122
+			}
123
+			$this->next();
124
+		}
125
+		return null;
126
+	}
127 127
 
128 128
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -98,7 +98,7 @@
 block discarded – undo
98 98
     {
99 99
         sort($EVT_ID);
100 100
         $EVT_ID = implode(',', array_unique($EVT_ID));
101
-        return md5($messenger . $message_type . $EVT_ID);
101
+        return md5($messenger.$message_type.$EVT_ID);
102 102
     }
103 103
 
104 104
 
Please login to merge, or discard this patch.
libraries/form_sections/strategies/layout/EE_Two_Column_Layout.strategy.php 2 patches
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -18,7 +18,7 @@  discard block
 block discarded – undo
18 18
             $this->_form_section->html_id(),
19 19
             $this->_form_section->html_class(),
20 20
             $this->_form_section->html_style()
21
-        ) . EEH_HTML::tbody();
21
+        ).EEH_HTML::tbody();
22 22
     }
23 23
 
24 24
 
@@ -31,7 +31,7 @@  discard block
 block discarded – undo
31 31
      */
32 32
     public function layout_form_end($additional_args = array())
33 33
     {
34
-        return EEH_HTML::tbodyx() . EEH_HTML::tablex($this->_form_section->html_id());
34
+        return EEH_HTML::tbodyx().EEH_HTML::tablex($this->_form_section->html_id());
35 35
     }
36 36
 
37 37
 
@@ -50,11 +50,11 @@  discard block
 block discarded – undo
50 50
         } else {
51 51
             $html_for_input = $input->get_html_for_input();
52 52
             $html_for_input .= $input->get_html_for_errors() != ''
53
-                ? EEH_HTML::nl() . $input->get_html_for_errors()
53
+                ? EEH_HTML::nl().$input->get_html_for_errors()
54 54
                 : '';
55
-            $html_for_input .= $input->get_html_for_help() != '' ? EEH_HTML::nl() . $input->get_html_for_help() : '';
55
+            $html_for_input .= $input->get_html_for_help() != '' ? EEH_HTML::nl().$input->get_html_for_help() : '';
56 56
             $html .= EEH_HTML::tr(
57
-                EEH_HTML::th($input->get_html_for_label()) .
57
+                EEH_HTML::th($input->get_html_for_label()).
58 58
                 EEH_HTML::td($html_for_input)
59 59
             );
60 60
         }
Please login to merge, or discard this patch.
Indentation   +69 added lines, -69 removed lines patch added patch discarded remove patch
@@ -3,82 +3,82 @@
 block discarded – undo
3 3
 class EE_Two_Column_Layout extends EE_Form_Section_Layout_Base
4 4
 {
5 5
 
6
-    /**
7
-     * Should be used to start teh form section (Eg a table tag, or a div tag, etc.)
8
-     *
9
-     * @param array $additional_args
10
-     * @return string
11
-     */
12
-    public function layout_form_begin($additional_args = array())
13
-    {
14
-        return $this->display_form_wide_errors()
15
-        . EEH_HTML::table(
16
-            '',
17
-            $this->_form_section->html_id(),
18
-            $this->_form_section->html_class(),
19
-            $this->_form_section->html_style()
20
-        ) . EEH_HTML::tbody();
21
-    }
6
+	/**
7
+	 * Should be used to start teh form section (Eg a table tag, or a div tag, etc.)
8
+	 *
9
+	 * @param array $additional_args
10
+	 * @return string
11
+	 */
12
+	public function layout_form_begin($additional_args = array())
13
+	{
14
+		return $this->display_form_wide_errors()
15
+		. EEH_HTML::table(
16
+			'',
17
+			$this->_form_section->html_id(),
18
+			$this->_form_section->html_class(),
19
+			$this->_form_section->html_style()
20
+		) . EEH_HTML::tbody();
21
+	}
22 22
 
23 23
 
24 24
 
25
-    /**
26
-     * Should be used to end the form section (eg a /table tag, or a /div tag, etc)
27
-     *
28
-     * @param array $additional_args
29
-     * @return string
30
-     */
31
-    public function layout_form_end($additional_args = array())
32
-    {
33
-        return EEH_HTML::tbodyx() . EEH_HTML::tablex($this->_form_section->html_id());
34
-    }
25
+	/**
26
+	 * Should be used to end the form section (eg a /table tag, or a /div tag, etc)
27
+	 *
28
+	 * @param array $additional_args
29
+	 * @return string
30
+	 */
31
+	public function layout_form_end($additional_args = array())
32
+	{
33
+		return EEH_HTML::tbodyx() . EEH_HTML::tablex($this->_form_section->html_id());
34
+	}
35 35
 
36 36
 
37 37
 
38
-    /**
39
-     * Lays out the row for the input, including label and errors
40
-     *
41
-     * @param EE_Form_Input_Base $input
42
-     * @return string
43
-     */
44
-    public function layout_input($input)
45
-    {
46
-        $html = '';
47
-        if ($input instanceof EE_Hidden_Input) {
48
-            $html .= $input->get_html_for_input();
49
-        } else {
50
-            $html_for_input = $input->get_html_for_input();
51
-            $html_for_input .= $input->get_html_for_errors() != ''
52
-                ? EEH_HTML::nl() . $input->get_html_for_errors()
53
-                : '';
54
-            $html_for_input .= $input->get_html_for_help() != '' ? EEH_HTML::nl() . $input->get_html_for_help() : '';
55
-            $html .= EEH_HTML::tr(
56
-                EEH_HTML::th($input->get_html_for_label()) .
57
-                EEH_HTML::td($html_for_input)
58
-            );
59
-        }
60
-        return $html;
61
-    }
38
+	/**
39
+	 * Lays out the row for the input, including label and errors
40
+	 *
41
+	 * @param EE_Form_Input_Base $input
42
+	 * @return string
43
+	 */
44
+	public function layout_input($input)
45
+	{
46
+		$html = '';
47
+		if ($input instanceof EE_Hidden_Input) {
48
+			$html .= $input->get_html_for_input();
49
+		} else {
50
+			$html_for_input = $input->get_html_for_input();
51
+			$html_for_input .= $input->get_html_for_errors() != ''
52
+				? EEH_HTML::nl() . $input->get_html_for_errors()
53
+				: '';
54
+			$html_for_input .= $input->get_html_for_help() != '' ? EEH_HTML::nl() . $input->get_html_for_help() : '';
55
+			$html .= EEH_HTML::tr(
56
+				EEH_HTML::th($input->get_html_for_label()) .
57
+				EEH_HTML::td($html_for_input)
58
+			);
59
+		}
60
+		return $html;
61
+	}
62 62
 
63 63
 
64 64
 
65
-    /**
66
-     * Lays out a row for the subsection. Please note that if you have a subsection which you don't want wrapped in
67
-     * a tr and td with a colspan=2, you should use a different layout strategy, like EE_No_Layout, EE_Template_Layout,
68
-     * or EE_Div_Per_Section_Layout, and create subsections using EE_Two_Column_Layout for everywhere you want the
69
-     * two-column layout, and then other sub-sections can be outside the EE_Two_Column_Layout table.
70
-     *
71
-     * @param EE_Form_Section_Proper $form_section
72
-     * @return string
73
-    */
74
-    public function layout_subsection($form_section)
75
-    {
76
-        if (
77
-            $form_section instanceof EE_Form_Section_Proper
78
-            || $form_section instanceof EE_Form_Section_HTML
79
-        ) {
80
-            return EEH_HTML::no_row($form_section->get_html());
81
-        }
82
-        return '';
83
-    }
65
+	/**
66
+	 * Lays out a row for the subsection. Please note that if you have a subsection which you don't want wrapped in
67
+	 * a tr and td with a colspan=2, you should use a different layout strategy, like EE_No_Layout, EE_Template_Layout,
68
+	 * or EE_Div_Per_Section_Layout, and create subsections using EE_Two_Column_Layout for everywhere you want the
69
+	 * two-column layout, and then other sub-sections can be outside the EE_Two_Column_Layout table.
70
+	 *
71
+	 * @param EE_Form_Section_Proper $form_section
72
+	 * @return string
73
+	 */
74
+	public function layout_subsection($form_section)
75
+	{
76
+		if (
77
+			$form_section instanceof EE_Form_Section_Proper
78
+			|| $form_section instanceof EE_Form_Section_HTML
79
+		) {
80
+			return EEH_HTML::no_row($form_section->get_html());
81
+		}
82
+		return '';
83
+	}
84 84
 }
Please login to merge, or discard this patch.
acceptance_tests/Page/CountrySettingsAdmin.php 1 patch
Indentation   +38 added lines, -38 removed lines patch added patch discarded remove patch
@@ -14,51 +14,51 @@
 block discarded – undo
14 14
 {
15 15
 
16 16
 
17
-    const COUNTRY_SETTINGS_SAVE_BUTTON = '#country_settings_save_2';
17
+	const COUNTRY_SETTINGS_SAVE_BUTTON = '#country_settings_save_2';
18 18
 
19 19
 
20 20
 
21
-    /**
22
-     * Return the url for the country settings admin page.
23
-     * @param string $additional_params
24
-     * @return string
25
-     */
26
-    public static function url($additional_params = '')
27
-    {
28
-        return self::adminUrl('espresso_general_settings', 'country_settings', $additional_params);
29
-    }
21
+	/**
22
+	 * Return the url for the country settings admin page.
23
+	 * @param string $additional_params
24
+	 * @return string
25
+	 */
26
+	public static function url($additional_params = '')
27
+	{
28
+		return self::adminUrl('espresso_general_settings', 'country_settings', $additional_params);
29
+	}
30 30
 
31 31
 
32
-    /**
33
-     * Return the decimal places (precision) radio field locator for selection.
34
-     * @param int    $decimal_place_value
35
-     * @param string $country_code
36
-     * @return string
37
-     */
38
-    public static function currencyDecimalPlacesRadioField($decimal_place_value = 2, $country_code = 'US')
39
-    {
40
-        return "//input[@id='CNT_cur_dec_plc-$country_code-$decimal_place_value']";
41
-    }
32
+	/**
33
+	 * Return the decimal places (precision) radio field locator for selection.
34
+	 * @param int    $decimal_place_value
35
+	 * @param string $country_code
36
+	 * @return string
37
+	 */
38
+	public static function currencyDecimalPlacesRadioField($decimal_place_value = 2, $country_code = 'US')
39
+	{
40
+		return "//input[@id='CNT_cur_dec_plc-$country_code-$decimal_place_value']";
41
+	}
42 42
 
43 43
 
44
-    /**
45
-     * Return the currency decimal mark field locator for selection.
46
-     * @param string $decimal_mark
47
-     * @return string
48
-     */
49
-    public static function currencyDecimalMarkRadioField($decimal_mark = '.')
50
-    {
51
-        return "//input[@class='CNT_cur_dec_mrk' and @value='$decimal_mark']";
52
-    }
44
+	/**
45
+	 * Return the currency decimal mark field locator for selection.
46
+	 * @param string $decimal_mark
47
+	 * @return string
48
+	 */
49
+	public static function currencyDecimalMarkRadioField($decimal_mark = '.')
50
+	{
51
+		return "//input[@class='CNT_cur_dec_mrk' and @value='$decimal_mark']";
52
+	}
53 53
 
54 54
 
55
-    /**
56
-     * Return the currency thousands separator field locator for selection.
57
-     * @param string $thousands_separator
58
-     * @return string
59
-     */
60
-    public static function currencyThousandsSeparatorField($thousands_separator = ',')
61
-    {
62
-        return "//input[@class='CNT_cur_thsnds' and @value='$thousands_separator']";
63
-    }
55
+	/**
56
+	 * Return the currency thousands separator field locator for selection.
57
+	 * @param string $thousands_separator
58
+	 * @return string
59
+	 */
60
+	public static function currencyThousandsSeparatorField($thousands_separator = ',')
61
+	{
62
+		return "//input[@class='CNT_cur_thsnds' and @value='$thousands_separator']";
63
+	}
64 64
 }
65 65
\ No newline at end of file
Please login to merge, or discard this patch.