| @@ -1,122 +1,122 @@ | ||
| 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> | |
| 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> | |