PluginProbe ʕ •ᴥ•ʔ
JetFormBuilder — Dynamic Blocks Form Builder / 3.6.4.2
JetFormBuilder — Dynamic Blocks Form Builder v3.6.4.2
3.6.5.1 3.6.5 3.6.4.2 3.6.4.1 3.6.4 3.6.3.1 3.6.3 3.6.2.2 3.6.2.1 3.6.2 3.6.1.1 3.6.1 3.6.0.1 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.3.0 1.3.1 1.3.2 1.3.3 1.4.0 1.4.1 1.4.2 1.4.3 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.1.0 2.1.1 2.1.10 2.1.11 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 3.0.0 3.0.0.1 3.0.0.2 3.0.0.3 3.0.1 3.0.1.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.0.1 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.3.2 3.3.3 3.3.3.1 3.3.4 3.3.4.1 3.3.4.2 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 3.4.5.1 3.4.5.2 3.4.6 3.4.7 3.4.7.1 3.5.0 3.5.1 3.5.1.1 3.5.1.2 3.5.2 3.5.2.1 3.5.3 3.5.4 3.5.5 3.5.6 3.5.6.1 3.5.6.2 3.5.6.3 3.6.0
jetformbuilder / modules / advanced-choices / block-sanitizers / choices-default-value-sanitizer.php
jetformbuilder / modules / advanced-choices / block-sanitizers Last commit date
choice-single-context-sanitizer.php 2 years ago choices-default-value-sanitizer.php 2 years ago
choices-default-value-sanitizer.php
60 lines
1 <?php
2
3
4 namespace JFB_Modules\Advanced_Choices\Block_Sanitizers;
5
6 use Jet_Form_Builder\Blocks\Module;
7 use JFB_Modules\Block_Sanitizer\Interfaces\Block_Data_Sanitizer_Interface;
8 use JFB_Modules\Block_Sanitizer\Interfaces\For_Blocks_Sanitizer_Interface;
9 use JFB_Modules\Block_Sanitizer\Traits\For_Blocks_Sanitizer_Trait;
10
11 // If this file is called directly, abort.
12 if ( ! defined( 'WPINC' ) ) {
13 die;
14 }
15
16 class Choices_Default_Value_Sanitizer implements Block_Data_Sanitizer_Interface, For_Blocks_Sanitizer_Interface {
17
18 use For_Blocks_Sanitizer_Trait;
19
20 public function for_blocks(): array {
21 return array(
22 'choices-field',
23 );
24 }
25
26 public function apply_block_data( array $parsed_block, array $source_block, $parent_block = null ): array {
27 if ( ! is_null( $parent_block ) ) {
28 return $parsed_block;
29 }
30
31 /** @var Module $blocks */
32 /** @noinspection PhpUnhandledExceptionInspection */
33 $blocks = jet_form_builder()->module( 'blocks' );
34
35 $block = $blocks->get_field_by_name( $parsed_block );
36
37 if ( ! $block ) {
38 return $parsed_block;
39 }
40
41 $parsed_block['attrs']['default'] = $block->get_prepared_default(
42 $block->get_default_from_preset( $parsed_block['attrs'] )
43 );
44
45 // if enabled "checkbox-mode" - just skip
46 if ( ! empty( $parsed_block['attrs']['allow_multiple'] ) ) {
47 return $parsed_block;
48 }
49
50 // save only first value
51 foreach ( $parsed_block['attrs']['default'] as $value ) {
52 $parsed_block['attrs']['default'] = array( $value );
53 break;
54 }
55
56 return $parsed_block;
57 }
58
59 }
60