# ever-compare/1.0.2/includes/classes/Assets.php

Ever Compare – Products Compare Plugin for WooCommerce, version 1.0.2. 108 lines.

- Page: https://pluginprobe.com/plugins/ever-compare/1.0.2/code/includes/classes/Assets.php
- Raw: https://pluginprobe.com/plugins/ever-compare/1.0.2/raw/includes/classes/Assets.php
- Modified: 2021-05-02T09:10:32+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/ever-compare/1.0.2/code/includes/classes/Assets.php#L10-L20`.

```php
<?php
namespace EverCompare;
/**
 * Assets handlers class
 */
class Assets {

    /**
     * [$_instance]
     * @var null
     */
    private static $_instance = null;

    /**
     * [instance] Initializes a singleton instance
     * @return [Base]
     */
    public static function instance() {
        if ( is_null( self::$_instance ) ) {
            self::$_instance = new self();
        }
        return self::$_instance;
    }

    /**
     * Class constructor
     */
    private 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 [
            'evercompare-admin' => [
                'src'     => EVERCOMPARE_ASSETS . '/js/admin.js',
                'version' => filemtime( EVERCOMPARE_PATH . '/assets/js/admin.js' ),
                'deps'    => [ 'jquery' ]
            ],
            'evercompare-frontend' => [
                'src'     => EVERCOMPARE_ASSETS . '/js/frontend.js',
                'version' => filemtime( EVERCOMPARE_PATH . '/assets/js/frontend.js' ),
                'deps'    => [ 'jquery' ]
            ],
        ];
    }

    /**
     * All available styles
     *
     * @return array
     */
    public function get_styles() {
        return [
            'evercompare-admin' => [
                'src'     => EVERCOMPARE_ASSETS . '/css/admin.css',
                'version' => filemtime( EVERCOMPARE_PATH . '/assets/css/admin.css' ),
            ],
            'evercompare-frontend' => [
                'src'     => EVERCOMPARE_ASSETS . '/css/frontend.css',
                'version' => filemtime( EVERCOMPARE_PATH . '/assets/css/frontend.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'] );
        }

        $setting_page = 0;
        if( isset( $_GET['page'] ) && $_GET['page'] == 'evercompare' ){
            $setting_page = 1;
        }
        $localize_data = array(
            'ajaxurl'    => admin_url( 'admin-ajax.php' ),
            'popup'      => ( ever_compare_get_option( 'open_popup', 'ever_compare_settings_tabs', 'on' ) === 'on' ) ? 'yes' : 'no',
            'is_settings'=> $setting_page,
        );
        wp_localize_script( 'evercompare-frontend', 'evercompare', $localize_data );
        wp_localize_script( 'evercompare-admin', 'evercompare', $localize_data );
        
    }


}

```
