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 / inc / class-assets.php

class-assets.php in Gutenify – Visual Site Builder Blocks & Starter Templates trunk, at core/inc/class-assets.php

142 lines 6.3 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 // Exit if accessed directly.
5 defined( 'ABSPATH' ) || exit;
6
7 class Assets {
8 public static function init() {
9 add_action( 'init', array( __CLASS__, 'register_assets' ) );
10 add_action( 'wp_enqueue_scripts', array( __CLASS__, 'enqueue_frontend_scripts' ), 9 );
11 }
12
13 /**
14 * Register plugin assets.
15 *
16 * @return void
17 */
18 public static function register_assets() {
19 $constants = Helpers::plugin_constants();
20 $plugin_main_slug = $constants['plugin_main_slug'];
21 $plugin_main_function_prefix = $constants['plugin_main_function_prefix'];
22 $plugin_main_base_url = Helpers::core_base_url();
23 $plugin_main_base_dir = Helpers::core_base_dir();
24 $plugin_main_version = $constants['plugin_main_version'];
25 $plugin_main_post_type_prefix = $constants['plugin_main_post_type_prefix'];
26
27 global $wp_version;
28
29 // Admin and Frontend localized vars.
30 $localized_vars = array(
31 'site_url' => esc_url( site_url() ),
32 $plugin_main_function_prefix . '_version' => $plugin_main_version,
33 'is_woocommerce_activated' => class_exists( 'woocommerce' ),
34 'wp_version' => $wp_version,
35 'add_template_url' => esc_url( admin_url( 'post-new.php?post_type=' . $plugin_main_post_type_prefix . '_template' ) ),
36 'pro_account_url' => esc_url( admin_url( 'admin.php?page=' . $plugin_main_slug . '-pro-license' ) ),
37 );
38
39 // Register anonymous handle.
40 $handle = $plugin_main_slug . '-global-inline-handle';
41 wp_register_style( $handle, false );
42 wp_register_script( $handle, false );
43
44 if ( is_admin() ) {
45 $localized_vars = array_merge(
46 $localized_vars,
47 array(
48 'site_url' => esc_url( site_url() ),
49 'plugin_directory_url' => esc_url( $plugin_main_base_url ),
50 $plugin_main_function_prefix . '_version' => $plugin_main_version,
51 'pro_license_status' => apply_filters( $plugin_main_function_prefix . '_pro_license_status', false ),
52 'is_pro_activated' => Helpers::is_pro_active(),
53 'is_block_theme' => wp_is_block_theme(), // function_exists( 'wp_get_theme' ) && ! empty( wp_get_theme()->is_block_theme() ),
54 'is_woocommerce_activated' => class_exists( 'woocommerce' ),
55 'gutenify_com_server_url' => defined( 'GUTENIFY_COM_SERVER_URL' ) ? trailingslashit( GUTENIFY_COM_SERVER_URL ) : trailingslashit( 'https://api.gutenify.com/' ),
56 'font_families' => gutenify_font_families(),
57 'wp_version' => $wp_version,
58 'active_blocks' => Helpers::active_blocks(),
59 )
60 );
61
62 }
63 $defaults = Helpers::plugin_constants();
64 $localized_vars = wp_parse_args( $localized_vars, $defaults );
65
66 // Scrollmagic JS.
67 $name = $plugin_main_slug . '-scrollmagic';
68 $filepath = 'assets/js/lib/scrollmagic';
69 wp_register_script( $name, $plugin_main_base_url . $filepath . '/ScrollMagic.min.js', array( 'jquery' ), '2.0.8', false );
70 wp_register_script( $name, $plugin_main_base_url . $filepath . '/ScrollMagic.min.js', array( 'jquery' ), '2.0.8', false );
71
72 // Isotope JS.
73 $name = 'gutenify-isotope';
74 $filepath = 'assets/js/lib/isotope.pkgd';
75 wp_register_script( $name, $plugin_main_base_url . $filepath . '.js', array( 'jquery' ), '3.0.6', false );
76
77 // Regsiter fonts url.
78 $fonts_url = gutenify_fonts_url();
79 wp_register_style( $plugin_main_slug . '-fonts', $fonts_url, array(), null );
80
81 wp_register_style( $plugin_main_slug . '-fontawesome', $plugin_main_base_url . 'assets/fontawesome/css/all.css', array(), 'v4' );
82
83 // Swiper JS.
84 wp_register_script( $plugin_main_slug . '-swiper', $plugin_main_base_url . 'assets/js/lib/swiper-bundle.js', array( 'jquery' ), '6.8.2', true );
85
86 // Swiper styles.
87 wp_register_style( $plugin_main_slug . '-swiper', $plugin_main_base_url . 'assets/css/lib/swiper-bundle.min.css', array(), '6.8.2' );
88
89 // Magnific JS.
90 wp_register_script( 'jquery-magnific-popup', $plugin_main_base_url . 'assets/js/lib/jquery.magnific-popup.js', array( 'jquery' ), '1.1.0', true );
91
92 // Magnific style.
93 wp_register_style( 'jquery-magnific-popup', $plugin_main_base_url . 'assets/css/lib/magnific-popup.css', array(), '1.1.0' );
94
95 // Marquee JS.
96 wp_register_script( 'jquery-marquee', $plugin_main_base_url . 'assets/js/lib/jquery.marquee.js', array( 'jquery' ), '1.6.0', true );
97
98 $asset_paths = array(
99 // Frontend.
100 'frontend' => array(
101 'path' => 'dist/non-blocks/frontend',
102 'js_dependencies' => array( $plugin_main_slug . '-scrollmagic' ),
103 'style_dependencies' => array( $plugin_main_slug . '-fontawesome', $plugin_main_slug . '-fonts' ), // , 'global-styles', 'woocommerce-layout'
104 ),
105 );
106
107 foreach ( $asset_paths as $handle => $asset ) {
108 $path = $asset['path'];
109 $asset_file = gutenify_get_block_asset_file_values( sprintf( '%s' . $path . '/index.asset.php', $plugin_main_base_dir ) );
110 $handle = $plugin_main_slug . '-' . str_replace( '/', '-', $handle );
111
112 $deps = ! empty( $asset['js_dependencies'] ) ? array_merge( $asset_file['dependencies'], $asset['js_dependencies'] ) : $asset_file['dependencies'];
113 wp_register_script( $handle, $plugin_main_base_url . $path . '/index.js', $deps, $asset_file['version'], true );
114
115 if ( file_exists( $plugin_main_base_dir . $path . '/index.css' ) ) {
116 $deps = ! empty( $asset['style_dependencies'] ) ? $asset['style_dependencies'] : array();
117 wp_register_style( $handle, $plugin_main_base_url . $path . '/index.css', $deps, $asset_file['version'] );
118 }
119 }
120
121 // Localize vars.
122 wp_localize_script( $plugin_main_slug . '-global-inline-handle', '_' . $plugin_main_function_prefix . '_vars', apply_filters( $plugin_main_slug . '--editor--localized-vars', $localized_vars ) );
123
124 wp_register_script( $plugin_main_slug . '-lib-aos', $plugin_main_base_url . '/assets/js/lib/aos.js', array(), '2.3.4', true );
125 wp_register_style( $plugin_main_slug . '-lib-aos', $plugin_main_base_url . '/assets/css/lib/aos.css', array(), '2.3.4' );
126 }
127
128 /**
129 * Enqueue front-end assets for blocks.
130 *
131 * @access public
132 * @since 1.9.5
133 */
134 public static function enqueue_frontend_scripts() {
135 $plugin_constants = Helpers::plugin_constants();
136 $plugin_main_slug = $plugin_constants['plugin_main_slug'];
137 wp_enqueue_script( $plugin_main_slug . '-frontend' );
138 }
139 }
140
141 Assets::init();
142