2014-12-15 22:38:07 +02:00
< ? php
class UM_Enqueue {
function __construct () {
2016-01-07 15:37:01 -08:00
2015-01-28 17:16:04 +02:00
add_action ( 'wp_head' , array ( & $this , 'wp_head' ), 999 ); // high-priority
2016-01-07 15:37:01 -08:00
$priority = apply_filters ( 'um_core_enqueue_priority' , 100 );
2015-11-05 19:51:31 +08:00
add_action ( 'wp_enqueue_scripts' , array ( & $this , 'wp_enqueue_scripts' ), $priority );
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
}
2016-01-07 15:37:01 -08:00
2015-01-28 17:16:04 +02:00
/***
*** @Enqueue inline css globally
***/
function wp_head () {
$css = um_get_option ( 'custom_css' );
if ( ! $css ) return ; ?> <!-- ULTIMATE MEMBER INLINE CSS BEGIN --><style type="text/css"><?php print $this->minify( $css ); ?></style><!-- ULTIMATE MEMBER INLINE CSS END --><?php
}
2016-01-07 15:37:01 -08:00
2015-01-28 17:16:04 +02:00
/***
*** @Minify css string
***/
function minify( $css ) {
$css = str_replace(array("\r", "\n"), '', $css);
$css = str_replace(' {','{', $css );
$css = str_replace('{ ','{', $css );
$css = str_replace('; ',';', $css );
$css = str_replace(';}','}', $css );
$css = str_replace(': ',':', $css );
return $css;
}
2016-01-07 15:37:01 -08:00
2015-01-15 17:15:12 +02:00
/***
*** @Enqueue scripts and styles
***/
2015-01-28 17:16:04 +02:00
function wp_enqueue_scripts() {
2016-01-07 15:37:01 -08:00
global $ultimatemember, $post;
2015-02-14 02:06:43 +02:00
2015-02-13 02:05:04 +02:00
$exclude_home = um_get_option('js_css_exlcude_home');
if ( $exclude_home && ( is_home() || is_front_page() ) ) {
return;
}
2016-01-07 15:37:01 -08:00
2015-01-16 13:55:26 +02:00
$exclude = um_get_option('js_css_exclude');
2015-11-05 19:51:31 +08:00
if ( is_array( $exclude ) ) {
array_filter( $exclude );
}
2015-02-12 02:16:33 +02:00
if ( $exclude && !is_admin() && is_array( $exclude ) ) {
2016-01-07 15:37:01 -08:00
2015-01-28 17:16:04 +02:00
$c_url = $ultimatemember->permalinks->get_current_url( get_option('permalink_structure') );
2016-01-07 15:37:01 -08:00
2015-01-16 14:20:26 +02:00
foreach( $exclude as $match ) {
2015-02-14 02:06:43 +02:00
if ( strstr( $c_url, untrailingslashit( $match ) ) ) {
2015-02-12 02:16:33 +02:00
return;
2015-02-14 02:06:43 +02:00
}
2015-02-12 02:16:33 +02:00
}
2016-01-07 15:37:01 -08:00
2015-02-12 02:16:33 +02:00
}
2016-01-07 15:37:01 -08:00
2015-02-12 02:16:33 +02:00
$include = um_get_option('js_css_include');
2015-11-05 19:51:31 +08:00
if ( is_array( $include ) ) {
array_filter( $include );
}
2015-02-12 02:16:33 +02:00
if ( $include && !is_admin() && is_array( $include ) ) {
2015-02-14 02:06:43 +02:00
2015-02-12 02:16:33 +02:00
$c_url = $ultimatemember->permalinks->get_current_url( get_option('permalink_structure') );
foreach( $include as $match ) {
2015-02-14 02:06:43 +02:00
if ( strstr( $c_url, untrailingslashit( $match ) ) ) {
$force_load = true;
} else {
if ( !isset( $force_load ) ) {
$force_load = false;
}
}
2015-01-16 13:55:26 +02:00
}
2015-02-14 02:06:43 +02:00
2015-01-16 13:55:26 +02:00
}
2015-02-14 02:06:43 +02:00
if ( isset($force_load) && $force_load == false ) return;
2016-01-07 15:37:01 -08:00
2015-02-14 02:06:43 +02:00
// enqueue styles
2015-01-15 17:15:12 +02:00
if ( um_get_option('disable_minify') ) {
2016-01-07 15:37:01 -08:00
2015-01-15 17:15:12 +02:00
$this->load_original();
2016-01-07 15:37:01 -08:00
2015-04-07 20:10:23 +02:00
wp_localize_script( 'um_scripts', 'um_scripts', array(
'ajaxurl' => admin_url( 'admin-ajax.php' ),
'fileupload' => um_url . 'core/lib/upload/um-file-upload.php',
'imageupload' => um_url . 'core/lib/upload/um-image-upload.php'
) );
2016-01-07 15:37:01 -08:00
2015-01-15 17:15:12 +02:00
} else {
2015-05-02 02:49:05 +03:00
2016-01-26 01:51:54 +02:00
wp_register_script('um_minified', um_url . 'assets/js/um.min.js', array('jquery', 'jquery-masonry'), ultimatemember_version, true );
2015-01-15 17:15:12 +02:00
wp_enqueue_script('um_minified');
2016-01-07 15:37:01 -08:00
2015-04-07 20:10:23 +02:00
wp_localize_script( 'um_minified', 'um_scripts', array(
'ajaxurl' => admin_url( 'admin-ajax.php' ),
'fileupload' => um_url . 'core/lib/upload/um-file-upload.php',
'imageupload' => um_url . 'core/lib/upload/um-image-upload.php'
) );
2016-01-07 15:37:01 -08:00
2015-03-01 00:44:04 +02:00
wp_register_style('um_minified', um_url . 'assets/css/um.min.css', '', ultimatemember_version, 'all' );
2015-01-15 17:15:12 +02:00
wp_enqueue_style('um_minified');
2016-01-07 15:37:01 -08:00
2015-01-15 17:15:12 +02:00
}
2016-01-07 15:37:01 -08:00
2015-04-07 20:10:23 +02:00
// rtl style
if ( is_rtl() ) {
wp_register_style('um_rtl', um_url . 'assets/css/um.rtl.css', '', ultimatemember_version, 'all' );
wp_enqueue_style('um_rtl');
}
2016-01-07 15:37:01 -08:00
2015-02-12 02:16:33 +02:00
// load a localized version for date/time
2015-11-05 19:51:31 +08:00
$locale = get_locale();
2015-02-12 02:16:33 +02:00
if ( $locale && file_exists( um_path . 'assets/js/pickadate/translations/' . $locale . '.js' ) ) {
2015-03-01 00:44:04 +02:00
wp_register_script('um_datetime_locale', um_url . 'assets/js/pickadate/translations/' . $locale . '.js', '', ultimatemember_version, true );
2015-02-12 02:16:33 +02:00
wp_enqueue_script('um_datetime_locale');
}
2016-01-07 15:37:01 -08:00
if(is_object($post) && has_shortcode($post->post_content,'ultimatemember')) {
wp_dequeue_script('jquery-form');
}
2015-01-15 17:15:12 +02:00
}
2016-01-07 15:37:01 -08:00
2015-01-15 17:15:12 +02:00
/***
*** @This will load original files (not minified)
***/
function load_original() {
2016-01-07 15:37:01 -08:00
2015-01-15 17:15:12 +02:00
$this->load_google_charts();
2016-01-07 15:37:01 -08:00
2015-01-15 17:15:12 +02:00
$this->load_fonticons();
2016-01-07 15:37:01 -08:00
2015-01-15 17:15:12 +02:00
$this->load_selectjs();
2016-01-07 15:37:01 -08:00
2015-01-15 17:15:12 +02:00
$this->load_modal();
2016-01-07 15:37:01 -08:00
2015-01-15 17:15:12 +02:00
$this->load_css();
2016-01-07 15:37:01 -08:00
2015-01-15 17:15:12 +02:00
$this->load_fileupload();
2016-01-07 15:37:01 -08:00
2015-01-15 17:15:12 +02:00
$this->load_datetimepicker();
2016-01-07 15:37:01 -08:00
2015-01-15 17:15:12 +02:00
$this->load_raty();
2016-01-07 15:37:01 -08:00
2015-11-05 19:51:31 +08:00
$this->load_scrollto();
2016-01-07 15:37:01 -08:00
2015-04-15 16:59:27 +02:00
$this->load_scrollbar();
2015-03-01 00:44:04 +02:00
2015-01-15 17:15:12 +02:00
$this->load_imagecrop();
2016-01-07 15:37:01 -08:00
2015-01-15 17:15:12 +02:00
$this->load_tipsy();
2016-01-07 15:37:01 -08:00
2015-01-15 17:15:12 +02:00
$this->load_functions();
2016-01-07 15:37:01 -08:00
2015-01-15 17:15:12 +02:00
$this->load_responsive();
2016-01-07 15:37:01 -08:00
2015-01-15 17:15:12 +02:00
$this->load_customjs();
2016-01-07 15:37:01 -08:00
2015-01-15 17:15:12 +02:00
}
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
/***
*** @Include Google charts
***/
function load_google_charts(){
wp_register_script('um_gchart', 'https://www.google.com/jsapi' );
wp_enqueue_script('um_gchart');
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
}
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
/***
*** @Load plugin css
***/
function load_css(){
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
wp_register_style('um_styles', um_url . 'assets/css/um-styles.css' );
wp_enqueue_style('um_styles');
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
wp_register_style('um_members', um_url . 'assets/css/um-members.css' );
wp_enqueue_style('um_members');
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
wp_register_style('um_profile', um_url . 'assets/css/um-profile.css' );
wp_enqueue_style('um_profile');
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
wp_register_style('um_account', um_url . 'assets/css/um-account.css' );
wp_enqueue_style('um_account');
2016-01-07 15:37:01 -08:00
2015-03-12 18:22:29 +02:00
wp_register_style('um_misc', um_url . 'assets/css/um-misc.css' );
wp_enqueue_style('um_misc');
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
}
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
/***
*** @Load select-dropdowns JS
***/
function load_selectjs(){
2016-01-07 15:37:01 -08:00
2016-01-26 01:51:54 +02:00
wp_register_script('um_select', um_url . 'assets/js/um-select.js', array('jquery', 'jquery-masonry') );
2014-12-15 22:38:07 +02:00
wp_enqueue_script('um_select');
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
wp_register_style('um_select', um_url . 'assets/css/um-select.css' );
wp_enqueue_style('um_select');
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
}
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
/***
*** @Load Fonticons
***/
function load_fonticons(){
2016-01-07 15:37:01 -08:00
2015-01-15 17:15:12 +02:00
wp_register_style('um_fonticons_ii', um_url . 'assets/css/um-fonticons-ii.css' );
wp_enqueue_style('um_fonticons_ii');
2016-01-07 15:37:01 -08:00
2015-01-15 17:15:12 +02:00
wp_register_style('um_fonticons_fa', um_url . 'assets/css/um-fonticons-fa.css' );
wp_enqueue_style('um_fonticons_fa');
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
}
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
/***
*** @Load fileupload JS
***/
function load_fileupload() {
2016-01-07 15:37:01 -08:00
2014-12-20 18:02:41 +02:00
wp_register_script('um_jquery_form', um_url . 'assets/js/um-jquery-form.js' );
wp_enqueue_script('um_jquery_form');
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
wp_register_script('um_fileupload', um_url . 'assets/js/um-fileupload.js' );
wp_enqueue_script('um_fileupload');
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
wp_register_style('um_fileupload', um_url . 'assets/css/um-fileupload.css' );
wp_enqueue_style('um_fileupload');
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
}
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
/***
*** @Load JS functions
***/
function load_functions(){
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
wp_register_script('um_functions', um_url . 'assets/js/um-functions.js' );
wp_enqueue_script('um_functions');
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
}
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
/***
*** @Load custom JS
***/
function load_customjs(){
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
wp_register_script('um_conditional', um_url . 'assets/js/um-conditional.js' );
wp_enqueue_script('um_conditional');
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
wp_register_script('um_scripts', um_url . 'assets/js/um-scripts.js' );
wp_enqueue_script('um_scripts');
wp_register_script('um_members', um_url . 'assets/js/um-members.js' );
wp_enqueue_script('um_members');
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
wp_register_script('um_profile', um_url . 'assets/js/um-profile.js' );
wp_enqueue_script('um_profile');
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
wp_register_script('um_account', um_url . 'assets/js/um-account.js' );
wp_enqueue_script('um_account');
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
}
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
/***
*** @Load date & time picker
***/
function load_datetimepicker(){
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
wp_register_script('um_datetime', um_url . 'assets/js/pickadate/picker.js' );
wp_enqueue_script('um_datetime');
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
wp_register_script('um_datetime_date', um_url . 'assets/js/pickadate/picker.date.js' );
wp_enqueue_script('um_datetime_date');
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
wp_register_script('um_datetime_time', um_url . 'assets/js/pickadate/picker.time.js' );
wp_enqueue_script('um_datetime_time');
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
wp_register_script('um_datetime_legacy', um_url . 'assets/js/pickadate/legacy.js' );
wp_enqueue_script('um_datetime_legacy');
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
wp_register_style('um_datetime', um_url . 'assets/css/pickadate/default.css' );
wp_enqueue_style('um_datetime');
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
wp_register_style('um_datetime_date', um_url . 'assets/css/pickadate/default.date.css' );
wp_enqueue_style('um_datetime_date');
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
wp_register_style('um_datetime_time', um_url . 'assets/css/pickadate/default.time.css' );
wp_enqueue_style('um_datetime_time');
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
}
2016-01-07 15:37:01 -08:00
2015-11-05 19:51:31 +08:00
/***
*** @Load scrollto
***/
function load_scrollto(){
2016-01-07 15:37:01 -08:00
2015-11-05 19:51:31 +08:00
wp_register_script('um_scrollto', um_url . 'assets/js/um-scrollto.js' );
wp_enqueue_script('um_scrollto');
}
2016-01-07 15:37:01 -08:00
2015-04-15 16:59:27 +02:00
/***
*** @Load scrollbar
***/
function load_scrollbar(){
2016-01-07 15:37:01 -08:00
2015-04-15 16:59:27 +02:00
wp_register_script('um_scrollbar', um_url . 'assets/js/um-scrollbar.js' );
wp_enqueue_script('um_scrollbar');
2016-01-07 15:37:01 -08:00
2015-04-15 16:59:27 +02:00
wp_register_style('um_scrollbar', um_url . 'assets/css/um-scrollbar.css' );
wp_enqueue_style('um_scrollbar');
}
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
/***
*** @Load rating
***/
function load_raty(){
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
wp_register_script('um_raty', um_url . 'assets/js/um-raty.js' );
wp_enqueue_script('um_raty');
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
wp_register_style('um_raty', um_url . 'assets/css/um-raty.css' );
wp_enqueue_style('um_raty');
}
2016-01-07 15:37:01 -08:00
2014-12-23 23:40:19 +02:00
/***
*** @Load crop script
***/
function load_imagecrop(){
2016-01-07 15:37:01 -08:00
2014-12-23 23:40:19 +02:00
wp_register_script('um_crop', um_url . 'assets/js/um-crop.js' );
wp_enqueue_script('um_crop');
2016-01-07 15:37:01 -08:00
2014-12-23 23:40:19 +02:00
wp_register_style('um_crop', um_url . 'assets/css/um-crop.css' );
wp_enqueue_style('um_crop');
2016-01-07 15:37:01 -08:00
2014-12-23 23:40:19 +02:00
}
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
/***
*** @Load tipsy
***/
function load_tipsy(){
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
wp_register_script('um_tipsy', um_url . 'assets/js/um-tipsy.js' );
wp_enqueue_script('um_tipsy');
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
wp_register_style('um_tipsy', um_url . 'assets/css/um-tipsy.css' );
wp_enqueue_style('um_tipsy');
}
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
/***
*** @Load modal
***/
function load_modal(){
wp_register_style('um_modal', um_url . 'assets/css/um-modal.css' );
wp_enqueue_style('um_modal');
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
wp_register_script('um_modal', um_url . 'assets/js/um-modal.js' );
wp_enqueue_script('um_modal');
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
}
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
/***
*** @Load responsive styles
***/
function load_responsive(){
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
wp_register_script('um_responsive', um_url . 'assets/js/um-responsive.js' );
wp_enqueue_script('um_responsive');
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
wp_register_style('um_responsive', um_url . 'assets/css/um-responsive.css' );
wp_enqueue_style('um_responsive');
2016-01-07 15:37:01 -08:00
2014-12-15 22:38:07 +02:00
}
2016-01-07 15:37:01 -08:00
}