Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93
/home/sportsfe.../httpdocs/wp-conte.../plugins/content-.../inc/freemius/template.../js
File: permissions.php
<?php
[0] Fix | Delete
/**
[1] Fix | Delete
* @package Freemius
[2] Fix | Delete
* @copyright Copyright (c) 2015, Freemius, Inc.
[3] Fix | Delete
* @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3
[4] Fix | Delete
* @since 2.5.1
[5] Fix | Delete
*/
[6] Fix | Delete
if ( ! defined( 'ABSPATH' ) ) {
[7] Fix | Delete
exit;
[8] Fix | Delete
}
[9] Fix | Delete
?>
[10] Fix | Delete
<script type="text/javascript">
[11] Fix | Delete
( function ( $ ) {
[12] Fix | Delete
var global = this;
[13] Fix | Delete
[14] Fix | Delete
// Namespace.
[15] Fix | Delete
global.FS = global.FS || {};
[16] Fix | Delete
[17] Fix | Delete
//region Switches
[18] Fix | Delete
[19] Fix | Delete
function toggleSwitches( $switches, isOn ) {
[20] Fix | Delete
$switches
[21] Fix | Delete
.toggleClass( 'fs-on', ( null != isOn ? ( true === isOn ) : isOn ) )
[22] Fix | Delete
.toggleClass( 'fs-off', ( null != isOn ? ( false === isOn ) : isOn ) );
[23] Fix | Delete
}
[24] Fix | Delete
[25] Fix | Delete
function isSwitch( $switch, isOn ) {
[26] Fix | Delete
return $switch.hasClass( isOn ? 'fs-on' : 'fs-off' );
[27] Fix | Delete
}
[28] Fix | Delete
[29] Fix | Delete
function getSwitchesStates( $switches, isEnabled ) {
[30] Fix | Delete
var switchStates = [];
[31] Fix | Delete
for ( var i = 0; i < $switches.length; i++ ) {
[32] Fix | Delete
switchStates.push( isSwitch( $( $switches[ i ] ), isEnabled ) );
[33] Fix | Delete
}
[34] Fix | Delete
[35] Fix | Delete
return switchStates;
[36] Fix | Delete
}
[37] Fix | Delete
[38] Fix | Delete
//endregion
[39] Fix | Delete
[40] Fix | Delete
function toggleGroupOptOut( $button, isEnabled ) {
[41] Fix | Delete
setOptInLabel( $button, ! isEnabled );
[42] Fix | Delete
[43] Fix | Delete
$button.data( 'is-enabled', isEnabled );
[44] Fix | Delete
}
[45] Fix | Delete
[46] Fix | Delete
/**
[47] Fix | Delete
* @param {object} $permissionsSection
[48] Fix | Delete
*
[49] Fix | Delete
* @returns {string[]}
[50] Fix | Delete
*/
[51] Fix | Delete
function getGroupPermissionIDs( $permissionsSection ) {
[52] Fix | Delete
var permissions = [];
[53] Fix | Delete
$permissionsSection.find( 'ul li').each( function() {
[54] Fix | Delete
permissions.push( $( this ).data( 'permission-id' ) );
[55] Fix | Delete
});
[56] Fix | Delete
[57] Fix | Delete
return permissions;
[58] Fix | Delete
}
[59] Fix | Delete
[60] Fix | Delete
function getGroupOptOutButton( $section ) {
[61] Fix | Delete
return $section.find( '.fs-group-opt-out-button' );
[62] Fix | Delete
}
[63] Fix | Delete
[64] Fix | Delete
//region Opt-in/out Labels
[65] Fix | Delete
[66] Fix | Delete
function setUpdatingLabel( $button, isEnabled ) {
[67] Fix | Delete
$button.text( isEnabled ?
[68] Fix | Delete
'<?php fs_esc_js_echo_inline( 'Opting in', 'opting-in' ) ?>...' :
[69] Fix | Delete
'<?php fs_esc_js_echo_inline( 'Opting out', 'opting-out' ) ?>...'
[70] Fix | Delete
);
[71] Fix | Delete
}
[72] Fix | Delete
[73] Fix | Delete
function getOptInLabel( isEnabled ) {
[74] Fix | Delete
return isEnabled ?
[75] Fix | Delete
'<?php echo esc_js( fs_text_x_inline( 'Opt In', 'verb', 'opt-in' ) ) ?>' :
[76] Fix | Delete
'<?php echo esc_js( fs_text_x_inline( 'Opt Out', 'verb', 'opt-out' ) ) ?>';
[77] Fix | Delete
}
[78] Fix | Delete
[79] Fix | Delete
function setOptInLabel( $button, isEnabled ) {
[80] Fix | Delete
$button.text( getOptInLabel( isEnabled ) );
[81] Fix | Delete
}
[82] Fix | Delete
[83] Fix | Delete
//endregion
[84] Fix | Delete
[85] Fix | Delete
global.FS.Permissions = function () {
[86] Fix | Delete
var isUpdating = false;
[87] Fix | Delete
[88] Fix | Delete
function updateStarted() {
[89] Fix | Delete
isUpdating = true;
[90] Fix | Delete
$body.addClass( 'fs-loading' );
[91] Fix | Delete
}
[92] Fix | Delete
[93] Fix | Delete
function updateCompleted() {
[94] Fix | Delete
isUpdating = false;
[95] Fix | Delete
$body.removeClass( 'fs-loading' );
[96] Fix | Delete
}
[97] Fix | Delete
[98] Fix | Delete
return {
[99] Fix | Delete
isUpdating: function() {
[100] Fix | Delete
return isUpdating;
[101] Fix | Delete
},
[102] Fix | Delete
/**
[103] Fix | Delete
* @param {Number} pluginID
[104] Fix | Delete
* @param {Array} permissions
[105] Fix | Delete
* @param {Boolean} isEnabled
[106] Fix | Delete
* @param {Callback} [success]
[107] Fix | Delete
* @param {Callback} [failure]
[108] Fix | Delete
* @param {Callback} [complete]
[109] Fix | Delete
*/
[110] Fix | Delete
updatePermissions: function(
[111] Fix | Delete
pluginID,
[112] Fix | Delete
permissions,
[113] Fix | Delete
isEnabled,
[114] Fix | Delete
success,
[115] Fix | Delete
failure,
[116] Fix | Delete
complete
[117] Fix | Delete
) {
[118] Fix | Delete
if ( isUpdating ) {
[119] Fix | Delete
return;
[120] Fix | Delete
}
[121] Fix | Delete
[122] Fix | Delete
updateStarted();
[123] Fix | Delete
[124] Fix | Delete
var
[125] Fix | Delete
$permissionsContainer = $( '#fs_opt_out_' + pluginID );
[126] Fix | Delete
[127] Fix | Delete
$.ajax( {
[128] Fix | Delete
url : <?php echo Freemius::ajax_url() ?>,
[129] Fix | Delete
method : 'POST',
[130] Fix | Delete
data : {
[131] Fix | Delete
action : $permissionsContainer.data( 'action' ),
[132] Fix | Delete
security : $permissionsContainer.data( 'security' ),
[133] Fix | Delete
module_id : pluginID,
[134] Fix | Delete
_wp_http_referer: '<?php echo Freemius::current_page_url() ?>',
[135] Fix | Delete
permissions : permissions.join( ',' ),
[136] Fix | Delete
is_enabled : isEnabled
[137] Fix | Delete
},
[138] Fix | Delete
success : function ( resultObj ) {
[139] Fix | Delete
if ( resultObj.success ) {
[140] Fix | Delete
if ( success ) {
[141] Fix | Delete
success( resultObj );
[142] Fix | Delete
}
[143] Fix | Delete
} else {
[144] Fix | Delete
if ( failure ) {
[145] Fix | Delete
failure( resultObj );
[146] Fix | Delete
}
[147] Fix | Delete
}
[148] Fix | Delete
},
[149] Fix | Delete
error : failure,
[150] Fix | Delete
complete: function () {
[151] Fix | Delete
if ( complete ) {
[152] Fix | Delete
complete();
[153] Fix | Delete
}
[154] Fix | Delete
[155] Fix | Delete
updateCompleted();
[156] Fix | Delete
}
[157] Fix | Delete
});
[158] Fix | Delete
},
[159] Fix | Delete
updateGroupPermissions: function(
[160] Fix | Delete
pluginID,
[161] Fix | Delete
groupID,
[162] Fix | Delete
isEnabled,
[163] Fix | Delete
success,
[164] Fix | Delete
failure,
[165] Fix | Delete
complete
[166] Fix | Delete
) {
[167] Fix | Delete
if ( isUpdating ) {
[168] Fix | Delete
return;
[169] Fix | Delete
}
[170] Fix | Delete
[171] Fix | Delete
var
[172] Fix | Delete
$modal = $( '#fs_opt_out_' + pluginID ),
[173] Fix | Delete
$permissionsSection = $modal.find( '.fs-permissions-section.fs-' + groupID + '-permissions' ),
[174] Fix | Delete
$optOutButton = getGroupOptOutButton( $permissionsSection ),
[175] Fix | Delete
$permissions = $permissionsSection.find( 'ul li'),
[176] Fix | Delete
permissions = [];
[177] Fix | Delete
[178] Fix | Delete
$permissions.each( function() {
[179] Fix | Delete
permissions.push( $( this ).data( 'permission-id' ) );
[180] Fix | Delete
});
[181] Fix | Delete
[182] Fix | Delete
setUpdatingLabel( $optOutButton, isEnabled );
[183] Fix | Delete
[184] Fix | Delete
this.updatePermissions(
[185] Fix | Delete
pluginID,
[186] Fix | Delete
permissions,
[187] Fix | Delete
isEnabled,
[188] Fix | Delete
function( resultObj ) {
[189] Fix | Delete
if ( resultObj.success ) {
[190] Fix | Delete
toggleGroupOptOut( $optOutButton, isEnabled );
[191] Fix | Delete
[192] Fix | Delete
// Update permissions state.
[193] Fix | Delete
$permissions.toggleClass( 'fs-disabled', ! isEnabled );
[194] Fix | Delete
[195] Fix | Delete
// Update switches state, if there are any.
[196] Fix | Delete
toggleSwitches( $permissions.find( '.fs-switch' ), isEnabled );
[197] Fix | Delete
[198] Fix | Delete
if ( success ) {
[199] Fix | Delete
success();
[200] Fix | Delete
}
[201] Fix | Delete
}
[202] Fix | Delete
},
[203] Fix | Delete
function ( resultObj ) {
[204] Fix | Delete
setOptInLabel( $optOutButton, isEnabled );
[205] Fix | Delete
[206] Fix | Delete
if ( failure ) {
[207] Fix | Delete
failure( resultObj );
[208] Fix | Delete
}
[209] Fix | Delete
},
[210] Fix | Delete
complete
[211] Fix | Delete
);
[212] Fix | Delete
}
[213] Fix | Delete
};
[214] Fix | Delete
}();
[215] Fix | Delete
[216] Fix | Delete
var $body = $( 'body' )
[217] Fix | Delete
[218] Fix | Delete
global.FS.OptOut = function (
[219] Fix | Delete
pluginID,
[220] Fix | Delete
slug,
[221] Fix | Delete
type,
[222] Fix | Delete
isRegistered,
[223] Fix | Delete
isTrackingAllowed,
[224] Fix | Delete
reconnectUrl
[225] Fix | Delete
) {
[226] Fix | Delete
var $modal = $( '#fs_opt_out_' + pluginID ),
[227] Fix | Delete
actionLinkSelector = ('theme' === type ? '#fs_theme_opt_in_out' : 'span.opt-in-or-opt-out.' + slug + ' a' );
[228] Fix | Delete
[229] Fix | Delete
//region Error Handling
[230] Fix | Delete
[231] Fix | Delete
function hideError( $optOutErrorMessage ) {
[232] Fix | Delete
$optOutErrorMessage = $optOutErrorMessage || $modal.find( '.opt-out-error-message' );
[233] Fix | Delete
$optOutErrorMessage.hide();
[234] Fix | Delete
}
[235] Fix | Delete
[236] Fix | Delete
function showError( $optOutErrorMessage, msg ) {
[237] Fix | Delete
$optOutErrorMessage.find( ' > p' ).html( msg );
[238] Fix | Delete
$optOutErrorMessage.show();
[239] Fix | Delete
}
[240] Fix | Delete
[241] Fix | Delete
//endregion
[242] Fix | Delete
[243] Fix | Delete
function backToPermissionsList() {
[244] Fix | Delete
$modal.find( '.fs-opt-out-disclaimer' )
[245] Fix | Delete
.hide();
[246] Fix | Delete
[247] Fix | Delete
$modal.find( '.fs-opt-out-permissions' )
[248] Fix | Delete
.show();
[249] Fix | Delete
}
[250] Fix | Delete
[251] Fix | Delete
function removeFeedbackIndicators() {
[252] Fix | Delete
$modal.find( '.fs-switch-feedback' )
[253] Fix | Delete
.remove();
[254] Fix | Delete
}
[255] Fix | Delete
[256] Fix | Delete
//region Modal Dialog
[257] Fix | Delete
[258] Fix | Delete
function closeModal() {
[259] Fix | Delete
$modal.removeClass( 'active' );
[260] Fix | Delete
$body.removeClass( 'has-fs-modal' );
[261] Fix | Delete
$modal.hide();
[262] Fix | Delete
}
[263] Fix | Delete
[264] Fix | Delete
function resetModal() {
[265] Fix | Delete
hideError();
[266] Fix | Delete
removeFeedbackIndicators();
[267] Fix | Delete
backToPermissionsList();
[268] Fix | Delete
}
[269] Fix | Delete
[270] Fix | Delete
function showModal() {
[271] Fix | Delete
resetModal();
[272] Fix | Delete
[273] Fix | Delete
// Display the dialog box.
[274] Fix | Delete
$modal.show();
[275] Fix | Delete
$modal.addClass( 'active' );
[276] Fix | Delete
$body.addClass( 'has-fs-modal' );
[277] Fix | Delete
}
[278] Fix | Delete
[279] Fix | Delete
//endregion
[280] Fix | Delete
[281] Fix | Delete
function registerActionLinkClick() {
[282] Fix | Delete
$body.on( 'click', actionLinkSelector, function( evt ) {
[283] Fix | Delete
evt.preventDefault();
[284] Fix | Delete
[285] Fix | Delete
showModal();
[286] Fix | Delete
[287] Fix | Delete
return false;
[288] Fix | Delete
});
[289] Fix | Delete
}
[290] Fix | Delete
[291] Fix | Delete
function registerEventHandlers() {
[292] Fix | Delete
// If the user has clicked outside the window, close the modal.
[293] Fix | Delete
$modal.on( 'click', '.fs-close, .button-close', function() {
[294] Fix | Delete
closeModal();
[295] Fix | Delete
return false;
[296] Fix | Delete
} );
[297] Fix | Delete
[298] Fix | Delete
$modal.on( 'click', '.fs-permissions .fs-switch', function () {
[299] Fix | Delete
if ( FS.Permissions.isUpdating() ) {
[300] Fix | Delete
return false;
[301] Fix | Delete
}
[302] Fix | Delete
[303] Fix | Delete
var $switch = $( this ),
[304] Fix | Delete
$permission = $switch.closest( '.fs-permission' );
[305] Fix | Delete
[306] Fix | Delete
toggleSwitches( $switch );
[307] Fix | Delete
[308] Fix | Delete
$permission.toggleClass( 'fs-disabled' );
[309] Fix | Delete
[310] Fix | Delete
var $optOutContainer = $switch.closest( '.fs-modal-opt-out' );
[311] Fix | Delete
[312] Fix | Delete
if ( 0 === $optOutContainer.length ) {
[313] Fix | Delete
return;
[314] Fix | Delete
}
[315] Fix | Delete
[316] Fix | Delete
// Remove previously added feedback element.
[317] Fix | Delete
$switch.closest( '.fs-modal-dialog' )
[318] Fix | Delete
.find( '.fs-switch-feedback' )
[319] Fix | Delete
.remove();
[320] Fix | Delete
[321] Fix | Delete
var $switchFeedback = $( '<span class="fs-switch-feedback"><i class="fs-ajax-spinner"></i></span>' );
[322] Fix | Delete
[323] Fix | Delete
$switch.after( $switchFeedback )
[324] Fix | Delete
[325] Fix | Delete
var
[326] Fix | Delete
permissionID = $permission.data( 'permission-id' ),
[327] Fix | Delete
isEnabled = isSwitch( $switch, true );
[328] Fix | Delete
[329] Fix | Delete
FS.Permissions.updatePermissions(
[330] Fix | Delete
$optOutContainer.data( 'plugin-id' ),
[331] Fix | Delete
[ permissionID ],
[332] Fix | Delete
isEnabled,
[333] Fix | Delete
function () {
[334] Fix | Delete
$switchFeedback.addClass( 'success' );
[335] Fix | Delete
$switchFeedback.html( '<i class="dashicons dashicons-yes"></i> <?php echo esc_js( fs_text_inline( 'Saved', 'saved' ) ) ?>' );
[336] Fix | Delete
[337] Fix | Delete
var
[338] Fix | Delete
$permissionsGroup = $switch.closest( '.fs-permissions-section' ),
[339] Fix | Delete
$groupPermissions = $permissionsGroup.find( 'ul li' );
[340] Fix | Delete
[341] Fix | Delete
var allGroupPermissionsUseSameValue = false;
[342] Fix | Delete
[343] Fix | Delete
if (
[344] Fix | Delete
isEnabled &&
[345] Fix | Delete
0 === $groupPermissions.filter( '.fs-disabled' ).length )
[346] Fix | Delete
{
[347] Fix | Delete
allGroupPermissionsUseSameValue = true;
[348] Fix | Delete
} else if (
[349] Fix | Delete
! isEnabled &&
[350] Fix | Delete
$groupPermissions.length === $groupPermissions.filter( '.fs-disabled' ).length
[351] Fix | Delete
) {
[352] Fix | Delete
allGroupPermissionsUseSameValue = true;
[353] Fix | Delete
}
[354] Fix | Delete
[355] Fix | Delete
if ( allGroupPermissionsUseSameValue ) {
[356] Fix | Delete
toggleGroupOptOut( getGroupOptOutButton( $permissionsGroup ), isEnabled );
[357] Fix | Delete
}
[358] Fix | Delete
},
[359] Fix | Delete
function () {
[360] Fix | Delete
// Revert switch.
[361] Fix | Delete
toggleSwitches( $switch );
[362] Fix | Delete
[363] Fix | Delete
$switchFeedback.remove();
[364] Fix | Delete
}
[365] Fix | Delete
)
[366] Fix | Delete
});
[367] Fix | Delete
[368] Fix | Delete
// Move back to the permissions list if cancelling opt-out.
[369] Fix | Delete
$modal.on( 'click', '.fs-opt-out-disclaimer .fs-opt-out-cancel-button', function ( evt ) {
[370] Fix | Delete
backToPermissionsList();
[371] Fix | Delete
});
[372] Fix | Delete
[373] Fix | Delete
$modal.on( 'click', '.fs-opt-out-disclaimer .fs-modal-footer .fs-opt-out-button', function ( evt ) {
[374] Fix | Delete
var
[375] Fix | Delete
$optOutButton = $( this ),
[376] Fix | Delete
$actionLink = $( actionLinkSelector ),
[377] Fix | Delete
isEnabled = true,
[378] Fix | Delete
$optOutDisclaimer = $( $optOutButton.closest( '.fs-opt-out-disclaimer' )[ 0 ] ),
[379] Fix | Delete
groupID = $optOutDisclaimer.data( 'group-id' ),
[380] Fix | Delete
$errorMessage = $optOutDisclaimer.find( '.opt-out-error-message' );
[381] Fix | Delete
[382] Fix | Delete
setUpdatingLabel( $optOutButton, ! isEnabled );
[383] Fix | Delete
[384] Fix | Delete
$optOutDisclaimer.find( '.button-primary' ).prop( 'disabled', true );
[385] Fix | Delete
[386] Fix | Delete
hideError( $errorMessage );
[387] Fix | Delete
[388] Fix | Delete
FS.Permissions.updateGroupPermissions(
[389] Fix | Delete
pluginID,
[390] Fix | Delete
groupID,
[391] Fix | Delete
! isEnabled,
[392] Fix | Delete
function () {
[393] Fix | Delete
if ( 'communication' === groupID ) {
[394] Fix | Delete
window.location.reload();
[395] Fix | Delete
} else {
[396] Fix | Delete
setOptInLabel( $actionLink, ! isEnabled );
[397] Fix | Delete
[398] Fix | Delete
backToPermissionsList();
[399] Fix | Delete
}
[400] Fix | Delete
},
[401] Fix | Delete
function ( resultObj ) {
[402] Fix | Delete
setOptInLabel( $optOutButton, false );
[403] Fix | Delete
[404] Fix | Delete
showError( $errorMessage, resultObj.error );
[405] Fix | Delete
},
[406] Fix | Delete
function () {
[407] Fix | Delete
if ( 'communication' !== groupID ) {
[408] Fix | Delete
setOptInLabel( $optOutButton, false );
[409] Fix | Delete
}
[410] Fix | Delete
[411] Fix | Delete
$optOutDisclaimer.find( '.button-primary' ).prop( 'disabled', false );
[412] Fix | Delete
}
[413] Fix | Delete
);
[414] Fix | Delete
} );
[415] Fix | Delete
[416] Fix | Delete
$modal.on( 'click', '.fs-group-opt-out-button', function ( evt ) {
[417] Fix | Delete
evt.preventDefault();
[418] Fix | Delete
[419] Fix | Delete
if ( FS.Permissions.isUpdating() ) {
[420] Fix | Delete
return;
[421] Fix | Delete
}
[422] Fix | Delete
[423] Fix | Delete
var
[424] Fix | Delete
$optOutButton = $( this ),
[425] Fix | Delete
groupID = $optOutButton.data( 'group-id' ),
[426] Fix | Delete
isEnabled = $optOutButton.data( 'is-enabled' ),
[427] Fix | Delete
$optOutDisclaimer = $modal.find( '.fs-' + groupID + '-opt-out' ),
[428] Fix | Delete
isConfirmRequired = ( 0 < $optOutDisclaimer.length ),
[429] Fix | Delete
$errorMessage = $modal.find( '.fs-opt-out-permissions .opt-out-error-message' );
[430] Fix | Delete
[431] Fix | Delete
$errorMessage.hide();
[432] Fix | Delete
[433] Fix | Delete
if ( isConfirmRequired ) {
[434] Fix | Delete
if ( isEnabled ) {
[435] Fix | Delete
// Move to disclaimer window.
[436] Fix | Delete
$modal.find( '.fs-opt-out-permissions' )
[437] Fix | Delete
.hide();
[438] Fix | Delete
[439] Fix | Delete
$optOutDisclaimer.show();
[440] Fix | Delete
} else {
[441] Fix | Delete
// Opt-in.
[442] Fix | Delete
FS.Permissions.updateGroupPermissions(
[443] Fix | Delete
pluginID,
[444] Fix | Delete
groupID,
[445] Fix | Delete
! isEnabled,
[446] Fix | Delete
( 'communication' !== groupID ) ?
[447] Fix | Delete
null :
[448] Fix | Delete
function () {
[449] Fix | Delete
window.location.reload();
[450] Fix | Delete
},
[451] Fix | Delete
function ( resultObj ) {
[452] Fix | Delete
showError( $errorMessage, resultObj.error );
[453] Fix | Delete
}
[454] Fix | Delete
);
[455] Fix | Delete
}
[456] Fix | Delete
} else {
[457] Fix | Delete
// Remove previously added feedback element.
[458] Fix | Delete
$modal.find( '.fs-switch-feedback' )
[459] Fix | Delete
.remove();
[460] Fix | Delete
[461] Fix | Delete
var $switches = $optOutButton.closest( '.fs-permissions-section' )
[462] Fix | Delete
.find( '.fs-permission .fs-switch' );
[463] Fix | Delete
[464] Fix | Delete
var switchStates = getSwitchesStates( $switches, isEnabled );
[465] Fix | Delete
[466] Fix | Delete
toggleSwitches( $switches, ! isEnabled );
[467] Fix | Delete
[468] Fix | Delete
$switches.closest( '.fs-permission' )
[469] Fix | Delete
.toggleClass( 'fs-disabled', isEnabled );
[470] Fix | Delete
[471] Fix | Delete
var $switchFeedback = $( '<span class="fs-switch-feedback"><i class="fs-ajax-spinner"></i></span>' );
[472] Fix | Delete
[473] Fix | Delete
$optOutButton.after( $switchFeedback )
[474] Fix | Delete
[475] Fix | Delete
setUpdatingLabel( $optOutButton, ! isEnabled );
[476] Fix | Delete
[477] Fix | Delete
FS.Permissions.updatePermissions(
[478] Fix | Delete
pluginID,
[479] Fix | Delete
getGroupPermissionIDs( $modal.find( '.fs-permissions-section.fs-' + groupID + '-permissions' ) ),
[480] Fix | Delete
! isEnabled,
[481] Fix | Delete
function () {
[482] Fix | Delete
$switchFeedback.addClass( 'success' );
[483] Fix | Delete
$switchFeedback.html( '<i class="dashicons dashicons-yes"></i> <?php echo esc_js( fs_text_inline( 'Saved', 'saved' ) ) ?>' );
[484] Fix | Delete
[485] Fix | Delete
toggleGroupOptOut( $optOutButton, ! isEnabled );
[486] Fix | Delete
},
[487] Fix | Delete
function () {
[488] Fix | Delete
// Revert switches to their previous state.
[489] Fix | Delete
for ( var i = 0; i < switchStates.length; i++ ) {
[490] Fix | Delete
if ( switchStates[ i ] ) {
[491] Fix | Delete
toggleSwitches( $( $switches[ i ] ), isEnabled );
[492] Fix | Delete
$( $switches[ i ] ).removeClass( 'fs-disabled' );
[493] Fix | Delete
}
[494] Fix | Delete
}
[495] Fix | Delete
[496] Fix | Delete
toggleGroupOptOut( $optOutButton, isEnabled );
[497] Fix | Delete
}
[498] Fix | Delete
)
[499] Fix | Delete
12
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function