PluginProbe
aBlocks – Gutenberg Blocks, User Dashboard Builder, Popup Builder, Form Builder & Animation Builder / 2.10.0
aBlocks – Gutenberg Blocks, User Dashboard Builder, Popup Builder, Form Builder & Animation Builder v2.10.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-instructor-registration-form / block.php

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

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