PluginProbe
LearnPress – WordPress LMS Plugin for Create and Sell Online Courses / 4.2.0
LearnPress – WordPress LMS Plugin for Create and Sell Online Courses v4.2.0
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.2.0, at inc/admin/views/meta-boxes/order/details.php

279 lines 10.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.2
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 ?>
24
25 <div id="learn-press-order" class="order-details">
26 <div class="order-data">
27 <h3 class="order-data-number"><?php echo sprintf( __( 'Order %s', 'learnpress' ), $order->get_order_number() ); ?></h3>
28 <div class="order-data-field payment-method-title">
29 <?php
30 if ( $method_title && $user_ip ) {
31 printf( 'Pay via <strong>%s</strong> at <strong>%s</strong>', $method_title, $user_ip );
32 } elseif ( $method_title ) {
33 printf( 'Pay via <strong>%s</strong>', $method_title );
34 } elseif ( $user_ip ) {
35 printf( 'Customer IP <strong>%s</strong>', $user_ip );
36 }
37 ?>
38 </div>
39
40 <h3 class="order-data-heading"><?php esc_html_e( 'Order details', 'learnpress' ); ?></h3>
41
42 <div class="order-data-field order-data-date">
43 <label><?php esc_html_e( 'Date created:', 'learnpress' ); ?></label>
44
45 <?php learn_press_touch_time( true, 1 ); ?>
46
47 <input type="hidden" name="aa" value="<?php echo gmdate( 'Y', $order->get_order_date( 'timestamp' ) ); ?>">
48 <input type="hidden" name="mm" value="<?php echo gmdate( 'm', $order->get_order_date( 'timestamp' ) ); ?>">
49 <input type="hidden" name="jj" value="<?php echo gmdate( 'd', $order->get_order_date( 'timestamp' ) ); ?>">
50 <input type="hidden" name="ss" value="<?php echo gmdate( 's', $order->get_order_date( 'timestamp' ) ); ?>">
51
52 <input type="text" class="order-date date-picker-backendorder" name="order-date" pattern="[0-9]{4}-(0[1-9]|1[012])-(0[1-9]|1[0-9]|2[0-9]|3[01])" value="<?php echo esc_attr( $order->get_order_date( 'd' ) ); ?>">
53 @
54 <input type="number" class="order-hour" name="hh" min="0" max="23" value="<?php echo esc_attr( $order->get_order_date( 'h' ) ); ?>">
55 :
56 <input type="number" class="order-minute" name="mn" min="0" max="59" value="<?php echo esc_attr( $order->get_order_date( 'm' ) ); ?>">
57 </div>
58
59 <div class="order-data-field order-data-status <?php echo sanitize_title( $order->get_post_status() ); ?>">
60 <label><?php esc_html_e( 'Status:', 'learnpress' ); ?></label>
61 <select name="order-status" data-status="<?php echo 'lp-' . $order->get_status(); ?>">
62 <?php
63 $statuses = LP_Order::get_order_statuses();
64 foreach ( $statuses as $status => $status_name ) {
65 ?>
66 <option data-desc="<?php echo esc_attr( _learn_press_get_order_status_description( $status ) ); ?>"
67 value="<?php echo esc_attr( $status ); ?>"
68 <?php echo selected( $status, 'lp-' . $order->get_status(), false ); ?>>
69 <?php echo esc_html( LP_Order::get_status_label( $status_name ) ); ?>
70 </option>;
71 <?php
72 }
73 ?>
74 </select>
75
76 <?php if ( $order->get_status() === 'completed' ) : ?>
77 <div>
78 <div style="padding: 10px 18px; margin-top: 10px; border: 2px solid #d80000; border-radius: 4px; display: inline-block;">
79 <span class="dashicons dashicons-warning" style="color:#d80000"></span>
80 <?php esc_html_e( 'When the Status is changed to "Pending", "Cancelled", or "Failed" all courses, lessons, quizzes, and other progress are deleted!', 'learnpress' ); ?>
81 </div>
82 </div>
83 <?php endif; ?>
84 </div>
85
86 <div class="order-data-field order-data-user">
87 <div class="order-users">
88 <?php if ( $order->is_multi_users() ) : ?>
89 <label><?php esc_html_e( 'Customers:', 'learnpress' ); ?></label>
90 <ul id="list-users" class="advanced-list <?php echo esc_attr( $order->get_status() === 'completed' ? 'locked' : '' ); ?>">
91 </ul>
92
93 <?php if ( 'pending' === $order->get_status() ) : ?>
94 <a href="" class="change-user" data-multiple="yes"><?php esc_html_e( 'Add multiple users', 'learnpress' ); ?></a>
95 <?php endif; ?>
96
97 <?php else : ?>
98
99 <label><?php esc_html_e( 'Customer:', 'learnpress' ); ?></label>
100 <?php
101 $user_email = $order->get_user( 'email' );
102
103 if ( $user_email ) {
104 printf( '%s (%s) ', $order->get_customer_name(), $order->get_user( 'email' ) );
105
106 if ( $order->get_user_id( 'edit' ) ) {
107 printf( '<a href="%s">%s</a>', esc_url_raw( add_query_arg( 'user_id', absint( $order->get_user_id( 'edit' ) ), admin_url( 'user-edit.php' ) ) ), esc_html__( 'Profile', 'learnpress' ) );
108 }
109 } else {
110 echo wp_kses_post( $order->get_customer_name() );
111 }
112 ?>
113
114 <input type="hidden" name="order-customer" id="order-customer" value="<?php echo esc_attr( $order->get_user( 'id' ) ); ?>"/>
115
116 <?php if ( 'pending' === $order->get_status() ) : ?>
117 <?php echo ' |'; ?>
118 <a href="" class="change-user"><?php esc_html_e( 'Change', 'learnpress' ); ?></a>
119 <?php endif; ?>
120 <?php endif; ?>
121
122 <?php if ( $order->get_post_status() == 'auto-draft' ) : ?>
123 <?php esc_html_e( '- Or -', 'learnpress' ); ?>
124 <a href="" class="change-user" data-multiple="yes"><?php esc_html_e( 'Add multiple users', 'learnpress' ); ?></a>
125 <?php endif; ?>
126
127 <?php
128 if ( 'pending' !== $order->get_status() ) {
129 echo '<p class="description">';
130 esc_html_e( 'In order to change the order user, please change the order status to \'Pending\'.', 'learnpress' );
131 echo '</p>';
132
133 }
134
135 //learn_press_admin_view( 'meta-boxes/order/child-order', array( 'order' => $order ) );
136 ?>
137
138 </div>
139 </div>
140
141 <div class="order-data-field order-data-key">
142 <label><?php esc_html_e( 'Order key:', 'learnpress' ); ?></label>
143 <?php echo esc_html( $order->get_order_key() ); ?>
144 </div>
145
146 <?php do_action( 'lp/admin/order/detail/after-order-key', $order ); ?>
147
148 <div class="order-data-field order-data-note">
149 <?php $note = $post->post_excerpt; ?>
150 <?php if ( ! empty( $note ) ) : ?>
151 <label><?php esc_html_e( 'Customer Note', 'learnpress' ); ?></label>
152 <p class="order-note description"><?php echo wp_kses_post( $note ); ?></p>
153 <?php endif; ?>
154 </div>
155 </div>
156
157 <div class="order-items">
158 <table class="list-order-items">
159 <thead>
160 <tr>
161 <th class="column-name"><?php esc_html_e( 'Item', 'learnpress' ); ?></th>
162 <th class="column-price"><?php esc_html_e( 'Cost', 'learnpress' ); ?></th>
163 <th class="column-quantity"><?php esc_html_e( 'Quantity', 'learnpress' ); ?></th>
164 <th class="column-total align-right"><?php esc_html_e( 'Total', 'learnpress' ); ?></th>
165 </tr>
166 </thead>
167
168 <tbody>
169 <?php $items = $order->get_items(); ?>
170
171 <?php if ( $items ) : ?>
172 <?php foreach ( $items as $item ) : ?>
173 <?php include learn_press_get_admin_view( 'meta-boxes/order/order-item.php' ); ?>
174 <?php endforeach; ?>
175 <?php endif; ?>
176
177 <tr class="no-order-items<?php echo esc_attr( $items ? ' hide-if-js' : '' ); ?>">
178 <td colspan="4"><?php esc_html_e( 'There are no order items', 'learnpress' ); ?></td>
179 </tr>
180 </tbody>
181
182 <tfoot>
183 <tr>
184 <td colspan="2"></td>
185 <td colspan="2"></td>
186 </tr>
187 <tr class="row-subtotal">
188 <td width="300" colspan="3" class="align-right">
189 <?php esc_html_e( 'Subtotal:', 'learnpress' ); ?>
190 </td>
191 <td width="100" class="align-right">
192 <span class="order-subtotal">
193 <?php echo learn_press_format_price( $order->get_data( 'order_subtotal' ), $currency_symbol ); ?>
194 </span>
195 </td>
196 </tr>
197 <tr class="row-total">
198 <td class="align-right" colspan="3">
199 <?php esc_html_e( 'Total:', 'learnpress' ); ?>
200 </td>
201 <td class="align-right total">
202 <span class="order-total">
203 <?php echo learn_press_format_price( $order->get_data( 'order_total' ), $currency_symbol ); ?>
204 </span>
205 </td>
206 </tr>
207 <tr>
208 <td colspan="2"></td>
209 <td colspan="2" style="border-bottom: 1px dashed #DDD;"></td>
210 </tr>
211 <tr>
212 <td class="align-right" colspan="4" style="border-top: 1px solid #DDD;">
213 <?php if ( 'pending' === $order->get_status() ) { ?>
214 <button class="button" type="button" id="learn-press-add-order-item">
215 <?php esc_html_e( 'Add item(s)', 'learnpress' ); ?>
216 </button>
217 <?php
218 } else {
219 echo '<p class="description">';
220 esc_html_e( 'In order to change the order item, please change the order status to \'Pending\'.', 'learnpress' );
221 echo '</p>';
222 }
223 ?>
224 </td>
225 </tr>
226 </tfoot>
227 </table>
228 </div>
229 </div>
230
231 <script type="text/html" id="tmpl-order-data-user">
232 <# if(!data.multiple){ #>
233 <div class="order-data-field order-data-user">
234 <label><?php esc_html_e( 'Customer', 'learnpress' ); ?></label>
235 <div class="order-users">
236 {{data.name}}
237 <input type="hidden" name="order-customer" id="order-customer" value="{{data.id}}">
238 </div>
239 <a href="" class="change-user"><?php esc_html_e( 'Change', 'learnpress' ); ?></a>
240 </div>
241 <# }else{ #>
242 <div class="order-data-field order-data-user">
243 <label><?php esc_html_e( 'Customer', 'learnpress' ); ?></label>
244 <div class="order-users">
245 <ul id="list-users" class="advanced-list <?php echo esc_attr( $order->get_status() === 'completed' ? 'locked' : '' ); ?>"></ul>
246 </div>
247 <a href="" class="change-user" data-multiple="yes"><?php esc_html_e( 'Add multiple users', 'learnpress' ); ?></a>
248 </div>
249 <# } #>
250 </script>
251
252 <script type="text/html" id="tmpl-order-advanced-list-item">
253 <li data-id="{{id}}">
254 <span class="remove-item"></span><span>{{text}}</span>
255 <input type="hidden" name="order-customer[]" value="{{id}}">
256 </li>
257 </script>
258
259 <?php
260 $assets = learn_press_admin_assets();
261 $assets->add_localize( 'learn-press-meta-box-order', 'users', $order->get_user_data() );
262 $assets->add_localize( 'learn-press-meta-box-order', 'userTextFormat', '{{display_name}} ({{email}})' );
263
264 wp_enqueue_script( 'jquery-ui-datepicker' );
265 wp_enqueue_style( 'jquery-ui' );
266 ?>
267
268 <script type="text/html" id="tmpl-learn-press-modal-add-order-courses">
269 <div id="learn-press-modal-add-order-courses" class="lp-modal-search" data-nonce="<?php echo wp_create_nonce( 'add_item_to_order' ); ?>">
270 <div class="lp-search-items">
271 <input type="text" id="learn-press-search-item-term" data-nonce="<?php echo wp_create_nonce( 'search_item_term' ); ?>" name="lp-item-name" placeholder="<?php esc_html_e( 'Type here to search for the course', 'learnpress' ); ?>"/>
272 </div>
273 <ul id="learn-press-courses-result">
274 <li class="lp-search-no-results hide-if-js" data-id="0"><?php esc_html_e( 'No results', 'learnpress' ); ?></li>
275 </ul>
276 <button class="lp-close-lightbox button" onclick="LP.MessageBox.hide();"><?php esc_html_e( 'Close', 'learnpress' ); ?></button>
277 </div>
278 </script>
279