PluginProbe
Bookit — Booking & Appointment Calendar / 2.6.0.5
Bookit — Booking & Appointment Calendar v2.6.0.5
2.6.0.5 2.6.0.4 2.6.0.3 2.6.0.2 2.6.0.1 2.6.0 trunk 1.2 1.2.2 1.2.3 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 All 62 releases
bookit / includes / classes / admin / AdminMenu.php

AdminMenu.php in Bookit — Booking & Appointment Calendar 2.6.0.5, at includes/classes/admin/AdminMenu.php

112 lines 2.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Bookit\Classes\Admin;
4
5 use Bookit\Classes\Database\Appointments;
6
7 class AdminMenu {
8
9 /**
10 * Init AdminMenu Class
11 */
12 public static function init() {
13 add_action( 'admin_menu', array( self::class, 'admin_menu_pages' ) );
14 add_filter( 'plugin_action_links_' . plugin_basename( BOOKIT_FILE ), array( self::class, 'plugin_action_links' ) );
15 }
16
17 /**
18 * Register Admin Menu pages
19 */
20 public static function admin_menu_pages() {
21 add_menu_page(
22 'BookIt Calendar',
23 'BookIt Calendar',
24 'manage_options',
25 'bookit',
26 'Bookit\Classes\Admin\CalendarController::render',
27 'dashicons-calendar-alt',
28 30
29 );
30
31 // Add Calendar Submenu
32 add_submenu_page(
33 'bookit',
34 esc_html__( 'Calendar', 'bookit' ),
35 esc_html__( 'Calendar', 'bookit' ),
36 'manage_options',
37 'bookit',
38 'Bookit\Classes\Admin\CalendarController::render'
39 );
40
41 // Add Appointments Submenu
42 $pending = Appointments::pending_appointments();
43 add_submenu_page(
44 'bookit',
45 esc_html__( 'Appointments', 'bookit' ),
46 $pending ? sprintf( '%s <span class="awaiting-mod">%d</span>', esc_html__( 'Appointments', 'bookit' ), $pending ) : esc_html__( 'Appointments', 'bookit' ),
47 'manage_options',
48 'bookit-appointments',
49 'Bookit\Classes\Admin\AppointmentsController::render'
50 );
51
52 // Add Services Submenu
53 add_submenu_page(
54 'bookit',
55 esc_html__( 'Services', 'bookit' ),
56 esc_html__( 'Services', 'bookit' ),
57 'manage_options',
58 'bookit-services',
59 'Bookit\Classes\Admin\ServicesController::render'
60 );
61
62 // Add Staff Members Submenu
63 add_submenu_page(
64 'bookit',
65 esc_html__( 'Staff', 'bookit' ),
66 esc_html__( 'Staff', 'bookit' ),
67 'manage_bookit_staff',
68 'bookit-staff',
69 'Bookit\Classes\Admin\StaffController::render'
70 );
71
72 // Add Customers Submenu
73 add_submenu_page(
74 'bookit',
75 esc_html__( 'Customers', 'bookit' ),
76 esc_html__( 'Customers', 'bookit' ),
77 'manage_options',
78 'bookit-customers',
79 'Bookit\Classes\Admin\CustomersController::render'
80 );
81
82 // Add Settings Submenu
83 add_submenu_page(
84 'bookit',
85 esc_html__( 'Settings', 'bookit' ),
86 esc_html__( 'Settings', 'bookit' ),
87 'manage_options',
88 'bookit-settings',
89 'Bookit\Classes\Admin\SettingsController::render'
90 );
91 add_submenu_page(
92 'bookit',
93 esc_html__( 'Add-ons', 'bookit' ),
94 '<span style="color: #adff2f;"><span style="font-size: 15px;text-align: left;" class="dashicons dashicons-star-filled stm_go_pro_menu"></span>' . __( 'Add-ons', 'bookit' ) . '</span>',
95 'manage_options',
96 'bookit-addons-integrations',
97 'Bookit\Classes\Admin\DashboardController::render_addons'
98 );
99 }
100
101 /**
102 * Add Custom Links to Plugins page
103 * @param $links
104 * @return mixed
105 */
106 public static function plugin_action_links( $links ) {
107 $settings_link = sprintf( '<a href="%1$s">%2$s</a>', admin_url( 'admin.php?page=bookit-settings' ), esc_html__( 'Settings', 'bookit' ) );
108 array_unshift( $links, $settings_link );
109 return $links;
110 }
111 }
112