Current File : /home/kelaby89/diamondtiptiling.com/wp-content/plugins/floens-addon/includes/Assets.php
<?php

namespace Layerdrops\Floens;

class Assets
{

    /**
     * Class constructor
     */
    function __construct()
    {
        add_action('wp_enqueue_scripts', [$this, 'register_assets']);
        add_action('admin_enqueue_scripts', [$this, 'register_assets']);
    }

    /**
     * All available scripts
     *
     * @return array
     */
    public function get_scripts()
    {
        return [
            'bootstrap-select' => [
                'src'     => FLOENS_ADDON_ASSETS . '/vendors/bootstrap-select/js/bootstrap-select.min.js',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/vendors/bootstrap-select/js/bootstrap-select.min.js'),
                'deps'    => ['jquery', 'bootstrap']
            ],
            'jquery-bxslider' => [
                'src'     => FLOENS_ADDON_ASSETS . '/vendors/bxslider/jquery.bxslider.min.js',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/vendors/bxslider/jquery.bxslider.min.js'),
                'deps'    => ['jquery']
            ],
            'countdown' => [
                'src'     => FLOENS_ADDON_ASSETS . '/vendors/countdown/countdown.min.js',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/vendors/countdown/countdown.min.js'),
                'deps'    => ['jquery']
            ],
            'jarallax' => [
                'src'     => FLOENS_ADDON_ASSETS . '/vendors/jarallax/jarallax.min.js',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/vendors/jarallax/jarallax.min.js'),
                'deps'    => ['jquery']
            ],
            'jquery-ajaxchimp' => [
                'src'     => FLOENS_ADDON_ASSETS . '/vendors/jquery-ajaxchimp/jquery.ajaxchimp.min.js',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/vendors/jquery-ajaxchimp/jquery.ajaxchimp.min.js'),
                'deps'    => ['jquery']
            ],
            'jquery-appear' => [
                'src'     => FLOENS_ADDON_ASSETS . '/vendors/jquery-appear/jquery.appear.min.js',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/vendors/jquery-appear/jquery.appear.min.js'),
                'deps'    => ['jquery']
            ],
            'jquery-circle-progress' => [
                'src'     => FLOENS_ADDON_ASSETS . '/vendors/jquery-circle-progress/jquery.circle-progress.min.js',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/vendors/jquery-circle-progress/jquery.circle-progress.min.js'),
                'deps'    => ['jquery']
            ],
            'jquery-magnific-popup' => [
                'src'     => FLOENS_ADDON_ASSETS . '/vendors/jquery-magnific-popup/jquery.magnific-popup.min.js',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/vendors/jquery-magnific-popup/jquery.magnific-popup.min.js'),
                'deps'    => ['jquery']
            ],
            'odometer' => [
                'src'     => FLOENS_ADDON_ASSETS . '/vendors/odometer/odometer.min.js',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/vendors/odometer/odometer.min.js'),
                'deps'    => ['jquery']
            ],
            'owl-carousel' => [
                'src'     => FLOENS_ADDON_ASSETS . '/vendors/owl-carousel/owl.carousel.min.js',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/vendors/owl-carousel/owl.carousel.min.js'),
                'deps'    => ['jquery']
            ],
            'swiper' => [
                'src'     => FLOENS_ADDON_ASSETS . '/vendors/swiper/swiper.min.js',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/vendors/swiper/swiper.min.js'),
                'deps'    => ['jquery']
            ],
            'wow' => [
                'src'     => FLOENS_ADDON_ASSETS . '/vendors/wow/wow.js',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/vendors/wow/wow.js'),
                'deps'    => ['jquery']
            ],

            'sharer' => [
                'src'     => FLOENS_ADDON_ASSETS . '/vendors/sharer/sharer.min.js',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/vendors/sharer/sharer.min.js'),
                'deps'    => ['jquery']
            ],

            'circletype' => [
                'src'     => FLOENS_ADDON_ASSETS . '/vendors/circleType/jquery.circleType.js',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/vendors/circleType/jquery.circleType.js'),
                'deps'    => ['jquery']
            ],

            'circleletter' => [
                'src'     => FLOENS_ADDON_ASSETS . '/vendors/circleType/jquery.lettering.min.js',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/vendors/circleType/jquery.lettering.min.js'),
                'deps'    => ['jquery']
            ],
            'nouislider' => [
                'src'     => FLOENS_ADDON_ASSETS . '/vendors/nouislider/nouislider.min.js',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/vendors/nouislider/nouislider.min.js'),
                'deps'    => ['jquery']
            ],
            'tinyslider' => [
                'src'     => FLOENS_ADDON_ASSETS . '/vendors/tiny-slider/tiny-slider.js',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/vendors/tiny-slider/tiny-slider.js'),
                'deps'    => ['jquery']
            ],
            'slick' => [
                'src'     => FLOENS_ADDON_ASSETS . '/vendors/slick/slick.min.js',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/vendors/slick/slick.min.js'),
                'deps'    => ['jquery']
            ],
            'select2' => [
                'src'     => FLOENS_ADDON_ASSETS . '/vendors/select2/js/select2.min.js',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/vendors/select2/js/select2.min.js'),
                'deps'    => ['jquery']
            ],
            'timepicker' => [
                'src'     => FLOENS_ADDON_ASSETS . '/vendors/timepicker/timePicker.js',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/vendors/timepicker/timePicker.js'),
                'deps'    => ['jquery']
            ],
            'floens-addon-customizer' => [
                'src'     => FLOENS_ADDON_ASSETS . '/js/floens-addon-customizer.js',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/js/floens-addon-customizer.js'),
                'deps'    => ['jquery', 'select2']
            ],
            'floens-addon-script' => [
                'src'     => FLOENS_ADDON_ASSETS . '/js/floens-addon.js',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/js/floens-addon.js'),
                'deps'    => ['jquery']
            ]
        ];
    }

    /**
     * All available styles
     *
     * @return array
     */
    public function get_styles()
    {
        return [
            'animate' => [
                'src'     => FLOENS_ADDON_ASSETS . '/vendors/animate/animate.min.css',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/vendors/animate/animate.min.css')
            ],
            'custom-animate' => [
                'src'     => FLOENS_ADDON_ASSETS . '/vendors/animate/custom-animate.css',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/vendors/animate/custom-animate.css')
            ],
            'bootstrap-select' => [
                'src'     => FLOENS_ADDON_ASSETS . '/vendors/bootstrap-select/css/bootstrap-select.min.css',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/vendors/bootstrap-select/css/bootstrap-select.min.css')
            ],
            'bxslider' => [
                'src'     => FLOENS_ADDON_ASSETS . '/vendors/bxslider/jquery.bxslider.css',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/vendors/bxslider/jquery.bxslider.css')
            ],
            'jarallax' => [
                'src'     => FLOENS_ADDON_ASSETS . '/vendors/jarallax/jarallax.css',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/vendors/jarallax/jarallax.css')
            ],
            'jquery-magnific-popup' => [
                'src'     => FLOENS_ADDON_ASSETS . '/vendors/jquery-magnific-popup/jquery.magnific-popup.css',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/vendors/jquery-magnific-popup/jquery.magnific-popup.css')
            ],
            'odometer' => [
                'src'     => FLOENS_ADDON_ASSETS . '/vendors/odometer/odometer.min.css',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/vendors/odometer/odometer.min.css')
            ],
            'owl-carousel' => [
                'src'     => FLOENS_ADDON_ASSETS . '/vendors/owl-carousel/owl.carousel.min.css',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/vendors/owl-carousel/owl.carousel.min.css')
            ],
            'owl-theme' => [
                'src'     => FLOENS_ADDON_ASSETS . '/vendors/owl-carousel/owl.theme.default.min.css',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/vendors/owl-carousel/owl.theme.default.min.css')
            ],
            'reey-font' => [
                'src'     => FLOENS_ADDON_ASSETS . '/vendors/reey-font/stylesheet.css',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/vendors/reey-font/stylesheet.css')
            ],
            'floens-dmsans-font' => [
                'src'     => '//fonts.googleapis.com/css2?family=DM+Sans:opsz,[email protected],400;9..40,500;9..40,700&display=swap',
                'version' => '1.0',
                'deps' => ['floens-fonts']
            ],
            'swiper' => [
                'src'     => FLOENS_ADDON_ASSETS . '/vendors/swiper/swiper.min.css',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/vendors/swiper/swiper.min.css')
            ],
            'nouislider' => [
                'src'     => FLOENS_ADDON_ASSETS . '/vendors/nouislider/nouislider.min.css',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/vendors/nouislider/nouislider.min.css')
            ],
            'tinyslider' => [
                'src'     => FLOENS_ADDON_ASSETS . '/vendors/tiny-slider/tiny-slider.css',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/vendors/tiny-slider/tiny-slider.css')
            ],
            'slick' => [
                'src'     => FLOENS_ADDON_ASSETS . '/vendors/slick/slick.css',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/vendors/slick/slick.css')
            ],
            'select2' => [
                'src'     => FLOENS_ADDON_ASSETS . '/vendors/select2/css/select2.min.css',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/vendors/select2/css/select2.min.css')
            ],
            'jquery-ui' => [
                'src'     => FLOENS_ADDON_ASSETS . '/vendors/jquery-ui/jquery-ui.css',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/vendors/jquery-ui/jquery-ui.css')
            ],
            'timepicker' => [
                'src'     => FLOENS_ADDON_ASSETS . '/vendors/timepicker/timePicker.css',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/vendors/timepicker/timePicker.css')
            ],
            'floens-addon-style' => [
                'src'     => FLOENS_ADDON_ASSETS . '/css/floens-addon.css',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/css/floens-addon.css')
            ],
            'floens-addon-admin-style' => [
                'src'     => FLOENS_ADDON_ASSETS . '/css/floens-addon-admin.css',
                'version' => filemtime(FLOENS_ADDON_PATH . '/assets/css/floens-addon-admin.css')
            ]
        ];
    }

    /**
     * Register scripts and styles
     *
     * @return void
     */
    public function register_assets()
    {
        $scripts = $this->get_scripts();
        $styles  = $this->get_styles();

        foreach ($scripts as $handle => $script) {
            $deps = isset($script['deps']) ? $script['deps'] : false;

            wp_register_script($handle, $script['src'], $deps, $script['version'], true);
        }

        foreach ($styles as $handle => $style) {
            $deps = isset($style['deps']) ? $style['deps'] : false;

            wp_register_style($handle, $style['src'], $deps, $style['version']);
        }
    }
}