Diff: STRATO-apps/wordpress_03/app/wp-content/plugins/tutor/views/pages/quiz_attempts.php

Keine Baseline-Datei – Diff nur gegen leer.
Zur Liste
1 -
1 + <?php
2 + /**
3 + * Quiz Attempts List Template.
4 + *
5 + * @package Tutor\Views
6 + * @subpackage Tutor\QuizAttempts
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\Models\CourseModel;
18 + use Tutor\Models\QuizModel;
19 +
20 + if ( is_numeric( Input::get( 'view_quiz_attempt_id' ) ) ) {
21 + include tutor()->path . 'views/pages/view_attempt.php';
22 + return;
23 + }
24 +
25 + $quiz_attempts = tutor_lms()->q_attempt;
26 +
27 + //phpcs:disable WordPress.WP.GlobalVariablesOverride.Prohibited
28 + $user_id = Input::get( 'user_id', '' );
29 + $course_id = Input::get( 'course-id', '' );
30 + $order = Input::get( 'order', 'DESC' );
31 + $date = Input::has( 'date' ) ? tutor_get_formated_date( 'Y-m-d', Input::get( 'date' ) ) : '';
32 + $search = Input::get( 'search', '' );
33 +
34 + /**
35 + * Determine active tab
36 + */
37 + $active_tab = Input::get( 'data', 'all' );
38 +
39 + /**
40 + * Pagination data
41 + */
42 + $paged = Input::get( 'paged', 1, Input::TYPE_INT );
43 + $per_page = tutor_utils()->get_option( 'pagination_per_page' );
44 + $offset = ( $per_page * $paged ) - $per_page;
45 +
46 + $quiz_attempts_list = QuizModel::get_quiz_attempts( $offset, $per_page, $search, $course_id, $date, $order, $active_tab, false, true );
47 + $total = QuizModel::get_quiz_attempts( $offset, $per_page, $search, $course_id, $date, $order, $active_tab, true, true );
48 + //phpcs:enable
49 +
50 +
51 + /**
52 + * Navbar data to make nav menu
53 + */
54 + $navbar_data = array(
55 + 'page_title' => $quiz_attempts->page_title,
56 + );
57 +
58 + $filters = array(
59 + 'bulk_action' => $quiz_attempts->bulk_action,
60 + 'bulk_actions' => $quiz_attempts->prepare_bulk_actions(),
61 + 'ajax_action' => 'tutor_quiz_attempts_bulk_action',
62 + 'filters' => array(
63 + array(
64 + 'label' => __( 'Courses', 'tutor' ),
65 + 'field_type' => 'select',
66 + 'field_name' => 'course-id',
67 + 'options' => CourseModel::get_course_dropdown_options(),
68 + 'searchable' => true,
69 + 'value' => Input::get( 'course-id', '' ),
70 + ),
71 + array(
72 + 'label' => __( 'Status', 'tutor' ),
73 + 'field_type' => 'select',
74 + 'field_name' => 'data',
75 + 'options' => $quiz_attempts->tabs_key_value( $user_id, $date, $search, $course_id ),
76 + 'searchable' => false,
77 + 'value' => Input::get( 'data', '' ),
78 + ),
79 + array(
80 + 'label' => __( 'Date', 'tutor' ),
81 + 'field_type' => 'date',
82 + 'field_name' => 'date',
83 + 'show_label' => true,
84 + 'value' => Input::get( 'date', '' ),
85 + ),
86 + ),
87 + );
88 +
89 + ?>
90 +
91 + <div class="tutor-admin-wrap">
92 + <?php
93 + /**
94 + * Load Templates with data.
95 + */
96 + $navbar_template = tutor()->path . 'views/elements/list-navbar.php';
97 + $filters_template = tutor()->path . 'views/elements/list-filters.php';
98 + tutor_load_template_from_custom_path( $navbar_template, $navbar_data );
99 + tutor_load_template_from_custom_path( $filters_template, $filters );
100 + ?>
101 +
102 + <div class="tutor-admin-container tutor-admin-container-lg tutor-mt-16">
103 + <?php
104 + tutor_load_template_from_custom_path(
105 + tutor()->path . '/views/quiz/attempt-table.php',
106 + array(
107 + 'attempt_list' => $quiz_attempts_list,
108 + 'context' => 'backend-dashboard-students-attempts',
109 + )
110 + );
111 + ?>
112 +
113 + <div class="tutor-admin-page-pagination-wrapper tutor-mt-32">
114 + <?php
115 + /**
116 + * Prepare pagination data & load template
117 + */
118 + if ( $total > $per_page ) {
119 + $pagination_data = array(
120 + 'total_items' => $total,
121 + 'per_page' => $per_page,
122 + 'paged' => $paged,
123 + );
124 + $pagination_template = tutor()->path . 'views/elements/pagination.php';
125 + tutor_load_template_from_custom_path( $pagination_template, $pagination_data );
126 + }
127 + ?>
128 + </div>
129 + </div>
130 + </div>
131 +