Completed
Branch dependabot/npm_and_yarn/mini-c... (07d443)
by
unknown
09:52 queued 07:53
created
core/interfaces/line_items/EEI_Line_Item_Display.interface.php 1 patch
Indentation   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -9,12 +9,12 @@
 block discarded – undo
9 9
 interface EEI_Line_Item_Display
10 10
 {
11 11
 
12
-    /**
13
-     * @param EE_Line_Item $line_item
14
-     * @param array        $options
15
-     * @return mixed
16
-     */
17
-    public function display_line_item(EE_Line_Item $line_item, $options = array());
12
+	/**
13
+	 * @param EE_Line_Item $line_item
14
+	 * @param array        $options
15
+	 * @return mixed
16
+	 */
17
+	public function display_line_item(EE_Line_Item $line_item, $options = array());
18 18
 
19 19
 }
20 20
 
Please login to merge, or discard this patch.
events/help_tabs/events_default_settings_max_tickets.help_tab.php 1 patch
Indentation   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -1,6 +1,6 @@
 block discarded – undo
1 1
 <p>
2 2
     <?php esc_html_e(
3
-        'Use this to control what the default will be for maximum tickets on an order when creating a new event.',
4
-        'event_espresso'
5
-    ); ?>
3
+		'Use this to control what the default will be for maximum tickets on an order when creating a new event.',
4
+		'event_espresso'
5
+	); ?>
6 6
 </p>
7 7
\ No newline at end of file
Please login to merge, or discard this patch.
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.
public/Espresso_Arabica_2014/loop-espresso_events.php 2 patches
Indentation   +34 added lines, -34 removed lines patch added patch discarded remove patch
@@ -11,48 +11,48 @@
 block discarded – undo
11 11
  * @version     4+
12 12
  */
13 13
 if (have_posts()) :
14
-    if (apply_filters('FHEE__archive_espresso_events_template__show_header', true)) : ?>
14
+	if (apply_filters('FHEE__archive_espresso_events_template__show_header', true)) : ?>
15 15
         <header class="page-header">
16 16
             <h1 class="page-title">
17 17
                 <?php
18
-                if (is_day()) :
19
-                    printf(__('Today\'s Events: %s', 'event_espresso'), get_the_date());
20
-                elseif (is_month()) :
21
-                    printf(
22
-                        __('Events This Month: %s', 'event_espresso'),
23
-                        get_the_date(_x('F Y', 'monthly archives date format', 'event_espresso'))
24
-                    );
25
-                elseif (is_year()) :
26
-                    printf(
27
-                        __('Events This Year: %s', 'event_espresso'),
28
-                        get_the_date(_x('Y', 'yearly archives date format', 'event_espresso'))
29
-                    );
30
-                else :
31
-                    echo apply_filters(
32
-                        'FHEE__archive_espresso_events_template__upcoming_events_h1',
33
-                        __('Upcoming Events', 'event_espresso')
34
-                    );
35
-                endif;
36
-                ?>
18
+				if (is_day()) :
19
+					printf(__('Today\'s Events: %s', 'event_espresso'), get_the_date());
20
+				elseif (is_month()) :
21
+					printf(
22
+						__('Events This Month: %s', 'event_espresso'),
23
+						get_the_date(_x('F Y', 'monthly archives date format', 'event_espresso'))
24
+					);
25
+				elseif (is_year()) :
26
+					printf(
27
+						__('Events This Year: %s', 'event_espresso'),
28
+						get_the_date(_x('Y', 'yearly archives date format', 'event_espresso'))
29
+					);
30
+				else :
31
+					echo apply_filters(
32
+						'FHEE__archive_espresso_events_template__upcoming_events_h1',
33
+						__('Upcoming Events', 'event_espresso')
34
+					);
35
+				endif;
36
+				?>
37 37
             </h1>
38 38
 
39 39
         </header><!-- .page-header -->
40 40
 
41 41
         <?php
42
-    endif;
43
-    // allow other stuff
44
-    do_action('AHEE__archive_espresso_events_template__before_loop');
45
-    // Start the Loop.
46
-    while (have_posts()) : the_post();
47
-        // Include the post TYPE-specific template for the content.
48
-        espresso_get_template_part('content', 'espresso_events-shortcode');
49
-    endwhile;
50
-    // Previous/next page navigation.
51
-    espresso_pagination();
52
-    // allow moar other stuff
53
-    do_action('AHEE__archive_espresso_events_template__after_loop');
42
+	endif;
43
+	// allow other stuff
44
+	do_action('AHEE__archive_espresso_events_template__before_loop');
45
+	// Start the Loop.
46
+	while (have_posts()) : the_post();
47
+		// Include the post TYPE-specific template for the content.
48
+		espresso_get_template_part('content', 'espresso_events-shortcode');
49
+	endwhile;
50
+	// Previous/next page navigation.
51
+	espresso_pagination();
52
+	// allow moar other stuff
53
+	do_action('AHEE__archive_espresso_events_template__after_loop');
54 54
 else :
55
-    // If no content, include the "No posts found" template.
56
-    espresso_get_template_part('content', 'none');
55
+	// If no content, include the "No posts found" template.
56
+	espresso_get_template_part('content', 'none');
57 57
 endif;
58 58
 
Please login to merge, or discard this patch.
Braces   +6 added lines, -2 removed lines patch added patch discarded remove patch
@@ -27,11 +27,13 @@  discard block
 block discarded – undo
27 27
                         __('Events This Year: %s', 'event_espresso'),
28 28
                         get_the_date(_x('Y', 'yearly archives date format', 'event_espresso'))
29 29
                     );
30
-                else :
30
+                else {
31
+                	:
31 32
                     echo apply_filters(
32 33
                         'FHEE__archive_espresso_events_template__upcoming_events_h1',
33 34
                         __('Upcoming Events', 'event_espresso')
34 35
                     );
36
+                }
35 37
                 endif;
36 38
                 ?>
37 39
             </h1>
@@ -51,8 +53,10 @@  discard block
 block discarded – undo
51 53
     espresso_pagination();
52 54
     // allow moar other stuff
53 55
     do_action('AHEE__archive_espresso_events_template__after_loop');
54
-else :
56
+else {
57
+	:
55 58
     // If no content, include the "No posts found" template.
56 59
     espresso_get_template_part('content', 'none');
60
+}
57 61
 endif;
58 62
 
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/exceptions/InvalidStatusException.php 1 patch
Indentation   +22 added lines, -22 removed lines patch added patch discarded remove patch
@@ -8,26 +8,26 @@
 block discarded – undo
8 8
 
9 9
 class InvalidStatusException extends InvalidArgumentException
10 10
 {
11
-    /**
12
-     * InvalidStatusException constructor.
13
-     * @param string $status the invalid status id that was supplied
14
-     * @param string $domain the name of the domain, model, or class that the status belongs to
15
-     * @param string $message custom message
16
-     * @param int $code
17
-     * @param Exception|null $previous
18
-     */
19
-    public function __construct($status, $domain, $message = '', $code = 0, Exception $previous = null)
20
-    {
21
-        if (empty($message)) {
22
-            $message = sprintf(
23
-                __(
24
-                    '"%1$s" is not a valid %2$s status',
25
-                    'event_espresso'
26
-                ),
27
-                $status,
28
-                $domain
29
-            );
30
-        }
31
-        parent::__construct($message, $code, $previous);
32
-    }
11
+	/**
12
+	 * InvalidStatusException constructor.
13
+	 * @param string $status the invalid status id that was supplied
14
+	 * @param string $domain the name of the domain, model, or class that the status belongs to
15
+	 * @param string $message custom message
16
+	 * @param int $code
17
+	 * @param Exception|null $previous
18
+	 */
19
+	public function __construct($status, $domain, $message = '', $code = 0, Exception $previous = null)
20
+	{
21
+		if (empty($message)) {
22
+			$message = sprintf(
23
+				__(
24
+					'"%1$s" is not a valid %2$s status',
25
+					'event_espresso'
26
+				),
27
+				$status,
28
+				$domain
29
+			);
30
+		}
31
+		parent::__construct($message, $code, $previous);
32
+	}
33 33
 }
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   +737 added lines, -737 removed lines patch added patch discarded remove patch
@@ -19,741 +19,741 @@
 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 (defined('DOING_AJAX')
72
-            || ! $this->capabilities->current_user_can('ee_read_ee', 'ee_admin_bar_menu_top_level')
73
-            || EE_Maintenance_Mode::instance()->level() === EE_Maintenance_Mode::level_2_complete_maintenance
74
-        ) {
75
-            return;
76
-        }
77
-        do_action('AHEE_log', __FILE__, __FUNCTION__, '');
78
-        $this->admin_bar = $admin_bar;
79
-        // we don't use the constants EVENTS_ADMIN_URL or REG_ADMIN_URL
80
-        // because they're only defined in each of their respective constructors
81
-        // and this might be a frontend request, in which case they aren't available
82
-        $this->events_admin_url = admin_url('admin.php?page=espresso_events');
83
-        $this->reg_admin_url = admin_url('admin.php?page=espresso_registrations');
84
-        // now let's add all of the menu items
85
-        $this->addTopLevelMenu();
86
-        $this->addEventsSubMenu();
87
-        $this->addEventsAddEditHeader();
88
-        $this->addEventsAddNew();
89
-        $this->addEventsEditCurrentEvent();
90
-        $this->addEventsViewHeader();
91
-        $this->addEventsViewAll();
92
-        $this->addEventsViewToday();
93
-        $this->addEventsViewThisMonth();
94
-        $this->addRegistrationSubMenu();
95
-        $this->addRegistrationOverviewToday();
96
-        $this->addRegistrationOverviewTodayApproved();
97
-        $this->addRegistrationOverviewTodayPendingPayment();
98
-        $this->addRegistrationOverviewTodayNotApproved();
99
-        $this->addRegistrationOverviewTodayCancelled();
100
-        $this->addRegistrationOverviewThisMonth();
101
-        $this->addRegistrationOverviewThisMonthApproved();
102
-        $this->addRegistrationOverviewThisMonthPending();
103
-        $this->addRegistrationOverviewThisMonthNotApproved();
104
-        $this->addRegistrationOverviewThisMonthCancelled();
105
-        $this->addExtensionsAndServices();
106
-    }
107
-
108
-
109
-    /**
110
-     * @return void
111
-     */
112
-    private function enqueueAssets()
113
-    {
114
-        wp_register_style(
115
-            'espresso-admin-toolbar',
116
-            EE_GLOBAL_ASSETS_URL . 'css/espresso-admin-toolbar.css',
117
-            array('dashicons'),
118
-            EVENT_ESPRESSO_VERSION
119
-        );
120
-        wp_enqueue_style('espresso-admin-toolbar');
121
-    }
122
-
123
-
124
-    /**
125
-     * @return void
126
-     */
127
-    private function addTopLevelMenu()
128
-    {
129
-        $this->admin_bar->add_menu(
130
-            array(
131
-                'id'    => 'espresso-toolbar',
132
-                'title' => '<span class="ee-icon ee-icon-ee-cup-thick ee-icon-size-20"></span><span class="ab-label">'
133
-                           . esc_html_x('Event Espresso', 'admin bar menu group label', 'event_espresso')
134
-                           . '</span>',
135
-                'href'  => $this->events_admin_url,
136
-                'meta'  => array(
137
-                    'title' => esc_html__('Event Espresso', 'event_espresso'),
138
-                    'class' => $this->menu_class . 'first',
139
-                ),
140
-            )
141
-        );
142
-    }
143
-
144
-
145
-    /**
146
-     * @return void
147
-     */
148
-    private function addEventsSubMenu()
149
-    {
150
-        if ($this->capabilities->current_user_can(
151
-            'ee_read_events',
152
-            'ee_admin_bar_menu_espresso-toolbar-events'
153
-        )
154
-        ) {
155
-            $this->admin_bar->add_menu(
156
-                array(
157
-                    'id'     => 'espresso-toolbar-events',
158
-                    'parent' => 'espresso-toolbar',
159
-                    'title'  => '<span class="ee-toolbar-icon"></span>'
160
-                                . esc_html__('Events', 'event_espresso'),
161
-                    'href'   => $this->events_admin_url,
162
-                    'meta'   => array(
163
-                        'title'  => esc_html__('Events', 'event_espresso'),
164
-                        'target' => '',
165
-                        'class'  => $this->menu_class,
166
-                    ),
167
-                )
168
-            );
169
-        }
170
-    }
171
-
172
-
173
-    /**
174
-     * @return void
175
-     */
176
-    private function addEventsAddEditHeader()
177
-    {
178
-        if ($this->capabilities->current_user_can(
179
-            'ee_read_events',
180
-            'ee_admin_bar_menu_espresso-toolbar-events-view'
181
-        )
182
-        ) {
183
-            $this->admin_bar->add_menu(
184
-                array(
185
-                    'id'     => 'espresso-toolbar-events-add-edit',
186
-                    'parent' => 'espresso-toolbar-events',
187
-                    'title'  => esc_html__('Add / Edit', 'event_espresso'),
188
-                    'href'   => '',
189
-                )
190
-            );
191
-        }
192
-    }
193
-
194
-
195
-    /**
196
-     * @return void
197
-     */
198
-    private function addEventsAddNew()
199
-    {
200
-        if ($this->capabilities->current_user_can(
201
-            'ee_edit_events',
202
-            'ee_admin_bar_menu_espresso-toolbar-events-new'
203
-        )) {
204
-            $this->admin_bar->add_menu(
205
-                array(
206
-                    'id'     => 'espresso-toolbar-events-new',
207
-                    'parent' => 'espresso-toolbar-events',
208
-                    'title'  => '<span class="ee-toolbar-icon"></span>'
209
-                                . esc_html__('Add New', 'event_espresso'),
210
-                    'href'   => EEH_URL::add_query_args_and_nonce(
211
-                        array('action' => 'create_new'),
212
-                        $this->events_admin_url
213
-                    ),
214
-                    'meta'   => array(
215
-                        'title'  => esc_html__('Add New', 'event_espresso'),
216
-                        'target' => '',
217
-                        'class'  => $this->menu_class,
218
-                    ),
219
-                )
220
-            );
221
-        }
222
-    }
223
-
224
-
225
-    /**
226
-     * @return void
227
-     */
228
-    private function addEventsEditCurrentEvent()
229
-    {
230
-        if (is_single() && (get_post_type() === 'espresso_events')) {
231
-            // Current post
232
-            global $post;
233
-            if ($this->capabilities->current_user_can(
234
-                'ee_edit_event',
235
-                'ee_admin_bar_menu_espresso-toolbar-events-edit',
236
-                $post->ID
237
-            )) {
238
-                $this->admin_bar->add_menu(
239
-                    array(
240
-                        'id'     => 'espresso-toolbar-events-edit',
241
-                        'parent' => 'espresso-toolbar-events',
242
-                        'title'  => '<span class="ee-toolbar-icon"></span>'
243
-                                    . esc_html__('Edit Event', 'event_espresso'),
244
-                        'href'   => EEH_URL::add_query_args_and_nonce(
245
-                            array(
246
-                                'action' => 'edit',
247
-                                'post'   => $post->ID,
248
-                            ),
249
-                            $this->events_admin_url
250
-                        ),
251
-                        'meta'   => array(
252
-                            'title'  => esc_html__('Edit Event', 'event_espresso'),
253
-                            'target' => '',
254
-                            'class'  => $this->menu_class,
255
-                        ),
256
-                    )
257
-                );
258
-            }
259
-        }
260
-    }
261
-
262
-
263
-    /**
264
-     * @return void
265
-     */
266
-    private function addEventsViewHeader()
267
-    {
268
-        if ($this->capabilities->current_user_can(
269
-            'ee_read_events',
270
-            'ee_admin_bar_menu_espresso-toolbar-events-view'
271
-        )) {
272
-            $this->admin_bar->add_menu(
273
-                array(
274
-                    'id'     => 'espresso-toolbar-events-view',
275
-                    'parent' => 'espresso-toolbar-events',
276
-                    'title'  => esc_html__('View', 'event_espresso'),
277
-                    'href'   => '',
278
-                )
279
-            );
280
-        }
281
-    }
282
-
283
-
284
-    /**
285
-     * @return void
286
-     */
287
-    private function addEventsViewAll()
288
-    {
289
-        if ($this->capabilities->current_user_can(
290
-            'ee_read_events',
291
-            'ee_admin_bar_menu_espresso-toolbar-events-all'
292
-        )) {
293
-            $this->admin_bar->add_menu(
294
-                array(
295
-                    'id'     => 'espresso-toolbar-events-all',
296
-                    'parent' => 'espresso-toolbar-events',
297
-                    'title'  => '<span class="ee-toolbar-icon"></span>'
298
-                                . esc_html__('All', 'event_espresso'),
299
-                    'href'   => $this->events_admin_url,
300
-                    'meta'   => array(
301
-                        'title'  => esc_html__('All', 'event_espresso'),
302
-                        'target' => '',
303
-                        'class'  => $this->menu_class,
304
-                    ),
305
-                )
306
-            );
307
-        }
308
-    }
309
-
310
-
311
-    /**
312
-     * @return void
313
-     */
314
-    private function addEventsViewToday()
315
-    {
316
-        if ($this->capabilities->current_user_can(
317
-            'ee_read_events',
318
-            'ee_admin_bar_menu_espresso-toolbar-events-today'
319
-        )) {
320
-            $this->admin_bar->add_menu(
321
-                array(
322
-                    'id'     => 'espresso-toolbar-events-today',
323
-                    'parent' => 'espresso-toolbar-events',
324
-                    'title'  => '<span class="ee-toolbar-icon"></span>'
325
-                                . esc_html__('Today', 'event_espresso'),
326
-                    'href'   => EEH_URL::add_query_args_and_nonce(
327
-                        array(
328
-                            'action' => 'default',
329
-                            'status' => 'today',
330
-                        ),
331
-                        $this->events_admin_url
332
-                    ),
333
-                    'meta'   => array(
334
-                        'title'  => esc_html__('Today', 'event_espresso'),
335
-                        'target' => '',
336
-                        'class'  => $this->menu_class,
337
-                    ),
338
-                )
339
-            );
340
-        }
341
-    }
342
-
343
-
344
-    /**
345
-     * @return void
346
-     */
347
-    private function addEventsViewThisMonth()
348
-    {
349
-        if ($this->capabilities->current_user_can(
350
-            'ee_read_events',
351
-            'ee_admin_bar_menu_espresso-toolbar-events-month'
352
-        )) {
353
-            $this->admin_bar->add_menu(
354
-                array(
355
-                    'id'     => 'espresso-toolbar-events-month',
356
-                    'parent' => 'espresso-toolbar-events',
357
-                    'title'  => '<span class="ee-toolbar-icon"></span>'
358
-                                . esc_html__('This Month', 'event_espresso'),
359
-                    'href'   => EEH_URL::add_query_args_and_nonce(
360
-                        array(
361
-                            'action' => 'default',
362
-                            'status' => 'month',
363
-                        ),
364
-                        $this->events_admin_url
365
-                    ),
366
-                    'meta'   => array(
367
-                        'title'  => esc_html__('This Month', 'event_espresso'),
368
-                        'target' => '',
369
-                        'class'  => $this->menu_class,
370
-                    ),
371
-                )
372
-            );
373
-        }
374
-    }
375
-
376
-
377
-    /**
378
-     * @return void
379
-     */
380
-    private function addRegistrationSubMenu()
381
-    {
382
-        if ($this->capabilities->current_user_can(
383
-            'ee_read_registrations',
384
-            'ee_admin_bar_menu_espresso-toolbar-registrations'
385
-        )) {
386
-            $this->admin_bar->add_menu(
387
-                array(
388
-                    'id'     => 'espresso-toolbar-registrations',
389
-                    'parent' => 'espresso-toolbar',
390
-                    'title'  => '<span class="ee-toolbar-icon"></span>'
391
-                                . esc_html__('Registrations', 'event_espresso'),
392
-                    'href'   => $this->reg_admin_url,
393
-                    'meta'   => array(
394
-                        'title'  => esc_html__('Registrations', 'event_espresso'),
395
-                        'target' => '',
396
-                        'class'  => $this->menu_class,
397
-                    ),
398
-                )
399
-            );
400
-        }
401
-    }
402
-
403
-
404
-    /**
405
-     * @return void
406
-     */
407
-    private function addRegistrationOverviewToday()
408
-    {
409
-        if ($this->capabilities->current_user_can(
410
-            'ee_read_registrations',
411
-            'ee_admin_bar_menu_espresso-toolbar-registrations-today'
412
-        )) {
413
-            $this->admin_bar->add_menu(
414
-                array(
415
-                    'id'     => 'espresso-toolbar-registrations-today',
416
-                    'parent' => 'espresso-toolbar-registrations',
417
-                    'title'  => esc_html__('Today', 'event_espresso'),
418
-                    'href'   => '',
419
-                    'meta'   => array(
420
-                        'title'  => esc_html__('Today', 'event_espresso'),
421
-                        'target' => '',
422
-                        'class'  => $this->menu_class,
423
-                    ),
424
-                )
425
-            );
426
-        }
427
-    }
428
-
429
-
430
-    /**
431
-     * @return void
432
-     */
433
-    private function addRegistrationOverviewTodayApproved()
434
-    {
435
-        if ($this->capabilities->current_user_can(
436
-            'ee_read_registrations',
437
-            'ee_admin_bar_menu_espresso-toolbar-registrations-today-approved'
438
-        )) {
439
-            $this->admin_bar->add_menu(
440
-                array(
441
-                    'id'     => 'espresso-toolbar-registrations-today-approved',
442
-                    'parent' => 'espresso-toolbar-registrations',
443
-                    'title'  => '<span class="ee-toolbar-icon"></span>'
444
-                                . esc_html__('Approved', 'event_espresso'),
445
-                    'href'   => EEH_URL::add_query_args_and_nonce(
446
-                        array(
447
-                            'action'      => 'default',
448
-                            'status'      => 'today',
449
-                            '_reg_status' => EEM_Registration::status_id_approved,
450
-                        ),
451
-                        $this->reg_admin_url
452
-                    ),
453
-                    'meta'   => array(
454
-                        'title'  => esc_html__('Approved', 'event_espresso'),
455
-                        'target' => '',
456
-                        'class'  => $this->menu_class . ' ee-toolbar-icon-approved',
457
-                    ),
458
-                )
459
-            );
460
-        }
461
-    }
462
-
463
-
464
-    /**
465
-     * @return void
466
-     */
467
-    private function addRegistrationOverviewTodayPendingPayment()
468
-    {
469
-        if ($this->capabilities->current_user_can(
470
-            'ee_read_registrations',
471
-            'ee_admin_bar_menu_espresso-toolbar-registrations-today-pending'
472
-        )) {
473
-            $this->admin_bar->add_menu(
474
-                array(
475
-                    'id'     => 'espresso-toolbar-registrations-today-pending',
476
-                    'parent' => 'espresso-toolbar-registrations',
477
-                    'title'  => '<span class="ee-toolbar-icon"></span>'
478
-                                . esc_html__('Pending', 'event_espresso'),
479
-                    'href'   => EEH_URL::add_query_args_and_nonce(
480
-                        array(
481
-                            'action'      => 'default',
482
-                            'status'      => 'today',
483
-                            '_reg_status' => EEM_Registration::status_id_pending_payment,
484
-                        ),
485
-                        $this->reg_admin_url
486
-                    ),
487
-                    'meta'   => array(
488
-                        'title'  => esc_html__('Pending Payment', 'event_espresso'),
489
-                        'target' => '',
490
-                        'class'  => $this->menu_class . ' ee-toolbar-icon-pending',
491
-                    ),
492
-                )
493
-            );
494
-        }
495
-    }
496
-
497
-
498
-    /**
499
-     * @return void
500
-     */
501
-    private function addRegistrationOverviewTodayNotApproved()
502
-    {
503
-        if ($this->capabilities->current_user_can(
504
-            'ee_read_registrations',
505
-            'ee_admin_bar_menu_espresso-toolbar-registrations-today-not-approved'
506
-        )) {
507
-            $this->admin_bar->add_menu(
508
-                array(
509
-                    'id'     => 'espresso-toolbar-registrations-today-not-approved',
510
-                    'parent' => 'espresso-toolbar-registrations',
511
-                    'title'  => '<span class="ee-toolbar-icon"></span>'
512
-                                . esc_html__('Not Approved', 'event_espresso'),
513
-                    'href'   => EEH_URL::add_query_args_and_nonce(
514
-                        array(
515
-                            'action'      => 'default',
516
-                            'status'      => 'today',
517
-                            '_reg_status' => EEM_Registration::status_id_not_approved,
518
-                        ),
519
-                        $this->reg_admin_url
520
-                    ),
521
-                    'meta'   => array(
522
-                        'title'  => esc_html__('Not Approved', 'event_espresso'),
523
-                        'target' => '',
524
-                        'class'  => $this->menu_class . ' ee-toolbar-icon-not-approved',
525
-                    ),
526
-                )
527
-            );
528
-        }
529
-    }
530
-
531
-
532
-    /**
533
-     * @return void
534
-     */
535
-    private function addRegistrationOverviewTodayCancelled()
536
-    {
537
-        if ($this->capabilities->current_user_can(
538
-            'ee_read_registrations',
539
-            'ee_admin_bar_menu_espresso-toolbar-registrations-today-cancelled'
540
-        )) {
541
-            $this->admin_bar->add_menu(
542
-                array(
543
-                    'id'     => 'espresso-toolbar-registrations-today-cancelled',
544
-                    'parent' => 'espresso-toolbar-registrations',
545
-                    'title'  => '<span class="ee-toolbar-icon"></span>'
546
-                                . esc_html__('Cancelled', 'event_espresso'),
547
-                    'href'   => EEH_URL::add_query_args_and_nonce(
548
-                        array(
549
-                            'action'      => 'default',
550
-                            'status'      => 'today',
551
-                            '_reg_status' => EEM_Registration::status_id_cancelled,
552
-                        ),
553
-                        $this->reg_admin_url
554
-                    ),
555
-                    'meta'   => array(
556
-                        'title'  => esc_html__('Cancelled', 'event_espresso'),
557
-                        'target' => '',
558
-                        'class'  => $this->menu_class . ' ee-toolbar-icon-cancelled',
559
-                    ),
560
-                )
561
-            );
562
-        }
563
-    }
564
-
565
-
566
-    /**
567
-     * @return void
568
-     */
569
-    private function addRegistrationOverviewThisMonth()
570
-    {
571
-        if ($this->capabilities->current_user_can(
572
-            'ee_read_registrations',
573
-            'ee_admin_bar_menu_espresso-toolbar-registrations-month'
574
-        )) {
575
-            $this->admin_bar->add_menu(
576
-                array(
577
-                    'id'     => 'espresso-toolbar-registrations-month',
578
-                    'parent' => 'espresso-toolbar-registrations',
579
-                    'title'  => esc_html__('This Month', 'event_espresso'),
580
-                    'href'   => '', // EEH_URL::add_query_args_and_nonce(
581
-                    //     array(
582
-                    //         'action' => 'default',
583
-                    //         'status' => 'month'
584
-                    //     ),
585
-                    //     $this->reg_admin_url
586
-                    // ),
587
-                    'meta'   => array(
588
-                        'title'  => esc_html__('This Month', 'event_espresso'),
589
-                        'target' => '',
590
-                        'class'  => $this->menu_class,
591
-                    ),
592
-                )
593
-            );
594
-        }
595
-    }
596
-
597
-
598
-    /**
599
-     * @return void
600
-     */
601
-    private function addRegistrationOverviewThisMonthApproved()
602
-    {
603
-        if ($this->capabilities->current_user_can(
604
-            'ee_read_registrations',
605
-            'ee_admin_bar_menu_espresso-toolbar-registrations-month-approved'
606
-        )) {
607
-            $this->admin_bar->add_menu(
608
-                array(
609
-                    'id'     => 'espresso-toolbar-registrations-month-approved',
610
-                    'parent' => 'espresso-toolbar-registrations',
611
-                    'title'  => '<span class="ee-toolbar-icon"></span>'
612
-                                . esc_html__('Approved', 'event_espresso'),
613
-                    'href'   => EEH_URL::add_query_args_and_nonce(
614
-                        array(
615
-                            'action'      => 'default',
616
-                            'status'      => 'month',
617
-                            '_reg_status' => EEM_Registration::status_id_approved,
618
-                        ),
619
-                        $this->reg_admin_url
620
-                    ),
621
-                    'meta'   => array(
622
-                        'title'  => esc_html__('Approved', 'event_espresso'),
623
-                        'target' => '',
624
-                        'class'  => $this->menu_class . ' ee-toolbar-icon-approved',
625
-                    ),
626
-                )
627
-            );
628
-        }
629
-    }
630
-
631
-
632
-    /**
633
-     * @return void
634
-     */
635
-    private function addRegistrationOverviewThisMonthPending()
636
-    {
637
-        if ($this->capabilities->current_user_can(
638
-            'ee_read_registrations',
639
-            'ee_admin_bar_menu_espresso-toolbar-registrations-month-pending'
640
-        )) {
641
-            $this->admin_bar->add_menu(
642
-                array(
643
-                    'id'     => 'espresso-toolbar-registrations-month-pending',
644
-                    'parent' => 'espresso-toolbar-registrations',
645
-                    'title'  => '<span class="ee-toolbar-icon"></span>'
646
-                                . esc_html__('Pending', 'event_espresso'),
647
-                    'href'   => EEH_URL::add_query_args_and_nonce(
648
-                        array(
649
-                            'action'      => 'default',
650
-                            'status'      => 'month',
651
-                            '_reg_status' => EEM_Registration::status_id_pending_payment,
652
-                        ),
653
-                        $this->reg_admin_url
654
-                    ),
655
-                    'meta'   => array(
656
-                        'title'  => esc_html__('Pending', 'event_espresso'),
657
-                        'target' => '',
658
-                        'class'  => $this->menu_class . ' ee-toolbar-icon-pending',
659
-                    ),
660
-                )
661
-            );
662
-        }
663
-    }
664
-
665
-
666
-    /**
667
-     * @return void
668
-     */
669
-    private function addRegistrationOverviewThisMonthNotApproved()
670
-    {
671
-        if ($this->capabilities->current_user_can(
672
-            'ee_read_registrations',
673
-            'ee_admin_bar_menu_espresso-toolbar-registrations-month-not-approved'
674
-        )) {
675
-            $this->admin_bar->add_menu(
676
-                array(
677
-                    'id'     => 'espresso-toolbar-registrations-month-not-approved',
678
-                    'parent' => 'espresso-toolbar-registrations',
679
-                    'title'  => '<span class="ee-toolbar-icon"></span>'
680
-                                . esc_html__('Not Approved', 'event_espresso'),
681
-                    'href'   => EEH_URL::add_query_args_and_nonce(
682
-                        array(
683
-                            'action'      => 'default',
684
-                            'status'      => 'month',
685
-                            '_reg_status' => EEM_Registration::status_id_not_approved,
686
-                        ),
687
-                        $this->reg_admin_url
688
-                    ),
689
-                    'meta'   => array(
690
-                        'title'  => esc_html__('Not Approved', 'event_espresso'),
691
-                        'target' => '',
692
-                        'class'  => $this->menu_class . ' ee-toolbar-icon-not-approved',
693
-                    ),
694
-                )
695
-            );
696
-        }
697
-    }
698
-
699
-
700
-    /**
701
-     * @return void
702
-     */
703
-    private function addRegistrationOverviewThisMonthCancelled()
704
-    {
705
-        if ($this->capabilities->current_user_can(
706
-            'ee_read_registrations',
707
-            'ee_admin_bar_menu_espresso-toolbar-registrations-month-cancelled'
708
-        )) {
709
-            $this->admin_bar->add_menu(
710
-                array(
711
-                    'id'     => 'espresso-toolbar-registrations-month-cancelled',
712
-                    'parent' => 'espresso-toolbar-registrations',
713
-                    'title'  => '<span class="ee-toolbar-icon"></span>'
714
-                                . esc_html__('Cancelled', 'event_espresso'),
715
-                    'href'   => EEH_URL::add_query_args_and_nonce(
716
-                        array(
717
-                            'action'      => 'default',
718
-                            'status'      => 'month',
719
-                            '_reg_status' => EEM_Registration::status_id_cancelled,
720
-                        ),
721
-                        $this->reg_admin_url
722
-                    ),
723
-                    'meta'   => array(
724
-                        'title'  => esc_html__('Cancelled', 'event_espresso'),
725
-                        'target' => '',
726
-                        'class'  => $this->menu_class . ' ee-toolbar-icon-cancelled',
727
-                    ),
728
-                )
729
-            );
730
-        }
731
-    }
732
-
733
-
734
-    /**
735
-     * @return void
736
-     */
737
-    private function addExtensionsAndServices()
738
-    {
739
-        if ($this->capabilities->current_user_can(
740
-            'ee_read_ee',
741
-            'ee_admin_bar_menu_espresso-toolbar-extensions-and-services'
742
-        )) {
743
-            $this->admin_bar->add_menu(
744
-                array(
745
-                    'id'     => 'espresso-toolbar-extensions-and-services',
746
-                    'parent' => 'espresso-toolbar',
747
-                    'title'  => '<span class="ee-toolbar-icon"></span>'
748
-                                . esc_html__('Extensions & Services', 'event_espresso'),
749
-                    'href'   => admin_url('admin.php?page=espresso_packages'),
750
-                    'meta'   => array(
751
-                        'title'  => esc_html__('Extensions & Services', 'event_espresso'),
752
-                        'target' => '',
753
-                        'class'  => $this->menu_class,
754
-                    ),
755
-                )
756
-            );
757
-        }
758
-    }
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 (defined('DOING_AJAX')
72
+			|| ! $this->capabilities->current_user_can('ee_read_ee', 'ee_admin_bar_menu_top_level')
73
+			|| EE_Maintenance_Mode::instance()->level() === EE_Maintenance_Mode::level_2_complete_maintenance
74
+		) {
75
+			return;
76
+		}
77
+		do_action('AHEE_log', __FILE__, __FUNCTION__, '');
78
+		$this->admin_bar = $admin_bar;
79
+		// we don't use the constants EVENTS_ADMIN_URL or REG_ADMIN_URL
80
+		// because they're only defined in each of their respective constructors
81
+		// and this might be a frontend request, in which case they aren't available
82
+		$this->events_admin_url = admin_url('admin.php?page=espresso_events');
83
+		$this->reg_admin_url = admin_url('admin.php?page=espresso_registrations');
84
+		// now let's add all of the menu items
85
+		$this->addTopLevelMenu();
86
+		$this->addEventsSubMenu();
87
+		$this->addEventsAddEditHeader();
88
+		$this->addEventsAddNew();
89
+		$this->addEventsEditCurrentEvent();
90
+		$this->addEventsViewHeader();
91
+		$this->addEventsViewAll();
92
+		$this->addEventsViewToday();
93
+		$this->addEventsViewThisMonth();
94
+		$this->addRegistrationSubMenu();
95
+		$this->addRegistrationOverviewToday();
96
+		$this->addRegistrationOverviewTodayApproved();
97
+		$this->addRegistrationOverviewTodayPendingPayment();
98
+		$this->addRegistrationOverviewTodayNotApproved();
99
+		$this->addRegistrationOverviewTodayCancelled();
100
+		$this->addRegistrationOverviewThisMonth();
101
+		$this->addRegistrationOverviewThisMonthApproved();
102
+		$this->addRegistrationOverviewThisMonthPending();
103
+		$this->addRegistrationOverviewThisMonthNotApproved();
104
+		$this->addRegistrationOverviewThisMonthCancelled();
105
+		$this->addExtensionsAndServices();
106
+	}
107
+
108
+
109
+	/**
110
+	 * @return void
111
+	 */
112
+	private function enqueueAssets()
113
+	{
114
+		wp_register_style(
115
+			'espresso-admin-toolbar',
116
+			EE_GLOBAL_ASSETS_URL . 'css/espresso-admin-toolbar.css',
117
+			array('dashicons'),
118
+			EVENT_ESPRESSO_VERSION
119
+		);
120
+		wp_enqueue_style('espresso-admin-toolbar');
121
+	}
122
+
123
+
124
+	/**
125
+	 * @return void
126
+	 */
127
+	private function addTopLevelMenu()
128
+	{
129
+		$this->admin_bar->add_menu(
130
+			array(
131
+				'id'    => 'espresso-toolbar',
132
+				'title' => '<span class="ee-icon ee-icon-ee-cup-thick ee-icon-size-20"></span><span class="ab-label">'
133
+						   . esc_html_x('Event Espresso', 'admin bar menu group label', 'event_espresso')
134
+						   . '</span>',
135
+				'href'  => $this->events_admin_url,
136
+				'meta'  => array(
137
+					'title' => esc_html__('Event Espresso', 'event_espresso'),
138
+					'class' => $this->menu_class . 'first',
139
+				),
140
+			)
141
+		);
142
+	}
143
+
144
+
145
+	/**
146
+	 * @return void
147
+	 */
148
+	private function addEventsSubMenu()
149
+	{
150
+		if ($this->capabilities->current_user_can(
151
+			'ee_read_events',
152
+			'ee_admin_bar_menu_espresso-toolbar-events'
153
+		)
154
+		) {
155
+			$this->admin_bar->add_menu(
156
+				array(
157
+					'id'     => 'espresso-toolbar-events',
158
+					'parent' => 'espresso-toolbar',
159
+					'title'  => '<span class="ee-toolbar-icon"></span>'
160
+								. esc_html__('Events', 'event_espresso'),
161
+					'href'   => $this->events_admin_url,
162
+					'meta'   => array(
163
+						'title'  => esc_html__('Events', 'event_espresso'),
164
+						'target' => '',
165
+						'class'  => $this->menu_class,
166
+					),
167
+				)
168
+			);
169
+		}
170
+	}
171
+
172
+
173
+	/**
174
+	 * @return void
175
+	 */
176
+	private function addEventsAddEditHeader()
177
+	{
178
+		if ($this->capabilities->current_user_can(
179
+			'ee_read_events',
180
+			'ee_admin_bar_menu_espresso-toolbar-events-view'
181
+		)
182
+		) {
183
+			$this->admin_bar->add_menu(
184
+				array(
185
+					'id'     => 'espresso-toolbar-events-add-edit',
186
+					'parent' => 'espresso-toolbar-events',
187
+					'title'  => esc_html__('Add / Edit', 'event_espresso'),
188
+					'href'   => '',
189
+				)
190
+			);
191
+		}
192
+	}
193
+
194
+
195
+	/**
196
+	 * @return void
197
+	 */
198
+	private function addEventsAddNew()
199
+	{
200
+		if ($this->capabilities->current_user_can(
201
+			'ee_edit_events',
202
+			'ee_admin_bar_menu_espresso-toolbar-events-new'
203
+		)) {
204
+			$this->admin_bar->add_menu(
205
+				array(
206
+					'id'     => 'espresso-toolbar-events-new',
207
+					'parent' => 'espresso-toolbar-events',
208
+					'title'  => '<span class="ee-toolbar-icon"></span>'
209
+								. esc_html__('Add New', 'event_espresso'),
210
+					'href'   => EEH_URL::add_query_args_and_nonce(
211
+						array('action' => 'create_new'),
212
+						$this->events_admin_url
213
+					),
214
+					'meta'   => array(
215
+						'title'  => esc_html__('Add New', 'event_espresso'),
216
+						'target' => '',
217
+						'class'  => $this->menu_class,
218
+					),
219
+				)
220
+			);
221
+		}
222
+	}
223
+
224
+
225
+	/**
226
+	 * @return void
227
+	 */
228
+	private function addEventsEditCurrentEvent()
229
+	{
230
+		if (is_single() && (get_post_type() === 'espresso_events')) {
231
+			// Current post
232
+			global $post;
233
+			if ($this->capabilities->current_user_can(
234
+				'ee_edit_event',
235
+				'ee_admin_bar_menu_espresso-toolbar-events-edit',
236
+				$post->ID
237
+			)) {
238
+				$this->admin_bar->add_menu(
239
+					array(
240
+						'id'     => 'espresso-toolbar-events-edit',
241
+						'parent' => 'espresso-toolbar-events',
242
+						'title'  => '<span class="ee-toolbar-icon"></span>'
243
+									. esc_html__('Edit Event', 'event_espresso'),
244
+						'href'   => EEH_URL::add_query_args_and_nonce(
245
+							array(
246
+								'action' => 'edit',
247
+								'post'   => $post->ID,
248
+							),
249
+							$this->events_admin_url
250
+						),
251
+						'meta'   => array(
252
+							'title'  => esc_html__('Edit Event', 'event_espresso'),
253
+							'target' => '',
254
+							'class'  => $this->menu_class,
255
+						),
256
+					)
257
+				);
258
+			}
259
+		}
260
+	}
261
+
262
+
263
+	/**
264
+	 * @return void
265
+	 */
266
+	private function addEventsViewHeader()
267
+	{
268
+		if ($this->capabilities->current_user_can(
269
+			'ee_read_events',
270
+			'ee_admin_bar_menu_espresso-toolbar-events-view'
271
+		)) {
272
+			$this->admin_bar->add_menu(
273
+				array(
274
+					'id'     => 'espresso-toolbar-events-view',
275
+					'parent' => 'espresso-toolbar-events',
276
+					'title'  => esc_html__('View', 'event_espresso'),
277
+					'href'   => '',
278
+				)
279
+			);
280
+		}
281
+	}
282
+
283
+
284
+	/**
285
+	 * @return void
286
+	 */
287
+	private function addEventsViewAll()
288
+	{
289
+		if ($this->capabilities->current_user_can(
290
+			'ee_read_events',
291
+			'ee_admin_bar_menu_espresso-toolbar-events-all'
292
+		)) {
293
+			$this->admin_bar->add_menu(
294
+				array(
295
+					'id'     => 'espresso-toolbar-events-all',
296
+					'parent' => 'espresso-toolbar-events',
297
+					'title'  => '<span class="ee-toolbar-icon"></span>'
298
+								. esc_html__('All', 'event_espresso'),
299
+					'href'   => $this->events_admin_url,
300
+					'meta'   => array(
301
+						'title'  => esc_html__('All', 'event_espresso'),
302
+						'target' => '',
303
+						'class'  => $this->menu_class,
304
+					),
305
+				)
306
+			);
307
+		}
308
+	}
309
+
310
+
311
+	/**
312
+	 * @return void
313
+	 */
314
+	private function addEventsViewToday()
315
+	{
316
+		if ($this->capabilities->current_user_can(
317
+			'ee_read_events',
318
+			'ee_admin_bar_menu_espresso-toolbar-events-today'
319
+		)) {
320
+			$this->admin_bar->add_menu(
321
+				array(
322
+					'id'     => 'espresso-toolbar-events-today',
323
+					'parent' => 'espresso-toolbar-events',
324
+					'title'  => '<span class="ee-toolbar-icon"></span>'
325
+								. esc_html__('Today', 'event_espresso'),
326
+					'href'   => EEH_URL::add_query_args_and_nonce(
327
+						array(
328
+							'action' => 'default',
329
+							'status' => 'today',
330
+						),
331
+						$this->events_admin_url
332
+					),
333
+					'meta'   => array(
334
+						'title'  => esc_html__('Today', 'event_espresso'),
335
+						'target' => '',
336
+						'class'  => $this->menu_class,
337
+					),
338
+				)
339
+			);
340
+		}
341
+	}
342
+
343
+
344
+	/**
345
+	 * @return void
346
+	 */
347
+	private function addEventsViewThisMonth()
348
+	{
349
+		if ($this->capabilities->current_user_can(
350
+			'ee_read_events',
351
+			'ee_admin_bar_menu_espresso-toolbar-events-month'
352
+		)) {
353
+			$this->admin_bar->add_menu(
354
+				array(
355
+					'id'     => 'espresso-toolbar-events-month',
356
+					'parent' => 'espresso-toolbar-events',
357
+					'title'  => '<span class="ee-toolbar-icon"></span>'
358
+								. esc_html__('This Month', 'event_espresso'),
359
+					'href'   => EEH_URL::add_query_args_and_nonce(
360
+						array(
361
+							'action' => 'default',
362
+							'status' => 'month',
363
+						),
364
+						$this->events_admin_url
365
+					),
366
+					'meta'   => array(
367
+						'title'  => esc_html__('This Month', 'event_espresso'),
368
+						'target' => '',
369
+						'class'  => $this->menu_class,
370
+					),
371
+				)
372
+			);
373
+		}
374
+	}
375
+
376
+
377
+	/**
378
+	 * @return void
379
+	 */
380
+	private function addRegistrationSubMenu()
381
+	{
382
+		if ($this->capabilities->current_user_can(
383
+			'ee_read_registrations',
384
+			'ee_admin_bar_menu_espresso-toolbar-registrations'
385
+		)) {
386
+			$this->admin_bar->add_menu(
387
+				array(
388
+					'id'     => 'espresso-toolbar-registrations',
389
+					'parent' => 'espresso-toolbar',
390
+					'title'  => '<span class="ee-toolbar-icon"></span>'
391
+								. esc_html__('Registrations', 'event_espresso'),
392
+					'href'   => $this->reg_admin_url,
393
+					'meta'   => array(
394
+						'title'  => esc_html__('Registrations', 'event_espresso'),
395
+						'target' => '',
396
+						'class'  => $this->menu_class,
397
+					),
398
+				)
399
+			);
400
+		}
401
+	}
402
+
403
+
404
+	/**
405
+	 * @return void
406
+	 */
407
+	private function addRegistrationOverviewToday()
408
+	{
409
+		if ($this->capabilities->current_user_can(
410
+			'ee_read_registrations',
411
+			'ee_admin_bar_menu_espresso-toolbar-registrations-today'
412
+		)) {
413
+			$this->admin_bar->add_menu(
414
+				array(
415
+					'id'     => 'espresso-toolbar-registrations-today',
416
+					'parent' => 'espresso-toolbar-registrations',
417
+					'title'  => esc_html__('Today', 'event_espresso'),
418
+					'href'   => '',
419
+					'meta'   => array(
420
+						'title'  => esc_html__('Today', 'event_espresso'),
421
+						'target' => '',
422
+						'class'  => $this->menu_class,
423
+					),
424
+				)
425
+			);
426
+		}
427
+	}
428
+
429
+
430
+	/**
431
+	 * @return void
432
+	 */
433
+	private function addRegistrationOverviewTodayApproved()
434
+	{
435
+		if ($this->capabilities->current_user_can(
436
+			'ee_read_registrations',
437
+			'ee_admin_bar_menu_espresso-toolbar-registrations-today-approved'
438
+		)) {
439
+			$this->admin_bar->add_menu(
440
+				array(
441
+					'id'     => 'espresso-toolbar-registrations-today-approved',
442
+					'parent' => 'espresso-toolbar-registrations',
443
+					'title'  => '<span class="ee-toolbar-icon"></span>'
444
+								. esc_html__('Approved', 'event_espresso'),
445
+					'href'   => EEH_URL::add_query_args_and_nonce(
446
+						array(
447
+							'action'      => 'default',
448
+							'status'      => 'today',
449
+							'_reg_status' => EEM_Registration::status_id_approved,
450
+						),
451
+						$this->reg_admin_url
452
+					),
453
+					'meta'   => array(
454
+						'title'  => esc_html__('Approved', 'event_espresso'),
455
+						'target' => '',
456
+						'class'  => $this->menu_class . ' ee-toolbar-icon-approved',
457
+					),
458
+				)
459
+			);
460
+		}
461
+	}
462
+
463
+
464
+	/**
465
+	 * @return void
466
+	 */
467
+	private function addRegistrationOverviewTodayPendingPayment()
468
+	{
469
+		if ($this->capabilities->current_user_can(
470
+			'ee_read_registrations',
471
+			'ee_admin_bar_menu_espresso-toolbar-registrations-today-pending'
472
+		)) {
473
+			$this->admin_bar->add_menu(
474
+				array(
475
+					'id'     => 'espresso-toolbar-registrations-today-pending',
476
+					'parent' => 'espresso-toolbar-registrations',
477
+					'title'  => '<span class="ee-toolbar-icon"></span>'
478
+								. esc_html__('Pending', 'event_espresso'),
479
+					'href'   => EEH_URL::add_query_args_and_nonce(
480
+						array(
481
+							'action'      => 'default',
482
+							'status'      => 'today',
483
+							'_reg_status' => EEM_Registration::status_id_pending_payment,
484
+						),
485
+						$this->reg_admin_url
486
+					),
487
+					'meta'   => array(
488
+						'title'  => esc_html__('Pending Payment', 'event_espresso'),
489
+						'target' => '',
490
+						'class'  => $this->menu_class . ' ee-toolbar-icon-pending',
491
+					),
492
+				)
493
+			);
494
+		}
495
+	}
496
+
497
+
498
+	/**
499
+	 * @return void
500
+	 */
501
+	private function addRegistrationOverviewTodayNotApproved()
502
+	{
503
+		if ($this->capabilities->current_user_can(
504
+			'ee_read_registrations',
505
+			'ee_admin_bar_menu_espresso-toolbar-registrations-today-not-approved'
506
+		)) {
507
+			$this->admin_bar->add_menu(
508
+				array(
509
+					'id'     => 'espresso-toolbar-registrations-today-not-approved',
510
+					'parent' => 'espresso-toolbar-registrations',
511
+					'title'  => '<span class="ee-toolbar-icon"></span>'
512
+								. esc_html__('Not Approved', 'event_espresso'),
513
+					'href'   => EEH_URL::add_query_args_and_nonce(
514
+						array(
515
+							'action'      => 'default',
516
+							'status'      => 'today',
517
+							'_reg_status' => EEM_Registration::status_id_not_approved,
518
+						),
519
+						$this->reg_admin_url
520
+					),
521
+					'meta'   => array(
522
+						'title'  => esc_html__('Not Approved', 'event_espresso'),
523
+						'target' => '',
524
+						'class'  => $this->menu_class . ' ee-toolbar-icon-not-approved',
525
+					),
526
+				)
527
+			);
528
+		}
529
+	}
530
+
531
+
532
+	/**
533
+	 * @return void
534
+	 */
535
+	private function addRegistrationOverviewTodayCancelled()
536
+	{
537
+		if ($this->capabilities->current_user_can(
538
+			'ee_read_registrations',
539
+			'ee_admin_bar_menu_espresso-toolbar-registrations-today-cancelled'
540
+		)) {
541
+			$this->admin_bar->add_menu(
542
+				array(
543
+					'id'     => 'espresso-toolbar-registrations-today-cancelled',
544
+					'parent' => 'espresso-toolbar-registrations',
545
+					'title'  => '<span class="ee-toolbar-icon"></span>'
546
+								. esc_html__('Cancelled', 'event_espresso'),
547
+					'href'   => EEH_URL::add_query_args_and_nonce(
548
+						array(
549
+							'action'      => 'default',
550
+							'status'      => 'today',
551
+							'_reg_status' => EEM_Registration::status_id_cancelled,
552
+						),
553
+						$this->reg_admin_url
554
+					),
555
+					'meta'   => array(
556
+						'title'  => esc_html__('Cancelled', 'event_espresso'),
557
+						'target' => '',
558
+						'class'  => $this->menu_class . ' ee-toolbar-icon-cancelled',
559
+					),
560
+				)
561
+			);
562
+		}
563
+	}
564
+
565
+
566
+	/**
567
+	 * @return void
568
+	 */
569
+	private function addRegistrationOverviewThisMonth()
570
+	{
571
+		if ($this->capabilities->current_user_can(
572
+			'ee_read_registrations',
573
+			'ee_admin_bar_menu_espresso-toolbar-registrations-month'
574
+		)) {
575
+			$this->admin_bar->add_menu(
576
+				array(
577
+					'id'     => 'espresso-toolbar-registrations-month',
578
+					'parent' => 'espresso-toolbar-registrations',
579
+					'title'  => esc_html__('This Month', 'event_espresso'),
580
+					'href'   => '', // EEH_URL::add_query_args_and_nonce(
581
+					//     array(
582
+					//         'action' => 'default',
583
+					//         'status' => 'month'
584
+					//     ),
585
+					//     $this->reg_admin_url
586
+					// ),
587
+					'meta'   => array(
588
+						'title'  => esc_html__('This Month', 'event_espresso'),
589
+						'target' => '',
590
+						'class'  => $this->menu_class,
591
+					),
592
+				)
593
+			);
594
+		}
595
+	}
596
+
597
+
598
+	/**
599
+	 * @return void
600
+	 */
601
+	private function addRegistrationOverviewThisMonthApproved()
602
+	{
603
+		if ($this->capabilities->current_user_can(
604
+			'ee_read_registrations',
605
+			'ee_admin_bar_menu_espresso-toolbar-registrations-month-approved'
606
+		)) {
607
+			$this->admin_bar->add_menu(
608
+				array(
609
+					'id'     => 'espresso-toolbar-registrations-month-approved',
610
+					'parent' => 'espresso-toolbar-registrations',
611
+					'title'  => '<span class="ee-toolbar-icon"></span>'
612
+								. esc_html__('Approved', 'event_espresso'),
613
+					'href'   => EEH_URL::add_query_args_and_nonce(
614
+						array(
615
+							'action'      => 'default',
616
+							'status'      => 'month',
617
+							'_reg_status' => EEM_Registration::status_id_approved,
618
+						),
619
+						$this->reg_admin_url
620
+					),
621
+					'meta'   => array(
622
+						'title'  => esc_html__('Approved', 'event_espresso'),
623
+						'target' => '',
624
+						'class'  => $this->menu_class . ' ee-toolbar-icon-approved',
625
+					),
626
+				)
627
+			);
628
+		}
629
+	}
630
+
631
+
632
+	/**
633
+	 * @return void
634
+	 */
635
+	private function addRegistrationOverviewThisMonthPending()
636
+	{
637
+		if ($this->capabilities->current_user_can(
638
+			'ee_read_registrations',
639
+			'ee_admin_bar_menu_espresso-toolbar-registrations-month-pending'
640
+		)) {
641
+			$this->admin_bar->add_menu(
642
+				array(
643
+					'id'     => 'espresso-toolbar-registrations-month-pending',
644
+					'parent' => 'espresso-toolbar-registrations',
645
+					'title'  => '<span class="ee-toolbar-icon"></span>'
646
+								. esc_html__('Pending', 'event_espresso'),
647
+					'href'   => EEH_URL::add_query_args_and_nonce(
648
+						array(
649
+							'action'      => 'default',
650
+							'status'      => 'month',
651
+							'_reg_status' => EEM_Registration::status_id_pending_payment,
652
+						),
653
+						$this->reg_admin_url
654
+					),
655
+					'meta'   => array(
656
+						'title'  => esc_html__('Pending', 'event_espresso'),
657
+						'target' => '',
658
+						'class'  => $this->menu_class . ' ee-toolbar-icon-pending',
659
+					),
660
+				)
661
+			);
662
+		}
663
+	}
664
+
665
+
666
+	/**
667
+	 * @return void
668
+	 */
669
+	private function addRegistrationOverviewThisMonthNotApproved()
670
+	{
671
+		if ($this->capabilities->current_user_can(
672
+			'ee_read_registrations',
673
+			'ee_admin_bar_menu_espresso-toolbar-registrations-month-not-approved'
674
+		)) {
675
+			$this->admin_bar->add_menu(
676
+				array(
677
+					'id'     => 'espresso-toolbar-registrations-month-not-approved',
678
+					'parent' => 'espresso-toolbar-registrations',
679
+					'title'  => '<span class="ee-toolbar-icon"></span>'
680
+								. esc_html__('Not Approved', 'event_espresso'),
681
+					'href'   => EEH_URL::add_query_args_and_nonce(
682
+						array(
683
+							'action'      => 'default',
684
+							'status'      => 'month',
685
+							'_reg_status' => EEM_Registration::status_id_not_approved,
686
+						),
687
+						$this->reg_admin_url
688
+					),
689
+					'meta'   => array(
690
+						'title'  => esc_html__('Not Approved', 'event_espresso'),
691
+						'target' => '',
692
+						'class'  => $this->menu_class . ' ee-toolbar-icon-not-approved',
693
+					),
694
+				)
695
+			);
696
+		}
697
+	}
698
+
699
+
700
+	/**
701
+	 * @return void
702
+	 */
703
+	private function addRegistrationOverviewThisMonthCancelled()
704
+	{
705
+		if ($this->capabilities->current_user_can(
706
+			'ee_read_registrations',
707
+			'ee_admin_bar_menu_espresso-toolbar-registrations-month-cancelled'
708
+		)) {
709
+			$this->admin_bar->add_menu(
710
+				array(
711
+					'id'     => 'espresso-toolbar-registrations-month-cancelled',
712
+					'parent' => 'espresso-toolbar-registrations',
713
+					'title'  => '<span class="ee-toolbar-icon"></span>'
714
+								. esc_html__('Cancelled', 'event_espresso'),
715
+					'href'   => EEH_URL::add_query_args_and_nonce(
716
+						array(
717
+							'action'      => 'default',
718
+							'status'      => 'month',
719
+							'_reg_status' => EEM_Registration::status_id_cancelled,
720
+						),
721
+						$this->reg_admin_url
722
+					),
723
+					'meta'   => array(
724
+						'title'  => esc_html__('Cancelled', 'event_espresso'),
725
+						'target' => '',
726
+						'class'  => $this->menu_class . ' ee-toolbar-icon-cancelled',
727
+					),
728
+				)
729
+			);
730
+		}
731
+	}
732
+
733
+
734
+	/**
735
+	 * @return void
736
+	 */
737
+	private function addExtensionsAndServices()
738
+	{
739
+		if ($this->capabilities->current_user_can(
740
+			'ee_read_ee',
741
+			'ee_admin_bar_menu_espresso-toolbar-extensions-and-services'
742
+		)) {
743
+			$this->admin_bar->add_menu(
744
+				array(
745
+					'id'     => 'espresso-toolbar-extensions-and-services',
746
+					'parent' => 'espresso-toolbar',
747
+					'title'  => '<span class="ee-toolbar-icon"></span>'
748
+								. esc_html__('Extensions & Services', 'event_espresso'),
749
+					'href'   => admin_url('admin.php?page=espresso_packages'),
750
+					'meta'   => array(
751
+						'title'  => esc_html__('Extensions & Services', 'event_espresso'),
752
+						'target' => '',
753
+						'class'  => $this->menu_class,
754
+					),
755
+				)
756
+			);
757
+		}
758
+	}
759 759
 }
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.