diff --git a/includes/admin/assets/css/um-admin-global.css b/includes/admin/assets/css/um-admin-global.css index d11c3289..61855a69 100644 --- a/includes/admin/assets/css/um-admin-global.css +++ b/includes/admin/assets/css/um-admin-global.css @@ -197,4 +197,8 @@ a.um-delete{ color: #a00; } .wp-admin p.um-nav-roles label { margin-top: 2px !important; margin-bottom: 2px !important; +} + +.um_hidden_notice { + display: none; } \ No newline at end of file diff --git a/includes/admin/assets/css/um-admin-misc.css b/includes/admin/assets/css/um-admin-misc.css index eeb376ee..7cb87ec8 100644 --- a/includes/admin/assets/css/um-admin-misc.css +++ b/includes/admin/assets/css/um-admin-misc.css @@ -262,3 +262,5 @@ p.disabled-on-off .um-admin-yesno *{ .um-admin-cur-condition-template { display: none; } + + diff --git a/includes/admin/assets/js/um-admin-global.js b/includes/admin/assets/js/um-admin-global.js new file mode 100644 index 00000000..a7b28e39 --- /dev/null +++ b/includes/admin/assets/js/um-admin-global.js @@ -0,0 +1,70 @@ +jQuery(document).ready(function() { + + + jQuery(document).on('click', '#um_add_review_love', function (e) { + jQuery(this).parents('#um_start_review_notice').hide(); + jQuery('.um_hidden_notice[data-key="love"]').show(); + }); + + + jQuery(document).on('click', '#um_add_review_good', function (e) { + jQuery(this).parents('#um_start_review_notice').hide(); + jQuery('.um_hidden_notice[data-key="good"]').show(); + }); + + + jQuery(document).on('click', '#um_add_review_bad', function (e) { + jQuery(this).parents('#um_start_review_notice').hide(); + jQuery('.um_hidden_notice[data-key="bad"]').show(); + }); + + + jQuery(document).on('click', '.um_review_link', function (e) { + jQuery(this).parents('.um-admin-notice').find( '.notice-dismiss' ).trigger('click'); + }); + + + jQuery(document).on('click', '.um_opt_in_link', function (e) { + jQuery(this).parents('.um-admin-notice').find( '.notice-dismiss' ).trigger('click'); + }); + + + jQuery(document).on('click', '#um_opt_in_start', function (e) { + var dismiss = jQuery(this).parents('.um-admin-notice').find( '.notice-dismiss' ); + jQuery(this).prop('disabled', true).attr('disabled', 'disabled'); + + wp.ajax.send( 'um_opt_in_notice', { + data: { + nonce: um_admin_scripts.nonce + }, + success: function( data ) { + dismiss.trigger('click'); + jQuery(this).prop('disabled', false); + }, + error: function( data ) { + jQuery(this).prop('disabled', false); + return false; + } + }); + }); + + + jQuery(document).on( 'click', '.um-admin-notice.is-dismissible .notice-dismiss', function(e) { + var notice_key = jQuery(this).parents('.um-admin-notice').data('key'); + + wp.ajax.send( 'um_dismiss_notice', { + data: { + key: notice_key, + nonce: um_admin_scripts.nonce + }, + success: function( data ) { + return true; + }, + error: function( data ) { + return false; + } + }); + }); + + +}); \ No newline at end of file diff --git a/includes/admin/assets/js/um-admin-scripts.js b/includes/admin/assets/js/um-admin-scripts.js index fc20bbe2..25dd12e7 100644 --- a/includes/admin/assets/js/um-admin-scripts.js +++ b/includes/admin/assets/js/um-admin-scripts.js @@ -12,6 +12,31 @@ function um_init_tooltips() { jQuery(document).ready(function() { + /** + clone a field dropdown + **/ + jQuery(document).on( 'click', '#um_add_review_love', function(e){ + jQuery(this).parents('#um_start_review_notice').hide(); + jQuery('.um_hidden_notice[data-key="love"]').show(); + }); + + /** + clone a field dropdown + **/ + jQuery(document).on( 'click', '#um_add_review_good', function(e){ + jQuery(this).parents('#um_start_review_notice').hide(); + jQuery('.um_hidden_notice[data-key="good"]').show(); + }); + + /** + clone a field dropdown + **/ + jQuery(document).on( 'click', '#um_add_review_bad', function(e){ + jQuery(this).parents('#um_start_review_notice').hide(); + jQuery('.um_hidden_notice[data-key="bad"]').show(); + }); + + /** clone a field dropdown **/ @@ -215,23 +240,4 @@ jQuery(document).ready(function() { jQuery(this).parents('.um-nav-edit').find('.um-nav-roles').hide(); } }); - - - jQuery(document).on( 'click', '.um-admin-notice.is-dismissible .notice-dismiss', function(e) { - var notice_key = jQuery(this).parents('.um-admin-notice').data('key'); - - wp.ajax.send( 'um_dimiss_notice', { - data: { - key: notice_key, - nonce: um_admin_scripts.nonce - }, - success: function( data ) { - return true; - }, - error: function( data ) { - return false; - } - }); - }); - }); \ No newline at end of file diff --git a/includes/admin/core/class-admin-enqueue.php b/includes/admin/core/class-admin-enqueue.php index 279b0dfd..8e6643a7 100644 --- a/includes/admin/core/class-admin-enqueue.php +++ b/includes/admin/core/class-admin-enqueue.php @@ -292,7 +292,10 @@ if ( ! class_exists( 'um\admin\core\Admin_Enqueue' ) ) { /** * Load global css */ - function load_global_css() { + function load_global_scripts() { + wp_register_script( 'um_admin_global', $this->js_url . 'um-admin-global.js', array('jquery'), ultimatemember_version, true ); + wp_enqueue_script( 'um_admin_global' ); + wp_register_style( 'um_admin_global', $this->css_url . 'um-admin-global.css' ); wp_enqueue_style( 'um_admin_global' ); } @@ -390,7 +393,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Enqueue' ) ) { }*/ $this->load_functions(); - $this->load_global_css(); + $this->load_global_scripts(); $this->load_form(); $this->load_forms(); $this->load_modal(); @@ -423,7 +426,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Enqueue' ) ) { } else { - $this->load_global_css(); + $this->load_global_scripts(); } diff --git a/includes/admin/core/class-admin-notices.php b/includes/admin/core/class-admin-notices.php index 4bed1295..d26ef853 100644 --- a/includes/admin/core/class-admin-notices.php +++ b/includes/admin/core/class-admin-notices.php @@ -30,7 +30,8 @@ if ( ! class_exists( 'um\admin\core\Admin_Notices' ) ) { add_action( 'admin_init', array( &$this, 'create_list' ), 10 ); add_action( 'admin_notices', array( &$this, 'render_notices' ), 1 ); - //add_action( 'wp_ajax_um_dimiss_notice', array( &$this, 'dimiss_notice' ) ); + add_action( 'wp_ajax_um_dismiss_notice', array( &$this, 'dismiss_notice' ) ); + add_action( 'wp_ajax_um_opt_in_notice', array( &$this, 'opt_in_notice' ) ); } @@ -40,10 +41,12 @@ if ( ! class_exists( 'um\admin\core\Admin_Notices' ) ) { $this->localize_note(); $this->show_update_messages(); $this->check_wrong_install_folder(); - $this->admin_notice_tracking(); + $this->admin_notice_opt_in(); $this->need_upgrade(); $this->check_wrong_licenses(); + $this->reviews_notice(); + //$this->future_changed(); @@ -140,8 +143,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Notices' ) ) { $admin_notices = $this->get_admin_notices(); - $hidden = get_user_meta( get_current_user_id(), 'um_hidden_admin_notices', true ); - $hidden = empty( $hidden ) ? array() : $hidden; + $hidden = get_option( 'um_hidden_admin_notices', array() ); uasort( $admin_notices, array( &$this, 'notice_priority_sort' ) ); @@ -191,11 +193,11 @@ if ( ! class_exists( 'um\admin\core\Admin_Notices' ) ) { $class = ! empty( $notice_data['class'] ) ? $notice_data['class'] : 'updated'; - $dimissible = ! empty( $admin_notices[ $key ]['dimissible'] ); + $dismissible = ! empty( $admin_notices[ $key ]['dismissible'] ); ob_start(); ?> -
- %s! We hope you like the plugin. To fund full-time development and support of the plugin we also sell extensions for %s via our website. If you subscribe to our mailing list we will immediately email you a 20%% discount code for our extensions bundle (you\'ll need to confirm your subscription via email).', 'ultimate-member' ), ultimatemember_plugin_name, ultimatemember_plugin_name, 'https://ultimatemember.com/core-extensions-bundle/' ); ?> + %s! We hope you like the plugin. To fund full-time development and support of the plugin we also sell extensions for %s via our website. If you subscribe to our mailing list we will email you a 20%% discount code for our extensions bundle (you\'ll need to confirm your opt-in via email before the discount code can be sent).', 'ultimate-member' ), ultimatemember_plugin_name, ultimatemember_plugin_name, 'https://ultimatemember.com/core-extensions-bundle/' ); ?>
- privacy policy', 'ultimate-member' ), 'https://ultimatemember.com/support/policy/' ); ?> + privacy policy', 'ultimate-member' ), 'https://ultimatemember.com/privacy-policy/' ); ?>
add_notice( 'tracking_notice', array( + $this->add_notice( 'opt_in_notice', array( 'class' => 'updated', 'message' => $message, + 'dismissible' => true ), 2 ); } @@ -609,6 +612,71 @@ if ( ! class_exists( 'um\admin\core\Admin_Notices' ) ) { } + /** + * + */ + function reviews_notice() { + + $first_activation_date = get_option( 'um_first_activation_date', false ); + + if ( empty( $first_activation_date ) ) { + return; + } + + if ( $first_activation_date + MONTH_IN_SECONDS > time() ) { + return; + } + + ob_start(); ?> + + + + ++ support forum and we will try and help you out with the issue. Alternatively if you have an idea on how we can make the plugin better or want to tell us what you don\'t like about the plugin you can tell us know by giving us feedback.' ), 'https://wordpress.org/support/plugin/ultimate-member' ); ?> +
+ + +