Diff: STRATO-apps/wordpress_03/app/wp-content/plugins/tutor/views/pages/quiz_attempts.php
Keine Baseline-Datei – Diff nur gegen leer.
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
+