PluginProbe
BlockSpare – Gutenberg Blocks for News, Magazine, Blog & Business Websites / 2.1.2
BlockSpare – Gutenberg Blocks for News, Magazine, Blog & Business Websites v2.1.2
4.1.0 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.1.0 1.1.1 1.1.2 1.2.0 1.2.1 1.2.2 1.2.3 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 2.1.2 2.5.0 2.5.3 2.6.1 All 38 releases
blockspare / src / blocks / latest-posts-grid / index.php

index.php in BlockSpare – Gutenberg Blocks for News, Magazine, Blog & Business Websites 2.1.2, at src/blocks/latest-posts-grid/index.php

250 lines 10.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 if(!function_exists('blockspare_render_block_core_latest_posts_grid')){
4 function blockspare_render_block_core_latest_posts_grid($attributes)
5 {
6
7 ob_start();
8 $unq_class = mt_rand(100000,999999);
9 $blockuniqueclass = '';
10
11 if(!empty($attributes['uniqueClass'])){
12 $blockuniqueclass = $attributes['uniqueClass'];
13 }else{
14 $blockuniqueclass = 'blockspare-posts-block-list-'.$unq_class;
15 }
16
17 $block_class = 'blockspare-posts-block-is-grid';
18 $design = $attributes['grid'];
19
20 blockspare_query_loop_and_wrapper($attributes,$block_class,$design);
21 $data_content = latest_posts_style_control_grid($blockuniqueclass ,$attributes);
22 $data_content .= ob_get_clean();
23 return $data_content;
24
25 }
26 }
27
28 /**
29 * Registers the post grid block on server
30 */
31 if(!function_exists('blockspare_register_block_core_latest_posts_grid')){
32 function blockspare_register_block_core_latest_posts_grid()
33 {
34
35 if (!function_exists('register_block_type')) {
36 return;
37 }
38
39
40 ob_start();
41 include BLOCKSPARE_PLUGIN_DIR . 'src/blocks/latest-posts-grid/block.json';
42 $metadata = json_decode(ob_get_clean(), true);
43
44 /* Block attributes */
45 register_block_type(
46 'blockspare/blockspare-latest-posts-grid',
47 array(
48 'attributes' =>$metadata['attributes'],
49 'render_callback' => 'blockspare_render_block_core_latest_posts_grid',
50 )
51 );
52 }
53
54 add_action('init', 'blockspare_register_block_core_latest_posts_grid');
55 }
56
57 if(!function_exists('latest_posts_style_control_grid')){
58 function latest_posts_style_control_grid($blockuniqueclass ,$attributes){
59
60
61 $block_content ='';
62 $block_content .= '<style type="text/css">';
63 $block_content .= ' .' . $blockuniqueclass . '.blockspare-posts-block-latest-post-wrap{
64 margin-top:' . $attributes['marginTop'] . 'px;
65 margin-bottom:' . $attributes['marginBottom'] . 'px;
66 }';
67
68 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-content{
69 padding-top:' . $attributes['contentPaddingTop'] . 'px;
70 padding-right:' . $attributes['contentPaddingRight'] . 'px;
71 padding-bottom:' . $attributes['contentPaddingBottom'] . 'px;
72 padding-left:' . $attributes['contentPaddingLeft'] . 'px;
73 }';
74
75
76
77
78 if ($attributes['categoryLayoutOption'] == 'solid') {
79
80
81 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-category a{
82 color:' . $attributes['categoryTextColor'] . "!important" . ';
83 background-color:' . $attributes['categoryBackgroundColor'] . "!important" . ';
84 border-radius:' . $attributes['categoryBorderRadius'] . "px" . ';
85 }';
86
87 } else if ($attributes['categoryLayoutOption'] == 'border') {
88
89
90 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-category a{
91 color:' . $attributes['categoryTextColor'] . "!important" . ';
92 background-color:' . "transparent" . ';
93 border:' . "1px solid" . $attributes['categoryBorderColor'] . ';
94 border-radius:' . $attributes['categoryBorderRadius'] . "px" . ';
95 border-width:' . $attributes['categoryBorderWidth'] . "px" . ';
96 }';
97
98
99
100 } else {
101 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-category a{
102 color:' . $attributes['categoryTextColor'] . "!important" . ';
103 }';
104 }
105
106
107 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-category{
108 margin-top:' . $attributes['categoryMarginTop'] . 'px' . ';
109 margin-bottom:' . $attributes['categoryMarginBottom'] . 'px' . ';
110 }';
111
112
113 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-grid-byline{
114
115 margin-top:' . $attributes['metaMarginTop'] . 'px' . ';
116 margin-bottom:' . $attributes['metaMarginBottom'] . 'px' . ';
117 }';
118
119
120 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-grid-more-link{
121 margin-top:' . $attributes['moreLinkMarginTop'] . 'px' . ';
122 margin-bottom:' . $attributes['moreLinkMarginBottom'] . 'px' . ';
123 }';
124
125
126
127
128
129 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-grid-title a span{
130 color: ' . $attributes['postTitleColor'] . ';
131
132 }';
133
134 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-grid-author a span{
135 color:' . $attributes['linkColor'] . ';
136 }';
137
138
139 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-grid-more-link span{
140 color:' . $attributes['linkColor'] . ';
141 }';
142
143 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-grid-date{
144 color:' . $attributes['generalColor'] . ';
145 }';
146
147 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-grid-excerpt-content,'.' .' . $blockuniqueclass . ' .comment_count{
148 color:' . $attributes['generalColor'] . ';
149
150 }';
151
152
153 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-grid-title{
154 margin-top:' . $attributes['titleMarginTop'] . 'px' . ';
155 margin-bottom:' . $attributes['titleMarginBottom'] . 'px' . ';
156 }';
157
158
159 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-grid-excerpt-content{
160 margin-top:' . $attributes['exceprtMarginTop'] . 'px' . ';
161 margin-bottom:' . $attributes['exceprtMarginBottom'] . 'px' . ';
162 }';
163
164 $layoutstyle = explode('-',$attributes['grid']);
165 if($layoutstyle[5] >3){
166 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-single .blockspare-posts-block-post-img img{
167 border-radius:' . $attributes['borderRadius'] . 'px'.';
168
169 }';
170 if($attributes['enableBoxShadow']){
171 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-single .blockspare-posts-block-post-img img{
172 box-shadow: ' . $attributes['xOffset'] . 'px ' . $attributes['yOffset'] . 'px ' . $attributes['blur'] . 'px ' . $attributes['spread'] . 'px ' . $attributes['shadowColor'] . ';
173 }';
174 }
175 }else{
176 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-single{
177 border-radius:' . $attributes['borderRadius'] . 'px'.';
178 background-color:'.$attributes['backGroundColor'].'
179 }';
180
181 if($attributes['enableBoxShadow']){
182 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-single{
183 box-shadow: ' . $attributes['xOffset'] . 'px ' . $attributes['yOffset'] . 'px ' . $attributes['blur'] . 'px ' . $attributes['spread'] . 'px ' . $attributes['shadowColor'] . ';
184 }';
185 }
186 }
187
188
189
190
191
192 //Title Hover
193
194 if($attributes['titleOnHover']=='lpc-title-hover') {
195 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-content .blockspare-posts-block-title-link:hover span{
196 color: ' . $attributes['titleOnHoverColor'] . ';
197
198 }';
199 }
200
201 if($attributes['titleOnHover']=='lpc-title-border') {
202 $block_content .= ' .' . $blockuniqueclass . ' .lpc-title-border .blockspare-posts-block-post-grid-title .blockspare-posts-block-title-link span:hover{
203 box-shadow: inset 0 -2px 0 0 ' . $attributes['titleOnHoverColor'] . ';
204
205 }';
206 }
207
208 //Font Settings
209
210 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-grid-title a span{
211
212 font-size: ' . $attributes['postTitleFontSize'] . $attributes['titleFontSizeType'] . ';
213
214 '.bscheckFontfamily($attributes['titleFontFamily']).';
215 font-weight: ' . $attributes['titleFontWeight'] . ';
216 }';
217
218 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-content .blockspare-posts-block-post-grid-excerpt .blockspare-posts-block-post-grid-excerpt-content {
219 font-size:' . $attributes['descriptionFontSize'] . $attributes['descriptionFontSizeType'] . ';
220
221 '.bscheckFontfamily($attributes['descriptionFontFamily']).';
222 font-weight: ' . $attributes['descriptionFontWeight'] . ';
223 }';
224
225 $block_content .= '@media (max-width: 1025px) { ';
226 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-grid-title a span{
227 font-size: ' . $attributes['titleFontSizeTablet'] . $attributes['titleFontSizeType'] . ';
228 }';
229 $block_content .= ' .' . $blockuniqueclass .' .blockspare-posts-block-post-content .blockspare-posts-block-post-grid-excerpt .blockspare-posts-block-post-grid-excerpt-content {
230 font-size:' . $attributes['descriptionFontSizeTablet'].$attributes['descriptionFontSizeType'].'
231 }';
232 $block_content .= '}';
233
234
235 $block_content .= '@media (max-width: 768px) { ';
236 $block_content .= ' .' . $blockuniqueclass . ' .blockspare-posts-block-post-grid-title a span{
237 font-size: ' . $attributes['titleFontSizeMobile'] . $attributes['titleFontSizeType'] . ';
238 }';
239 $block_content .= ' .' . $blockuniqueclass .' .blockspare-posts-block-post-content .blockspare-posts-block-post-grid-excerpt .blockspare-posts-block-post-grid-excerpt-content {
240 font-size:' . $attributes['descriptionFontSizeMobile'].$attributes['descriptionFontSizeType'].'
241 }';
242 $block_content .= '}';
243
244
245 $block_content .= '</style>';
246 return $block_content;
247 }
248 }
249
250