Diff: STRATO-apps/wordpress_03/app/wp-content/plugins/tutor/templates/dashboard/assignments/submitted.php

Keine Baseline-Datei – Diff nur gegen leer.
Zur Liste
1 -
1 + <?php
2 + /**
3 + * Assignment Submitted Page
4 + *
5 + * @package Tutor\Templates
6 + * @subpackage Dashboard\Assignments
7 + * @author Themeum <support@themeum.com>
8 + * @link https://themeum.com
9 + * @version 1.4.3
10 + */
11 +
12 + if ( ! defined( 'TUTOR_PRO_VERSION' ) ) {
13 + return;
14 + }
15 +
16 + use Tutor\Helpers\DateTimeHelper;
17 + use TUTOR\Input;
18 + use TUTOR_ASSIGNMENTS\Assignments_List;
19 +
20 + $order_filter = Input::get( 'order', 'desc' );
21 + $assignment_id = Input::get( 'assignment', 0, Input::TYPE_INT );
22 + $format = get_option( 'date_format' ) . ' ' . get_option( 'time_format' );
23 + $course_id = tutor_utils()->get_course_id_by( 'assignment', $assignment_id );
24 + $assignment_info = tutor_utils()->get_assignment_option( $assignment_id );
25 +
26 + if ( ! $assignment_info || ! tutor_utils()->can_user_edit_course( get_current_user_id(), $course_id ) ) {
27 + tutor_utils()->tutor_empty_state();
28 + return;
29 + }
30 +
31 + $submission_time = $assignment_info['time_duration']['value'] > 1 ? $assignment_info['time_duration']['time'] : str_replace( 's', '', $assignment_info['time_duration']['time'] );
32 + $submission_period = ! $assignment_info['time_duration']['value'] ? __( 'No Limit', 'tutor' ) : $assignment_info['time_duration']['value'] . ' ' . $submission_time;
33 + $assignments_submitted = Assignments_List::get_submitted_assignments( $assignment_id, $order_filter );
34 +
35 + $max_mark = tutor_utils()->get_assignment_option( $assignment_id, 'total_mark' );
36 + $pass_mark = tutor_utils()->get_assignment_option( $assignment_id, 'pass_mark' );
37 + $comment_parent = ! empty( $assignments_submitted ) ? $assignments_submitted[0]->comment_parent : null;
38 + ?>
39 +
40 + <div class="tutor-dashboard-content-inner tutor-dashboard-assignment-submits">
41 + <div class="tutor-mb-24">
42 + <a class="tutor-btn tutor-btn-ghost" href="<?php echo esc_url( tutor_utils()->get_tutor_dashboard_page_permalink( 'assignments' ) ); ?>">
43 + <span class="tutor-icon-previous tutor-mr-8" area-hidden="true"></span>
44 + <?php esc_html_e( 'Back', 'tutor' ); ?>
45 + </a>
46 + </div>
47 +
48 + <div class="tutor-assignment-review-header tutor-assignment-submitted-page">
49 + <div class="tutor-fs-7 tutor-color-secondary">
50 + <?php esc_html_e( 'Course', 'tutor' ); ?> : <?php echo esc_html( get_the_title( $comment_parent ) ); ?>
51 + </div>
52 + <div class="tutor-fs-6 tutor-fw-medium tutor-mt-8">
53 + <?php echo esc_html( get_the_title( $assignment_id ) ); ?>
54 + </div>
55 + <div class="assignment-info tutor-mt-12 tutor-d-flex">
56 + <div class="tutor-fs-7 tutor-color-secondary">
57 + <?php esc_html_e( 'Assignment Submission Period', 'tutor' ); ?>:
58 + <span class="tutor-fs-7 tutor-fw-medium"><?php echo esc_html( $submission_period ); ?></span>
59 + </div>
60 + <div class="tutor-fs-7 tutor-color-secondary tutor-ml-24">
61 + <?php esc_html_e( 'Total Points', 'tutor' ); ?>:
62 + <span class="tutor-fs-7 tutor-fw-medium"><?php echo esc_html( $max_mark ); ?></span>
63 + </div>
64 + <div class="tutor-fs-7 tutor-color-secondary tutor-ml-24">
65 + <?php esc_html_e( 'Pass Points', 'tutor' ); ?>:
66 + <span class="tutor-fs-7 tutor-fw-medium"><?php echo esc_html( $pass_mark ); ?></span>
67 + </div>
68 + </div>
69 + </div>
70 +
71 + <div class="tutor-dashboard-announcement-sorting-wrap submitted-assignments-sorting-wrap">
72 + <div class="tutor-dashboard-announcement-sorting-input">
73 + <label class="tutor-fs-7 tutor-color-secondary"><?php esc_html_e( 'Sort By:', 'tutor' ); ?></label>
74 + <select class="tutor-announcement-order-sorting tutor-form-control">
75 + <option value="desc" <?php selected( $order_filter, 'desc' ); ?>><?php esc_html_e( 'Latest', 'tutor' ); ?></option>
76 + <option value="asc" <?php selected( $order_filter, 'asc' ); ?>><?php esc_html_e( 'Oldest', 'tutor' ); ?></option>
77 + </select>
78 + </div>
79 + </div>
80 +
81 + <?php if ( tutor_utils()->count( $assignments_submitted ) ) : ?>
82 + <div class="tutor-table-responsive">
83 + <table class="tutor-table tutor-table-middle">
84 + <thead>
85 + <tr>
86 + <th width="30%">
87 + <?php esc_html_e( 'Student', 'tutor' ); ?>
88 + </th>
89 + <th width="20%">
90 + <?php esc_html_e( 'Submission Date', 'tutor' ); ?>
91 + </th>
92 + <th width="18%">
93 + <?php esc_html_e( 'Submission Deadline', 'tutor' ); ?>
94 + </th>
95 + <th>
96 + <?php esc_html_e( 'Total Points', 'tutor' ); ?>
97 + </th>
98 + <th>
99 + <?php esc_html_e( 'Result', 'tutor' ); ?>
100 + </th>
101 + <th></th>
102 + </tr>
103 + </thead>
104 + <tbody>
105 + <?php
106 + foreach ( $assignments_submitted as $assignment ) :
107 + $review_url = tutor_utils()->get_tutor_dashboard_page_permalink( 'assignments/review' );
108 + $comment_author = get_user_by( 'login', $assignment->comment_author ); // login=username.
109 + $is_reviewed_by_instructor = get_comment_meta( $assignment->comment_ID, 'evaluate_time', true );
110 + $given_mark = get_comment_meta( $assignment->comment_ID, 'assignment_mark', true );
111 + $not_evaluated = '' === $given_mark;
112 + $status = 'pending';
113 + $button_text = __( 'Evaluate', 'tutor' );
114 + $deadline_date = tutor_utils()->get_assignment_deadline_date_in_gmt( $assignment->comment_post_ID, null, $assignment->user_id, $assignment->comment_parent );
115 +
116 + if ( ! empty( $given_mark ) || ! $not_evaluated ) {
117 + $status = (int) $given_mark >= (int) $pass_mark ? 'pass' : 'fail';
118 + $button_text = __( 'Details', 'tutor' );
119 + }
120 + ?>
121 + <tr>
122 + <td>
123 + <div class="tutor-d-flex tutor-align-center tutor-gap-2">
124 + <?php echo wp_kses( tutor_utils()->get_tutor_avatar( $comment_author->ID ), tutor_utils()->allowed_avatar_tags() ); ?>
125 + <div>
126 + <?php echo esc_html( $comment_author->display_name ); ?><br/>
127 + <span class="tutor-fs-7 tutor-fw-normal tutor-color-muted">
128 + <?php echo esc_html( $comment_author->user_email ); ?>
129 + </span>
130 + </div>
131 + </div>
132 + </td>
133 + <td>
134 + <?php echo wp_kses_post( DateTimeHelper::get_gmt_to_user_timezone_date( $assignment->comment_date_gmt ) ); ?>
135 + </td>
136 + <td>
137 + <?php echo esc_html( is_null( $deadline_date ) ? __( 'No Limit', 'tutor' ) : DateTimeHelper::get_gmt_to_user_timezone_date( $deadline_date ) ); ?>
138 + </td>
139 + <td>
140 + <span class="tutor-color-black tutor-fs-7 tutor-fw-medium">
141 + <?php echo ! empty( $given_mark ) ? esc_html( $given_mark ) . '/' . esc_html( $max_mark ) : '&nbsp;'; ?>
142 + </span>
143 + </td>
144 + <td>
145 + <?php
146 + // $status contains HTML
147 + echo wp_kses(
148 + tutor_utils()->translate_dynamic_text( $status, true ),
149 + array(
150 + 'span' => array( 'class' => true ),
151 + )
152 + );
153 + ?>
154 + </td>
155 + <td>
156 + <a href="<?php echo esc_url( $review_url . '?view_assignment=' . $assignment->comment_ID ) . '&assignment=' . esc_attr( $assignment_id ); ?>" class="tutor-btn tutor-btn-outline-primary tutor-btn-sm">
157 + <?php echo esc_html( $button_text ); ?>
158 + </a>
159 + </td>
160 + </tr>
161 + <?php endforeach; ?>
162 + </tbody>
163 + </table>
164 + </div>
165 + <?php else : ?>
166 + <?php tutor_utils()->tutor_empty_state( 'No assignment', 'tutor' ); ?>
167 + <?php endif; ?>
168 + </div>
169 +