PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 1.4.0
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v1.4.0
4.4.2 4.4.1 4.4.0 4.3.3 4.3.2 4.3.1 4.3.0 4.2.3 4.2.2 4.2.1 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.11.0 1.11.1 1.11.2 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.4.0 1.4.1 1.4.2 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.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.7.0 1.7.1 1.7.2 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.9.0 1.9.1 1.9.2 1.9.3 1.9.4 1.9.5 2.0.0 2.0.1 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.10.0 2.10.1 2.11.0 2.11.1 2.11.2 2.11.3 2.11.4 2.12.0 2.13.0 2.14.0 2.14.1 2.15.0 2.15.1 2.16.0 2.16.1 2.16.2 2.16.3 2.17.0 2.17.1 2.17.2 2.18.0 2.19.0 2.19.2 2.19.3 2.19.4 2.2.0 2.2.1 2.20.0 2.20.1 2.20.2 2.20.3 2.20.4 2.20.5 2.20.6 2.21.0 2.22.0 2.22.1 2.23.0 2.24.0 2.25.0 2.25.1 2.25.2 2.26.0 2.27.0 2.27.1 2.28.0 2.29.0 2.29.1 2.29.2 2.29.3 2.29.4 2.3.0 2.3.1 2.30.0 2.31.0 2.31.1 2.31.2 2.31.3 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.40.0 2.40.1 2.5.0 2.5.1 2.5.2 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.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.9.0 3.0.0 3.0.0-RC1 3.0.0-RC2 3.0.0-beta1 3.0.0-beta2 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.10.0 3.10.1 3.11.0 3.12.0 3.13.0 3.13.1 3.13.2 3.13.3 3.13.4 3.14.0 3.15.0 3.15.1 3.15.2 3.15.3 3.15.4 3.15.5 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.16.6 3.16.7 3.16.8 3.17.0 3.17.1 3.17.2 3.17.3 3.17.4 3.17.5 3.17.6 3.18.0 3.19.0 3.19.1 3.19.2 3.2.0 3.2.1 3.2.2 3.20.0 3.20.1 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.2 3.5.3 3.6.0 3.6.1 3.6.2 3.7.0 3.7.1 3.7.2 3.7.3 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.9.0 4.0.0 4.0.1 4.0.2 4.0.3 trunk 4.1.0 0.2.19.1 4.1.1 1.0.0 4.2.0 1.0.1 1.0.2
surecart / app / src / Cart / CartService.php
surecart / app / src / Cart Last commit date
CartService.php 3 years ago CartServiceProvider.php 3 years ago
CartService.php
93 lines
1 <?php
2
3 namespace SureCart\Cart;
4
5 use SureCart\Models\Form;
6
7 /**
8 * The cart service.
9 */
10 class CartService {
11 /**
12 * Bootstrap the cart.
13 *
14 * @return void
15 */
16 public function bootstrap() {
17 // Slide-out is disabled. Do not load scripts.
18 if ( (bool) get_option( 'sc_slide_out_cart_disabled', false ) ) {
19 return;
20 }
21
22 // enqueue scripts needed for slide out cart.
23 add_action(
24 'wp_enqueue_scripts',
25 function() {
26 \SureCart::assets()->enqueueComponents();
27 }
28 );
29 add_action( 'wp_footer', [ $this, 'renderCartComponent' ] );
30 }
31
32 /**
33 * Get the cart template.
34 *
35 * @return string
36 */
37 public function cartTemplate() {
38 ob_start();
39 $form = $this->getForm();
40 if ( empty( $form->ID ) ) {
41 return '';
42 }
43 $cart = \SureCart::cartPost()->get();
44 if ( empty( $cart->post_content ) ) {
45 return '';
46 }
47 ?>
48
49 <sc-cart
50 id="sc-cart"
51 header="<?php esc_attr_e( 'Cart', 'surecart' ); ?>"
52 form-id="<?php echo esc_attr( $form->ID ); ?>"
53 mode="<?php echo esc_attr( Form::getMode( $form->ID ) ); ?>"
54 checkout-link="<?php echo esc_attr( \SureCart::pages()->url( 'checkout' ) ); ?>"
55 style="font-size: 16px">
56
57 <?php echo wp_kses_post( do_blocks( $cart->post_content ) ); ?>
58
59 </sc-cart>
60 <?php
61 return trim( preg_replace( '/\s+/', ' ', ob_get_clean() ) );
62 }
63
64 /**
65 * Render the cart components.
66 *
67 * @return void
68 */
69 public function renderCartComponent() {
70 $form = $this->getForm();
71 if ( empty( $form->ID ) ) {
72 return;
73 }
74 $template = $this->cartTemplate();
75 ?>
76 <sc-cart-loader
77 form-id="<?php echo esc_attr( $form->ID ); ?>"
78 mode="<?php echo esc_attr( Form::getMode( $form->ID ) ); ?>"
79 template='<?php echo esc_attr( $template ); ?>'>
80 </sc-cart-loader>
81 <?php
82 }
83
84 /**
85 * Get the form
86 *
87 * @return \WP_Post The default form post.
88 */
89 public function getForm() {
90 return \SureCart::forms()->getDefault();
91 }
92 }
93