PluginProbe
Timetics – Appointment Booking Calendar & Scheduling / 1.0.38
Timetics – Appointment Booking Calendar & Scheduling v1.0.38
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
← All changes | core/frontend/shortcode.php +38 -4 1.0.131.0.38 View file →
@@ -30,8 +30,11 @@
30 30
31 31 // [timetics-user-dashboard]
32 32 add_shortcode( 'timetics-user-dashboard', [ $this, 'user_dashboard' ] );
33 33
34 + // [timetics-category id='']
35 + add_shortcode( 'timetics-category', [ $this, 'category_meetings' ] );
36 +
34 37 if ( class_exists( 'Wpeventin' ) ) {
35 38 add_action( 'init', [ $this, 'eventin_seat_plan' ] );
36 39 }
37 40 }
@@ -43,9 +46,8 @@
43 46 */
44 47 public function booking_form( $attribute ) {
45 48 wp_enqueue_style( 'timetics-vendor' );
46 49 wp_enqueue_style( 'timetics-frontend' );
47 - wp_enqueue_script( 'timetics-antd-scripts' );
48 50 wp_enqueue_script( 'timetics-flatpickr-scripts' );
49 51 wp_enqueue_script( 'timetics-frontend-scripts' );
50 52 wp_enqueue_script( 'calendar-locale' );
51 53
@@ -54,8 +56,15 @@
54 56 'id' => $id,
55 57 ];
56 58 $controls = json_encode( $data_controls );
57 59
60 + $visibility = get_post_meta( $id, '_tt_apointment_visibility', true );
61 + $is_visible = 'enabled' === $visibility;
62 +
63 + if ( ! $is_visible && ! current_user_can( 'manage_options' ) ) {
64 + return '<div class="timetics-shortcode-wrapper"><p>' . esc_html__( 'This booking form is not available.', 'timetics' ) . '</p></div>';
65 + }
66 +
58 67 ob_start();
59 68 ?>
60 69 <div class="timetics-shortcode-wrapper">
61 70 <div class="timetics-single-booking-wrapper"
@@ -71,9 +80,8 @@
71 80 */
72 81 public function user_dashboard( $attribute ) {
73 82 wp_enqueue_style( 'timetics-vendor' );
74 83 wp_enqueue_style( 'timetics-frontend' );
75 - wp_enqueue_script( 'timetics-antd-scripts' );
76 84 wp_enqueue_script( 'timetics-frontend-scripts' );
77 85
78 86 $id = get_current_user_id();
79 87 $data_controls = [
@@ -105,9 +113,8 @@
105 113
106 114 public function eventin_seat_plan() {
107 115 wp_enqueue_style( 'timetics-vendor' );
108 116 wp_enqueue_style( 'timetics-frontend' );
109 - wp_enqueue_script( 'timetics-antd-scripts' );
110 117 wp_enqueue_script( 'timetics-flatpickr-scripts' );
111 118 wp_enqueue_script( 'timetics-frontend-scripts' );
112 119 }
113 120
@@ -118,9 +125,8 @@
118 125 */
119 126 public function meeting_list( $attribute ) {
120 127 wp_enqueue_style( 'timetics-vendor' );
121 128 wp_enqueue_style( 'timetics-frontend' );
122 - wp_enqueue_script( 'timetics-antd-scripts' );
123 129 wp_enqueue_script( 'timetics-flatpickr-scripts' );
124 130 wp_enqueue_script( 'timetics-frontend-scripts' );
125 131 wp_enqueue_script( 'calendar-locale' );
126 132 wp_enqueue_script( 'jquery' );
@@ -139,8 +145,36 @@
139 145 require_once TIMETICS_PLUGIN_DIR . 'core/frontend/templates/meeting-list.php';
140 146 }
141 147 ?>
142 148 </div>
149 + </div>
150 + <?php
151 + return ob_get_clean();
152 + }
153 +
154 + /**
155 + * category wise meeting for frontend
156 + *
157 + * @return void
158 + */
159 + public function category_meetings( $attribute ) {
160 + wp_enqueue_style( 'timetics-vendor' );
161 + wp_enqueue_style( 'timetics-frontend' );
162 + wp_enqueue_script( 'timetics-flatpickr-scripts' );
163 + wp_enqueue_script( 'timetics-frontend-scripts' );
164 + wp_enqueue_script( 'calendar-locale' );
165 +
166 + $id = isset( $attribute['id'] ) ? $attribute['id'] : '';
167 + $data_controls = [
168 + 'id' => $id,
169 + ];
170 + $controls = json_encode( $data_controls );
171 +
172 + ob_start();
173 + ?>
174 + <div class="timetics-shortcode-wrapper">
175 + <div class="timetics-category-wrapper"
176 + data-controls="<?php echo esc_attr( $controls ); ?>"></div>
143 177 </div>
144 178 <?php
145 179 return ob_get_clean();
146 180 }