Completed
Branch FET/asset-manager (433489)
by
unknown
32:42 queued 18:11
created

AdminToolBar::addRegistrationOverviewThisMonth()   B

Complexity

Conditions 2
Paths 2

Size

Total Lines 27
Code Lines 14

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 14
nc 2
nop 0
dl 0
loc 27
rs 8.8571
c 0
b 0
f 0
1
<?php
2
3
namespace EventEspresso\core\domain\services\admin;
4
5
use EE_Capabilities;
6
use EE_Maintenance_Mode;
7
use EEH_URL;
8
use EEM_Registration;
9
use WP_Admin_Bar;
10
11
/**
12
 * AdminToolBar
13
 * Adds Event Espresso items to the WordPress Admin Bar
14
 *
15
 * @package        Event Espresso
16
 * @subpackage     core/
17
 * @author         Brent Christensen
18
 */
19
class AdminToolBar
20
{
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 View Code Duplication
    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 View Code Duplication
    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 View Code Duplication
    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 View Code Duplication
    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 View Code Duplication
    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 View Code Duplication
    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 View Code Duplication
    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 View Code Duplication
    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 View Code Duplication
    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 View Code Duplication
    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 View Code Duplication
    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 View Code Duplication
    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 View Code Duplication
    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
}
760