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