PluginProbe
Members – Membership & User Role Editor Plugin / 3.2.24
Members – Membership & User Role Editor Plugin v3.2.24
3.2.25 3.2.26 3.2.24 3.2.23 3.2.22 3.2.21 trunk 0.1 0.1.1 0.2 0.2.1 0.2.2 0.2.3 0.2.4 0.2.5 1.0.0 1.0.1 1.0.2 1.1.0 1.1.1 1.1.2 1.1.3 2.0.0 2.0.1 2.0.2 All 66 releases
members / js / settings.js

settings.js in Members – Membership & User Role Editor Plugin 3.2.24, at js/settings.js

108 lines 3.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 jQuery(document).ready(function($) {
2
3 /* ====== Plugin Settings ====== */
4
5 // Hide content permissions message and hide protected posts if content permissions is disabled.
6 if (false === jQuery('[name="members_settings[content_permissions]"]').prop('checked')) {
7
8 jQuery('[name="members_settings[content_permissions]"]').parents('tr').next('tr').hide();
9
10 jQuery('[name="members_settings[private_feed]"]').parents('tr').next('tr').hide();
11 }
12
13 // Hide protected posts from REST API field if content permissions is enabled.
14 if (false === jQuery('[name="members_settings[content_permissions]"]').prop('checked')) {
15 jQuery('[name="members_settings[hide_posts_rest_api]"]').parents('tr').hide();
16 }
17
18 // Show above hidden items if feature becomes disabled.
19 jQuery('[name="members_settings[content_permissions]"], [name="members_settings[private_feed]"], [name="members_settings[private_blog]"]').on('change',
20 function() {
21
22 if (jQuery(this).prop('checked')) {
23
24 jQuery(this).parents('tr').next('tr').show('slow');
25 } else {
26
27 jQuery(this).parents('tr').next('tr').hide('slow');
28 }
29 }
30 );
31
32 $('.activate-addon').on('click', function(e) {
33 var $this = $(this);
34 var addon = $this.data('addon');
35 $this.addClass('processing');
36
37 $.ajax({
38 url: ajaxurl,
39 type: 'POST',
40 data: {
41 action: 'mbrs_toggle_addon',
42 nonce: membersAddons.nonce,
43 addon: addon
44 },
45 })
46 .done(function(response) {
47 if (response.success == true) {
48 $this.find('.action-label').html(response.data.action_label);
49 var svg = $this.find('svg');
50 svg.removeClass();
51 svg.addClass(response.data.status);
52 } else {
53 alert(response.data.msg);
54 }
55 })
56 .fail(function(response) {
57 alert(response.data.msg);
58 })
59 .always(function(response) {
60 $this.removeClass('processing');
61 });
62 });
63
64 // Reset roles functionality
65 jQuery('#members-reset-roles').on('click', function(e) {
66 e.preventDefault();
67
68 if (!confirm(membersResetRoles.confirmMessage)) {
69 return;
70 }
71
72 var $button = jQuery(this);
73 var $spinner = $button.next('.members-reset-spinner');
74 var $message = jQuery('#members-reset-roles-message');
75
76 $button.prop('disabled', true);
77 $spinner.addClass('is-active');
78 $message.removeClass('notice notice-success notice-error').empty();
79
80 jQuery.ajax({
81 url: membersResetRoles.ajaxurl,
82 type: 'POST',
83 data: {
84 action: 'members_reset_roles',
85 nonce: membersResetRoles.nonce
86 },
87 success: function(response) {
88 if (response.success) {
89 $message.addClass('notice notice-success').html('<p>' + membersResetRoles.successMessage + '</p>');
90 // Reload the page after successful reset
91 setTimeout(function() {
92 window.location.reload();
93 }, 1000);
94 } else {
95 $message.addClass('notice notice-error').html('<p>' + membersResetRoles.errorMessage + '</p>');
96 }
97 },
98 error: function() {
99 $message.addClass('notice notice-error').html('<p>' + membersResetRoles.errorMessage + '</p>');
100 },
101 complete: function() {
102 $button.prop('disabled', false);
103 $spinner.removeClass('is-active');
104 }
105 });
106 });
107 });
108