PluginProbe
LearnPress – WordPress LMS Plugin for Create and Sell Online Courses / 4.3.8
LearnPress – WordPress LMS Plugin for Create and Sell Online Courses v4.3.8
4.4.7 4.4.6 4.4.5 4.4.4 4.4.3 4.4.2 4.4.1 4.4.0 4.3.9.1 4.3.9 4.3.8 4.3.7 4.1.6.9 4.1.6.9.1 4.1.6.9.2 4.1.6.9.3 4.1.6.9.4 4.1.7 4.1.7.1 4.1.7.2 4.1.7.3 4.1.7.3.1 4.1.7.3.2 4.2.0 4.2.1 All 138 releases
learnpress / templates / profile / tabs / quizzes.php

quizzes.php in LearnPress – WordPress LMS Plugin for Create and Sell Online Courses 4.3.8, at templates/profile/tabs/quizzes.php

123 lines 3.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Template for displaying quizzes tab in user profile page.
4 *
5 * @author ThimPress
6 * @package Learnpress/Templates
7 * @version 4.0.2
8 */
9
10 use LearnPress\Helpers\Template;
11
12 defined( 'ABSPATH' ) || exit();
13
14 if ( ! LP_Profile::instance()->current_user_can( 'view-tab-quizzes' ) ) {
15 return;
16 }
17
18 global $wp;
19
20 $profile = learn_press_get_profile();
21 $user_profile = learn_press_get_user( $profile->get_user_data( 'id' ) );
22
23 $filter = new LP_User_Items_Filter();
24 $filter->user_id = $user_profile->get_id();
25 $filter->limit = apply_filters( 'learnpress/user/quizzes/limit', 5 );
26 $filter->status = LP_Request::get_param( 'filter-status' );
27 $filter->graduation = LP_Request::get_param( 'filter-graduation' );
28 $query = $user_profile->get_user_quizzes( $filter );
29 $current_filter = 'all';
30
31 if ( ! empty( $filter->status ) ) {
32 $current_filter = $filter->status;
33 } elseif ( ! empty( $filter->graduation ) ) {
34 $current_filter = $filter->graduation;
35 }
36
37 $filters = $profile->get_quizzes_filters( $current_filter );
38 ?>
39
40 <div class="learn-press-subtab-content">
41 <?php if ( $filters ) : ?>
42 <div class="learn-press-tabs">
43 <ul class="learn-press-filters">
44 <?php foreach ( $filters as $class => $link ) : ?>
45 <li class="<?php echo esc_attr( $class ); ?><?php echo esc_attr( $class === $current_filter ? ' active' : '' ); ?>">
46 <?php echo wp_kses_post( $link ); ?>
47 </li>
48 <?php endforeach; ?>
49 </ul>
50 </div>
51 <?php endif; ?>
52 <?php if ( $query->get_items() ) : ?>
53 <table class="lp-list-table profile-list-quizzes profile-list-table">
54 <thead>
55 <tr>
56 <th class="column-quiz"><?php esc_html_e( 'Quiz', 'learnpress' ); ?></th>
57 <th class="column-status"><?php esc_html_e( 'Result', 'learnpress' ); ?></th>
58 <th class="column-time-interval"><?php esc_html_e( 'Time spent', 'learnpress' ); ?></th>
59 <th class="column-date"><?php esc_html_e( 'Date', 'learnpress' ); ?></th>
60 </tr>
61 </thead>
62
63 <tbody>
64 <?php
65 /**
66 * @var LP_User_Item_Quiz $user_quiz
67 */
68 foreach ( $query->get_items() as $user_quiz ) :
69 $result_quiz = $user_quiz->get_result();
70 $quiz = learn_press_get_quiz( $user_quiz->get_id() );
71 $courses = learn_press_get_item_courses( array( $user_quiz->get_id() ) );
72 ?>
73
74 <tr>
75 <td class="column-quiz column-quiz-<?php echo esc_attr( $user_quiz->get_id() ); ?>">
76 <?php
77 if ( $courses ) {
78 foreach ( $courses as $course ) {
79 $course = LP_Course::get_course( $course->ID );
80 ?>
81 <a href="<?php echo esc_url_raw( $course->get_item_link( $user_quiz->get_id() ) ); ?>">
82 <?php echo esc_html( $quiz->get_title( 'display' ) ); ?>
83 </a>
84 <?php
85 }
86 }
87 ?>
88 </td>
89
90 <td class="column-status">
91 <span class="result-percent"><?php echo wp_kses_post( $user_quiz->get_percent_result() ); ?></span>
92 <span class="lp-label label-<?php echo esc_attr( $user_quiz->get_status() ); ?>">
93 <?php echo wp_kses_post( wp_sprintf( '%s', esc_attr( $user_quiz->get_status_label() ) ) ); ?>
94 </span>
95 </td>
96 <td class="column-time-interval">
97 <?php echo wp_kses_post( $user_quiz->get_time_interval( 'display' ) ); ?>
98 </td>
99 <td class="column-date">
100 <?php echo wp_kses_post( $user_quiz->get_start_time( 'i18n' ) ); ?>
101 </td>
102 </tr>
103
104 <?php endforeach; ?>
105 </tbody>
106
107 <tfoot>
108 <tr class="list-table-nav">
109 <td colspan="2" class="nav-text">
110 <?php echo wp_kses_post( $query->get_offset_text() ); ?>
111 </td>
112 <td colspan="2" class="nav-pages">
113 <?php $query->get_nav_numbers(); ?>
114 </td>
115 </tr>
116 </tfoot>
117 </table>
118
119 <?php else : ?>
120 <?php Template::print_message( esc_html__( 'No quizzes!', 'learnpress' ), 'info' ); ?>
121 <?php endif; ?>
122 </div>
123