PluginProbe
Timetics – Appointment Booking Calendar & Scheduling / 1.0.0
Timetics – Appointment Booking Calendar & Scheduling v1.0.0
1.0.61 1.0.60 1.0.59 1.0.58 1.0.57 1.0.56 trunk 1.0.0 1.0.1 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.15 1.0.16 1.0.17 1.0.18 1.0.19 1.0.2 1.0.20 1.0.21 1.0.22 1.0.23 1.0.24 All 62 releases
timetics / core / admin / menu.php

menu.php in Timetics – Appointment Booking Calendar & Scheduling 1.0.0, at core/admin/menu.php

112 lines 2.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /**
4 * Admin meni class
5 *
6 * @package Timetics
7 */
8
9 namespace Timetics\Core\Admin;
10
11 /**
12 * Class Menu
13 */
14 class Menu {
15
16 use \Timetics\Utils\Singleton;
17
18 /**
19 * Initialize
20 *
21 * @return void
22 */
23 public function init() {
24 add_action( 'admin_menu', array( $this, 'register_admin_menu' ) );
25 }
26
27 /**
28 * Register admin menu
29 *
30 * @return void
31 */
32
33 public function register_admin_menu() {
34 global $submenu;
35 $capability = 'manage_timetics';
36 $slug = 'timetics';
37 $url = 'admin.php?page=' . $slug . '#';
38 $menu_items = array(
39 [
40 'title' => __( 'Overview', 'timetics' ),
41 'link' => '/',
42 'capability' => $capability,
43 ],
44 [
45 'title' => __( 'Meetings', 'timetics' ),
46 'link' => '/meetings',
47 'capability' => 'read_booking',
48 ],
49 [
50 'title' => __( 'Staffs', 'timetics' ),
51 'link' => '/staff',
52 'capability' => 'edit_staff',
53 ],
54
55 [
56 'title' => __( 'Bookings', 'timetics' ),
57 'link' => '/bookings',
58 'capability' => 'read_booking',
59 ],
60 [
61 'title' => __( 'Customers', 'timetics' ),
62 'link' => '/customers',
63 'capability' => 'manage_options',
64 ],
65 [
66 'title' => __( 'Settings', 'timetics' ),
67 'link' => '/settings',
68 'capability' => 'manage_options',
69 ],
70 [
71 'title' => __( 'My Profile', 'timetics' ),
72 'link' => '/my-profile',
73 'capability' => 'edit_profile',
74 ],
75 [
76 'title' => __( 'Shortcodes', 'timetics' ),
77 'link' => '/shortcodes',
78 'capability' => 'edit_profile',
79 ],
80 );
81
82 add_menu_page(
83 __( 'Timetics', 'timetics' ),
84 __( 'Timetics', 'timetics' ),
85 $capability,
86 $slug,
87 array( $this, 'timetics_dashboard_view' ),
88 'dashicons-store',
89 10
90 );
91
92 $menu_items = apply_filters( 'timetics_menu', $menu_items );
93
94 foreach ( $menu_items as $item ) {
95 $submenu[$slug][] = [$item['title'], $item['capability'], $url . $item['link']]; // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
96 }
97 }
98
99 /**
100 * Admin dashboard view
101 *
102 * @return void
103 */
104 public function timetics_dashboard_view() {
105 ?>
106 <div class="wrap" id="time_tics_dashboard">
107 <h2>Timetics</h2>
108 </div>
109 <?php
110 }
111 }
112