PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 4.0.0
Tutor LMS – eLearning and online course solution v4.0.0
4.0.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
ecommerce 21 hours ago tools 2 months ago add_new_instructor.php 2 years ago addons.php 1 year ago announcements.php 2 months ago answer.php 3 years ago course-builder.php 1 year ago course-list.php 2 months ago enable_disable_addons.php 11 months ago feature-promotion.php 2 years ago get-pro.php 8 months ago instructors.php 21 hours ago question_answer.php 11 months ago quiz_attempts.php 21 hours ago students.php 21 hours ago tools.php 3 years ago view_attempt.php 21 hours ago welcome.php 21 hours ago whats-new.php 11 months ago withdraw_requests.php 2 months ago
instructors.php
513 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 defined( 'ABSPATH' ) || exit;
13
14 use TUTOR\Input;
15 use Tutor\Models\CourseModel;
16
17 $allowed_subpage = array();
18
19 if ( Input::has( 'sub_page' ) ) {
20 $sub_page = Input::get( 'sub_page' );
21 if ( in_array( $sub_page, $allowed_subpage, true ) ) {
22 include_once tutor()->path . "views/pages/{$sub_page}.php";
23 return;
24 }
25 }
26
27 /**
28 * Instance of Instructors_List class
29 *
30 * @var TUTOR\Instructors_List
31 */
32 $instructors = tutor_lms()->instructor_list;
33
34 /**
35 * Short able params
36 */
37 $user_id = Input::get( 'user_id', '' );
38 $course_id = Input::get( 'course-id', '' );
39 $data_order = Input::get( 'order', 'DESC' );
40 $date = Input::get( 'date', '' );
41 $search_term = Input::get( 'search', '' );
42
43 /**
44 * Determine active tab
45 */
46 $active_tab = Input::get( 'data', 'all' );
47
48 /**
49 * Pagination data
50 */
51 $selected_page = Input::get( 'paged', 1, Input::TYPE_INT );
52 $per_page_data = tutor_utils()->get_option( 'pagination_per_page' );
53 $offset = ( $per_page_data * $selected_page ) - $per_page_data;
54
55 // Available status for instructor.
56 $available_status = array(
57 'pending' => array( __( 'Pending', 'tutor' ), 'select-warning' ),
58 'approved' => array( __( 'Approved', 'tutor' ), 'select-success' ),
59 'blocked' => array( __( 'Blocked', 'tutor' ), 'select-danger' ),
60 );
61
62 $instructor_status = array( 'approved', 'pending', 'blocked' );
63 if ( 'pending' === $active_tab ) {
64 $instructor_status = array( 'pending' );
65 $available_status['reject'] = array( __( 'Reject', 'tutor' ), 'select-danger' );
66
67 } elseif ( 'blocked' === $active_tab ) {
68 $instructor_status = array( 'blocked' );
69 } elseif ( 'approved' === $active_tab ) {
70 $instructor_status = array( 'approved' );
71 }
72
73 $instructors_list = $instructors::get_instructors( $instructor_status, $offset, $per_page_data, $search_term, $course_id, $date, $data_order );
74 $total = $instructors::count_total_instructors( $instructor_status, $search_term, $course_id, $date );
75
76 /**
77 * Navbar data to make nav menu
78 */
79 $url = get_pagenum_link();
80 $add_instructor_url = $url . '&sub_page=add_new_instructor';
81 $navbar_data = array(
82 'page_title' => $instructors->page_title,
83 'add_button' => true,
84 'button_title' => __( 'Add New', 'tutor' ),
85 'button_url' => $add_instructor_url,
86 'modal_target' => 'tutor-instructor-add-new',
87 );
88
89 $filters = array(
90 'bulk_action' => $instructors->bulk_action,
91 'bulk_actions' => $instructors->prepare_bulk_actions(),
92 'ajax_action' => 'tutor_instructor_bulk_action',
93 'filters' => array(
94 array(
95 'label' => __( 'Courses', 'tutor' ),
96 'field_type' => 'select',
97 'field_name' => 'course-id',
98 'options' => CourseModel::get_course_dropdown_options(),
99 'searchable' => true,
100 'value' => Input::get( 'course-id', '' ),
101 ),
102 array(
103 'label' => __( 'Status', 'tutor' ),
104 'field_type' => 'select',
105 'field_name' => 'data',
106 'options' => $instructors->tabs_key_value( $search_term, $course_id, $date ),
107 'searchable' => false,
108 'value' => Input::get( 'data', '' ),
109 ),
110 array(
111 'label' => __( 'Date', 'tutor' ),
112 'field_type' => 'date',
113 'field_name' => 'date',
114 'show_label' => true,
115 'value' => Input::get( 'date', '' ),
116 ),
117 ),
118 );
119
120 ?>
121
122 <div class="tutor-admin-wrap">
123 <?php
124 /**
125 * Load Templates with data.
126 */
127 $navbar_template = tutor()->path . 'views/elements/list-navbar.php';
128 $filters_template = tutor()->path . 'views/elements/list-filters.php';
129 tutor_load_template_from_custom_path( $navbar_template, $navbar_data );
130 tutor_load_template_from_custom_path( $filters_template, $filters );
131 ?>
132 <div class="tutor-admin-container tutor-admin-container-lg tutor-mt-16">
133 <?php if ( is_array( $instructors_list ) && count( $instructors_list ) ) : ?>
134 <div class="tutor-table-responsive tutor-dashboard-list-table">
135 <table class="tutor-table tutor-table-middle table-instructors tutor-table-with-checkbox">
136 <thead>
137 <tr>
138 <th width="5%">
139 <div class="tutor-d-flex">
140 <input type="checkbox" id="tutor-bulk-checkbox-all" class="tutor-form-check-input" />
141 </div>
142 </th>
143 <th class="tutor-table-rows-sorting" width="25%">
144 <?php esc_html_e( 'Name', 'tutor' ); ?>
145 <span class="tutor-icon-ordering-a-z a-to-z-sort-icon" aria-hidden="true"></span>
146 </th>
147 <th class="tutor-table-rows-sorting" width="30%">
148 <?php esc_html_e( 'Email', 'tutor' ); ?>
149 <span class="tutor-icon-ordering-a-z a-to-z-sort-icon" aria-hidden="true"></span>
150 </th>
151 <th class="tutor-table-rows-sorting" width="5%">
152 <?php esc_html_e( 'Total Courses', 'tutor' ); ?>
153 <span class="tutor-icon-order-down up-down-icon" aria-hidden="true"></span>
154 </th>
155 <th class="tutor-table-rows-sorting" width="5%">
156 <?php esc_html_e( 'Commission Rate', 'tutor' ); ?>
157 </th>
158
159 <?php do_action( 'tutor_after_instructor_list_commission_column' ); ?>
160
161 <th class="tutor-table-rows-sorting" width="10%">
162 <?php esc_html_e( 'Status', 'tutor' ); ?>
163 <span class="tutor-icon-order-down up-down-icon" aria-hidden="true"></span>
164 </th>
165 </tr>
166 </thead>
167 <tbody>
168 <?php
169 foreach ( $instructors_list as $list ) :
170 $alert = ( 'pending' === $list->status ? 'warning' : ( 'approved' === $list->status ? 'success' : ( 'blocked' === $list->status ? 'danger' : 'default' ) ) );
171 $user_data = get_userdata( $list->ID );
172 ?>
173 <tr>
174 <td>
175 <div class="td-checkbox tutor-d-flex ">
176 <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 ); ?>" />
177 </div>
178 </td>
179 <td>
180 <div class="tutor-d-flex tutor-align-center tutor-gap-1">
181 <?php
182 echo wp_kses(
183 tutor_utils()->get_tutor_avatar( $list->ID ),
184 tutor_utils()->allowed_avatar_tags()
185 );
186 ?>
187 <?php echo esc_html( tutils()->get_user_name( $user_data ) ); ?>
188 <a href="<?php echo esc_url( tutor_utils()->profile_url( $list->ID, true ) ); ?>" class="tutor-iconic-btn" target="_blank" aria-label="<?php esc_attr_e( 'View profile', 'tutor' ); ?>">
189 <span class="tutor-icon-external-link" aria-hidden="true"></span>
190 </a>
191 </div>
192 </td>
193 <td data-th="<?php esc_html_e( 'Email', 'tutor' ); ?>">
194 <div class="tutor-d-flex tutor-align-center" style="gap: 5px;">
195 <span class="tutor-fs-7"><?php echo esc_html( $list->user_email ); ?></span>
196 <?php do_action( 'tutor_show_email_verified_badge', $list->ID ); ?>
197 </div>
198 </td>
199 </td>
200 <td data-th="<?php esc_html_e( 'Total Course', 'tutor' ); ?>">
201 <span class="tutor-color-black tutor-fs-7">
202 <?php echo esc_html( $instructors->column_total_course( $list, 'total_course' ) ); ?>
203 </span>
204 </td>
205 <td data-th="<?php esc_html_e( 'Commission Rate', 'tutor' ); ?>">
206 <span class="tutor-color-black tutor-fs-7">
207 <?php
208 $commision_string = tutor_utils()->get_option( 'earning_instructor_commission' ) . '%';
209 echo apply_filters( 'tutor_pro_instructor_commission_string', $commision_string, $list->ID ); //phpcs:ignore
210 ?>
211 </span>
212 </td>
213
214 <?php do_action( 'tutor_after_instructor_list_commission_column_data', $list->ID ); ?>
215
216 <td data-th="<?php esc_html_e( 'Status', 'tutor' ); ?>">
217 <div class="tutor-d-flex tutor-align-center tutor-gap-1 tutor-justify-end">
218 <span style="display:block; width:0; height:0; overflow:hidden;">
219 <?php
220 // Render for frontend sorting.
221 echo esc_html( $available_status[ $list->status ][0] );
222 ?>
223 </span>
224 <div class="tutor-form-select-with-icon <?php echo esc_html( $available_status[ $list->status ][1] ); ?>">
225 <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">
226 <?php foreach ( $available_status as $key => $status_name ) : ?>
227 <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 ); ?>>
228 <?php echo esc_html( $available_status[ $key ][0] ); ?>
229 </option>
230 <?php endforeach; ?>
231 </select>
232 <i class="icon1 tutor-icon-eye-bold" aria-hidden="true"></i>
233 <i class="icon2 tutor-icon-angle-down" aria-hidden="true"></i>
234 </div>
235
236 <?php
237 ob_start();
238 $profile_url = add_query_arg( 'user_id', $list->ID, self_admin_url( 'user-edit.php' ) );
239 ?>
240 <a href="<?php echo esc_url( $profile_url ); ?>"
241 class="tutor-btn tutor-btn-outline-primary tutor-btn-sm">
242 <?php esc_html_e( 'Edit', 'tutor' ); ?>
243 </a>
244 <?php
245 $edit_button = apply_filters( 'tutor_instructor_list_edit_button', ob_get_clean(), $user_data );
246 //phpcs:ignore -- already escaped.
247 echo $edit_button;
248 ?>
249 <?php do_action( 'tutor_render_consent_logs_button', $list ); ?>
250 </div>
251 </td>
252 </tr>
253 <?php endforeach; ?>
254 </tbody>
255 </table>
256 </div>
257 <?php else : ?>
258 <?php tutils()->render_list_empty_state(); ?>
259 <?php endif; ?>
260
261 <div class="tutor-admin-page-pagination-wrapper tutor-mt-32">
262 <?php
263 /**
264 * Prepare pagination data & load template
265 */
266 if ( $total > $per_page_data ) {
267 $pagination_data = array(
268 'total_items' => $total,
269 'per_page' => $per_page_data,
270 'paged' => $selected_page,
271 );
272 $pagination_template = tutor()->path . 'views/elements/pagination.php';
273 tutor_load_template_from_custom_path( $pagination_template, $pagination_data );
274 }
275 ?>
276 </div>
277 </div>
278 </div>
279
280 <div id="tutor-instructor-add-new" class="tutor-modal tutor-modal-scrollable" role="dialog" aria-modal="true" aria-labelledby="tutor-instructor-add-new-title" aria-hidden="true">
281 <div class="tutor-modal-overlay"></div>
282 <div class="tutor-modal-window">
283 <form id="tutor-new-instructor-form" class="tutor-modal-content" autocomplete="off" method="post">
284 <div class="tutor-modal-header">
285 <div class="tutor-modal-title" id="tutor-instructor-add-new-title">
286 <?php esc_html_e( 'Add New Instructor', 'tutor' ); ?>
287 </div>
288 <button type="button" class="tutor-iconic-btn tutor-modal-close" data-tutor-modal-close aria-label="<?php esc_attr_e( 'Close', 'tutor' ); ?>">
289 <span class="tutor-icon-times" aria-hidden="true"></span>
290 </button>
291 </div>
292
293 <div class="tutor-modal-body">
294 <?php tutor_nonce_field(); ?>
295 <?php do_action( 'tutor_add_new_instructor_form_fields_before' ); ?>
296 <div class="tutor-rows">
297 <div class="tutor-col">
298 <label class="tutor-form-label">
299 <?php esc_html_e( 'First Name', 'tutor' ); ?>
300 </label>
301 <div class="tutor-mb-16">
302 <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/>
303 </div>
304 </div>
305 <div class="tutor-col">
306 <label class="tutor-form-label">
307 <?php esc_html_e( 'Last Name', 'tutor' ); ?>
308 </label>
309 <div class="tutor-mb-16">
310 <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/>
311 </div>
312 </div>
313 </div>
314 <div class="tutor-row">
315 <div class="tutor-col">
316 <label class="tutor-form-label">
317 <?php esc_html_e( 'Username', 'tutor' ); ?>
318 </label>
319 <div class="tutor-mb-16">
320 <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/>
321 </div>
322 </div>
323 <div class="tutor-col">
324 <label class="tutor-form-label">
325 <?php esc_html_e( 'Phone Number', 'tutor' ); ?>
326 <span class="tutor-fs-7 tutor-fw-medium tutor-color-muted">
327 <?php esc_html_e( '(Optional)', 'tutor' ); ?>
328 </span>
329 </label>
330 <div class="tutor-mb-16">
331 <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' ); ?>"/>
332 </div>
333 </div>
334 </div>
335
336 <div class="tutor-row">
337 <div class="tutor-col">
338 <label class="tutor-form-label">
339 <?php esc_html_e( 'Email Address', 'tutor' ); ?>
340 </label>
341 <div class="tutor-mb-16">
342 <input type="email" name="email" class="tutor-form-control tutor-mb-12" autocomplete="off" placeholder="<?php esc_attr_e( 'Enter Your Email', 'tutor' ); ?>" required/>
343 </div>
344 </div>
345 </div>
346
347 <div class="tutor-row">
348 <div class="tutor-col">
349 <label class="tutor-form-label">
350 <?php esc_html_e( 'Password', 'tutor' ); ?>
351 </label>
352 <div class="tutor-form-wrap tutor-mb-16">
353 <span class="tutor-icon-eye-line tutor-form-icon tutor-form-icon-reverse tutor-password-reveal" aria-hidden="true"></span>
354 <input type="password" name="password" id="tutor-instructor-pass" class="tutor-form-control" minlength="8" placeholder="*******" autocomplete="new-password" required/>
355 </div>
356 </div>
357 <div class="tutor-col">
358 <label class="tutor-form-label">
359 <?php esc_html_e( 'Retype Password', 'tutor' ); ?>
360 </label>
361 <div class="tutor-form-wrap tutor-mb-16">
362 <span class="tutor-icon-eye-line tutor-form-icon tutor-form-icon-reverse tutor-password-reveal" aria-hidden="true"></span>
363 <input type="password" name="password_confirmation" class="tutor-form-control" 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/>
364 </div>
365 </div>
366 </div>
367
368 <?php do_action( 'tutor_add_new_instructor_form_fields_after' ); ?>
369
370 <div class="tutor-row">
371 <div class="tutor-col">
372 <label class="tutor-form-label">
373 <?php esc_html_e( 'Bio', 'tutor' ); ?>
374 <span class="tutor-fs-7 tutor-fw-medium tutor-color-muted">
375 <?php esc_html_e( '(Optional)', 'tutor' ); ?>
376 </span>
377 </label>
378 <div class="tutor-mb-16">
379 <?php wp_editor( '', 'tutor_profile_bio', tutor_utils()->get_profile_bio_editor_config( 'tutor_profile_bio' ) ); ?>
380 </div>
381 </div>
382 </div>
383 <div class="tutor-row" id="tutor-new-instructor-form-response"></div>
384 </div>
385
386 <div class="tutor-modal-footer">
387 <button class="tutor-btn tutor-btn-outline-primary" data-tutor-modal-close>
388 <?php esc_html_e( 'Cancel', 'tutor' ); ?>
389 </button>
390
391 <button type="submit" class="tutor-btn tutor-btn-primary" name="tutor_register_instructor_btn" data-tutor-modal-submit>
392 <?php esc_html_e( 'Add Instructor', 'tutor' ); ?>
393 </button>
394 </div>
395 </form>
396 </div>
397 </div>
398 <?php
399 /**
400 * Instructor Approve, Reject popup
401 * that will be shown based on get params
402 *
403 * @since v2.0.0
404 */
405 $instructor_id = Input::get( 'instructor', '' );
406 $prompt_action = Input::get( 'action', '' );
407 $instructor_data = get_userdata( $instructor_id );
408
409 if ( $instructor_data && ( 'approved' === $prompt_action || 'blocked' === $prompt_action ) ) :
410 ?>
411 <?php $instructor_status = tutor_utils()->instructor_status( $instructor_data->ID, false ); ?>
412 <div id="tutor-ins-approval-1" class="tutor-modal tutor-modal-ins-approval tutor-is-active" role="dialog" aria-modal="true" aria-labelledby="tutor-ins-approval-title" aria-hidden="false">
413 <div class="tutor-modal-overlay"></div>
414 <div class="tutor-modal-window tutor-modal-window-sm">
415 <div class="tutor-modal-content tutor-modal-content-white">
416 <button type="button" class="tutor-iconic-btn tutor-modal-close-o" data-tutor-modal-close aria-label="<?php esc_attr_e( 'Close', 'tutor' ); ?>">
417 <span class="tutor-icon-times" aria-hidden="true"></span>
418 </button>
419 <div class="tutor-modal-body tutor-text-center">
420 <div class="tutor-py-lg-64">
421 <?php if ( $instructor_data ) : ?>
422 <div id="tutor-ins-approval-title" class="tutor-fs-4 tutor-fw-medium tutor-color-black tutor-mb-8">
423 <?php esc_html_e( 'A New Instructor Just Signed Up', 'tutor' ); ?>
424 </div>
425 <div class="tutor-fs-6 tutor-color-muted">
426 <?php esc_html_e( 'You can either accept or reject the application. The applicant will be notified via email either way.', 'tutor' ); ?>
427 </div>
428
429 <div class="tutor-modal-ins-meta tutor-mt-44">
430 <div class="tutor-d-inline-block tutor-avatar tutor-mb-20">
431 <?php echo get_avatar( $instructor_data->ID ); ?>
432 </div>
433
434 <div class="tutor-fs-4 tutor-fw-medium tutor-color-black tutor-mb-12">
435 <?php
436 echo esc_html(
437 ( '' !== $instructor_data->display_name ?
438 $instructor_data->display_name : ( '' !== $instructor_data->user_nicename ?
439 $instructor_data->user_nicename : '' ) )
440 );
441 ?>
442 </div>
443
444 <div class="tutor-fs-6 tutor-color-secondary tutor-mb-8">
445 <?php esc_html_e( 'Username:', 'tutor' ); ?>
446 <span class="tutor-color-black">
447 <?php echo esc_html( $instructor_data->user_login ); ?>
448 </span>
449 </div>
450
451 <div class="tutor-fs-6 tutor-color-secondary">
452 <?php esc_html_e( 'Email:', 'tutor' ); ?>
453 <span class="tutor-color-black">
454 <?php echo esc_html( $instructor_data->user_email ); ?>
455 </span>
456 </div>
457 </div>
458
459 <div class="tutor-mt-48 tutor-mb-24">
460 <?php if ( 'approved' === $prompt_action || 'blocked' === $prompt_action ) : ?>
461 <?php if ( 'pending' === $instructor_status ) : ?>
462 <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 ); ?>">
463 <?php esc_html_e( 'Approve the Instructor', 'tutor' ); ?>
464 </a>
465 <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 ); ?>">
466 <?php esc_html_e( 'Reject the Application', 'tutor' ); ?>
467 </a>
468 <?php elseif ( 'approved' === $instructor_status ) : ?>
469 <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 ); ?>">
470 <?php esc_html_e( 'Reject the Application', 'tutor' ); ?>
471 </a>
472 <?php elseif ( 'blocked' === $instructor_status ) : ?>
473 <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 ); ?>">
474 <?php esc_html_e( 'Approve the Instructor', 'tutor' ); ?>
475 </a>
476 <?php endif; ?>
477 <?php else : ?>
478 <div class="tutor-alert tutor-danger tutor-justify-center">
479 <div class="tutor-alert-text">
480 <span class="tutor-alert-icon tutor-fs-4 tutor-icon-circle-times-line tutor-mr-12"></span>
481 <span>
482 <?php esc_html_e( 'Attempted invalid action', 'tutor' ); ?>
483 </span>
484 </div>
485 </div>
486 <?php endif; ?>
487 </div>
488 <?php else : ?>
489 <div class="tutor-alert tutor-danger tutor-justify-center">
490 <div class="tutor-alert-text">
491 <span class="tutor-alert-icon tutor-fs-4 tutor-icon-circle-times-line tutor-mr-12"></span>
492 <span>
493 <?php esc_html_e( 'Invalid instructor', 'tutor' ); ?>
494 </span>
495 </div>
496 </div>
497 <?php endif; ?>
498 </div>
499 </div>
500 </div>
501 </div>
502 </div>
503 <?php endif; ?>
504
505 <?php do_action( 'tutor_render_consent_logs_modal' ); ?>
506
507 <style>
508 .table-instructors .woocommerce-Price-amount{
509 font-size: 0.875rem;
510 }
511 </style>
512
513