PluginProbe
FireBox – WooCommerce Popup Builder, Exit Intent Popup, Email Optin & Cart Abandonment / 2.1.14
FireBox – WooCommerce Popup Builder, Exit Intent Popup, Email Optin & Cart Abandonment v2.1.14
3.1.13 3.1.12 3.1.11 3.1.10 3.1.9 3.1.8 3.1.7 trunk 1.0.0 1.0.1 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 All 122 releases
firebox / Inc / Core / Blocks / Form / Checkbox.php

Checkbox.php in FireBox – WooCommerce Popup Builder, Exit Intent Popup, Email Optin & Cart Abandonment 2.1.14, at Inc/Core/Blocks/Form/Checkbox.php

93 lines 3.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * @package FireBox
4 * @version 2.1.14 Free
5 *
6 * @author FirePlugins <info@fireplugins.com>
7 * @link https://www.fireplugins.com
8 * @copyright Copyright © 2024 FirePlugins All Rights Reserved
9 * @license GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
10 */
11
12 namespace FireBox\Core\Blocks\Form;
13
14 if (!defined('ABSPATH'))
15 {
16 exit; // Exit if accessed directly.
17 }
18
19 class Checkbox extends \FireBox\Core\Blocks\FormBlock
20 {
21 /**
22 * Block identifier.
23 *
24 * @var string
25 */
26 protected $name = 'checkbox';
27
28 public function render_callback($attributes, $content)
29 {
30 $blockPayload = [
31 'blockName' => $this->name,
32 'attrs' => $attributes
33 ];
34
35 $default_choices = [
36 [
37 'id' => 1,
38 'default' => true,
39 'value' => 1,
40 'label' => 'Choice 1',
41 'image' => ''
42 ],
43 [
44 'id' => 2,
45 'default' => false,
46 'value' => 2,
47 'label' => 'Choice 2',
48 'image' => ''
49 ],
50 [
51 'id' => 3,
52 'default' => false,
53 'value' => 3,
54 'label' => 'Choice 3',
55 'image' => ''
56 ]
57 ];
58
59 $payload = [
60 'id' => $attributes['uniqueId'],
61 'name' => isset($attributes['fieldName']) ? $attributes['fieldName'] : \FireBox\Core\Helpers\Form\Field::getFieldName($blockPayload),
62 'label' => isset($attributes['fieldLabel']) ? $attributes['fieldLabel'] : \FireBox\Core\Helpers\Form\Field::getFieldLabel($blockPayload),
63 'hideLabel' => isset($attributes['hideLabel']) ? $attributes['hideLabel'] : false,
64 'requiredFieldIndication' => isset($attributes['fieldLabelRequiredFieldIndication']) ? $attributes['fieldLabelRequiredFieldIndication'] : true,
65 'required' => isset($attributes['required']) ? $attributes['required'] : true,
66 'description' => isset($attributes['helpText']) ? $attributes['helpText'] : '',
67 'value' => isset($attributes['defaultValue']) ? $attributes['defaultValue'] : '',
68 'width' => isset($attributes['width']) ? $attributes['width'] : '',
69 'placeholder' => isset($attributes['placeholder']) ? $attributes['placeholder'] : '',
70 'css_class' => isset($attributes['cssClass']) ? [$attributes['cssClass']] : [],
71 'input_css_class' => isset($attributes['inputCssClass']) && !empty($attributes['inputCssClass']) ? [$attributes['inputCssClass']] : [],
72 'choices' => isset($attributes['choices']) ? $attributes['choices'] : $default_choices,
73 'choiceLayout' => isset($attributes['choiceLayout']) ? $attributes['choiceLayout'] : '',
74 'displayFormat' => isset($attributes['displayFormat']) ? $attributes['displayFormat'] : '',
75 'imageLabels' => isset($attributes['imageLabels']) ? $attributes['imageLabels'] : true,
76 'size' => isset($attributes['size']) ? $attributes['size'] : 'medium',
77 'sizeCustom' => isset($attributes['sizeCustom']) ? $attributes['sizeCustom'] : '',
78 'checkedBorderSize' => isset($attributes['checkedBorderSize']) ? $attributes['checkedBorderSize'] : '2',
79 'checkedBorderColor' => isset($attributes['checkedBorderColor']) ? $attributes['checkedBorderColor'] : '#057eff',
80 'checkedBackgroundColor' => isset($attributes['checkedBackgroundColor']) ? $attributes['checkedBackgroundColor'] : '#057eff',
81 'checkedTextColor' => isset($attributes['checkedTextColor']) ? $attributes['checkedTextColor'] : '#fff',
82 'hideCheckmark' => isset($attributes['hideCheckmark']) ? $attributes['hideCheckmark'] : false
83 ];
84
85 // Replace Smart Tags
86 $payload = \FPFramework\Base\SmartTags\SmartTags::getInstance()->replace($payload);
87
88 $field = new \FireBox\Core\Form\Fields\Fields\Checkbox($payload);
89
90 // $content contains CSS variables for the field
91 return $content . $field->render();
92 }
93 }