PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 3.6.4
Tutor LMS – eLearning and online course solution v3.6.4
3.9.15 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 / ecommerce / Cart / EddCart.php
tutor / ecommerce / Cart Last commit date
Contracts 1 year ago BaseCart.php 1 year ago CartFactory.php 1 year ago EddCart.php 1 year ago NativeCart.php 1 year ago WooCart.php 1 year ago
EddCart.php
114 lines
1 <?php
2 /**
3 * Handle EDD cart logics
4 *
5 * @package Tutor\Ecommerce
6 * @author Themeum
7 * @link https://themeum.com
8 * @since 3.5.0
9 */
10
11 namespace Tutor\Ecommerce\Cart;
12
13 use Tutor\Ecommerce\Cart\Contracts\CartInterface;
14
15 if ( ! defined( 'ABSPATH' ) ) {
16 exit;
17 }
18 /**
19 * Class for managing Edd cart functions
20 *
21 * @since 3.5.0
22 */
23 class EddCart extends BaseCart implements CartInterface {
24
25 /**
26 * Add to cart
27 *
28 * @since 3.5.0
29 *
30 * @param int $item_id Item id to add to cart.
31 *
32 * @return bool
33 */
34 public function add( int $item_id ): bool {
35 $download_id = tutor_utils()->get_course_product_id( $item_id );
36 if ( ! $download_id ) {
37 $this->cart_error = __( 'Downloadable item not found', 'tutor' );
38 return false;
39 }
40
41 if ( $this->is_item_exists( $item_id ) ) {
42 $this->cart_error = __( 'Item already exists in cart', 'tutor' );
43 return false;
44 } else {
45 return edd_add_to_cart( $download_id ) ? true : false;
46 }
47 }
48
49 /**
50 * Remove an item from cart
51 *
52 * @since 3.5.0
53 *
54 * @param integer $item_id Item id to add to cart.
55 *
56 * @return boolean
57 */
58 public function remove( int $item_id ): bool {
59 // @TODO
60 return false;
61 }
62
63 /**
64 * Clear the cart entirely
65 *
66 * @since 3.5.0
67 *
68 * @return boolean
69 */
70 public function clear_cart(): bool {
71 // @TODO
72 return false;
73 }
74
75
76 /**
77 * Get cart items
78 *
79 * @since 3.5.0
80 *
81 * @return array Array of objects
82 */
83 public function get_cart_items(): array {
84 $items = array();
85 // @TODO need to implement this.
86 return $items;
87 }
88
89 /**
90 * Get cart page url to view the cart
91 *
92 * @since 3.5.0
93 *
94 * @return string
95 */
96 public function get_cart_url(): string {
97 return (string) edd_get_checkout_uri();
98 }
99
100 /**
101 * Check if item exists in cart
102 *
103 * @since 3.5.0
104 *
105 * @param int $item_id Item id.
106 *
107 * @return bool
108 */
109 public function is_item_exists( int $item_id ): bool {
110 $download_id = tutor_utils()->get_course_product_id( $item_id );
111 return edd_item_in_cart( $download_id );
112 }
113 }
114