PluginProbe
Tutor LMS – eLearning and online course solution / 2.1.3
Tutor LMS – eLearning and online course solution v2.1.3
4.0.7 4.0.6 4.0.5 4.0.4 4.0.3 4.0.2 4.0.1 4.0.0 3.9.15 3.9.14 3.9.13 3.9.12 3.9.11 trunk 1.0.0 1.0.0-alpha 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 All 191 releases
tutor / templates / dashboard / announcements.php
announcements.php
128 lines 4.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 if ( ! defined( 'ABSPATH' ) ) {
3 exit;
4 }
5 /**
6 * Template for displaying Announcements
7 *
8 * @since v.1.7.9
9 *
10 * @author Themeum
11 * @url https://themeum.com
12 *
13 * @package TutorLMS/Templates
14 * @version 1.7.9
15 */
16 $per_page = tutor_utils()->get_option( 'pagination_per_page', 10 );
17 $paged = max( 1, tutor_utils()->avalue_dot( 'current_page', tutor_sanitize_data($_GET) ) );
18
19 $order_filter = isset( $_GET['order'] ) ? sanitize_text_field( $_GET['order'] ) : 'DESC';
20 $search_filter = isset( $_GET['search'] ) ? sanitize_text_field( $_GET['search'] ) : '';
21 // announcement's parent
22 $course_id = isset( $_GET['course-id'] ) ? sanitize_text_field( $_GET['course-id'] ) : '';
23 $date_filter = isset( $_GET['date'] ) ? sanitize_text_field( $_GET['date'] ) : '';
24
25 $year = date( 'Y', strtotime( $date_filter ) );
26 $month = date( 'm', strtotime( $date_filter ) );
27 $day = date( 'd', strtotime( $date_filter ) );
28
29 $args = array(
30 'post_type' => 'tutor_announcements',
31 'post_status' => 'publish',
32 's' => sanitize_text_field( $search_filter ),
33 'post_parent' => sanitize_text_field( $course_id ),
34 'posts_per_page' => sanitize_text_field( $per_page ),
35 'paged' => sanitize_text_field( $paged ),
36 'orderBy' => 'ID',
37 'order' => sanitize_text_field( $order_filter ),
38
39 );
40 if ( ! empty( $date_filter ) ) {
41 $args['date_query'] = array(
42 array(
43 'year' => $year,
44 'month' => $month,
45 'day' => $day,
46 ),
47 );
48 }
49 if ( ! current_user_can( 'administrator' ) ) {
50 $args['author'] = get_current_user_id();
51 }
52 $the_query = new WP_Query( $args );
53
54 // get courses
55 $courses = ( current_user_can( 'administrator' ) ) ? tutor_utils()->get_courses() : tutor_utils()->get_courses_by_instructor();
56 $image_base = tutor()->url . '/assets/images/';
57 ?>
58
59 <div class="tutor-card tutor-p-24">
60 <div class="tutor-row tutor-align-lg-center">
61 <div class="tutor-col-lg-auto tutor-mb-16 tutor-mb-lg-0">
62 <div class="tutor-round-box tutor-p-8">
63 <i class="tutor-icon-bullhorn tutor-fs-3" area-hidden="true"></i>
64 </div>
65 </div>
66
67 <div class="tutor-col tutor-mb-16 tutor-mb-lg-0">
68 <div class="tutor-fs-6 tutor-color-muted tutor-mb-4">
69 <?php esc_html_e( 'Create Announcement', 'tutor' ); ?>
70 </div>
71 <div class="tutor-fs-5 tutor-color-black">
72 <?php esc_html_e( 'Notify all students of your course', 'tutor' ); ?>
73 </div>
74 </div>
75
76 <div class="tutor-col-lg-auto">
77 <button type="button" class="tutor-btn tutor-btn-primary" data-tutor-modal-target="tutor_announcement_new">
78 <?php esc_html_e( 'Add New Announcement', 'tutor' ); ?>
79 </button>
80 </div>
81 </div>
82 </div>
83
84 <div class="tutor-row tutor-mb-32 tutor-mt-44" style="width: calc(100% + 30px);">
85 <div class="tutor-col-12 tutor-col-lg-6 tutor-mt-12 tutor-mt-lg-0">
86 <label class="tutor-d-block tutor-mb-12 tutor-form-label">
87 <?php esc_html_e( 'Courses', 'tutor' ); ?>
88 </label>
89 <select class="tutor-form-select tutor-announcement-course-sorting">
90 <option value=""><?php esc_html_e( 'All', 'tutor' ); ?></option>
91 <?php if ( $courses ) : ?>
92 <?php foreach ( $courses as $course ) : ?>
93 <option value="<?php echo esc_attr( $course->ID ); ?>" <?php selected( $course_id, $course->ID, 'selected' ); ?>>
94 <?php esc_html_e( $course->post_title ); ?>
95 </option>
96 <?php endforeach; ?>
97 <?php else : ?>
98 <option value=""><?php esc_html_e( 'No course found', 'tutor' ); ?></option>
99 <?php endif; ?>
100 </select>
101 </div>
102
103 <div class="tutor-col-6 tutor-col-lg-3 tutor-mt-12 tutor-mt-lg-0">
104 <label class="tutor-d-block tutor-mb-12 tutor-form-label"><?php esc_html_e( 'Sort By', 'tutor' ); ?></label>
105 <select class="tutor-form-select tutor-announcement-order-sorting tutor-form-control-sm" data-search="no">
106 <option <?php selected( $order_filter, 'ASC' ); ?>><?php esc_html_e( 'ASC', 'tutor' ); ?></option>
107 <option <?php selected( $order_filter, 'DESC' ); ?>><?php esc_html_e( 'DESC', 'tutor' ); ?></option>
108 </select>
109 </div>
110
111 <div class="tutor-col-6 tutor-col-lg-3 tutor-mt-12 tutor-mt-lg-0">
112 <label class="tutor-form-label tutor-d-block tutor-mb-12"><?php esc_html_e( 'Date', 'tutor' ); ?></label>
113 <div class="tutor-v2-date-picker"></div>
114 </div>
115 </div>
116
117 <?php
118 $announcements = $the_query->have_posts() ? $the_query->posts : array();
119 tutor_load_template_from_custom_path(
120 tutor()->path . '/views/fragments/announcement-list.php',
121 array(
122 'announcements' => is_array( $announcements ) ? $announcements : array(),
123 'the_query' => $the_query,
124 'paged' => $paged,
125 )
126 );
127 ?>
128