Diff: STRATO-apps/wordpress_03/app/wp-content/plugins/tutor/views/pages/announcements.php
Keine Baseline-Datei – Diff nur gegen leer.
1
-
1
+
<?php
2
+
/**
3
+
* Announcement page
4
+
*
5
+
* Configure query with get params
6
+
*
7
+
* @package Tutor\Views
8
+
* @author Themeum <support@themeum.com>
9
+
* @link https://themeum.com
10
+
* @since 2.0.0
11
+
*/
12
+
13
+
if ( ! defined( 'ABSPATH' ) ) {
14
+
exit;
15
+
}
16
+
17
+
use TUTOR\Input;
18
+
use Tutor\Models\CourseModel;
19
+
20
+
$announcement_obj = tutor_lms()->announcements;
21
+
22
+
$limit = tutor_utils()->get_option( 'pagination_per_page' );
23
+
$page_filter = Input::get( 'paged', 1, Input::TYPE_INT );
24
+
$order_filter = Input::get( 'order', 'DESC' );
25
+
$search_filter = Input::get( 'search', '' );
26
+
$course_id = Input::get( 'course-id', 0, Input::TYPE_INT );
27
+
$date_filter = Input::get( 'date', '' );
28
+
29
+
$year = date( 'Y', strtotime( $date_filter ) );
30
+
$month = date( 'm', strtotime( $date_filter ) );
31
+
$day = date( 'd', strtotime( $date_filter ) );
32
+
33
+
$args = array(
34
+
'post_type' => 'tutor_announcements',
35
+
'post_status' => 'publish',
36
+
's' => $search_filter,
37
+
'posts_per_page' => sanitize_text_field( $limit ),
38
+
'paged' => sanitize_text_field( $page_filter ),
39
+
'orderBy' => 'ID',
40
+
'order' => sanitize_text_field( $order_filter ),
41
+
42
+
);
43
+
44
+
if ( $course_id ) {
45
+
$args['post_parent'] = $course_id;
46
+
}
47
+
48
+
if ( ! empty( $date_filter ) ) {
49
+
$args['date_query'] = array(
50
+
array(
51
+
'year' => $year,
52
+
'month' => $month,
53
+
'day' => $day,
54
+
),
55
+
);
56
+
}
57
+
58
+
if ( ! current_user_can( 'administrator' ) ) {
59
+
$args['author'] = get_current_user_id();
60
+
}
61
+
62
+
$the_query = new WP_Query( $args );
63
+
64
+
/**
65
+
* Navbar data to make nav menu
66
+
*/
67
+
$navbar_data = array(
68
+
'page_title' => $announcement_obj->page_title,
69
+
);
70
+
71
+
/**
72
+
* Filters for sorting searching
73
+
*/
74
+
$filters = array(
75
+
'bulk_action' => $announcement_obj->bulk_action,
76
+
'bulk_actions' => $announcement_obj->prepare_bulk_actions(),
77
+
'ajax_action' => 'tutor_announcement_bulk_action',
78
+
'filters' => array(
79
+
array(
80
+
'label' => __( 'Courses', 'tutor' ),
81
+
'field_type' => 'select',
82
+
'field_name' => 'course-id',
83
+
'options' => CourseModel::get_course_dropdown_options(),
84
+
'searchable' => true,
85
+
'value' => Input::get( 'course-id', '' ),
86
+
),
87
+
array(
88
+
'label' => __( 'Date', 'tutor' ),
89
+
'field_type' => 'date',
90
+
'field_name' => 'date',
91
+
'show_label' => true,
92
+
'value' => Input::get( 'date', '' ),
93
+
),
94
+
),
95
+
);
96
+
?>
97
+
98
+
<div class="tutor-admin-wrap">
99
+
<?php
100
+
/**
101
+
* Load Templates with data.
102
+
*/
103
+
$filters_template = tutor()->path . 'views/elements/list-filters.php';
104
+
$navbar_template = tutor()->path . 'views/elements/list-navbar.php';
105
+
tutor_load_template_from_custom_path( $navbar_template, $navbar_data );
106
+
?>
107
+
108
+
<div class="tutor-admin-container tutor-admin-container-lg tutor-mb-24">
109
+
<div class="tutor-card tutor-p-24">
110
+
<div class="tutor-row tutor-align-lg-center">
111
+
<div class="tutor-col-lg-auto tutor-mb-16 tutor-mb-lg-0">
112
+
<div class="tutor-round-box">
113
+
<i class="tutor-icon-bullhorn tutor-fs-3" area-hidden="true"></i>
114
+
</div>
115
+
</div>
116
+
117
+
<div class="tutor-col tutor-mb-16 tutor-mb-lg-0">
118
+
<div class="tutor-fs-6 tutor-color-muted tutor-mb-4">
119
+
<?php esc_html_e( 'Create Announcement', 'tutor' ); ?>
120
+
</div>
121
+
<div class="tutor-fs-5 tutor-color-black">
122
+
<?php esc_html_e( 'Notify all students of your course', 'tutor' ); ?>
123
+
</div>
124
+
</div>
125
+
126
+
<div class="tutor-col-lg-auto">
127
+
<button type="button" class="tutor-btn tutor-btn-primary tutor-btn-lg" data-tutor-modal-target="tutor_announcement_new">
128
+
<?php esc_html_e( 'Add New Announcement', 'tutor' ); ?>
129
+
</button>
130
+
</div>
131
+
</div>
132
+
</div>
133
+
</div>
134
+
135
+
<?php
136
+
tutor_load_template_from_custom_path( $filters_template, $filters );
137
+
?>
138
+
139
+
<div class="tutor-admin-container tutor-admin-container-lg">
140
+
<div class="tutor-admin-announcements-list tutor-mt-16">
141
+
<?php
142
+
$announcements = $the_query->have_posts() ? $the_query->posts : array();
143
+
$announcement_template = tutor()->path . '/views/fragments/announcement-list.php';
144
+
tutor_load_template_from_custom_path(
145
+
$announcement_template,
146
+
array(
147
+
'announcements' => is_array( $announcements ) ? $announcements : array(),
148
+
'the_query' => $the_query,
149
+
'paged' => $page_filter,
150
+
)
151
+
);
152
+
?>
153
+
</div>
154
+
</div>
155
+
</div>
156
+