PluginProbe
aBlocks – Gutenberg Blocks, User Dashboard Builder, Popup Builder, Form Builder & Animation Builder / 2.12.0
aBlocks – Gutenberg Blocks, User Dashboard Builder, Popup Builder, Form Builder & Animation Builder v2.12.0
2.14.0 2.13.0 2.13.1 2.12.0 2.11.1 2.11.0 2.10.0 2.9.0 2.7.4 2.7.5 2.7.6 2.7.7 2.8.0 2.8.1 2.9.1 trunk 1.0 1.0-beta1 1.0-beta2 1.0-beta3 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1 All 81 releases
ablocks / includes / blocks / academy-student-registration-form / block.php

block.php in aBlocks – Gutenberg Blocks, User Dashboard Builder, Popup Builder, Form Builder & Animation Builder 2.12.0, at includes/blocks/academy-student-registration-form/block.php

185 lines 8.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace ABlocks\Blocks\AcademyStudentRegistrationForm;
3
4 if ( ! defined( 'ABSPATH' ) ) {
5 exit;
6 }
7
8 use ABlocks\Classes\BlockBaseAbstract;
9 use ABlocks\Classes\CssGeneratorV2;
10 use ABlocks\Helper;
11 use ABlocks\Controls\Typography;
12 use ABlocks\Controls\Background;
13 use ABlocks\Controls\Border;
14 use ABlocks\Controls\Dimensions;
15 use ABlocks\Controls\Color;
16
17
18 class Block extends BlockBaseAbstract {
19 protected $block_name = 'academy-student-registration-form';
20
21 public function __construct() {
22 parent::__construct();
23
24 add_filter( 'academy/shortcode/student_registration_form_is_user_logged_in', [ $this, 'force_showing_student_registration_form_in_editor' ] );
25
26 }
27
28 public function force_showing_student_registration_form_in_editor( $flag ) {
29
30 if ( Helper::is_gutenberg_editor() ) {
31 return false;
32 }
33 return $flag;
34 }
35
36
37 public function build_css( $attributes ) {
38 $css_generator = new CssGeneratorV2( $attributes, $this->block_name );
39 $css_generator->add_class_styles(
40 '{{WRAPPER}} .academy-reg-form--student .academy-form-group label',
41 $this->get_form_input_label_css( $attributes ),
42 $this->get_form_input_label_css( $attributes, 'Tablet' ),
43 $this->get_form_input_label_css( $attributes, 'Mobile' )
44 );
45
46 $css_generator->add_class_styles(
47 '{{WRAPPER}} .academy-reg-form--student .academy-form-group label:hover',
48 $this->get_form_input_label_hover_css( $attributes ),
49 $this->get_form_input_label_hover_css( $attributes, 'Tablet' ),
50 $this->get_form_input_label_hover_css( $attributes, 'Mobile' )
51 );
52
53 $css_generator->add_class_styles(
54 '{{WRAPPER}} .academy-reg-form--student .academy-form-group input',
55 $this->get_form_input_field_css( $attributes ),
56 $this->get_form_input_field_css( $attributes, 'Tablet' ),
57 $this->get_form_input_field_css( $attributes, 'Mobile' )
58 );
59 $css_generator->add_class_styles(
60 '{{WRAPPER}} .academy-reg-form--student .academy-form-group input:hover',
61 $this->get_form_input_field_hover_css( $attributes ),
62 $this->get_form_input_field_hover_css( $attributes, 'Tablet' ),
63 $this->get_form_input_field_hover_css( $attributes, 'Mobile' )
64 );
65
66 $css_generator->add_class_styles(
67 '{{WRAPPER}} .academy-reg-form--student .academy-form-group input::placeholder',
68 $this->get_form_input_field_placeholder_css( $attributes ),
69 $this->get_form_input_field_placeholder_css( $attributes, 'Tablet' ),
70 $this->get_form_input_field_placeholder_css( $attributes, 'Mobile' )
71 );
72
73 $css_generator->add_class_styles(
74 '{{WRAPPER}} .academy-reg-form--student .academy-form-group button',
75 $this->get_form_button_css( $attributes ),
76 $this->get_form_button_css( $attributes, 'Tablet' ),
77 $this->get_form_button_css( $attributes, 'Mobile' )
78 );
79
80 $css_generator->add_class_styles(
81 '{{WRAPPER}} .academy-reg-form--student .academy-form-group button:hover',
82 $this->get_form_button_hover_css( $attributes ),
83 $this->get_form_button_hover_css( $attributes, 'Tablet' ),
84 $this->get_form_button_hover_css( $attributes, 'Mobile' )
85 );
86
87 $css_generator->add_class_styles(
88 '{{WRAPPER}} .academy-reg-form',
89 $this->get_form_css( $attributes ),
90 $this->get_form_css( $attributes, 'Tablet' ),
91 $this->get_form_css( $attributes, 'Mobile' )
92 );
93 $css_generator->add_class_styles(
94 '{{WRAPPER}} .academy-reg-form:hover',
95 $this->get_form_hover_css( $attributes ),
96 $this->get_form_hover_css( $attributes, 'Tablet' ),
97 $this->get_form_hover_css( $attributes, 'Mobile' )
98 );
99
100 return $css_generator->generate_css();
101 }
102
103 public function get_form_input_label_css( $attributes, $device = '' ) {
104 $typographyValueGlobal = ! empty( $attributes['input_label_typhographyGlobal'] ) ? $attributes['input_label_typhographyGlobal'] : '';
105 $input_label_typography_css = isset( $attributes['input_label_typhography'] ) ? $attributes['input_label_typhography'] : [];
106 return array_merge(
107 [ 'color' => Color::get_css( isset( $attributes['input_label_color'] ) ? $attributes['input_label_color'] : '' ) ],
108 Typography::get_css( $input_label_typography_css, '', $device, $typographyValueGlobal ),
109 );
110 }
111
112 public function get_form_input_label_hover_css( $attributes, $device = '' ) {
113 return [ 'color' => Color::get_css( isset( $attributes['input_label_hover_color'] ) ? $attributes['input_label_hover_color'] : '' ) ];
114 }
115
116 public function get_form_input_field_css( $attributes, $device = '' ) {
117 $input_field_border_css = ! empty( $attributes['form_field_border'] ) ? Border::get_css( $attributes['form_field_border'], '', $device ) : array();
118 return array_merge(
119 [ 'color' => Color::get_css( isset( $attributes['input_field_color'] ) ? $attributes['input_field_color'] : '' ) ],
120 [ 'background' => Color::get_css( isset( $attributes['input_field_bg_color'] ) ? $attributes['input_field_bg_color'] : '' ) ],
121 $input_field_border_css,
122 );
123 }
124
125 public function get_form_input_field_hover_css( $attributes, $device = '' ) {
126 $input_field_border_hover_css = ! empty( $attributes['form_field_border'] ) ? Border::get_hover_css( $attributes['form_field_border'], '', $device ) : array();
127 return $input_field_border_hover_css;
128 }
129 public function get_form_input_field_placeholder_css( $attributes, $device = '' ) {
130 return [ 'color' => Color::get_css( isset( $attributes['input_field_placeholder_color'] ) ? $attributes['input_field_placeholder_color'] : '' ) ];
131 }
132
133 public function get_form_button_css( $attributes, $device = '' ) {
134 $typographyValueGlobal = ! empty( $attributes['form_button_typhographyGlobal'] ) ? $attributes['form_button_typhographyGlobal'] : '';
135 $form_button_typography_css = isset( $attributes['form_button_typhography'] ) ? $attributes['form_button_typhography'] : [];
136 $form_button_padding = ! empty( $attributes['form_button_padding'] ) ? Dimensions::get_css( $attributes['form_button_padding'], 'padding', $device ) : array();
137 $form_button_border_css = ! empty( $attributes['form_button_border'] ) ? Border::get_css( $attributes['form_button_border'], '', $device ) : array();
138 return array_merge(
139 [ 'color' => Color::get_css( isset( $attributes['form_button_color'] ) ? $attributes['form_button_color'] : '' ) ],
140 [ 'background' => Color::get_css( isset( $attributes['form_button_background'] ) ? $attributes['form_button_background'] : '' ) ],
141 Typography::get_css( $form_button_typography_css, '', $device, $typographyValueGlobal ),
142 $form_button_padding,
143 $form_button_border_css,
144 );
145 }
146
147 public function get_form_css( $attributes, $device = '' ) {
148 $form_background = ! empty( $attributes['form_background'] ) ? Background::get_css( $attributes['form_background'], 'background', $device ) : array();
149 $form_padding = ! empty( $attributes['form_padding'] ) ? Dimensions::get_css( $attributes['form_padding'], 'padding', $device ) : array();
150 $form_border = ! empty( $attributes['form_border'] ) ? Border::get_css( $attributes['form_border'], '', $device ) : array();
151
152 return array_merge(
153 $form_background,
154 $form_padding,
155 $form_border
156 );
157 }
158 public function get_form_hover_css( $attributes, $device = '' ) {
159 $form_hover_background = ! empty( $attributes['form_background'] ) ? Background::get_hover_css( $attributes['form_background'], 'background', $device ) : array();
160 $form_hover_border = ! empty( $attributes['form_border'] ) ? Border::get_hover_css( $attributes['form_border'], '', $device ) : array();
161
162 return array_merge(
163 $form_hover_background,
164 $form_hover_border
165 );
166 }
167
168 public function get_form_button_hover_css( $attributes, $device = '' ) {
169 $form_button_border = ! empty( $attributes['form_button_border'] ) ? Border::get_hover_css( $attributes['form_button_border'], '', $device ) : array();
170 return array_merge(
171 [ 'color' => Color::get_css( isset( $attributes['form_button_hover_color'] ) ? $attributes['form_button_hover_color'] : '' ) ],
172 [ 'background' => Color::get_css( isset( $attributes['form_button_hover_background'] ) ? $attributes['form_button_hover_background'] : '' ) ],
173 $form_button_border
174 );
175 }
176
177 public function render_block_content( $attributes, $content, $block_instance ) {
178
179 $shortcode = '[academy_student_registration_form]';
180 echo do_shortcode( $shortcode );
181
182 }
183
184 }
185