PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 4.5.1
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v4.5.1
4.6.2 4.6.1 4.6.0 4.5.1 4.5.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 / Integrations / Bricks / Elements / PriceChoiceTemplate.php
surecart / app / src / Integrations / Bricks / Elements Last commit date
BuyButton.php 3 months ago CartMenuIcon.php 5 months ago CollectionTag.php 1 year ago CollectionTags.php 1 year ago Media.php 1 year ago PriceChoiceTemplate.php 1 year ago PriceChooser.php 5 months ago PriceData.php 1 year ago Product.php 5 months ago ProductCard.php 10 months ago ProductContent.php 10 months ago ProductData.php 1 year ago ProductLineItemNote.php 10 months ago ProductQuickAddButton.php 10 months ago ProductReviewAverageRatingStars.php 5 months ago ProductReviewAverageRatingValue.php 5 months ago ProductReviewBreakdown.php 5 months ago ProductReviewContent.php 5 months ago ProductReviewList.php 2 months ago ProductReviewRating.php 5 months ago ProductReviewTotalRating.php 5 months ago ProductReviews.php 5 months ago Quantity.php 11 months ago SaleBadge.php 1 year ago SelectedPriceAdHocAmount.php 1 year ago VariantPill.php 6 months ago VariantPills.php 1 year ago
PriceChoiceTemplate.php
151 lines
1 <?php
2
3
4 namespace SureCart\Integrations\Bricks\Elements;
5
6 use SureCart\Integrations\Bricks\Concerns\ConvertsBlocks;
7
8 if ( ! defined( 'ABSPATH' ) ) {
9 exit; // Exit if accessed directly.
10 }
11
12 /**
13 * Price Choice Template element.
14 */
15 class PriceChoiceTemplate extends \Bricks\Element {
16 use ConvertsBlocks; // we have to use a trait since we can't extend the surecart class.
17
18 /**
19 * Element name.
20 *
21 * @var string
22 */
23 public $name = 'surecart-product-price-choice-template';
24
25 /**
26 * Element block name.
27 *
28 * @var string
29 */
30 public $block_name = 'surecart/product-price-choice-template';
31
32 /**
33 * Element icon.
34 *
35 * @var string
36 */
37 public $icon = 'fas fa-money-bill-1';
38
39 /**
40 * This is nestable.
41 *
42 * @var bool
43 */
44 public $nestable = true;
45
46 /**
47 * Constructor.
48 *
49 * @param array $element Element.
50 *
51 * @return void
52 */
53 public function __construct( $element = null ) {
54 $element['settings']['_gap'] = '0';
55 parent::__construct( $element );
56 }
57
58 /**
59 * Get element label.
60 *
61 * @return string
62 */
63 public function get_label() {
64 return esc_html__( 'Price Choice', 'surecart' );
65 }
66
67 /**
68 * Set controls.
69 *
70 * @return void
71 */
72 public function set_controls() {
73 $this->controls['highlight_border'] = array(
74 'label' => esc_html__( 'Highlight Border', 'surecart' ),
75 'type' => 'color',
76 );
77 }
78
79 /**
80 * Get nestable children.
81 *
82 * @return array
83 */
84 public function get_nestable_children() {
85 return array(
86 array(
87 'name' => 'surecart-price-data',
88 'label' => esc_html__( 'Name', 'surecart' ),
89 'settings' => array(
90 'direction' => 'column',
91 'alignItems' => 'flex-start',
92 '_justifyContent' => 'center',
93 '_width' => '50%',
94 '_flexBasis' => '50%',
95 'meta' => [
96 [
97 'dynamicData' => '{sc_price_name}',
98 ],
99 ],
100 ),
101 ),
102 array(
103 'name' => 'surecart-price-data',
104 'label' => esc_html__( 'Details', 'surecart' ),
105 'settings' => array(
106 'direction' => 'column',
107 'alignItems' => 'flex-end',
108 '_justifyContent' => 'center',
109 '_width' => '50%',
110 '_flexBasis' => '50%',
111 '_gap' => '0',
112 '_lineHeight' => '1',
113 'meta' => [
114 [
115 'dynamicData' => '{sc_price_amount}',
116 ],
117 [
118 'dynamicData' => '{sc_price_trial}',
119 ],
120 [
121 'dynamicData' => '{sc_price_setup_fee}',
122 ],
123 ],
124 ),
125 ),
126 );
127 }
128
129 /**
130 * Render element.
131 *
132 * @return void
133 */
134 public function render() {
135 if ( $this->is_admin_editor() ) {
136 echo $this->preview( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
137 \Bricks\Frontend::render_children( $this ),
138 'sc-choice'
139 );
140 return;
141 }
142
143 echo $this->raw( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
144 [
145 'highlight_border' => esc_html( $this->get_raw_color( 'highlight_border' ) ),
146 ],
147 \Bricks\Frontend::render_children( $this ) // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
148 );
149 }
150 }
151