PluginProbe
LearnPress – WordPress LMS Plugin for Create and Sell Online Courses / trunk
LearnPress – WordPress LMS Plugin for Create and Sell Online Courses vtrunk
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 4.2.1 4.2.1.1 All 137 releases
learnpress / inc / Models / OrderPostModel.php

OrderPostModel.php in LearnPress – WordPress LMS Plugin for Create and Sell Online Courses trunk, at inc/Models/OrderPostModel.php

132 lines 3.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace LearnPress\Models;
4
5 defined( 'ABSPATH' ) || exit;
6
7 use Exception;
8 use LearnPress\Databases\Course\CourseSectionItemsDB;
9 use LearnPress\Databases\CourseSectionDB;
10 use LearnPress\Filters\Course\CourseSectionItemsFilter;
11 use LP_Course_Filter;
12
13 use LP_Helper;
14
15 /**
16 * class order post model
17 * to replace class lp_order old
18 *
19 * @package learnpress/classes
20 * @version 1.0.0
21 * @since 4.4.2
22 */
23 class OrderPostModel extends PostModel {
24 /**
25 * @var string Post Type
26 */
27 public $post_type = LP_ORDER_CPT;
28
29 /**
30 * Const status
31 */
32 const STATUS_COMPLETED = 'lp-completed';
33 const STATUS_PENDING = 'lp-pending';
34 const STATUS_PROCESSING = 'lp-processing';
35 const STATUS_CANCELLED = 'lp-cancelled';
36 const STATUS_FAILED = 'lp-failed';
37 const STATUS_REFUNDED = 'lp-refunded';
38 const STATUS_TRASH = 'trash';
39
40 /**
41 * Const meta key
42 */
43 const META_KEY_USER_ID = '_user_id';
44 const META_KEY_ORDER_CURRENCY = '_order_currency';
45 const META_KEY_ORDER_SUBTOTAL = '_order_subtotal';
46 const META_KEY_ORDER_TOTAL = '_order_total';
47 const META_KEY_PAYMENT_METHOD = '_payment_method';
48 const META_KEY_PAYMENT_METHOD_TITLE = '_payment_method_title';
49 const META_KEY_ORDER_VERSION = '_order_version';
50 const META_KEY_EDIT_LAST = '_edit_last';
51 const META_KEY_EDIT_LOCK = '_edit_lock';
52 const META_KEY_PRICES_INCLUDE_TAX = '_prices_include_tax';
53 const META_KEY_ORDER_KEY = '_order_key';
54 const META_KEY_USER_IP = '_user_ip';
55 const META_KEY_USER_IP_ADDRESS = '_user_ip_address';
56 const META_KEY_USER_AGENT = '_user_agent';
57 const META_KEY_CHECKOUT_EMAIL = '_checkout_email';
58 const META_KEY_CREATED_VIA = '_created_via';
59 const META_KEY_TRANSACTION_ID = '_transaction_id';
60 const META_KEY_REFUND_REQUEST = '_lp_refund_request';
61 const META_KEY_REFUND_REQUEST_REASON = '_lp_refund_request_reason';
62 const META_KEY_REFUNDED_BY = '_lp_refunded_by';
63 const META_KEY_REFUNDED_AT = '_lp_refunded_at';
64 const META_KEY_REFUNDED_AMOUNT = '_lp_refunded_amount';
65
66 /**
67 * Get list status of LP Order
68 *
69 * @return array
70 */
71 public static function get_order_statuses(): array {
72 $order_statuses = array(
73 self::STATUS_COMPLETED => self::get_status_label( self::STATUS_COMPLETED ),
74 self::STATUS_PENDING => self::get_status_label( self::STATUS_PENDING ),
75 self::STATUS_PROCESSING => self::get_status_label( self::STATUS_PROCESSING ),
76 self::STATUS_CANCELLED => self::get_status_label( self::STATUS_CANCELLED ),
77 self::STATUS_FAILED => self::get_status_label( self::STATUS_FAILED ),
78 self::STATUS_REFUNDED => self::get_status_label( self::STATUS_REFUNDED ),
79 );
80
81 return apply_filters( 'learn-press/order/statuses', $order_statuses );
82 }
83
84
85 /**
86 * Get label of lp order status
87 *
88 * @param string $status
89 *
90 * @return string
91 * @since 4.2.0
92 * @version 1.0.0
93 */
94 public static function get_status_label( string $status ): string {
95 switch ( $status ) {
96 case self::STATUS_COMPLETED:
97 $status = __( 'Completed', 'learnpress' );
98 break;
99 case self::STATUS_PENDING:
100 $status = __( 'Pending', 'learnpress' );
101 break;
102 case self::STATUS_PROCESSING:
103 $status = __( 'Processing', 'learnpress' );
104 break;
105 case self::STATUS_CANCELLED:
106 $status = __( 'Cancelled', 'learnpress' );
107 break;
108 case self::STATUS_FAILED:
109 $status = __( 'Failed', 'learnpress' );
110 break;
111 case self::STATUS_TRASH:
112 $status = __( 'Trash', 'learnpress' );
113 break;
114 case 'on-hold':
115 $status = __( 'On hold', 'learnpress' );
116 break;
117 case self::STATUS_REFUNDED:
118 $status = __( 'Refunded', 'learnpress' );
119 break;
120 default:
121 $status = '';
122 break;
123 }
124
125 if ( ! is_string( $status ) ) {
126 $status = '';
127 }
128
129 return $status;
130 }
131 }
132