PluginProbe
aBlocks – Gutenberg Blocks, User Dashboard Builder, Popup Builder, Form Builder & Animation Builder / 2.9.1
aBlocks – Gutenberg Blocks, User Dashboard Builder, Popup Builder, Form Builder & Animation Builder v2.9.1
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 1.1.2 All 80 releases
ablocks / includes / blocks / academy-enroll-form / block.php

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

133 lines 4.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace ABlocks\Blocks\AcademyEnrollForm;
3
4 if ( ! defined( 'ABSPATH' ) ) {
5 exit;
6 }
7
8 use ABlocks\Classes\BlockBaseAbstract;
9 use ABlocks\Classes\CssGenerator;
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
16 class Block extends BlockBaseAbstract {
17 protected $block_name = 'academy-enroll-form';
18
19 public function build_css( $attributes ) {
20 $css_generator = new CssGenerator( $attributes );
21
22 $css_generator->add_class_styles(
23 '{{WRAPPER}} .academy-enroll-form .academy-widget-enroll__continue a',
24 $this->getStartButtonCss( $attributes ),
25 $this->getStartButtonCss( $attributes, 'Tablet' ),
26 $this->getStartButtonCss( $attributes, 'Mobile' )
27 );
28
29 $css_generator->add_class_styles(
30 '{{WRAPPER}} .academy-enroll-form .academy-widget-enroll__continue a:hover',
31 $this->getStartButtonHoverCss( $attributes ),
32 $this->getStartButtonHoverCss( $attributes, 'Tablet' ),
33 $this->getStartButtonHoverCss( $attributes, 'Mobile' )
34 );
35
36 $css_generator->add_class_styles(
37 '{{WRAPPER}} .academy-enroll-form .academy-widget-enroll__enroll-form button',
38 $this->getEnrollButtonCss( $attributes ),
39 $this->getEnrollButtonCss( $attributes, 'Tablet' ),
40 $this->getEnrollButtonCss( $attributes, 'Mobile' )
41 );
42
43 $css_generator->add_class_styles(
44 '{{WRAPPER}} .academy-enroll-form .academy-widget-enroll__enroll-form button:hover',
45 $this->getEnrollButtonHoverCss( $attributes ),
46 $this->getEnrollButtonHoverCss( $attributes, 'Tablet' ),
47 $this->getEnrollButtonHoverCss( $attributes, 'Mobile' )
48 );
49
50 return $css_generator->generate_css();
51 }
52
53
54
55 public function getStartButtonCss( $attributes, $device = '' ) {
56 $css = array();
57 $start_btn_typography = ! empty( $attributes['start_btn_typography'] ) ? Typography::get_css( $attributes['start_btn_typography'], '', $device ) : array();
58 $start_btn_padding = ! empty( $attributes['start_btn_padding'] ) ? Dimensions::get_css( $attributes['start_btn_padding'], 'padding', $device ) : array();
59 $start_btn_border = ! empty( $attributes['start_btn_border'] ) ? Border::get_css( $attributes['start_btn_border'], '', $device ) : array();
60 if ( ! empty( $attributes['start_btn_color'] ) ) {
61 $css['color'] = $attributes['start_btn_color'];
62 }
63 if ( ! empty( $attributes['start_btn_bg_color'] ) ) {
64 $css['background'] = $attributes['start_btn_bg_color'];
65 }
66 return array_merge(
67 $start_btn_typography,
68 $start_btn_padding,
69 $start_btn_border,
70 $css,
71 );
72 }
73 public function getStartButtonHoverCss( $attributes, $device = '' ) {
74 $css = array();
75 $start_btn_border = ! empty( $attributes['start_btn_border'] ) ? Border::get_hover_css( $attributes['start_btn_border'], '', $device ) : array();
76 if ( ! empty( $attributes['start_btn_color_hover'] ) ) {
77 $css['color'] = $attributes['start_btn_color_hover'];
78 }
79 if ( ! empty( $attributes['start_btn_bg_hover_color'] ) ) {
80 $css['background'] = $attributes['start_btn_bg_hover_color'];
81 }
82 return array_merge(
83 $css,
84 $start_btn_border
85 );
86 }
87
88 public function getEnrollButtonCss( $attributes, $device = '' ) {
89 $css = array();
90 $enroll_btn_typography = ! empty( $attributes['enroll_btn_typography'] ) ? Typography::get_css( $attributes['enroll_btn_typography'], '', $device ) : array();
91 $enroll_btn_padding = ! empty( $attributes['enroll_btn_padding'] ) ? Dimensions::get_css( $attributes['enroll_btn_padding'], 'padding', $device ) : array();
92 $enroll_btn_border = ! empty( $attributes['enroll_btn_border'] ) ? Border::get_css( $attributes['enroll_btn_border'], '', $device ) : array();
93 if ( ! empty( $attributes['enroll_btn_color'] ) ) {
94 $css['color'] = $attributes['enroll_btn_color'];
95 }
96 if ( ! empty( $attributes['enroll_btn_bg_color'] ) ) {
97 $css['background'] = $attributes['enroll_btn_bg_color'];
98 }
99 return array_merge(
100 $enroll_btn_typography,
101 $enroll_btn_padding,
102 $enroll_btn_border,
103 $css,
104 );
105 }
106 public function getEnrollButtonHoverCss( $attributes, $device = '' ) {
107 $css = array();
108 $enroll_btn_border = ! empty( $attributes['enroll_btn_border'] ) ? Border::get_hover_css( $attributes['enroll_btn_border'], '', $device ) : array();
109 if ( ! empty( $attributes['enroll_btn_color_hover'] ) ) {
110 $css['color'] = $attributes['enroll_btn_color_hover'];
111 }
112 if ( ! empty( $attributes['enroll_btn_bg_hover_color'] ) ) {
113 $css['background'] = $attributes['enroll_btn_bg_hover_color'];
114 }
115 return array_merge(
116 $css,
117 $enroll_btn_border
118 );
119 }
120
121
122
123
124 public function render_block_content( $attributes, $content, $block_instance ) {
125 $attr_array = [
126 'course_id' => Helper::get_attribute_value( $attributes, 'course_id' ),
127 ];
128 $shortcode = '[academy_enroll_form ' . Helper::attr_shortcode( $attr_array ) . ']';
129 echo do_shortcode( $shortcode );
130 }
131
132 }
133