PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 2.5.0
Tutor LMS – eLearning and online course solution v2.5.0
3.9.15 3.9.14 3.9.13 3.9.12 3.9.11 trunk 1.0.0 1.0.0-alpha 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.2.0 1.2.1 1.2.11 1.2.12 1.2.13 1.2.20 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.9 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 1.7.6 1.7.7 1.7.8 1.7.9 1.8.0 1.8.1 1.8.10 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9.0 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.14 1.9.15 1.9.16 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.10 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.10 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.3.0 2.4.0 2.5.0 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 3.0.0 3.0.1 3.0.2 3.1.0 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.7.0 3.7.1 3.7.2 3.7.3 3.7.4 3.8.0 3.8.1 3.8.2 3.8.3 3.9.0 3.9.1 3.9.10 3.9.2 3.9.3 3.9.4 3.9.5 3.9.6 3.9.7 3.9.8 3.9.9
tutor / views / pages / instructors.php
tutor / views / pages Last commit date
tools 3 years ago add_new_instructor.php 2 years ago addons.php 3 years ago announcements.php 3 years ago answer.php 3 years ago course-list.php 2 years ago enable_disable_addons.php 3 years ago feature-promotion.php 2 years ago get-pro.php 2 years ago instructors.php 2 years ago question_answer.php 3 years ago quiz_attempts.php 3 years ago students.php 3 years ago tools.php 3 years ago tutor-pro-addons.php 2 years ago uninstall.php 3 years ago view_attempt.php 3 years ago welcome.php 2 years ago whats-new.php 2 years ago withdraw_requests.php 2 years ago
instructors.php
483 lines
1 <?php
2 /**
3 * Instructors List Template.
4 *
5 * @package Tutor\Views
6 * @subpackage Tutor\Instructor
7 * @author Themeum <support@themeum.com>
8 * @link https://themeum.com
9 * @since 2.0.0
10 */
11
12 if ( ! defined( 'ABSPATH' ) ) {
13 exit;
14 }
15
16 use TUTOR\Input;
17 use TUTOR\Instructors_List;
18
19 if ( Input::has( 'sub_page' ) ) {
20 $sub_page = Input::get( 'sub_page' );
21 include_once tutor()->path . "views/pages/{$sub_page}.php";
22 return;
23 }
24
25 $instructors = new Instructors_List();
26
27 /**
28 * Short able params
29 */
30 $user_id = Input::get( 'user_id', '' );
31 $course_id = Input::get( 'course-id', '' );
32 $data_order = Input::get( 'order', 'DESC' );
33 $date = Input::get( 'date', '' );
34 $search_term = Input::get( 'search', '' );
35
36 /**
37 * Determine active tab
38 */
39 $active_tab = Input::get( 'data', 'all' );
40
41 /**
42 * Pagination data
43 */
44 $selected_page = Input::get( 'paged', 1, Input::TYPE_INT );
45 $per_page_data = tutor_utils()->get_option( 'pagination_per_page' );
46 $offset = ( $per_page_data * $selected_page ) - $per_page_data;
47
48 // Available status for instructor.
49 $available_status = array(
50 'pending' => array( __( 'Pending', 'tutor' ), 'select-warning' ),
51 'approved' => array( __( 'Approved', 'tutor' ), 'select-success' ),
52 'blocked' => array( __( 'Blocked', 'tutor' ), 'select-danger' ),
53 );
54
55 $instructor_status = array( 'approved', 'pending', 'blocked' );
56 if ( 'pending' === $active_tab ) {
57 $instructor_status = array( 'pending' );
58 $available_status['reject'] = array( __( 'Reject', 'tutor' ), 'select-danger' );
59
60 } elseif ( 'blocked' === $active_tab ) {
61 $instructor_status = array( 'blocked' );
62 } elseif ( 'approved' === $active_tab ) {
63 $instructor_status = array( 'approved' );
64 }
65 $instructors_list = Instructors_List::get_instructors( $instructor_status, $offset, $per_page_data, $search_term, $course_id, $date, $data_order );
66
67 $total = Instructors_List::count_total_instructors( $instructor_status, $search_term, $course_id, $date );
68
69 /**
70 * Navbar data to make nav menu
71 */
72 $url = get_pagenum_link();
73 $add_insructor_url = $url . '&sub_page=add_new_instructor';
74 $navbar_data = array(
75 'page_title' => $instructors->page_title,
76 'tabs' => $instructors->tabs_key_value( $search_term, $course_id, $date ),
77 'active' => $active_tab,
78 'add_button' => true,
79 'button_title' => __( 'Add New', 'tutor' ),
80 'button_url' => $add_insructor_url,
81 'modal_target' => 'tutor-instructor-add-new',
82 );
83
84 $filters = array(
85 'bulk_action' => $instructors->bulk_action,
86 'bulk_actions' => $instructors->prpare_bulk_actions(),
87 'ajax_action' => 'tutor_instructor_bulk_action',
88 'filters' => true,
89 'course_filter' => true,
90 );
91
92 ?>
93
94 <div class="tutor-admin-wrap">
95 <?php
96 /**
97 * Load Templates with data.
98 */
99 $navbar_template = tutor()->path . 'views/elements/navbar.php';
100 $filters_template = tutor()->path . 'views/elements/filters.php';
101 tutor_load_template_from_custom_path( $navbar_template, $navbar_data );
102 tutor_load_template_from_custom_path( $filters_template, $filters );
103 ?>
104 <div class="tutor-admin-body">
105 <div class="tutor-table-responsive tutor-mt-32">
106 <table class="tutor-table tutor-table-middle table-instructors tutor-table-with-checkbox">
107 <thead>
108 <tr>
109 <th width="5%">
110 <div class="tutor-d-flex">
111 <input type="checkbox" id="tutor-bulk-checkbox-all" class="tutor-form-check-input" />
112 </div>
113 </th>
114 <th class="tutor-table-rows-sorting" width="25%">
115 <?php esc_html_e( 'Name', 'tutor' ); ?>
116 <span class="tutor-icon-ordering-a-z a-to-z-sort-icon"></span>
117 </th>
118 <th class="tutor-table-rows-sorting" width="30%">
119 <?php esc_html_e( 'Email', 'tutor' ); ?>
120 <span class="tutor-icon-ordering-a-z a-to-z-sort-icon"></span>
121 </th>
122 <th class="tutor-table-rows-sorting" width="5%">
123 <?php esc_html_e( 'Total Courses', 'tutor' ); ?>
124 <span class="tutor-icon-order-down up-down-icon"></span>
125 </th>
126 <th class="tutor-table-rows-sorting" width="5%">
127 <?php esc_html_e( 'Commission Rate', 'tutor' ); ?>
128 </th>
129
130 <?php do_action( 'tutor_after_instructor_list_commission_column' ); ?>
131
132 <th class="tutor-table-rows-sorting" width="10%">
133 <?php esc_html_e( 'Status', 'tutor' ); ?>
134 <span class="tutor-icon-order-down up-down-icon"></span>
135 </th>
136 <th></th>
137 </tr>
138 </thead>
139 <tbody>
140 <?php if ( is_array( $instructors_list ) && count( $instructors_list ) ) : ?>
141 <?php
142 foreach ( $instructors_list as $list ) :
143 $alert = ( 'pending' === $list->status ? 'warning' : ( 'approved' === $list->status ? 'success' : ( 'blocked' === $list->status ? 'danger' : 'default' ) ) );
144 $user_data = get_userdata( $list->ID );
145 ?>
146 <tr>
147 <td>
148 <div class="td-checkbox tutor-d-flex ">
149 <input id="tutor-admin-list-<?php echo esc_attr( $list->ID ); ?>" type="checkbox" class="tutor-form-check-input tutor-bulk-checkbox" name="tutor-bulk-checkbox-all" value="<?php echo esc_attr( $list->ID ); ?>" />
150 </div>
151 </td>
152 <td>
153 <div class="tutor-d-flex tutor-align-center tutor-gap-1">
154 <?php
155 echo wp_kses(
156 tutor_utils()->get_tutor_avatar( $list->ID ),
157 tutor_utils()->allowed_avatar_tags()
158 );
159 ?>
160 <?php echo esc_html( tutils()->get_user_name( $user_data ) ); ?>
161 <a href="<?php echo esc_url( tutor_utils()->profile_url( $list->ID, true ) ); ?>" class="tutor-iconic-btn" target="_blank">
162 <span class="tutor-icon-external-link"></span>
163 </a>
164 </div>
165 </td>
166 <td data-th="<?php esc_html_e( 'Email', 'tutor' ); ?>">
167 <span class="tutor-color-black tutor-fs-7">
168 <?php echo esc_html( $list->user_email ); ?>
169 </span>
170 </td>
171 </td>
172 <td data-th="<?php esc_html_e( 'Total Course', 'tutor' ); ?>">
173 <span class="tutor-color-black tutor-fs-7">
174 <?php echo esc_html( $instructors->column_total_course( $list, 'total_course' ) ); ?>
175 </span>
176 </td>
177 <td data-th="<?php esc_html_e( 'Commission Rate', 'tutor' ); ?>">
178 <span class="tutor-color-black tutor-fs-7">
179 <?php
180 $commision_string = tutor_utils()->get_option( 'earning_instructor_commission' ) . '%';
181 echo apply_filters( 'tutor_pro_instructor_commission_string', $commision_string, $list->ID ); //phpcs:ignore
182 ?>
183 </span>
184 </td>
185
186 <?php do_action( 'tutor_after_instructor_list_commission_column_data', $list->ID ); ?>
187
188 <td data-th="<?php esc_html_e( 'Status', 'tutor' ); ?>">
189 <span style="display:block; width:0; height:0; overflow:hidden;">
190 <?php
191 // Render for frontend sorting.
192 echo esc_html( $available_status[ $list->status ][0] );
193 ?>
194 </span>
195 <div class="tutor-form-select-with-icon <?php echo esc_html( $available_status[ $list->status ][1] ); ?>">
196 <select class="tutor-table-row-status-update" data-bulk-ids="<?php echo esc_attr( $list->ID ); ?>" data-status_key="bulk-action" data-action="tutor_instructor_bulk_action">
197 <?php foreach ( $available_status as $key => $status_name ) : ?>
198 <option data-status_class="<?php echo esc_attr( $available_status[ $key ][1] ); ?>" value="<?php echo esc_attr( $key ); ?>" data-status="<?php echo esc_attr( $key ); ?>" <?php selected( $list->status, $key ); ?>>
199 <?php echo esc_html( $available_status[ $key ][0] ); ?>
200 </option>
201 <?php endforeach; ?>
202 </select>
203 <i class="icon1 tutor-icon-eye-bold"></i>
204 <i class="icon2 tutor-icon-angle-down"></i>
205 </div>
206 </td>
207 <td data-th="<?php esc_html_e( 'Status', 'tutor' ); ?>">
208 <?php
209 ob_start();
210 $profile_url = add_query_arg( 'user_id', $list->ID, self_admin_url( 'user-edit.php' ) );
211 ?>
212 <a href="<?php echo esc_url( $profile_url ); ?>"
213 class="tutor-btn tutor-btn-outline-primary tutor-btn-sm">
214 <?php esc_html_e( 'Edit', 'tutor' ); ?>
215 </a>
216 <?php
217 $edit_button = apply_filters( 'tutor_instructor_list_edit_button', ob_get_clean(), $user_data );
218 //phpcs:ignore -- already escaped.
219 echo $edit_button;
220 ?>
221 </td>
222 </tr>
223 <?php endforeach; ?>
224 <?php else : ?>
225 <tr>
226 <td colspan="100%" class="column-empty-state">
227 <?php tutor_utils()->tutor_empty_state( __( 'No instructor found', 'tutor' ) ); ?>
228 </td>
229 </tr>
230 <?php endif; ?>
231 </tbody>
232 </table>
233 </div>
234 <div class="tutor-admin-page-pagination-wrapper tutor-mt-32">
235 <?php
236 /**
237 * Prepare pagination data & load template
238 */
239 if ( $total > $per_page_data ) {
240 $pagination_data = array(
241 'total_items' => $total,
242 'per_page' => $per_page_data,
243 'paged' => $selected_page,
244 );
245 $pagination_template = tutor()->path . 'views/elements/pagination.php';
246 tutor_load_template_from_custom_path( $pagination_template, $pagination_data );
247 }
248 ?>
249 </div>
250 </div>
251 </div>
252
253 <div id="tutor-instructor-add-new" class="tutor-modal tutor-modal-scrollable">
254 <div class="tutor-modal-overlay"></div>
255 <div class="tutor-modal-window">
256 <form id="tutor-new-instructor-form" class="tutor-modal-content" autocomplete="off" method="post">
257 <div class="tutor-modal-header">
258 <div class="tutor-modal-title">
259 <?php esc_html_e( 'Add New Instructor', 'tutor' ); ?>
260 </div>
261 <button class="tutor-iconic-btn tutor-modal-close" data-tutor-modal-close>
262 <span class="tutor-icon-times" area-hidden="true"></span>
263 </button>
264 </div>
265
266 <div class="tutor-modal-body">
267 <?php tutor_nonce_field(); ?>
268 <?php do_action( 'tutor_add_new_instructor_form_fields_before' ); ?>
269 <div class="tutor-rows">
270 <div class="tutor-col">
271 <label class="tutor-form-label">
272 <?php esc_html_e( 'First Name', 'tutor' ); ?>
273 </label>
274 <div class="tutor-mb-16">
275 <input type="text" name="first_name" class="tutor-form-control tutor-mb-12" placeholder="<?php esc_attr_e( 'Enter First Name', 'tutor' ); ?>" title="<?php esc_attr_e( 'Only alphanumeric & space are allowed', 'tutor' ); ?>" required/>
276 </div>
277 </div>
278 <div class="tutor-col">
279 <label class="tutor-form-label">
280 <?php esc_html_e( 'Last Name', 'tutor' ); ?>
281 </label>
282 <div class="tutor-mb-16">
283 <input type="text" name="last_name" class="tutor-form-control tutor-mb-12" placeholder="<?php esc_attr_e( 'Enter Last Name', 'tutor' ); ?>" title="<?php esc_attr_e( 'Only alphanumeric & space are allowed', 'tutor' ); ?>" required/>
284 </div>
285 </div>
286 </div>
287 <div class="tutor-row">
288 <div class="tutor-col">
289 <label class="tutor-form-label">
290 <?php esc_html_e( 'Username', 'tutor' ); ?>
291 </label>
292 <div class="tutor-mb-16">
293 <input type="text" name="user_login" class="tutor-form-control tutor-mb-12" autocomplete="off" placeholder="<?php esc_attr_e( 'Enter Username', 'tutor' ); ?>" pattern="^[a-zA-Z0-9_]*$" title="<?php esc_attr_e( 'Only alphanumeric and underscore are allowed', 'tutor' ); ?>" required/>
294 </div>
295 </div>
296 <div class="tutor-col">
297 <label class="tutor-form-label">
298 <?php esc_html_e( 'Phone Number', 'tutor' ); ?>
299 <span class="tutor-fs-7 tutor-fw-medium tutor-color-muted">
300 <?php esc_html_e( '(Optional)', 'tutor' ); ?>
301 </span>
302 </label>
303 <div class="tutor-mb-16">
304 <input type="text" name="phone_number" class="tutor-form-control tutor-mb-12" placeholder="<?php esc_attr_e( 'Enter Phone Number', 'tutor' ); ?>" minlength="8" maxlength="16" pattern="[0-9]+" title="<?php esc_attr_e( 'Only number is allowed', 'tutor' ); ?>"/>
305 </div>
306 </div>
307 </div>
308
309 <div class="tutor-row">
310 <div class="tutor-col">
311 <label class="tutor-form-label">
312 <?php esc_html_e( 'Email Address', 'tutor' ); ?>
313 </label>
314 <div class="tutor-mb-16">
315 <input type="email" name="email" class="tutor-form-control tutor-mb-12" autocomplete="off" placeholder="<?php esc_attr_e( 'Enter Your Email', 'tutor' ); ?>" required/>
316 </div>
317 </div>
318 </div>
319
320 <div class="tutor-row">
321 <div class="tutor-col">
322 <label class="tutor-form-label">
323 <?php esc_html_e( 'Password', 'tutor' ); ?>
324 </label>
325 <div class="tutor-form-wrap tutor-mb-16">
326 <span class="tutor-icon-eye-line tutor-form-icon tutor-form-icon-reverse tutor-password-reveal"></span>
327 <input type="password" name="password" id="tutor-instructor-pass" class="tutor-form-control tutor-mb-12" minlength="8" placeholder="*******" autocomplete="new-password" required/>
328 </div>
329 </div>
330 <div class="tutor-col">
331 <label class="tutor-form-label">
332 <?php esc_html_e( 'Retype Password', 'tutor' ); ?>
333 </label>
334 <div class="tutor-form-wrap tutor-mb-16">
335 <span class="tutor-icon-eye-line tutor-form-icon tutor-form-icon-reverse tutor-password-reveal"></span>
336 <input type="password" name="password_confirmation" class="tutor-form-control tutor-mb-12" placeholder="*******" autocomplete="off" pattern="" title="<?php esc_attr_e( 'Your passwords should match each other. Please recheck.', 'tutor' ); ?>" onfocus="this.setAttribute('pattern', document.getElementById('tutor-instructor-pass').value)" required/>
337 </div>
338 </div>
339 </div>
340
341 <?php do_action( 'tutor_add_new_instructor_form_fields_after' ); ?>
342
343 <div class="tutor-row">
344 <div class="tutor-col">
345 <label class="tutor-form-label">
346 <?php esc_html_e( 'Bio', 'tutor' ); ?>
347 <span class="tutor-fs-7 tutor-fw-medium tutor-color-muted">
348 <?php esc_html_e( '(Optional)', 'tutor' ); ?>
349 </span>
350 </label>
351 <div class="tutor-mb-16">
352 <?php wp_editor( '', 'tutor_profile_bio', tutor_utils()->get_profile_bio_editor_config( 'tutor_profile_bio' ) ); ?>
353 </div>
354 </div>
355 </div>
356 <div class="tutor-row" id="tutor-new-instructor-form-response"></div>
357 </div>
358
359 <div class="tutor-modal-footer">
360 <button class="tutor-btn tutor-btn-outline-primary" data-tutor-modal-close>
361 <?php esc_html_e( 'Cancel', 'tutor' ); ?>
362 </button>
363
364 <button type="submit" class="tutor-btn tutor-btn-primary" name="tutor_register_instructor_btn" data-tutor-modal-submit>
365 <?php esc_html_e( 'Add Instructor', 'tutor' ); ?>
366 </button>
367 </div>
368 </form>
369 </div>
370 </div>
371 <?php
372 /**
373 * Instructor Approve, Reject popup
374 * that will be shown based on get params
375 *
376 * @since v2.0.0
377 */
378 $instructor_id = Input::get( 'instructor', '' );
379 $prompt_action = Input::get( 'action', '' );
380 $instructor_data = get_userdata( $instructor_id );
381
382 if ( $instructor_data && ( 'approved' === $prompt_action || 'blocked' === $prompt_action ) ) :
383 ?>
384 <?php $instructor_status = tutor_utils()->instructor_status( $instructor_data->ID, false ); ?>
385 <div id="tutor-ins-approval-1" class="tutor-modal tutor-modal-ins-approval tutor-is-active">
386 <div class="tutor-modal-overlay"></div>
387 <div class="tutor-modal-window tutor-modal-window-sm">
388 <div class="tutor-modal-content tutor-modal-content-white">
389 <button class="tutor-iconic-btn tutor-modal-close-o" data-tutor-modal-close>
390 <span class="tutor-icon-times" area-hidden="true"></span>
391 </button>
392 <div class="tutor-modal-body tutor-text-center">
393 <div class="tutor-py-lg-64">
394 <?php if ( $instructor_data ) : ?>
395 <div class="tutor-fs-4 tutor-fw-medium tutor-color-black tutor-mb-8">
396 <?php esc_html_e( 'A New Instructor Just Signed Up', 'tutor' ); ?>
397 </div>
398 <div class="tutor-fs-6 tutor-color-muted">
399 <?php esc_html_e( 'You can either accept or reject the application. The applicant will be notified via email either way.', 'tutor' ); ?>
400 </div>
401
402 <div class="tutor-modal-ins-meta tutor-mt-44">
403 <div class="tutor-d-inline-block tutor-avatar tutor-mb-20">
404 <?php echo get_avatar( $instructor_data->ID ); ?>
405 </div>
406
407 <div class="tutor-fs-4 tutor-fw-medium tutor-color-black tutor-mb-12">
408 <?php
409 echo esc_html(
410 ( '' !== $instructor_data->display_name ?
411 $instructor_data->display_name : ( '' !== $instructor_data->user_nicename ?
412 $instructor_data->user_nicename : '' ) )
413 );
414 ?>
415 </div>
416
417 <div class="tutor-fs-6 tutor-color-secondary tutor-mb-8">
418 <?php esc_html_e( 'Username:', 'tutor' ); ?>
419 <span class="tutor-color-black">
420 <?php echo esc_html( $instructor_data->user_login ); ?>
421 </span>
422 </div>
423
424 <div class="tutor-fs-6 tutor-color-secondary">
425 <?php esc_html_e( 'Email:', 'tutor' ); ?>
426 <span class="tutor-color-black">
427 <?php echo esc_html( $instructor_data->user_email ); ?>
428 </span>
429 </div>
430 </div>
431
432 <div class="tutor-mt-48 tutor-mb-24">
433 <?php if ( 'approved' === $prompt_action || 'blocked' === $prompt_action ) : ?>
434 <?php if ( 'pending' === $instructor_status ) : ?>
435 <a class="instructor-action tutor-btn tutor-btn-primary tutor-btn-block" data-action="approve" data-instructor-id="<?php echo esc_attr( $instructor_data->ID ); ?>">
436 <?php esc_html_e( 'Approve the Instructor', 'tutor' ); ?>
437 </a>
438 <a class="instructor-action tutor-btn tutor-btn-ghost tutor-mt-16" data-action="blocked" data-instructor-id="<?php echo esc_attr( $instructor_data->ID ); ?>">
439 <?php esc_html_e( 'Reject the Application', 'tutor' ); ?>
440 </a>
441 <?php elseif ( 'approved' === $instructor_status ) : ?>
442 <a class="instructor-action tutor-btn tutor-btn-primary tutor-btn-block" data-action="blocked" data-instructor-id="<?php echo esc_attr( $instructor_data->ID ); ?>">
443 <?php esc_html_e( 'Reject the Application', 'tutor' ); ?>
444 </a>
445 <?php elseif ( 'blocked' === $instructor_status ) : ?>
446 <a class="instructor-action tutor-btn tutor-btn-primary tutor-btn-block" data-action="approve" data-instructor-id="<?php echo esc_attr( $instructor_data->ID ); ?>">
447 <?php esc_html_e( 'Approve the Instructor', 'tutor' ); ?>
448 </a>
449 <?php endif; ?>
450 <?php else : ?>
451 <div class="tutor-alert tutor-danger tutor-justify-center">
452 <div class="tutor-alert-text">
453 <span class="tutor-alert-icon tutor-fs-4 tutor-icon-circle-times-line tutor-mr-12"></span>
454 <span>
455 <?php esc_html_e( 'Attempted invalid action', 'tutor' ); ?>
456 </span>
457 </div>
458 </div>
459 <?php endif; ?>
460 </div>
461 <?php else : ?>
462 <div class="tutor-alert tutor-danger tutor-justify-center">
463 <div class="tutor-alert-text">
464 <span class="tutor-alert-icon tutor-fs-4 tutor-icon-circle-times-line tutor-mr-12"></span>
465 <span>
466 <?php esc_html_e( 'Invalid instructor', 'tutor' ); ?>
467 </span>
468 </div>
469 </div>
470 <?php endif; ?>
471 </div>
472 </div>
473 </div>
474 </div>
475 </div>
476 <?php endif; ?>
477
478 <style>
479 .table-instructors .woocommerce-Price-amount{
480 font-size: 0.875rem;
481 }
482 </style>
483