diff --git a/includes/admin/class-enqueue.php b/includes/admin/class-enqueue.php index e7ce6786..b977cbb2 100644 --- a/includes/admin/class-enqueue.php +++ b/includes/admin/class-enqueue.php @@ -37,12 +37,6 @@ final class Enqueue extends \um\common\Enqueue { public $front_css_baseurl; - /** - * @var string - */ - public $suffix; - - /** * @var bool */ @@ -107,10 +101,10 @@ final class Enqueue extends \um\common\Enqueue { wp_register_style( 'um_account', UM_URL . 'assets/css/um-account.css', array(), UM_VERSION ); wp_register_style( 'um_default_css', UM_URL . 'assets/css/um-old-default.css', array(), UM_VERSION ); wp_register_style( 'um_fonticons_fa', UM_URL . 'assets/css/um-fonticons-fa.css', array(), UM_VERSION ); - wp_register_style( 'select2', UM_URL . 'assets/css/select2/select2' . $this->suffix . '.css', array(), UM_VERSION ); + wp_register_style( 'select2', UM_URL . 'assets/css/select2/select2' . self::get_suffix() . '.css', array(), UM_VERSION ); wp_register_style( 'um_fonticons_ii', UM_URL . 'assets/css/um-fonticons-ii.css', array(), UM_VERSION ); - wp_register_script( 'um_admin_blocks_shortcodes', UM_URL . 'assets/js/um-blocks' . $this->suffix . '.js', array( 'wp-i18n', 'wp-blocks', 'wp-components' ), UM_VERSION, true ); + wp_register_script( 'um_admin_blocks_shortcodes', UM_URL . 'assets/js/um-blocks' . self::get_suffix() . '.js', array( 'wp-i18n', 'wp-blocks', 'wp-components' ), UM_VERSION, true ); wp_set_script_translations( 'um_admin_blocks_shortcodes', 'ultimate-member' ); if ( ! empty( UM()->account()->get_tab_fields( 'notifications', array() ) ) ) { @@ -146,12 +140,12 @@ final class Enqueue extends \um\common\Enqueue { wp_enqueue_script( 'um_admin_blocks_shortcodes' ); - wp_register_script( 'select2', UM_URL . 'assets/js/select2/select2.full' . $this->suffix . '.js', array( 'jquery', 'jquery-masonry' ), UM_VERSION, true ); + wp_register_script( 'select2', UM_URL . 'assets/js/select2/select2.full' . self::get_suffix() . '.js', array( 'jquery', 'jquery-masonry' ), UM_VERSION, true ); wp_register_script( 'um_datetime', UM_URL . 'assets/js/pickadate/picker.js', array( 'jquery' ), UM_VERSION, true ); wp_register_script( 'um_datetime_date', UM_URL . 'assets/js/pickadate/picker.date.js', array( 'jquery', 'um_datetime' ), UM_VERSION, true ); wp_register_script( 'um_datetime_time', UM_URL . 'assets/js/pickadate/picker.time.js', array( 'jquery', 'um_datetime' ), UM_VERSION, true ); - wp_register_script( 'um_conditional', UM_URL . 'assets/js/um-conditional' . $this->suffix . '.js', array( 'jquery', 'wp-hooks' ), UM_VERSION, true ); - wp_register_script( 'um_scripts', UM_URL . 'assets/js/um-scripts' . $this->suffix . '.js', array( 'jquery', 'wp-util', 'um_conditional', 'um_datetime', 'um_datetime_date', 'um_datetime_time', 'select2' ), UM_VERSION, true ); + wp_register_script( 'um_conditional', UM_URL . 'assets/js/um-conditional' . self::get_suffix() . '.js', array( 'jquery', 'wp-hooks' ), UM_VERSION, true ); + wp_register_script( 'um_scripts', UM_URL . 'assets/js/um-scripts' . self::get_suffix() . '.js', array( 'jquery', 'wp-util', 'um_conditional', 'um_datetime', 'um_datetime_date', 'um_datetime_time', 'select2' ), UM_VERSION, true ); $max_upload_size = wp_max_upload_size(); if ( ! $max_upload_size ) { $max_upload_size = 0; @@ -166,14 +160,14 @@ final class Enqueue extends \um\common\Enqueue { ); wp_localize_script( 'um_scripts', 'um_scripts', $localize_data ); - wp_register_script( 'um_dropdown', UM_URL . 'assets/js/dropdown' . $this->suffix . '.js', array( 'jquery' ), UM_VERSION, true ); - wp_register_script( 'um_members', UM_URL . 'assets/js/um-members' . $this->suffix . '.js', array( 'jquery', 'wp-util', 'jquery-ui-slider', 'um_dropdown', 'wp-hooks', 'jquery-masonry', 'um_scripts' ), UM_VERSION, true ); + wp_register_script( 'um_dropdown', UM_URL . 'assets/js/dropdown' . self::get_suffix() . '.js', array( 'jquery' ), UM_VERSION, true ); + wp_register_script( 'um_members', UM_URL . 'assets/js/um-members' . self::get_suffix() . '.js', array( 'jquery', 'wp-util', 'jquery-ui-slider', 'um_dropdown', 'wp-hooks', 'jquery-masonry', 'um_scripts' ), UM_VERSION, true ); - wp_register_script( 'um_account', UM_URL . 'assets/js/um-account' . $this->suffix . '.js', array( 'jquery', 'wp-hooks' ), UM_VERSION, true ); - wp_register_script( 'um_scrollbar', UM_URL . 'assets/js/simplebar' . $this->suffix . '.js', array( 'jquery' ), UM_VERSION, true ); - wp_register_script( 'um_crop', UM_URL . 'assets/js/um-crop' . $this->suffix . '.js', array( 'jquery' ), UM_VERSION, true ); - wp_register_script( 'um_functions', UM_URL . 'assets/js/um-functions' . $this->suffix . '.js', array( 'jquery', 'jquery-masonry', 'wp-util', 'um_scrollbar' ), UM_VERSION, true ); - wp_register_script( 'um_responsive', UM_URL . 'assets/js/um-responsive' . $this->suffix . '.js', array( 'jquery', 'um_functions', 'um_crop' ), UM_VERSION, true ); + wp_register_script( 'um_account', UM_URL . 'assets/js/um-account' . self::get_suffix() . '.js', array( 'jquery', 'wp-hooks' ), UM_VERSION, true ); + wp_register_script( 'um_scrollbar', UM_URL . 'assets/js/simplebar' . self::get_suffix() . '.js', array( 'jquery' ), UM_VERSION, true ); + wp_register_script( 'um_crop', UM_URL . 'assets/js/um-crop' . self::get_suffix() . '.js', array( 'jquery' ), UM_VERSION, true ); + wp_register_script( 'um_functions', UM_URL . 'assets/js/um-functions' . self::get_suffix() . '.js', array( 'jquery', 'jquery-masonry', 'wp-util', 'um_scrollbar' ), UM_VERSION, true ); + wp_register_script( 'um_responsive', UM_URL . 'assets/js/um-responsive' . self::get_suffix() . '.js', array( 'jquery', 'um_functions', 'um_crop' ), UM_VERSION, true ); // render blocks wp_enqueue_script( 'um_datetime' ); @@ -235,12 +229,12 @@ final class Enqueue extends \um\common\Enqueue { wp_deregister_script( 'select2' ); } - wp_register_script( 'select2', $this->front_js_baseurl . 'select2/select2.full' . $this->suffix . '.js', array( 'jquery', 'jquery-masonry' ), '4.0.13', true ); - wp_register_script( 'um_jquery_form', $this->front_js_baseurl . 'um-jquery-form' . $this->suffix . '.js', array( 'jquery' ), UM_VERSION, true ); + wp_register_script( 'select2', $this->front_js_baseurl . 'select2/select2.full' . self::get_suffix() . '.js', array( 'jquery', 'jquery-masonry' ), '4.0.13', true ); + wp_register_script( 'um_jquery_form', $this->front_js_baseurl . 'um-jquery-form' . self::get_suffix() . '.js', array( 'jquery' ), UM_VERSION, true ); wp_register_script( 'um_fileupload', $this->front_js_baseurl . 'um-fileupload.js', array( 'jquery' ), UM_VERSION, true ); - wp_register_script( 'um_crop', $this->front_js_baseurl . 'um-crop' . $this->suffix . '.js', array( 'jquery' ), UM_VERSION, true ); - wp_register_script( 'um_tipsy', $this->front_js_baseurl . 'um-tipsy' . $this->suffix . '.js', array( 'jquery' ), UM_VERSION, true ); - wp_register_script( 'um_functions', $this->front_js_baseurl . 'um-functions' . $this->suffix . '.js', array( 'jquery', 'um_tipsy', 'um_scrollbar' ), UM_VERSION, true ); + wp_register_script( 'um_crop', $this->front_js_baseurl . 'um-crop' . self::get_suffix() . '.js', array( 'jquery' ), UM_VERSION, true ); + wp_register_script( 'um_tipsy', $this->front_js_baseurl . 'um-tipsy' . self::get_suffix() . '.js', array( 'jquery' ), UM_VERSION, true ); + wp_register_script( 'um_functions', $this->front_js_baseurl . 'um-functions' . self::get_suffix() . '.js', array( 'jquery', 'um_tipsy', 'um_scrollbar' ), UM_VERSION, true ); wp_register_script( 'um_datetime', $this->front_js_baseurl . 'pickadate/picker.js', array( 'jquery' ), UM_VERSION, true ); wp_register_script( 'um_datetime_date', $this->front_js_baseurl . 'pickadate/picker.date.js', array( 'jquery', 'um_datetime' ), UM_VERSION, true ); @@ -256,11 +250,11 @@ final class Enqueue extends \um\common\Enqueue { } } - wp_register_script( 'um_scripts', $this->front_js_baseurl . 'um-scripts' . $this->suffix . '.js', array( 'um_functions', 'um_crop', 'um_raty', 'select2', 'um_jquery_form', 'um_fileupload', 'um_datetime', 'um_datetime_date', 'um_datetime_time'/*, 'um_datetime_legacy'*/ ), UM_VERSION, true ); - wp_register_script( 'um_responsive', $this->front_js_baseurl . 'um-responsive' . $this->suffix . '.js', array( 'um_scripts' ), UM_VERSION, true ); - wp_register_script( 'um_modal', $this->front_js_baseurl . 'um-modal' . $this->suffix . '.js', array( 'um_responsive' ), UM_VERSION, true ); + wp_register_script( 'um_scripts', $this->front_js_baseurl . 'um-scripts' . self::get_suffix() . '.js', array( 'um_functions', 'um_crop', 'um_raty', 'select2', 'um_jquery_form', 'um_fileupload', 'um_datetime', 'um_datetime_date', 'um_datetime_time'/*, 'um_datetime_legacy'*/ ), UM_VERSION, true ); + wp_register_script( 'um_responsive', $this->front_js_baseurl . 'um-responsive' . self::get_suffix() . '.js', array( 'um_scripts' ), UM_VERSION, true ); + wp_register_script( 'um_modal', $this->front_js_baseurl . 'um-modal' . self::get_suffix() . '.js', array( 'um_responsive' ), UM_VERSION, true ); - wp_register_style( 'select2', $this->front_css_baseurl . 'select2/select2' . $this->suffix . '.css', array(), '4.0.13' ); + wp_register_style( 'select2', $this->front_css_baseurl . 'select2/select2' . self::get_suffix() . '.css', array(), '4.0.13' ); wp_register_style( 'um_datetime', $this->front_css_baseurl . 'pickadate/default.css', array(), UM_VERSION ); wp_register_style( 'um_datetime_date', $this->front_css_baseurl . 'pickadate/default.date.css', array( 'um_datetime' ), UM_VERSION ); wp_register_style( 'um_datetime_time', $this->front_css_baseurl . 'pickadate/default.time.css', array( 'um_datetime' ), ultimatemember_version ); @@ -351,8 +345,8 @@ final class Enqueue extends \um\common\Enqueue { wp_deregister_script( 'select2' ); } - wp_register_script( 'select2', $this->front_js_baseurl . 'select2/select2.full' . $this->suffix . '.js', array( 'jquery', 'jquery-masonry' ), '4.0.13', true ); - wp_register_style( 'select2', $this->front_css_baseurl . 'select2/select2' . $this->suffix . '.css', array(), '4.0.13' ); + wp_register_script( 'select2', $this->front_js_baseurl . 'select2/select2.full' . self::get_suffix() . '.js', array( 'jquery', 'jquery-masonry' ), '4.0.13', true ); + wp_register_style( 'select2', $this->front_css_baseurl . 'select2/select2' . self::get_suffix() . '.css', array(), '4.0.13' ); wp_register_style( 'um_admin_forms', $this->css_url . 'um-admin-forms.css', array( 'wp-color-picker', 'um_ui', 'select2' ), UM_VERSION ); wp_enqueue_style( 'um_admin_forms' ); @@ -690,7 +684,7 @@ final class Enqueue extends \um\common\Enqueue { UM()->enqueue()->load_modal(); UM()->enqueue()->load_responsive(); - wp_register_script( 'um_raty', UM_URL . 'assets/js/um-raty' . UM()->enqueue()->suffix . '.js', array( 'jquery', 'wp-i18n' ), ultimatemember_version, true ); + wp_register_script( 'um_raty', UM_URL . 'assets/js/um-raty' . self::get_suffix() . '.js', array( 'jquery', 'wp-i18n' ), ultimatemember_version, true ); wp_register_style( 'um_raty', UM_URL . 'assets/css/um-raty.css', array(), ultimatemember_version ); wp_register_style( 'um_default_css', UM_URL . 'assets/css/um-old-default.css', '', ultimatemember_version, 'all' ); diff --git a/includes/common/class-enqueue.php b/includes/common/class-enqueue.php index d590ef31..c16477eb 100644 --- a/includes/common/class-enqueue.php +++ b/includes/common/class-enqueue.php @@ -16,14 +16,18 @@ class Enqueue { * * @since 2.7.0 */ - public $suffix = ''; + public static $suffix = ''; /** * @var array URLs for easy using. * * @since 2.7.0 */ - public $urls = array(); + public static $urls = array( + 'js' => UM_URL . 'assets/js/', + 'css' => UM_URL . 'assets/css/', + 'libs' => UM_URL . 'assets/libs/', + ); /** * Enqueue constructor. @@ -31,27 +35,32 @@ class Enqueue { * @since 2.7.0 */ public function __construct() { - add_action( 'um_core_loaded', array( $this, 'init_variables' ) ); - add_action( 'admin_enqueue_scripts', array( &$this, 'common_libs' ), 9 ); add_action( 'wp_enqueue_scripts', array( &$this, 'common_libs' ), 9 ); } + public static function get_url( $type ) { + if ( ! in_array( $type, array( 'js', 'css', 'libs' ), true ) ) { + return ''; + } + + return self::$urls[ $type ]; + } + + public static function get_suffix() { + if ( empty( self::$suffix ) ) { + self::$suffix = ( ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) || ( defined( 'UM_SCRIPT_DEBUG' ) && UM_SCRIPT_DEBUG ) ) ? '' : '.min'; + } + return self::$suffix; + } + /** - * Init variables for enqueue scripts. + * Register jQuery-UI styles. * * @since 2.7.0 */ - public function init_variables() { - $this->suffix = ( ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) || ( defined( 'UM_SCRIPT_DEBUG' ) && UM_SCRIPT_DEBUG ) ) ? '' : '.min'; - - $this->urls['js'] = UM_URL . 'assets/js/'; - $this->urls['css'] = UM_URL . 'assets/css/'; - $this->urls['libs'] = UM_URL . 'assets/libs/'; - } - protected function register_jquery_ui() { - wp_register_style( 'um_ui', $this->urls['libs'] . 'jquery-ui/jquery-ui' . $this->suffix . '.css', array(), '1.12.1' ); + wp_register_style( 'um_ui', self::get_url( 'libs' ) . 'jquery-ui/jquery-ui' . self::get_suffix() . '.css', array(), '1.12.1' ); } /** diff --git a/includes/frontend/class-enqueue.php b/includes/frontend/class-enqueue.php index b8196d0b..5c52b421 100644 --- a/includes/frontend/class-enqueue.php +++ b/includes/frontend/class-enqueue.php @@ -85,11 +85,11 @@ final class Enqueue extends \um\common\Enqueue { wp_dequeue_script( 'select2'); wp_deregister_script('select2'); } - wp_register_script( 'select2', $this->js_baseurl . 'select2/select2.full' . $this->suffix . '.js', array( 'jquery' ), '4.0.13', true ); + wp_register_script( 'select2', $this->js_baseurl . 'select2/select2.full' . self::get_suffix() . '.js', array( 'jquery' ), '4.0.13', true ); - wp_register_script( 'um_scrollbar', $this->js_baseurl . 'simplebar' . $this->suffix . '.js', array( 'jquery' ), UM_VERSION, true ); + wp_register_script( 'um_scrollbar', $this->js_baseurl . 'simplebar' . self::get_suffix() . '.js', array( 'jquery' ), UM_VERSION, true ); - wp_register_script( 'um_jquery_form', $this->js_baseurl . 'um-jquery-form' . $this->suffix . '.js', array( 'jquery' ), UM_VERSION, true ); + wp_register_script( 'um_jquery_form', $this->js_baseurl . 'um-jquery-form' . self::get_suffix() . '.js', array( 'jquery' ), UM_VERSION, true ); wp_register_script( 'um_fileupload', $this->js_baseurl . 'um-fileupload.js', array( 'jquery', 'um_jquery_form' ), UM_VERSION, true ); wp_register_script( 'um_datetime', $this->js_baseurl . 'pickadate/picker.js', array( 'jquery' ), UM_VERSION, true ); @@ -106,18 +106,18 @@ final class Enqueue extends \um\common\Enqueue { } } - wp_register_script( 'um_tipsy', $this->js_baseurl . 'um-tipsy' . $this->suffix . '.js', array( 'jquery' ), UM_VERSION, true ); - wp_register_script( 'um_raty', $this->js_baseurl . 'um-raty' . $this->suffix . '.js', array( 'jquery', 'wp-i18n' ), UM_VERSION, true ); - wp_register_script( 'um_crop', $this->js_baseurl . 'um-crop' . $this->suffix . '.js', array( 'jquery' ), UM_VERSION, true ); + wp_register_script( 'um_tipsy', $this->js_baseurl . 'um-tipsy' . self::get_suffix() . '.js', array( 'jquery' ), UM_VERSION, true ); + wp_register_script( 'um_raty', $this->js_baseurl . 'um-raty' . self::get_suffix() . '.js', array( 'jquery', 'wp-i18n' ), UM_VERSION, true ); + wp_register_script( 'um_crop', $this->js_baseurl . 'um-crop' . self::get_suffix() . '.js', array( 'jquery' ), UM_VERSION, true ); - wp_register_script( 'um_modal', $this->js_baseurl . 'um-modal' . $this->suffix . '.js', array( 'jquery', 'wp-util', 'um_crop' ), UM_VERSION, true ); + wp_register_script( 'um_modal', $this->js_baseurl . 'um-modal' . self::get_suffix() . '.js', array( 'jquery', 'wp-util', 'um_crop' ), UM_VERSION, true ); - wp_register_script('um_functions', $this->js_baseurl . 'um-functions' . $this->suffix . '.js', array( 'jquery', 'jquery-masonry', 'wp-util', 'um_scrollbar' ), UM_VERSION, true ); - wp_register_script( 'um_responsive', $this->js_baseurl . 'um-responsive' . $this->suffix . '.js', array( 'jquery', 'um_functions', 'um_crop' ), UM_VERSION, true ); + wp_register_script('um_functions', $this->js_baseurl . 'um-functions' . self::get_suffix() . '.js', array( 'jquery', 'jquery-masonry', 'wp-util', 'um_scrollbar' ), UM_VERSION, true ); + wp_register_script( 'um_responsive', $this->js_baseurl . 'um-responsive' . self::get_suffix() . '.js', array( 'jquery', 'um_functions', 'um_crop' ), UM_VERSION, true ); - wp_register_script( 'um-gdpr', $this->js_baseurl . 'um-gdpr' . $this->suffix . '.js', array( 'jquery' ), UM_VERSION, false ); - wp_register_script('um_conditional', $this->js_baseurl . 'um-conditional' . $this->suffix . '.js', array( 'jquery', 'wp-hooks' ), UM_VERSION, true ); - wp_register_script('um_scripts', $this->js_baseurl . 'um-scripts' . $this->suffix . '.js', array( 'jquery', 'wp-util', 'um_conditional', 'um_datetime', 'um_datetime_date', 'um_datetime_time', /*'um_datetime_legacy',*/ 'select2' ), UM_VERSION, true ); + wp_register_script( 'um-gdpr', $this->js_baseurl . 'um-gdpr' . self::get_suffix() . '.js', array( 'jquery' ), UM_VERSION, false ); + wp_register_script('um_conditional', $this->js_baseurl . 'um-conditional' . self::get_suffix() . '.js', array( 'jquery', 'wp-hooks' ), UM_VERSION, true ); + wp_register_script('um_scripts', $this->js_baseurl . 'um-scripts' . self::get_suffix() . '.js', array( 'jquery', 'wp-util', 'um_conditional', 'um_datetime', 'um_datetime_date', 'um_datetime_time', /*'um_datetime_legacy',*/ 'select2' ), UM_VERSION, true ); /** * UM hook * @@ -151,13 +151,13 @@ final class Enqueue extends \um\common\Enqueue { ) ); wp_localize_script( 'um_scripts', 'um_scripts', $localize_data ); - wp_register_script('um_dropdown', $this->js_baseurl . 'dropdown' . $this->suffix . '.js', array( 'jquery' ), UM_VERSION, true ); + wp_register_script('um_dropdown', $this->js_baseurl . 'dropdown' . self::get_suffix() . '.js', array( 'jquery' ), UM_VERSION, true ); - wp_register_script('um_members', $this->js_baseurl . 'um-members' . $this->suffix . '.js', array( 'jquery', 'wp-util', 'jquery-ui-slider', 'um_dropdown', 'wp-hooks', 'jquery-masonry', 'um_scripts' ), UM_VERSION, true ); - wp_register_script('um_profile', $this->js_baseurl . 'um-profile' . $this->suffix . '.js', array( 'jquery', 'wp-util', 'wp-i18n' ), UM_VERSION, true ); + wp_register_script('um_members', $this->js_baseurl . 'um-members' . self::get_suffix() . '.js', array( 'jquery', 'wp-util', 'jquery-ui-slider', 'um_dropdown', 'wp-hooks', 'jquery-masonry', 'um_scripts' ), UM_VERSION, true ); + wp_register_script('um_profile', $this->js_baseurl . 'um-profile' . self::get_suffix() . '.js', array( 'jquery', 'wp-util', 'wp-i18n' ), UM_VERSION, true ); $account_deps = apply_filters( 'um_account_scripts_dependencies', array( 'jquery', 'wp-hooks' ) ); - wp_register_script('um_account', $this->js_baseurl . 'um-account' . $this->suffix . '.js', $account_deps, UM_VERSION, true ); + wp_register_script('um_account', $this->js_baseurl . 'um-account' . self::get_suffix() . '.js', $account_deps, UM_VERSION, true ); wp_register_script( 'um_gchart', 'https://www.google.com/jsapi', array(), UM_VERSION, true ); }