PluginProbe
LearnPress – WordPress LMS Plugin for Create and Sell Online Courses / 4.3.9
LearnPress – WordPress LMS Plugin for Create and Sell Online Courses v4.3.9
4.4.8 4.4.7 4.4.6 4.4.5 4.4.4 4.4.3 4.4.2 4.4.1 4.4.0 4.3.9.1 4.3.9 4.3.8 4.3.7 4.1.6.9 4.1.6.9.1 4.1.6.9.2 4.1.6.9.3 4.1.6.9.4 4.1.7 4.1.7.1 4.1.7.2 4.1.7.3 4.1.7.3.1 4.1.7.3.2 4.2.0 All 139 releases
learnpress / inc / admin / views / meta-boxes / order / details.php

details.php in LearnPress – WordPress LMS Plugin for Create and Sell Online Courses 4.3.9, at inc/admin/views/meta-boxes/order/details.php

236 lines 8.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Admin view for displaying details of an order.
4 *
5 * @author ThimPress (Nhamdv)
6 * @package LearnPress/Admin/Views
7 * @version 4.0.4
8 */
9
10 if ( isset( $order_items ) ) {
11 $currency_symbol = learn_press_get_currency_symbol( $order_items->currency );
12 } else {
13 $currency_symbol = learn_press_get_currency_symbol();
14 }
15
16 if ( ! isset( $order ) || ! ( $order instanceof LP_Order ) ) {
17 return;
18 }
19
20 $post = $order->get_post();
21 $method_title = $order->get_payment_method_title();
22 $user_ip = $order->get_user_ip_address();
23 $user_ids = $order->get_user_id();
24 ?>
25
26 <div id="learn-press-order" class="order-details">
27 <div class="order-data">
28 <h3 class="order-data-number"><?php echo sprintf( __( 'Order %s', 'learnpress' ), $order->get_order_number() ); ?></h3>
29 <div class="order-data-field payment-method-title">
30 <?php
31 if ( $order->is_manual() ) {
32 printf( '<strong>%s</strong>', __( 'Created manually', 'learnpress' ) );
33 }
34 if ( $method_title && $user_ip ) {
35 printf( 'Pay via <strong>%s</strong> at <strong>%s</strong>', $method_title, $user_ip );
36 } elseif ( $method_title ) {
37 printf( 'Pay via <strong>%s</strong>', $method_title );
38 } elseif ( $user_ip ) {
39 printf( 'Customer IP <strong>%s</strong>', $user_ip );
40 }
41 ?>
42 </div>
43
44 <h3 class="order-data-heading"><?php esc_html_e( 'Order details', 'learnpress' ); ?></h3>
45
46 <div class="order-data-field order-data-date">
47 <label><?php esc_html_e( 'Date created:', 'learnpress' ); ?></label>
48
49 <?php learn_press_touch_time( true, 1 ); ?>
50
51 <input type="date" class="order-date" name="order-date"
52 value="<?php echo esc_attr( $order->get_order_date( 'd' ) ); ?>">
53 @
54 <input type="number" class="order-hour" name="order-hour" min="0" max="23"
55 value="<?php echo esc_attr( $order->get_order_date( 'h' ) ); ?>">
56 :
57 <input type="number" class="order-minute" name="order-minute" min="0" max="59"
58 value="<?php echo esc_attr( $order->get_order_date( 'm' ) ); ?>">
59
60 <!-- Hidden fields for date only for default save post of Wordpress -->
61 <input type="hidden" name="aa" value="<?php echo gmdate( 'Y', $order->get_order_date( 'timestamp' ) ); ?>">
62 <input type="hidden" name="mm" value="<?php echo gmdate( 'm', $order->get_order_date( 'timestamp' ) ); ?>">
63 <input type="hidden" name="jj" value="<?php echo gmdate( 'd', $order->get_order_date( 'timestamp' ) ); ?>">
64 <input type="hidden" name="ss" value="<?php echo gmdate( 's', $order->get_order_date( 'timestamp' ) ); ?>">
65 <input type="hidden" name="hh" value="<?php echo gmdate( 'h', $order->get_order_date( 'h' ) ); ?>">
66 <input type="hidden" name="mn" value="<?php echo gmdate( 'm', $order->get_order_date( 'm' ) ); ?>">
67 <!-- Hidden fields for date only for default save post of Wordpress -->
68 </div>
69
70 <div class="order-data-field order-data-status <?php echo sanitize_title( $order->get_post_status() ); ?>">
71 <label><?php esc_html_e( 'Status:', 'learnpress' ); ?></label>
72 <select name="order-status" data-status="<?php echo 'lp-' . $order->get_status(); ?>">
73 <?php
74 $statuses = LP_Order::get_order_statuses();
75 foreach ( $statuses as $status => $status_name ) {
76 ?>
77 <option data-desc="<?php echo esc_attr( _learn_press_get_order_status_description( $status ) ); ?>"
78 value="<?php echo esc_attr( $status ); ?>"
79 <?php echo selected( $status, 'lp-' . $order->get_status(), false ); ?>>
80 <?php echo esc_html( LP_Order::get_status_label( $status_name ) ); ?>
81 </option>;
82 <?php
83 }
84 ?>
85 </select>
86
87 <?php if ( $order->get_status() === 'completed' ) : ?>
88 <div>
89 <div
90 style="padding: 10px 18px; margin-top: 10px; border: 2px solid #d80000; border-radius: 4px; display: inline-block;">
91 <span class="dashicons dashicons-warning" style="color:#d80000"></span>
92 <?php esc_html_e( 'When the Status is changed to "Pending", "Cancelled", or "Failed" all courses, lessons, quizzes, and other progress are deleted!', 'learnpress' ); ?>
93 </div>
94 </div>
95 <?php endif; ?>
96 </div>
97
98 <div class="order-data-field order-data-user">
99 <div class="order-users">
100 <label><?php esc_html_e( 'Customers:', 'learnpress' ); ?></label>
101 <?php
102 if ( LP_ORDER_PENDING === $order->get_status() && $order->is_manual() ) {
103 $data_struct = [
104 'urlApi' => get_rest_url( null, 'lp/v1/admin/tools/search-user' ),
105 'dataType' => 'users',
106 'keyGetValue' => [
107 'value' => 'ID',
108 'text' => '{{display_name}}(#{{ID}}) - {{user_email}}',
109 'key_render' => [
110 'display_name' => 'display_name',
111 'user_email' => 'user_email',
112 'ID' => 'ID',
113 ],
114 ],
115 'setting' => [
116 'placeholder' => esc_html__( 'Choose User', 'learnpress' ),
117 ],
118 ];
119
120 $select_field = new LP_Meta_Box_Select_Field(
121 '',
122 '',
123 '',
124 array(
125 'options' => array(),
126 'style' => 'min-width:200px;',
127 'tom_select' => true,
128 'multiple' => true,
129 'custom_attributes' => [ 'data-struct' => htmlentities2( json_encode( $data_struct ) ) ],
130 'data-saved' => $user_ids,
131 )
132 );
133
134 $select_field->id = 'order-customer';
135
136 $select_field->output( $order->get_id() );
137 } else {
138 ?>
139 <div class="advanced-list">
140 <div class="ts-control">
141 <?php
142 $order_user_id = $order->get_user_id();
143 if ( ! $order->is_manual() && ! is_array( $order_user_id ) && $order->is_guest() ) {
144 printf(
145 '<li>
146 <div class="item">%s</div>
147 </li>',
148 sprintf( '%s (%s)', $order->get_checkout_email(), __( 'Guest', 'learnpress' ) )
149 );
150 } elseif ( $order->is_manual() && empty( $order->get_users() ) && $order->is_guest() ) {
151 printf(
152 '<li>
153 <div class="item">%s</div>
154 </li>',
155 __( 'No customer', 'learnpress' )
156 );
157 } else {
158 if ( ! is_array( $user_ids ) ) {
159 $user_ids = (array) $user_ids;
160 }
161
162 foreach ( $user_ids as $user_id ) {
163 $user = learn_press_get_user( $user_id );
164 if ( ! $user ) {
165 continue;
166 }
167 printf(
168 '<li>
169 <div class="item" data-ts-item="">%s</div>
170 </li>',
171 sprintf( '%s (#%d) - %s', $user->get_display_name(), $user->get_id(), $user->get_email() )
172 );
173 }
174 }
175 ?>
176 </div>
177 </div>
178 <?php
179 if ( $order->is_manual() ) {
180 printf(
181 '<p class="description">%s</p>',
182 esc_html__( 'In order to change the order user, please change the order status to "Pending".', 'learnpress' )
183 );
184 }
185 }
186 ?>
187 </div>
188 </div>
189
190 <div class="order-data-field order-data-key">
191 <label><?php esc_html_e( 'Order key:', 'learnpress' ); ?></label>
192 <?php echo esc_html( $order->get_order_key() ); ?>
193 </div>
194
195 <?php do_action( 'lp/admin/order/detail/after-order-key', $order ); ?>
196
197 <div class="order-data-field order-data-note">
198 <?php $note = $post->post_excerpt; ?>
199 <?php if ( ! empty( $note ) ) : ?>
200 <label><?php esc_html_e( 'Customer Note', 'learnpress' ); ?></label>
201 <p class="order-note description"><?php echo wp_kses_post( $note ); ?></p>
202 <?php endif; ?>
203 </div>
204 </div>
205 <?php do_action( 'learn-press/admin/order-details/items/layout', $order ); ?>
206 </div>
207
208 <?php
209 $assets = LP_Admin_Assets::instance();
210 $assets->add_localize( 'learn-press-meta-box-order', 'users', $order->get_user_data() );
211 $assets->add_localize( 'learn-press-meta-box-order', 'userTextFormat', '{{display_name}} ({{email}})' );
212
213 wp_enqueue_script( 'jquery-ui-datepicker' );
214 wp_enqueue_style( 'jquery-ui' );
215 ?>
216
217 <script type="text/html" id="tmpl-learn-press-modal-add-order-courses">
218 <div id="learn-press-modal-add-order-courses" class="lp-modal-search"
219 data-nonce="<?php echo wp_create_nonce( 'add_item_to_order' ); ?>">
220 <div class="lp-search-items">
221 <input type="text" id="learn-press-search-item-term"
222 data-nonce="<?php echo wp_create_nonce( 'search_item_term' ); ?>" name="lp-item-name"
223 placeholder="<?php esc_html_e( 'Type here to search for the course', 'learnpress' ); ?>"/>
224 </div>
225 <ul id="learn-press-courses-result">
226 <li class="lp-search-no-results hide-if-js"
227 data-id="0"><?php esc_html_e( 'No results', 'learnpress' ); ?>
228 </li>
229 </ul>
230 <button class="lp-close-lightbox button"
231 onclick="LP.MessageBox.hide();">
232 <?php esc_html_e( 'Close', 'learnpress' ); ?>
233 </button>
234 </div>
235 </script>
236