PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / trunk
Tutor LMS – eLearning and online course solution vtrunk
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 1.1.0 1.1.1 1.2.0 1.2.1 1.2.11 1.2.12 1.2.13 1.2.20 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.9 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 1.7.6 1.7.7 1.7.8 1.7.9 1.8.0 1.8.1 1.8.10 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9.0 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.14 1.9.15 1.9.16 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.10 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.1.0 2.1.1 2.1.10 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.3.0 2.4.0 2.5.0 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 3.0.0 3.0.1 3.0.2 3.1.0 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.7.0 3.7.1 3.7.2 3.7.3 3.7.4 3.8.0 3.8.1 3.8.2 3.8.3 3.9.0 3.9.1 3.9.10 3.9.2 3.9.3 3.9.4 3.9.5 3.9.6 3.9.7 3.9.8 3.9.9
tutor / models / BillingModel.php
tutor / models Last commit date
BaseModel.php 9 months ago BillingModel.php 1 year ago CartItemModel.php 9 months ago CartModel.php 5 months ago CouponModel.php 4 months ago CourseModel.php 3 months ago LessonModel.php 9 months ago OrderActivitiesModel.php 1 year ago OrderItemMetaModel.php 9 months ago OrderItemModel.php 9 months ago OrderMetaModel.php 1 year ago OrderModel.php 2 months ago QuizModel.php 3 months ago UserModel.php 1 year ago WithdrawModel.php 3 weeks ago
BillingModel.php
126 lines
1 <?php
2 /**
3 * Billing Model
4 *
5 * @package Tutor\Models
6 * @author Themeum <support@themeum.com>
7 * @link https://themeum.com
8 * @since 3.0.0
9 */
10
11 namespace Tutor\Models;
12
13 use Tutor\Helpers\QueryHelper;
14
15 /**
16 * Billing model class for performing billing functionalities
17 */
18 class BillingModel {
19
20 /**
21 * Fillable fields
22 *
23 * @var array
24 */
25 private $fillable_fields = array(
26 'billing_first_name',
27 'billing_last_name',
28 'billing_email',
29 'billing_phone',
30 'billing_zip_code',
31 'billing_address',
32 'billing_country',
33 'billing_state',
34 'billing_city',
35 );
36
37 /**
38 * Required fields
39 *
40 * @var array
41 */
42 private $required_fields = array(
43 'billing_first_name',
44 'billing_last_name',
45 'billing_email',
46 'billing_phone',
47 'billing_zip_code',
48 'billing_address',
49 'billing_country',
50 'billing_state',
51 'billing_city',
52 );
53
54 /**
55 * Get fillable fields
56 *
57 * @return array
58 */
59 public function get_fillable_fields() {
60 return $this->fillable_fields;
61 }
62
63 /**
64 * Get required fields
65 *
66 * @return array
67 */
68 public function get_required_fields() {
69 return $this->required_fields;
70 }
71
72 /**
73 * Insert billing info
74 *
75 * @param array $data Bulling info data.
76 *
77 * @return int The ID of the inserted row on success, or 0 on failure.
78 */
79 public function insert( $data ) {
80 global $wpdb;
81
82 return QueryHelper::insert(
83 "{$wpdb->prefix}tutor_customers",
84 $data,
85 );
86 }
87
88 /**
89 * Update billing info
90 *
91 * @param array $data Bulling info data.
92 * @param array $where Where condition.
93 *
94 * @return bool True on success, false on failure.
95 */
96 public function update( $data, $where ) {
97 global $wpdb;
98
99 return QueryHelper::update(
100 "{$wpdb->prefix}tutor_customers",
101 $data,
102 $where,
103 );
104 }
105
106 /**
107 * Get billing info
108 *
109 * @param int $user_id User ID.
110 *
111 * @return object|false The billing info as an object if found, or false if not found.
112 */
113 public function get_info( $user_id ) {
114 global $wpdb;
115
116 $billing_info = QueryHelper::get_row(
117 "{$wpdb->prefix}tutor_customers",
118 array(
119 'user_id' => $user_id,
120 ),
121 'id'
122 );
123 return $billing_info;
124 }
125 }
126