PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 3.6.0
Tutor LMS – eLearning and online course solution v3.6.0
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 / includes / ecommerce-functions.php
tutor / includes Last commit date
droip 1 year ago theme-compatibility 4 years ago country.php 1 year ago ecommerce-functions.php 1 year ago tinymce_translate.php 1 year ago translate-text.php 1 year ago tutor-general-functions.php 1 year ago tutor-template-functions.php 1 year ago tutor-template-hook.php 4 years ago
ecommerce-functions.php
132 lines
1 <?php
2 /**
3 * Tutor ecommerce functions
4 *
5 * @package TutorFunctions
6 * @author Themeum <support@themeum.com>
7 * @link https://themeum.com
8 * @since 3.5.0
9 */
10
11 use Tutor\Ecommerce\Cart\CartFactory;
12
13 if ( ! function_exists( 'tutor_add_to_cart' ) ) {
14 /**
15 * Handle add to cart functionalities
16 *
17 * @since 3.5.0
18 *
19 * @param int $item_id Item id.
20 *
21 * @return object {success, message, data: {cart_url, items, total_count} }
22 */
23 function tutor_add_to_cart( int $item_id ) {
24 $response = new stdClass();
25 $response->success = true;
26 $response->message = __( 'Course added to cart', 'tutor' );
27 $response->data = null;
28
29 try {
30 $cart = tutor_get_cart_object();
31 if ( $cart->add( $item_id ) ) {
32 // Prepare data.
33 $cart_url = $cart->get_cart_url();
34 $items = $cart->get_cart_items();
35 $data = (object) array(
36 'cart_url' => $cart_url,
37 'items' => $items,
38 'total_count' => count( $items ),
39 );
40
41 $response->data = $data;
42 } else {
43 $response->success = false;
44 $response->message = $cart->get_error();
45 }
46 } catch ( \Throwable $th ) {
47 $response->success = false;
48 $response->message = $th->getMessage();
49 }
50
51 return $response;
52 }
53 }
54
55 if ( ! function_exists( 'tutor_get_cart_url' ) ) {
56 /**
57 * Get the cart page URL
58 *
59 * @since 3.5.0
60 *
61 * @return string
62 */
63 function tutor_get_cart_url() {
64 try {
65 $cart = tutor_get_cart_object();
66 return $cart->get_cart_url();
67 } catch ( \Throwable $th ) {
68 return $th->getMessage();
69 }
70 }
71 }
72
73 if ( ! function_exists( 'tutor_get_cart_items' ) ) {
74 /**
75 * Get cart items
76 *
77 * @since 3.5.0
78 *
79 * @return array
80 */
81 function tutor_get_cart_items() {
82 $items = array();
83 try {
84 $cart = tutor_get_cart_object();
85 $items = $cart->get_cart_items();
86 } catch ( \Throwable $th ) {
87 error_log( $th->getMessage() );
88 }
89
90 return $items;
91 }
92 }
93
94 if ( ! function_exists( 'tutor_is_item_in_cart' ) ) {
95 /**
96 * Get cart items
97 *
98 * @since 3.5.0
99 *
100 * @param int $item_id Item id to check.
101 *
102 * @return bool
103 */
104 function tutor_is_item_in_cart( int $item_id ) {
105 try {
106 return tutor_get_cart_object()->is_item_exists( $item_id );
107 } catch ( \Throwable $th ) {
108 return false;
109 }
110 }
111 }
112
113 if ( ! function_exists( 'tutor_get_cart_object' ) ) {
114 /**
115 * Get cart items
116 *
117 * @since 3.5.0
118 *
119 * @throws \Throwable If cart object creation failed.
120 *
121 * @return object CartInterface
122 */
123 function tutor_get_cart_object() {
124 $monetization = tutor_utils()->get_option( 'monetize_by' );
125 try {
126 return CartFactory::create_cart( $monetization );
127 } catch ( \Throwable $th ) {
128 throw $th;
129 }
130 }
131 }
132