PluginProbe
BlockSpare – Gutenberg Blocks for News, Magazine, Blog & Business Websites / 2.7.0
BlockSpare – Gutenberg Blocks for News, Magazine, Blog & Business Websites v2.7.0
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 / inc / init.php

init.php in BlockSpare – Gutenberg Blocks for News, Magazine, Blog & Business Websites 2.7.0, at inc/init.php

286 lines 12.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 //Exit if directly acess
4 defined('ABSPATH') or die('No script kiddies please!');
5
6 if(!class_exists('BlockspareInit')){
7 class BlockspareInit{
8 /**
9 * Member Variable
10 *
11 * @var instance
12 */
13 private static $instance;
14
15 /**
16 * Initiator
17 */
18 public static function get_instance()
19 {
20 if (!isset(self::$instance))
21 {
22 self::$instance = new self();
23 }
24 return self::$instance;
25 }
26 public function __construct()
27 {
28 add_action('init', array($this, 'blockspare_blocks_block_assets' ));
29 add_action('enqueue_block_editor_assets', array($this,'blockspare_create_block'));
30 add_action('wp_enqueue_scripts', array($this,'blockspare_load_scripts'));
31 add_action('plugins_loaded', array($this,'blockspare_blocks_loader'));
32 add_action( 'rest_api_init', array($this,'blockspare_blocks_register_api_endpoints' ));
33
34
35 }
36
37 function blockspare_blocks_block_assets(){
38 wp_register_style(
39 'fontawesome',
40 plugins_url('assets/fontawesome/css/all.css', dirname(__FILE__)),
41 array()
42
43 );
44 // Load the compiled styles.
45 wp_enqueue_style(
46 'blockspare-frontend-block-style-css',
47 plugins_url('dist/style-blocks.css', dirname(__FILE__)),
48 array()
49 );
50
51 wp_register_style('slick', BLOCKSPARE_PLUGIN_URL . 'assets/slick/css/slick.css', array(), '', 'all');
52 if (is_admin()){
53 wp_enqueue_style('slick');
54 }
55
56 include(BLOCKSPARE_PLUGIN_DIR . '/admin/notice-upgrade.php');
57 }
58
59 function blockspare_load_scripts(){
60 if(has_blocks()){
61
62 wp_enqueue_style('fontawesome');
63 $min = (SCRIPT_DEBUG == true) ? '' : '.min';
64 wp_register_script('slick', BLOCKSPARE_PLUGIN_URL . 'assets/slick/js/slick.js', array('jquery'), '', true);
65 if(has_block('blockspare/blockspare-carousel' )|| has_block('blockspare/blockspare-slider' ) || has_block('blockspare/latest-posts-block-carousel-grid') || has_block('blockspare/blockspare-posts-block-slider')){
66 wp_enqueue_script('slick');
67 wp_enqueue_style('slick');
68
69 }
70
71 wp_register_script('countup', BLOCKSPARE_PLUGIN_URL . 'assets/js/countup/jquery.counterup' . $min . '.js', array('waypoint'), true);
72 wp_enqueue_script('waypoint', BLOCKSPARE_PLUGIN_URL . 'assets/js/countup/waypoints.min.js', array('jquery'), '', true);
73
74 if(has_block('blockspare/blockspare-masonry')){
75 wp_enqueue_script('jquery-masonry');
76 }
77 wp_enqueue_script('blockspare-animation', BLOCKSPARE_PLUGIN_URL . 'dist/block_animation.js', array(), '', true);
78 wp_enqueue_script('blockspare-script', BLOCKSPARE_PLUGIN_URL . 'dist/block_frontend.js', array('jquery', 'waypoint', 'countup'), '', true);
79 if(has_block('blockspare/blockspare-tabs')){
80 wp_enqueue_script('blockspare-tabs', BLOCKSPARE_PLUGIN_URL . 'dist/block_tabs.js', array('jquery'), '', true);
81 }
82 wp_register_script('blockspare-pagination-js', BLOCKSPARE_PLUGIN_URL . 'dist/block_pagination.js', array(), '', true);
83 wp_localize_script('blockspare-pagination-js', 'blocsparePagination',array(
84 'ajaxurl' => admin_url( 'admin-ajax.php' ),
85 'nonce'=>wp_create_nonce('blockspare-load-more-nonce')
86 ));
87 }
88
89
90 }
91
92 function blockspare_create_block(){
93
94 $script_dep_path = BLOCKSPARE_BASE_DIR . 'dist/blocks.asset.php';
95 $script_info = file_exists($script_dep_path) ? include $script_dep_path : array(
96 'dependencies' => array() ,
97 'version' => BLOCKSPARE_VERSION,
98 );
99 if (version_compare(get_bloginfo('version') , '5.8', '<'))
100 {
101 $script_dep = array_merge($script_info['dependencies'],array(
102 'wp-blocks',
103 'wp-i18n',
104 'wp-element',
105 'wp-components',
106 'wp-editor',
107 'wp-api-fetch'
108 ));
109 }
110 else
111 {
112 $script_dep = $script_info['dependencies'];
113 }
114
115 wp_enqueue_script('blockspare-blocks-block-js', // Handle.
116 BLOCKSPARE_PLUGIN_URL . 'dist/blocks.js', $script_dep, // Dependencies, defined above.
117 $script_info['version'], // AFT_PRICING_TABLE_VERSION.
118 true
119 // Enqueue the script in the footer.
120 );
121
122 if (is_admin()) :
123 wp_enqueue_style('fontawesome');
124 wp_enqueue_style(
125 'blockspare-block-edit-style',
126 BLOCKSPARE_PLUGIN_URL . 'dist/blocks.css',
127 array('wp-edit-blocks')
128 );
129 endif;
130
131
132 $blockspare_priview_img_url = BLOCKSPARE_PLUGIN_URL . 'assets/blockspare-placeholder-img.jpg';
133 $blockspare_food_img_url = BLOCKSPARE_PLUGIN_URL . 'assets/blockspare-placeholder-img-square.jpg';
134 $blockspare_dashboard_logo = BLOCKSPARE_PLUGIN_URL . 'assets/images/blockspare-logo.png';
135 $taxonomies = get_categories();
136 $txnm = array();
137
138 foreach( $taxonomies as $type ) {
139
140
141 $txnm[] = array(
142 'label' => $type->name,
143 'value' => $type->term_id,
144 );
145 }
146
147 $date = wp_kses_post(date_i18n(get_option('date_format')));
148 wp_localize_script(
149 'blockspare-blocks-block-js',
150 'blockspare_globals',
151 array(
152 'srcUrl' => untrailingslashit(plugins_url('/', BLOCKSPARE_BASE_DIR . '/dist/')),
153 'rest_url' => esc_url(rest_url()),
154 'img' => $blockspare_priview_img_url,
155 'homeUrl'=>home_url(),
156 'blogUrl'=>get_site_url(),
157 'menu_img_url' => $blockspare_food_img_url,
158 'logo'=>$blockspare_dashboard_logo,
159 'postTypes' => $this->aft_get_post_types(),
160 'taxonomies' => $this->aft_get_taxonomies(),
161 'postQueryEndpoint'=>'aft/v1/post-query',
162 'config' => '',
163 'configuration' => '',
164 'settings' => '',
165 'bs_date'=>$date,
166 "imagePath"=> "https://templatespare.com/wp-content/uploads/blockspare/blocks/"
167 )
168 );
169 }
170
171 function aft_get_post_types(){
172 $args = array(
173 'public' => true,
174 'show_in_rest' => true,
175 );
176 $post_types = get_post_types( $args, 'objects' );
177 $output = array();
178 foreach ( $post_types as $post_type ) {
179
180 if ( 'attachment' == $post_type->name ) {
181 continue;
182 }
183 $output[] = array(
184 'value' => $post_type->name,
185 'label' => $post_type->label,
186 );
187 }
188
189 return apply_filters( 'aft_blocks_post_types', $output );
190 }
191
192
193
194 function aft_get_taxonomies() {
195 $post_types = $this->aft_get_post_types();
196 $output = array();
197 foreach ( $post_types as $key => $post_type ) {
198 $taxonomies = get_object_taxonomies( $post_type['value'], 'objects' );
199 $taxs = array();
200 foreach ( $taxonomies as $term_slug => $term ) {
201 if ( ! $term->public || ! $term->show_ui ) {
202 continue;
203 }
204 $taxs[ $term_slug ] = $term;
205 $terms = get_terms( $term_slug );
206 $term_items = array();
207 if ( ! empty( $terms ) ) {
208 foreach ( $terms as $term_key => $term_item ) {
209 $term_items[] = array(
210 'value' => $term_item->term_id,
211 'label' => $term_item->name,
212 );
213 }
214 $output[ $post_type['value'] ]['terms'][ $term_slug ] = $term_items;
215 }
216 }
217 $output[ $post_type['value'] ]['taxonomy'] = $taxs;
218 }
219
220 return apply_filters( 'aft_blocks_taxonomies', $output );
221 }
222
223 function blockspare_blocks_loader(){
224
225 if ( PHP_VERSION_ID >= 50600 ) {
226 require_once BLOCKSPARE_PLUGIN_DIR .'inc/layout/class-image-importer.php';
227 require_once BLOCKSPARE_PLUGIN_DIR . 'inc/layout/functions.php';
228 require_once BLOCKSPARE_PLUGIN_DIR . 'inc/layout/registry.php';
229 require_once BLOCKSPARE_PLUGIN_DIR . 'inc/layout/components.php';
230
231 /**
232 * REST API Endpoints for Layouts.
233 */
234 require_once BLOCKSPARE_PLUGIN_DIR . 'inc/layout/endpoints.php';
235
236 /**
237 * Import Pattern
238 */
239
240 //require_once BLOCKSPARE_PLUGIN_DIR . 'inc/pattern/pattern.php';
241 }
242
243 //Load Gutenberg Block php Files
244 include(BLOCKSPARE_PLUGIN_DIR . 'inc/other-block/date-time/index.php');
245 include(BLOCKSPARE_PLUGIN_DIR . '/inc/other-block/social-sharing/index.php');
246 include(BLOCKSPARE_PLUGIN_DIR . '/inc/latest-post-block/posts-grid/index.php');
247 include(BLOCKSPARE_PLUGIN_DIR . '/inc/latest-post-block/posts-list/index.php');
248
249 include(BLOCKSPARE_PLUGIN_DIR . '/inc/latest-post-block/posts-express-grid/index.php');
250 include(BLOCKSPARE_PLUGIN_DIR . '/inc/latest-post-block/posts-express-grid/post-content.php');
251
252
253 include(BLOCKSPARE_PLUGIN_DIR . '/inc/latest-post-block/posts-carousel-grid/index.php');
254 include(BLOCKSPARE_PLUGIN_DIR . '/inc/latest-post-block/posts-slider/index.php');
255
256 include(BLOCKSPARE_PLUGIN_DIR . '/inc/post-banner/banner-1/index.php');
257 include(BLOCKSPARE_PLUGIN_DIR . '/inc/post-banner/banner-2/index.php');
258 include(BLOCKSPARE_PLUGIN_DIR . '/inc/post-banner/banner-9/index.php');
259 include(BLOCKSPARE_PLUGIN_DIR . 'inc/block-posts-config/ajax-pagination.php');
260 include(BLOCKSPARE_PLUGIN_DIR . 'inc/block-posts-config/class-post-rest-api.php');
261 include(BLOCKSPARE_PLUGIN_DIR . 'inc/block-posts-config/class-multiauthor-backend.php');
262 include(BLOCKSPARE_PLUGIN_DIR . 'inc/block-posts-config/class-multiauthor-frontend.php');
263 include(BLOCKSPARE_PLUGIN_DIR . 'inc/block-posts-config/tax-category.php');
264 include(BLOCKSPARE_PLUGIN_DIR . 'inc/block-posts-config/class-bs-post.php');
265 include(BLOCKSPARE_PLUGIN_DIR . 'inc/block-banner/frontend-render/post-banner-config.php');
266 include(BLOCKSPARE_PLUGIN_DIR . 'inc/block-banner/frontend-render/post-banner-style.php');
267 include(BLOCKSPARE_PLUGIN_DIR . 'inc/other-block/search/index.php');
268 include(BLOCKSPARE_PLUGIN_DIR . 'inc/latest-post-block/posts-flash/index.php');
269 include(BLOCKSPARE_PLUGIN_DIR . 'inc/other-block/popular-tags/index.php');
270 include(BLOCKSPARE_PLUGIN_DIR . 'inc/page-templates/module.php');
271 }
272
273 function blockspare_blocks_register_api_endpoints(){
274
275 $posts_controller = new Aft_Post_Rest_Controller();
276 $posts_controller->register_routes();
277
278
279 }
280
281 }
282 BlockspareInit::get_instance();
283 }
284
285
286