108 lines
3.0 KiB
JavaScript
108 lines
3.0 KiB
JavaScript
jQuery(document).ready(function($) {
|
|
|
|
/* ====== Plugin Settings ====== */
|
|
|
|
// Hide content permissions message and hide protected posts if content permissions is disabled.
|
|
if (false === jQuery('[name="members_settings[content_permissions]"]').prop('checked')) {
|
|
|
|
jQuery('[name="members_settings[content_permissions]"]').parents('tr').next('tr').hide();
|
|
|
|
jQuery('[name="members_settings[private_feed]"]').parents('tr').next('tr').hide();
|
|
}
|
|
|
|
// Hide protected posts from REST API field if content permissions is enabled.
|
|
if (false === jQuery('[name="members_settings[content_permissions]"]').prop('checked')) {
|
|
jQuery('[name="members_settings[hide_posts_rest_api]"]').parents('tr').hide();
|
|
}
|
|
|
|
// Show above hidden items if feature becomes disabled.
|
|
jQuery('[name="members_settings[content_permissions]"], [name="members_settings[private_feed]"], [name="members_settings[private_blog]"]').on('change',
|
|
function() {
|
|
|
|
if (jQuery(this).prop('checked')) {
|
|
|
|
jQuery(this).parents('tr').next('tr').show('slow');
|
|
} else {
|
|
|
|
jQuery(this).parents('tr').next('tr').hide('slow');
|
|
}
|
|
}
|
|
);
|
|
|
|
$('.activate-addon').on('click', function(e) {
|
|
var $this = $(this);
|
|
var addon = $this.data('addon');
|
|
$this.addClass('processing');
|
|
|
|
$.ajax({
|
|
url: ajaxurl,
|
|
type: 'POST',
|
|
data: {
|
|
action: 'mbrs_toggle_addon',
|
|
nonce: membersAddons.nonce,
|
|
addon: addon
|
|
},
|
|
})
|
|
.done(function(response) {
|
|
if (response.success == true) {
|
|
$this.find('.action-label').html(response.data.action_label);
|
|
var svg = $this.find('svg');
|
|
svg.removeClass();
|
|
svg.addClass(response.data.status);
|
|
} else {
|
|
alert(response.data.msg);
|
|
}
|
|
})
|
|
.fail(function(response) {
|
|
alert(response.data.msg);
|
|
})
|
|
.always(function(response) {
|
|
$this.removeClass('processing');
|
|
});
|
|
});
|
|
|
|
// Reset roles functionality
|
|
jQuery('#members-reset-roles').on('click', function(e) {
|
|
e.preventDefault();
|
|
|
|
if (!confirm(membersResetRoles.confirmMessage)) {
|
|
return;
|
|
}
|
|
|
|
var $button = jQuery(this);
|
|
var $spinner = $button.next('.members-reset-spinner');
|
|
var $message = jQuery('#members-reset-roles-message');
|
|
|
|
$button.prop('disabled', true);
|
|
$spinner.addClass('is-active');
|
|
$message.removeClass('notice notice-success notice-error').empty();
|
|
|
|
jQuery.ajax({
|
|
url: membersResetRoles.ajaxurl,
|
|
type: 'POST',
|
|
data: {
|
|
action: 'members_reset_roles',
|
|
nonce: membersResetRoles.nonce
|
|
},
|
|
success: function(response) {
|
|
if (response.success) {
|
|
$message.addClass('notice notice-success').html('<p>' + membersResetRoles.successMessage + '</p>');
|
|
// Reload the page after successful reset
|
|
setTimeout(function() {
|
|
window.location.reload();
|
|
}, 1000);
|
|
} else {
|
|
$message.addClass('notice notice-error').html('<p>' + membersResetRoles.errorMessage + '</p>');
|
|
}
|
|
},
|
|
error: function() {
|
|
$message.addClass('notice notice-error').html('<p>' + membersResetRoles.errorMessage + '</p>');
|
|
},
|
|
complete: function() {
|
|
$button.prop('disabled', false);
|
|
$spinner.removeClass('is-active');
|
|
}
|
|
});
|
|
});
|
|
});
|