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 / packages / blocks / Blocks / BlockServiceProvider.php
surecart / packages / blocks / Blocks Last commit date
AddToCartButton 3 years ago Address 3 years ago BumpLineItem 3 years ago Button 3 years ago BuyButton 3 years ago Card 3 years ago Cart 3 years ago CartBumpLineItem 3 years ago CartCoupon 3 years ago CartHeader 3 years ago CartItems 3 years ago CartMessage 3 years ago CartSubmit 3 years ago CartSubtotal 3 years ago Checkbox 3 years ago CheckoutForm 3 years ago Column 3 years ago Columns 3 years ago Confirmation 3 years ago Coupon 3 years ago CustomerDashboardButton 3 years ago Dashboard 3 years ago Divider 3 years ago Donation 3 years ago DonationAmount 3 years ago Email 3 years ago ExpressPayment 3 years ago FirstName 3 years ago Form 3 years ago Heading 3 years ago Input 3 years ago LastName 3 years ago LineItems 3 years ago LogoutButton 3 years ago Name 3 years ago NameYourPrice 3 years ago OrderBumps 3 years ago OrderConfirmationCustomer 3 years ago OrderConfirmationLineItems 3 years ago Password 3 years ago Payment 3 years ago PriceChoice 3 years ago PriceSelector 3 years ago Radio 3 years ago RadioGroup 3 years ago SessionDetail 3 years ago Submit 3 years ago Subtotal 3 years ago Switch 3 years ago TaxIdInput 3 years ago TaxLineItem 3 years ago Textarea 3 years ago Total 3 years ago Totals 3 years ago BaseBlock.php 3 years ago BlockService.php 3 years ago BlockServiceProvider.php 3 years ago CartBlock.php 3 years ago
BlockServiceProvider.php
108 lines
1 <?php
2
3 /**
4 * Block Service Provider
5 */
6
7 namespace SureCartBlocks\Blocks;
8
9 use SureCartBlocks\Blocks\BlockService;
10 use SureCartCore\ServiceProviders\ServiceProviderInterface;
11
12 /**
13 * Block Service Provider Class
14 * Registers block service used throughout the plugin
15 *
16 * @author SureCart <andre@surecart.com>
17 * @since 1.0.0
18 * @license GPL
19 */
20 class BlockServiceProvider implements ServiceProviderInterface {
21 /**
22 * {@inheritDoc}
23 *
24 * @param \Pimple\Container $container Service Container.
25 */
26 public function register( $container ) {
27 $app = $container[ SURECART_APPLICATION_KEY ];
28
29 $container['blocks'] = function () use ( $app ) {
30 return new BlockService( $app );
31 };
32
33 $app->alias( 'blocks', 'blocks' );
34
35 $app->alias(
36 'block',
37 function () use ( $app ) {
38 return call_user_func_array( [ $app->blocks(), 'render' ], func_get_args() );
39 }
40 );
41 }
42
43 /**
44 * {@inheritDoc}
45 *
46 * @param \Pimple\Container $container Service Container.
47 *
48 * @return void
49 *
50 * phpcs:disable Generic.CodeAnalysis.UnusedFunctionParameter
51 */
52 public function bootstrap( $container ) {
53 // allow our web components in wp_kses contexts.
54 add_filter( 'wp_kses_allowed_html', [ $this, 'ksesComponents' ] );
55 add_filter(
56 'safe_style_css',
57 function( $styles ) {
58 return array_merge(
59 [
60 '--spacing',
61 '--font - weight',
62 '--line - height',
63 '--font - size',
64 '--color',
65 ],
66 $styles
67 );
68 }
69 );
70
71 // register our blocks.
72 $this->registerBlocks( $container );
73 }
74
75 /**
76 * Add iFrame to allowed wp_kses_post tags
77 *
78 * @param array $tags Allowed tags, attributes, and/or entities.
79 *
80 * @return array
81 */
82 public function ksesComponents( $tags ) {
83 $components = json_decode( file_get_contents( plugin_dir_path( SURECART_PLUGIN_FILE ) . 'app / src / Support / kses . json' ), true );
84
85 // add slot to defaults.
86 $tags['span']['slot'] = true;
87 $tags['div']['slot'] = true;
88
89 return array_merge( $components, $tags );
90 }
91
92 /**
93 * Register blocks from config
94 *
95 * @param \Pimple\Container $container Service Container.
96 *
97 * @return void
98 */
99 public function registerBlocks( $container ) {
100 $service = \SureCart::resolve( SURECART_CONFIG_KEY );
101 if ( ! empty( $service['blocks'] ) ) {
102 foreach ( $service['blocks'] as $block ) {
103 ( new $block() )->register( $container );
104 }
105 }
106 }
107 }
108