Diff: STRATO-apps/wordpress_03/app/wp-content/plugins/tutor-pro/addons/gradebook/views/pages/overview.php
Keine Baseline-Datei – Diff nur gegen leer.
1
-
1
+
<?php
2
+
/**
3
+
* Gradebook List Template.
4
+
*
5
+
* @package Gradebook List
6
+
*/
7
+
8
+
if ( ! defined( 'ABSPATH' ) ) {
9
+
exit;
10
+
}
11
+
12
+
use TUTOR\Input;
13
+
use Tutor\Models\CourseModel;
14
+
use TUTOR_GB\GradeBook;
15
+
$gradebook = new GradeBook();
16
+
17
+
18
+
/**
19
+
* Short able params
20
+
*/
21
+
$user_id = Input::get( 'user_id', '' );
22
+
$course_id = Input::get( 'course-id', '' );
23
+
$order = Input::get( 'order', 'DESC' );
24
+
$date = Input::has( 'date' ) ? tutor_get_formated_date( 'Y-m-d', Input::get( 'date' ) ) : '';
25
+
$search = Input::get( 'search', '' );
26
+
27
+
/**
28
+
* Determine active tab
29
+
*/
30
+
$active_tab = Input::get( 'data', 'overview' );
31
+
32
+
/**
33
+
* Navbar data to make nav menu
34
+
*/
35
+
$url = get_pagenum_link();
36
+
$add_gradebook_url = $url . '&sub_page=add_new_gradebook';
37
+
$add_gradebook_settings_url = $url . '&sub_page=gradebooks';
38
+
39
+
$filters = array(
40
+
'bulk_action' => false,
41
+
'filters' => array(
42
+
array(
43
+
'label' => __( 'Courses', 'tutor-pro' ),
44
+
'field_type' => 'select',
45
+
'field_name' => 'course-id',
46
+
'options' => CourseModel::get_course_dropdown_options(),
47
+
'searchable' => true,
48
+
'value' => Input::get( 'course-id', '' ),
49
+
),
50
+
array(
51
+
'label' => __( 'Date', 'tutor-pro' ),
52
+
'field_type' => 'date',
53
+
'field_name' => 'date',
54
+
'show_label' => true,
55
+
'value' => Input::get( 'date', '' ),
56
+
),
57
+
),
58
+
);
59
+
60
+
$per_page = get_tutor_option( 'pagination_per_page', 10 );
61
+
$current_page = Input::get( 'paged', 1 );
62
+
$start = max( 0, ( $current_page - 1 ) * $per_page );
63
+
64
+
65
+
$course_id = Input::get( 'course-id', 0, Input::TYPE_INT );
66
+
$gradebooks = get_generated_gradebooks(
67
+
array(
68
+
'course_id' => $course_id,
69
+
'start' => $start,
70
+
'limit' => $per_page,
71
+
)
72
+
);
73
+
74
+
$navbar_data = array(
75
+
'page_title' => $gradebook->page_title,
76
+
'tabs' => $gradebook->tabs_key_value( $course_id ),
77
+
'active' => $active_tab,
78
+
);
79
+
?>
80
+
81
+
<div class="tutor-admin-wrap">
82
+
<?php
83
+
/**
84
+
* Load Templates with data.
85
+
*/
86
+
$navbar_template = tutor()->path . 'views/elements/navbar.php';
87
+
tutor_load_template_from_custom_path( $navbar_template, $navbar_data );
88
+
$filters_template = tutor()->path . 'views/elements/list-filters.php';
89
+
tutor_load_template_from_custom_path( $filters_template, $filters );
90
+
?>
91
+
<div class="tutor-admin-container tutor-admin-container-lg">
92
+
<div class="tutor-mt-16">
93
+
<?php if ( is_array( $gradebooks->res ) && count( $gradebooks->res ) ) : ?>
94
+
<div class="tutor-table-responsive tutor-dashboard-list-table">
95
+
<table class="tutor-table tutor-table-middle table-gradebook">
96
+
<thead>
97
+
<tr>
98
+
<th class="tutor-table-rows-sorting" width="10%">
99
+
<?php esc_html_e( 'Completed Date', 'tutor-pro' ); ?>
100
+
<span class="a-to-z-sort-icon tutor-icon-ordering-a-z"></span>
101
+
</th>
102
+
<th class="tutor-table-rows-sorting" width="35%">
103
+
<?php esc_html_e( 'Course', 'tutor-pro' ); ?>
104
+
<span class="a-to-z-sort-icon tutor-icon-ordering-a-z"></span>
105
+
</th>
106
+
<th class="tutor-table-rows-sorting" width="20%">
107
+
<?php esc_html_e( 'Name', 'tutor-pro' ); ?>
108
+
<span class="a-to-z-sort-icon tutor-icon-ordering-a-z"></span>
109
+
</th>
110
+
<th>
111
+
<?php esc_html_e( 'Quiz', 'tutor-pro' ); ?>
112
+
</th>
113
+
<th>
114
+
<?php esc_html_e( 'Assignments', 'tutor-pro' ); ?>
115
+
</th>
116
+
<th class="tutor-table-rows-sorting">
117
+
<?php esc_html_e( 'Final Grade', 'tutor-pro' ); ?>
118
+
<span class="tutor-icon-order-down up-down-icon"></span>
119
+
</th>
120
+
</tr>
121
+
</thead>
122
+
123
+
<tbody>
124
+
<?php
125
+
$course_ids = array_column( $gradebooks->res, 'course_id' );
126
+
$course_meta_data = tutor_utils()->get_course_meta_data( $course_ids );
127
+
$authors = array();
128
+
129
+
foreach ( $gradebooks->res as $gradebook ) :
130
+
$course_id_single = (int) $gradebook->course_id;
131
+
$quiz_grade = get_quiz_gradebook_by_course( $gradebook->course_id, $gradebook->user_id );
132
+
$assignment_grade = get_assignment_gradebook_by_course( $gradebook->course_id, $gradebook->user_id );
133
+
$total_quiz = isset( $course_meta_data[ $course_id_single ] ) ? $course_meta_data[ $course_id_single ]['tutor_quiz'] : 0;
134
+
$total_assignment = isset( $course_meta_data[ $course_id_single ] ) ? $course_meta_data[ $course_id_single ]['tutor_assignments'] : 0;
135
+
136
+
! isset( $authors[ $gradebook->user_id ] ) ? $authors[ $gradebook->user_id ] = get_userdata( $gradebook->user_id ) : 0;
137
+
$user_info = $authors[ $gradebook->user_id ];
138
+
?>
139
+
<tr>
140
+
<td>
141
+
<?php echo esc_html( tutor_get_formated_date( get_option( 'date_format' ), $gradebook->update_date ) ); ?>,
142
+
<div class="tutor-fs-7 tutor-color-muted tutor-mt-4"><?php echo esc_html( tutor_get_formated_date( get_option( 'time_format' ), $gradebook->update_date ) ); ?></div>
143
+
</td>
144
+
145
+
<td>
146
+
<div class="tutor-d-flex tutor-align-center tutor-gap-2">
147
+
<?php echo esc_html( $gradebook->course_title ); ?>
148
+
<a href="<?php echo esc_url( get_permalink( $gradebook->course_id ) ); ?>" class="tutor-iconic-btn" target="_blank">
149
+
<span class="tutor-icon-external-link"></span>
150
+
</a>
151
+
</div>
152
+
153
+
<div class="tutor-meta tutor-mt-8">
154
+
<div>
155
+
<?php esc_html_e( 'Quiz Complete: ', 'tutor-pro' ); ?>
156
+
<span class="tutor-meta-value"><?php echo esc_html( $gradebook->quiz_count . '/' . $total_quiz ); ?></span>
157
+
</div>
158
+
159
+
<div>
160
+
<?php esc_html_e( 'Assignment Complete: ', 'tutor-pro' ); ?>
161
+
<span class="tutor-meta-value"><?php echo esc_html( $gradebook->assignment_count . '/' . $total_assignment ); ?></span>
162
+
</div>
163
+
</div>
164
+
</td>
165
+
166
+
<td>
167
+
<div class="tutor-d-flex tutor-align-center tutor-gap-2">
168
+
<?php echo wp_kses( tutor_utils()->get_tutor_avatar( $gradebook->user_id ), tutor_utils()->allowed_avatar_tags() ); ?>
169
+
170
+
<div class="tutor-d-flex">
171
+
<div class="tutor-fs-6">
172
+
<?php echo esc_html( $gradebook->display_name ); ?>
173
+
<div class="tutor-fs-7 tutor-fw-normal tutor-color-muted tutor-mt-4">
174
+
<?php echo ( $user_info && is_object( $user_info ) ) ? esc_html( $user_info->user_email ) : ''; ?>
175
+
</div>
176
+
</div>
177
+
</div>
178
+
179
+
<a href="<?php echo esc_url( tutor_utils()->profile_url( $gradebook->user_id, false ) ); ?>" class="tutor-iconic-btn" target="_blank">
180
+
<span class="tutor-icon-external-link"></span>
181
+
</a>
182
+
</div>
183
+
</td>
184
+
185
+
<td>
186
+
<div class="tutor-d-flex tutor-align-center tutor-gap-2 tutor-fs-7">
187
+
<span><?php echo $quiz_grade ? wp_kses_post( tutor_generate_grade_html( $quiz_grade, 'outline' ) ?? '' ) : ''; ?></span>
188
+
<?php if ( $quiz_grade && isset( $quiz_grade->earned_grade_point, $quiz_grade->grade_point ) ) : ?>
189
+
<span>(<?php echo esc_html( number_format( $quiz_grade->earned_grade_point, 2 ) . '/' . number_format( $quiz_grade->grade_point, 2 ) ); ?>)</span>
190
+
<?php endif; ?>
191
+
</div>
192
+
</td>
193
+
194
+
<td>
195
+
<div class="tutor-d-flex tutor-align-center tutor-gap-2 tutor-fs-7">
196
+
<span>
197
+
<?php echo $assignment_grade ? wp_kses_post( tutor_generate_grade_html( $assignment_grade, 'outline' ) ?? '' ) : ''; ?>
198
+
</span>
199
+
<?php if ( $assignment_grade && isset( $assignment_grade->earned_grade_point, $assignment_grade->grade_point ) ) : ?>
200
+
<span>(<?php echo esc_html( number_format( $assignment_grade->earned_grade_point, 2 ) . '/' . number_format( $assignment_grade->grade_point, 2 ) ); ?>)</span>
201
+
<?php endif; ?>
202
+
</div>
203
+
</td>
204
+
205
+
<td>
206
+
<div class="tutor-d-flex tutor-align-center tutor-gap-2 tutor-fs-7">
207
+
<?php echo wp_kses_post( tutor_generate_grade_html( $gradebook ) ); ?>
208
+
<span>(<?php echo esc_html( number_format( $gradebook->earned_grade_point, 2 ) . '/' . number_format( $gradebook->grade_point, 2 ) ); ?>)</span>
209
+
</div>
210
+
</td>
211
+
</tr>
212
+
<?php endforeach; ?>
213
+
</tbody>
214
+
</table>
215
+
</div>
216
+
<?php else : ?>
217
+
<?php tutils()->render_list_empty_state(); ?>
218
+
<?php endif; ?>
219
+
</div>
220
+
221
+
<div class="tutor-admin-page-pagination-wrapper tutor-mt-32">
222
+
<?php
223
+
/**
224
+
* Prepare pagination data & load template
225
+
*/
226
+
$total = $gradebooks ? $gradebooks->count : 0;
227
+
if ( $total > $per_page ) {
228
+
$pagination_data = array(
229
+
'total_items' => $total,
230
+
'per_page' => $per_page,
231
+
'paged' => $current_page,
232
+
);
233
+
$pagination_template = tutor()->path . 'views/elements/pagination.php';
234
+
tutor_load_template_from_custom_path( $pagination_template, $pagination_data );
235
+
}
236
+
?>
237
+
</div>
238
+
</div>
239
+
</div>
240
+