PluginProbe
Gutenify – Visual Site Builder Blocks & Starter Templates / trunk
Gutenify – Visual Site Builder Blocks & Starter Templates vtrunk
1.7.0 1.6.6 1.6.5 1.6.4 trunk 0.0.1 0.0.2 0.0.3 1.0.0 1.0.1 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 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 All 72 releases
gutenify / core / dist / blocks / icon / index.php

index.php in Gutenify – Visual Site Builder Blocks & Starter Templates trunk, at core/dist/blocks/icon/index.php

168 lines 5.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace gutenify;
3
4 defined( 'ABSPATH' ) || exit;
5
6 class Icon{
7 public static function init() {
8 add_action( 'init', array( __CLASS__, 'register_block' ) );
9 add_filter( 'gutenify_render_block_gutenify/icon', array( __CLASS__, 'render_block' ), 10, 4 );
10 }
11
12 public static function register_block() {
13 register_block_type( __DIR__ );
14 }
15
16 public static function render_block( $block_content, $block, $instance, $block_id ) {
17 $root_selector = '.' . $block_id . '.wp-block-gutenify-icon' ;
18 $css='';
19 $root_selector .= ' .gutenify-icon-wrapper';
20
21
22 $css .= $root_selector . '{';
23 //icon color
24 if (!empty($block['attrs']['blockAdvanceOptions']['textColor'])) {
25 $css .= 'color: ' . esc_attr( $block['attrs']['blockAdvanceOptions']['textColor'] ) . ';';
26 }
27
28 //background color
29 if (!empty($block['attrs']['backgroundGradient'])) {
30 $css .= 'background: ' . esc_attr( $block['attrs']['backgroundGradient'] ) . ';';
31 }elseif (!empty($block['attrs']['backgroundColor'])) {
32 $css .= 'background:' . esc_attr( $block['attrs']['backgroundColor'] ) . ';';
33 } elseif (!empty($block['attrs']['blockAdvanceOptions']['backgroundGradient'])) {
34 $css .= 'background: ' . esc_attr( $block['attrs']['blockAdvanceOptions']['backgorundGradient'] ) . ';';
35 } elseif (!empty($block['attrs']['blockAdvanceOptions']['backgroundColor'])) {
36 $css .= 'background:' . esc_attr( $block['attrs']['blockAdvanceOptions']['backgroundColor'] ) . ';';
37 } else {
38 $css .= '';
39 }
40
41
42 //border color
43 if (!empty($block['attrs']['blockAdvanceOptions']['borderColor'])) {
44 $css .= 'border-color: ' . esc_attr( $block['attrs']['blockAdvanceOptions']['borderColor'] ) . ';';
45 }
46
47 if ( ! empty( $block['attrs']['borderWidth'] ) ) {
48 $css .= 'border-style:solid;';
49 if ( ! is_array( $block['attrs']['borderWidth'] ) ) {
50 $css .= 'border-width: ' . esc_attr( $block['attrs']['borderWidth'] ) . 'px;';
51 } else {
52 $css .= \gutenify\Style_Helpers::box_control( $block['attrs']['borderWidth'], 'border-', '-width');
53 }
54 }
55
56 if ( ! empty( $block['attrs']['borderRadius'] ) ) {
57 $css .= \gutenify\Style_Helpers::border_radius_control( $block['attrs']['borderRadius'] );
58 }
59
60 //icon padding
61 $paddingSides = ['top', 'bottom', 'left', 'right'];
62 // Loop through each padding side
63 foreach ($paddingSides as $side) {
64 $paddingValue = esc_attr( $block['attrs']['blockAdvanceOptions']['iconPadding']['desktop'][$side] ?? '' );
65 if (!empty($paddingValue)) {
66 $css .= "padding-$side: $paddingValue;";
67 }
68 }
69
70 //container size
71 if (!empty($block['attrs']['blockAdvanceOptions']['containerWidth'])) {
72 $css .= 'width: ' . esc_attr( $block['attrs']['blockAdvanceOptions']['containerWidth'] ) . 'px;';
73 }
74 if (!empty($block['attrs']['blockAdvanceOptions']['containerHeight'])) {
75 $css .= 'height: ' . esc_attr( $block['attrs']['blockAdvanceOptions']['containerHeight'] ) . 'px;';
76 }
77 ;
78 $css .= '}';
79
80 $css .= $root_selector . ' i{';
81
82 //icon size
83 if (!empty($block['attrs']['size'])) {
84 $css .= 'font-size: ' . esc_attr( $block['attrs']['size'] ) . 'px;';
85 }else{
86 $css .='font-size: 40px;';
87 }
88 $css .= '}';
89
90 //image size
91 if (!empty($block['attrs']['size'])) {
92 $css .= $root_selector . ' img{';
93 $css .= 'width: ' . esc_attr( $block['attrs']['size'] ) . 'px;';
94 $css .= 'max-width: ' . esc_attr( $block['attrs']['size'] ) . 'px;';
95 $css .= '}';
96 }
97
98 //border radius
99 if (!empty($block['attrs']['iconimgBorderRadius'])) {
100 $css .= $root_selector . '.gutenify-image-icon-content img{';
101 $css .= 'border-radius: ' . esc_attr( $block['attrs']['iconimgBorderRadius'] ) . 'px;';
102 $css .= '}';
103 }
104
105 //padding tablet
106 $css .= '@media only screen and (max-width: 992px) {';
107 //icon padding tablet
108 $css .= $root_selector . '{';
109 foreach ($paddingSides as $side) {
110 $paddingValue = esc_attr( $block['attrs']['blockAdvanceOptions']['iconPadding']['tablet'][$side] ?? '' );
111 if (!empty($paddingValue)) {
112 $css .= "padding-$side: $paddingValue;";
113 }
114 }
115 $css .= '}';
116 $css .= '}';
117
118
119 //padding mobile
120 $css .= '@media only screen and (max-width: 768px) {';
121 //icon padding mobile
122 $css .= $root_selector . '{';
123 foreach ($paddingSides as $side) {
124 $paddingValue = esc_attr( $block['attrs']['blockAdvanceOptions']['iconPadding']['mobile'][$side] ?? '' );
125 if (!empty($paddingValue)) {
126 $css .= "padding-$side: $paddingValue;";
127 }
128 }
129 $css .= '}';
130 $css .= '}';
131
132 //hover style
133 $css .= $root_selector . ':hover{';
134
135 //hover color
136 if (!empty($block['attrs']['blockAdvanceOptions']['hoverTextColor'])) {
137 $css .= 'color: ' . esc_attr( $block['attrs']['blockAdvanceOptions']['hoverTextColor'] ) . ';';
138 }
139
140 //hover background
141 if (!empty($block['attrs']['hoverBackgroundGradient'])) {
142 $css .= 'background: ' . esc_attr( $block['attrs']['hoverBackgroundGradient'] ) . ';';
143 }elseif (!empty($block['attrs']['hoverBackgroundColor'])) {
144 $css .= 'background:' . esc_attr( $block['attrs']['hoverBackgroundColor'] ) . ';';
145 } elseif (!empty($block['attrs']['blockAdvanceOptions']['hoverBackgroundGradient'])) {
146 $css .= 'background: ' . esc_attr( $block['attrs']['blockAdvanceOptions']['hoverBackgroundGradient'] ) . ';';
147 } elseif (!empty($block['attrs']['blockAdvanceOptions']['hoverBackgroundColor'])) {
148 $css .= 'background:' . esc_attr( $block['attrs']['blockAdvanceOptions']['hoverBackgroundColor'] ) . ';';
149 } else {
150 $css .= '';
151 }
152
153 //hover border
154 if (!empty($block['attrs']['blockAdvanceOptions']['hoverBorderColor'])) {
155 $css .= 'border-color:' . esc_attr( $block['attrs']['blockAdvanceOptions']['hoverBorderColor'] ) . ';';
156 }
157
158 $css .= '}';
159
160
161 $handle = 'gutenify_'. str_replace( '/', '_', $block['blockName'] ) . '_' . $block_id;
162 wp_add_inline_style( $handle, $css);
163 return $block_content;
164 }
165 }
166
167 Icon::init();
168