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 / BaseBlock.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
BaseBlock.php
117 lines
1 <?php
2
3 namespace SureCartBlocks\Blocks;
4
5 /**
6 * Checkout block
7 */
8 abstract class BaseBlock {
9 /**
10 * Optional directory to .json block data files.
11 *
12 * @var string
13 */
14 protected $directory = '';
15
16 /**
17 * Holds the block.
18 *
19 * @var object
20 */
21 protected $block;
22
23 /**
24 * Register the block for dynamic output
25 *
26 * @param \Pimple\Container $container Service container.
27 *
28 * @return void
29 */
30 public function register() {
31 register_block_type_from_metadata(
32 $this->getDir(),
33 apply_filters(
34 'surecart/block/registration/args',
35 [ 'render_callback' => [ $this, 'preRender' ] ],
36 ),
37 );
38 }
39
40 /**
41 * Get the called class directory path
42 *
43 * @return string
44 */
45 public function getDir() {
46 if ( $this->directory ) {
47 return $this->directory;
48 }
49
50 $reflector = new \ReflectionClass( $this );
51 $fn = $reflector->getFileName();
52 return dirname( $fn );
53 }
54
55
56 /**
57 * Optionally run a function to modify attibuutes before rendering.
58 *
59 * @param array $attributes Block attributes.
60 * @param string $content Post content.
61 *
62 * @return function
63 */
64 public function preRender( $attributes, $content, $block ) {
65 $this->block = $block;
66
67 // run middlware.
68 $render = $this->middleware( $attributes, $content );
69
70 if ( is_wp_error( $render ) ) {
71 return $render->get_error_message();
72 }
73
74 if ( true !== $render ) {
75 return $render;
76 }
77
78 $attributes = $this->getAttributes( $attributes );
79
80 // render.
81 return $this->render( $attributes, $content, $block );
82 }
83
84 /**
85 * Run any block middleware before rendering.
86 *
87 * @param array $attributes Block attributes.
88 * @param string $content Post content.
89 * @return boolean|\WP_Error;
90 */
91 protected function middleware( $attributes, $content ) {
92 return true;
93 }
94
95 /**
96 * Allows filtering of attributes before rendering.
97 *
98 * @param array $attributes Block attributes.
99 * @return array $attributes
100 */
101 public function getAttributes( $attributes ) {
102 return $attributes;
103 }
104
105 /**
106 * Render the block
107 *
108 * @param array $attributes Block attributes.
109 * @param string $content Post content.
110 *
111 * @return string
112 */
113 public function render( $attributes, $content ) {
114 return '';
115 }
116 }
117