PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 3.0.0-beta1
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v3.0.0-beta1
4.7.0 4.6.6 4.6.5 4.6.4 4.6.3 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 / BlockLibrary / ProductVariantsMigrationService.php
surecart / app / src / BlockLibrary Last commit date
BlockAnchorSupportService.php 2 years ago BlockPatternsService.php 2 years ago BlockService.php 2 years ago BlockServiceProvider.php 2 years ago BlockStylesService.php 2 years ago BlockValidationService.php 2 years ago CartMenuIconMigrationService.php 2 years ago CartMigrationService.php 2 years ago FormModeSwitcherService.php 2 years ago ProductCollectionBadgesMigrationService.php 2 years ago ProductListMigrationService.php 2 years ago ProductListService.php 2 years ago ProductPriceChoicesMigrationService.php 2 years ago ProductSelectedPriceMigrationService.php 2 years ago ProductVariantsMigrationService.php 2 years ago URLParamService.php 2 years ago
ProductVariantsMigrationService.php
94 lines
1 <?php
2
3 namespace SureCart\BlockLibrary;
4
5 /**
6 * Provide the migration service for the product variant block.
7 */
8 class ProductVariantsMigrationService {
9 /**
10 * Attributes
11 *
12 * @var array
13 */
14 public $attributes = array();
15
16 /**
17 * Block.
18 *
19 * @var object
20 */
21 public ?object $block = null;
22
23 /**
24 * Block HTML.
25 *
26 * @var string
27 */
28 public string $block_html = '';
29
30 /**
31 * Constructor
32 *
33 * @param array $attributes Attributes.
34 * @param object $block Block.
35 */
36 public function __construct( $attributes = array(), $block = null ) {
37 $this->attributes = $attributes;
38 $this->block = $block;
39 }
40
41 /**
42 * Render the variant pill
43 */
44 public function renderVariantPill() {
45 $block_attributes = array_merge(
46 $this->attributes,
47 array(
48 'highlight_text' => '#ffffff',
49 'highlight_background' => '#000000',
50 'highlight_border' => '#000000',
51 )
52 );
53
54 // remove the margin since it is used for the parent block.
55 $block_attributes['style']['spacing'] = array(
56 'padding' => $block_attributes['style']['spacing']['padding'] ?? '',
57 );
58
59 $this->block_html .= '<!-- wp:surecart/product-variant-pill ' . wp_json_encode( $block_attributes ) . ' /-->';
60 }
61
62 /**
63 * Render the product variant block.
64 *
65 * @return void
66 */
67 public function renderProductVariants() {
68 $wrapper_attributes['style']['spacing']['margin'] = $this->attributes['style']['spacing']['margin'] ?? '';
69
70 $this->block_html = '<!-- wp:surecart/product-variant-pills ' . wp_json_encode( $wrapper_attributes ) . ' -->';
71 $this->renderVariantPill();
72 $this->block_html .= '<!-- /wp:surecart/product-variant-pills -->';
73 }
74
75 /**
76 * Render the blocks.
77 *
78 * @return string
79 */
80 public function doBlocks() {
81 return do_blocks( $this->block_html );
82 }
83
84 /**
85 * Render the new variants block.
86 *
87 * @return string
88 */
89 public function render() {
90 $this->renderProductVariants();
91 return $this->doBlocks();
92 }
93 }
94