jQuery(document).ready(function() { /* Toggle selection of roles in post screen */ jQuery(document).on('click', 'input[name=userpro_edit_restrict]', function(){ if (jQuery(this).val() == 'roles'){ jQuery('p.restrict_roles').show( function(){ jQuery("p.restrict_roles select").removeClass("chzn-done").css('display', 'inline').data('chosen', null); jQuery("p.restrict_roles *[class*=chzn], p.restrict_roles .chosen-container").remove(); jQuery("p.restrict_roles .chosen-select").chosen({ disable_search_threshold: 10 }); }); } else { jQuery('p.restrict_roles').hide(); } }); if (jQuery('input[name=userpro_edit_restrict]:checked').val() == 'roles' ){ jQuery('p.restrict_roles').show( function(){ jQuery("p.restrict_roles select").removeClass("chzn-done").css('display', 'inline').data('chosen', null); jQuery("p.restrict_roles *[class*=chzn], p.restrict_roles .chosen-container").remove(); jQuery("p.restrict_roles .chosen-select").chosen({ disable_search_threshold: 10 }); }); } else { } /* Toggle admin screen headings */ if ( jQuery('div.userpro-admin h3').length <= 3) { jQuery('div.userpro-admin h3:first').addClass('selected'); jQuery('div.userpro-admin h3:first').next('table.form-table, .upadmin-panel').show(); jQuery('table[data-type=conditional]').hide(); jQuery('table[rel=' + jQuery('#badge_method').val() + ']').show(); jQuery(".userpro-admin select").removeClass("chzn-done").css('display', 'inline').data('chosen', null); jQuery(".userpro-admin *[class*=chzn], .userpro-admin .chosen-container").remove(); jQuery(".userpro-admin .chosen-select").chosen({ disable_search_threshold: 10 }); } /* Expand table under h3 */ jQuery(document).on('click', 'div.userpro-admin h3:not(.selected)', function(){ jQuery(this).addClass('selected'); jQuery(this).next('table.form-table, .upadmin-panel').show(); jQuery('table[data-type=conditional]').hide(); jQuery('table[rel=' + jQuery('#badge_method').val() + ']').show(); jQuery(".userpro-admin select").removeClass("chzn-done").css('display', 'inline').data('chosen', null); jQuery(".userpro-admin *[class*=chzn], .userpro-admin .chosen-container").remove(); jQuery(".userpro-admin .chosen-select").chosen({ disable_search_threshold: 10 }); }); /* Collapse table under h3 */ jQuery(document).on('click', 'div.userpro-admin h3.selected', function(){ jQuery(this).removeClass('selected'); jQuery(this).next('table.form-table, .upadmin-panel').hide(); }); /* deny user registration */ jQuery(document).on('click', '.upadmin-user-deny', function(e){ e.preventDefault(); var link = jQuery(this); var parent = jQuery(this).parents('.upadmin-pending-verify'); jQuery.ajax({ url: ajaxurl, data: 'action=userpro_admin_user_deny&user_id=' + jQuery(this).data('user'), dataType: 'JSON', type: 'POST', success:function(data){ parent.fadeOut(); if (data.count === '0' || data.count == '' || !data.count) { jQuery('.upadmin-bubble-new').remove(); } else { jQuery('.upadmin-bubble-new').html( data.count ); } jQuery('.toplevel_page_userpro').find('span.update-count').html( data.count ); } }); return false; }); /* approve user registration */ jQuery(document).on('click', '.upadmin-user-approve', function(e){ e.preventDefault(); var link = jQuery(this); var parent = jQuery(this).parents('.upadmin-pending-verify'); jQuery.ajax({ url: ajaxurl, data: 'action=userpro_admin_user_approve&user_id=' + jQuery(this).data('user'), dataType: 'JSON', type: 'POST', success:function(data){ parent.fadeOut(); if (data.count === '0' || data.count == '' || !data.count) { jQuery('.upadmin-bubble-new').remove(); } else { jQuery('.upadmin-bubble-new').html( data.count ); } jQuery('.toplevel_page_userpro').find('span.update-count').html( data.count ); } }); return false; }); /* Verify user */ jQuery(document).on('click', '.upadmin-verify-u', function(e){ e.preventDefault(); var link = jQuery(this); var parent = jQuery(this).parents('.upadmin-verify-v2'); jQuery.ajax({ url: ajaxurl, data: 'action=userpro_verify_user&user_id=' + link.data('user'), dataType: 'JSON', type: 'POST', success:function(data){ parent.hide().html( data.admin_tpl ).fadeIn(); } }); return false; }); /* Unverify user */ jQuery(document).on('click', '.upadmin-unverify-u', function(e){ e.preventDefault(); var link = jQuery(this); var parent = jQuery(this).parents('.upadmin-verify-v2'); jQuery.ajax({ url: ajaxurl, data: 'action=userpro_unverify_user&user_id=' + link.data('user'), dataType: 'JSON', type: 'POST', success:function(data){ parent.hide().html( data.admin_tpl ).fadeIn(); } }); return false; }); /* Verification invite */ jQuery(document).on('click', '.upadmin-invite-u', function(e){ e.preventDefault(); var link = jQuery(this); var parent = jQuery(this).parents('.upadmin-verify-v2'); jQuery.ajax({ url: ajaxurl, data: 'action=userpro_verify_invite&user_id=' + link.data('user'), dataType: 'JSON', type: 'POST', success:function(data){ parent.hide().html( data.admin_tpl ).fadeIn(); } }); return false; }); /* Verify user */ jQuery(document).on('click', '.upadmin-verify', function(e){ e.preventDefault(); var link = jQuery(this); var parent = jQuery(this).parents('.upadmin-pending-verify'); jQuery.ajax({ url: ajaxurl, data: 'action=userpro_verify_user&user_id=' + jQuery(this).data('user'), dataType: 'JSON', type: 'POST', success:function(data){ parent.fadeOut(); if (data.count === '0' || data.count == '' || !data.count) { jQuery('.upadmin-bubble-new').remove(); } else { jQuery('.upadmin-bubble-new').html( data.count ); } jQuery('.toplevel_page_userpro').find('span.update-count').html( data.count ); } }); return false; }); /* Unverify user */ jQuery(document).on('click', '.upadmin-unverify', function(e){ e.preventDefault(); var link = jQuery(this); var parent = jQuery(this).parents('.upadmin-pending-verify'); jQuery.ajax({ url: ajaxurl, data: 'action=userpro_unverify_user&user_id=' + jQuery(this).data('user'), dataType: 'JSON', type: 'POST', success:function(data){ parent.fadeOut(); if (data.count === '0' || data.count == '' || !data.count) { jQuery('.upadmin-bubble-new').remove(); } else { jQuery('.upadmin-bubble-new').html( data.count ); } jQuery('.toplevel_page_userpro').find('span.update-count').html( data.count ); } }); return false; }); /* Block user */ jQuery(document).on('click', '.upadmin-block-u', function(e){ e.preventDefault(); $res = window.confirm( "Are you sure you want to block this user ?" ); if(!$res){ return; } var link = jQuery(this); var parent = jQuery(this).parents('.upadmin-block-v2'); jQuery.ajax({ url: ajaxurl, data: 'action=userpro_block_account&user_id=' + link.data('user'), dataType: 'JSON', type: 'POST', success:function(data){ parent.hide().html( data.admin_tpl ).fadeIn(); } }); return false; }); /* Unblock user */ jQuery(document).on('click', '.upadmin-unblock-u', function(e){ e.preventDefault(); var link = jQuery(this); var parent = jQuery(this).parents('.upadmin-block-v2'); jQuery.ajax({ url: ajaxurl, data: 'action=userpro_unblock_account&user_id=' + link.data('user'), dataType: 'JSON', type: 'POST', success:function(data){ parent.hide().html( data.admin_tpl ).fadeIn(); } }); return false; }); /* Mouseenter/leave verify user */ jQuery(document).on('mouseenter', '.upadmin-unverify,.upadmin-verify', function(e){ jQuery(this).find('span').show(); }) jQuery(document).on('mouseleave', '.upadmin-unverify,.upadmin-verify', function(e){ jQuery(this).find('span').hide(); }); /* cancel field editing */ jQuery(document).on('click', '.upadmin-field-zone-cancel', function(e){ e.preventDefault(); jQuery(this).parents('.upadmin-field-zone').hide(); return false; }); /* chosen select */ jQuery(".chosen-select").chosen({ disable_search_threshold: 10 }); /* Setup field options (multi choice) */ jQuery(document).on('change', '#upadmin_n_type', function(e){ var type = jQuery(this).val(); if( type == 'select' || type == 'multiselect' || type == 'radio' || type == 'radio-full' || type == 'checkbox' || type == 'checkbox-full' ) { jQuery('.choicebased').show(); } else { jQuery('.choicebased').hide(); } if ( type == 'file' ) { jQuery('.filetypes').show(); } else { jQuery('.filetypes').hide(); } }); /* Custom input show/hide */ if (jQuery('#dashboard_redirect_users').val()==2){ jQuery('#dashboard_redirect_users').parents('td').find('.userpro-admin-hide-input').css({'display':'block'}); } if (jQuery('#profile_redirect_users').val()==2){ jQuery('#profile_redirect_users').parents('td').find('.userpro-admin-hide-input').css({'display':'block'}); } if (jQuery('#register_redirect_users').val()==2){ jQuery('#register_redirect_users').parents('td').find('.userpro-admin-hide-input').css({'display':'block'}); } if (jQuery('#login_redirect_users').val()==2){ jQuery('#login_redirect_users').parents('td').find('.userpro-admin-hide-input').css({'display':'block'}); } jQuery('#dashboard_redirect_users,#profile_redirect_users,#register_redirect_users,#login_redirect_users').change(function(){ if (jQuery(this).val() == 2) { jQuery(this).parents('td').find('.userpro-admin-hide-input').css({'display':'block'}); } else { jQuery(this).parents('td').find('.userpro-admin-hide-input').css({'display':'none'}); } }); /* the main field list actions */ jQuery(document).on('click', '#upadmin-sortable-fields .upadmin-field-actions a', function(e){ e.preventDefault(); var act = jQuery(this).attr('class'); var field = jQuery(this).parents('li').attr('id').replace('upadmin-',''); var load = jQuery(this).parents('.upadmin-fieldlist').find('.upadmin-loader'); if (act == 'upadmin-field-action-remove') { if (!confirm('Are you sure you want to delete field from your fields list?')) return false; load.addClass('loading'); jQuery(this).parents('li').fadeOut(); jQuery.ajax({ url: ajaxurl, data: 'action=userpro_delete_field&field=' + field, dataType: 'JSON', type: 'POST', success:function(data){ load.removeClass('loading'); jQuery('span.upadmin-ajax-fieldcount').html( data.count ); } }); } if (act == 'upadmin-field-action-edit') { jQuery(this).parents('li').find('.upadmin-field-zone').toggle(); } return false; }); /* blur field edit */ jQuery(document).on('change', '#upadmin-sortable-fields .upadmin-field-zone input, #upadmin-sortable-fields .upadmin-field-zone select, #upadmin-sortable-fields .upadmin-field-zone textarea', function(e){ var load = jQuery(this).parents('.upadmin-fieldlist').find('.upadmin-loader'); load.addClass('loading'); var field = jQuery(this).parents('li').attr('id').replace('upadmin-',''); var str = ''; jQuery(this).parents('li').find('input[type=text]').each(function(){ str = str + '&' + jQuery(this).attr('id').replace(field + '-','') + '=' + jQuery(this).val(); }); jQuery(this).parents('li').find('textarea').each(function(){ str = str + '&' + jQuery(this).attr('id').replace(field + '-','') + '=' + jQuery(this).val(); }); jQuery.ajax({ url: ajaxurl, data: 'action=userpro_update_field&field=' + field + str, //dataType: 'JSON', type: 'POST', success:function(data){ load.removeClass('loading'); } }); }); /* click on action of field */ jQuery(document).on('click', '.upadmin-groups .upadmin-field-actions a', function(e){ e.preventDefault(); var form = jQuery(this).parents('.upadmin-tpl').find('form'); var act = jQuery(this).attr('class'); var proc = jQuery(this).data('proc'); if (act == 'upadmin-field-action-remove') { if (!confirm('Are you sure you want to delete field from this group?')) return false; jQuery(this).parents('li').fadeOut(function(){jQuery(this).remove(); form.trigger('submit');}); } if (act == 'upadmin-field-action-edit') { jQuery(this).parents('li').find('.upadmin-field-zone').toggle(); } if (act == 'upadmin-field-action upadmin-field-action-hideable off') { jQuery(this).removeClass('off').addClass('on');jQuery(this).parents('li').find('input[name=' + jQuery(this).data('key') + '-' + jQuery(this).data('role') + ']').val(1);form.trigger('submit');} if (act == 'upadmin-field-action upadmin-field-action-hideable on') { jQuery(this).removeClass('on').addClass('off');jQuery(this).parents('li').find('input[name=' + jQuery(this).data('key') + '-' + jQuery(this).data('role') + ']').val(0);form.trigger('submit');} if (act == 'upadmin-field-action upadmin-field-action-hidden off') { jQuery(this).removeClass('off').addClass('on');jQuery(this).parents('li').find('input[name=' + jQuery(this).data('key') + '-' + jQuery(this).data('role') + ']').val(1);form.trigger('submit');} if (act == 'upadmin-field-action upadmin-field-action-hidden on') { jQuery(this).removeClass('on').addClass('off');jQuery(this).parents('li').find('input[name=' + jQuery(this).data('key') + '-' + jQuery(this).data('role') + ']').val(0);form.trigger('submit');} if (act == 'upadmin-field-action upadmin-field-action-required off') { jQuery(this).removeClass('off').addClass('on');jQuery(this).parents('li').find('input[name=' + jQuery(this).data('key') + '-' + jQuery(this).data('role') + ']').val(1);form.trigger('submit');} if (act == 'upadmin-field-action upadmin-field-action-required on') { jQuery(this).removeClass('on').addClass('off');jQuery(this).parents('li').find('input[name=' + jQuery(this).data('key') + '-' + jQuery(this).data('role') + ']').val(0);form.trigger('submit');} if (act == 'upadmin-field-action upadmin-field-action-locked off') { jQuery(this).removeClass('off').addClass('on');jQuery(this).parents('li').find('input[name=' + jQuery(this).data('key') + '-' + jQuery(this).data('role') + ']').val(1);form.trigger('submit');} if (act == 'upadmin-field-action upadmin-field-action-locked on') { jQuery(this).removeClass('on').addClass('off');jQuery(this).parents('li').find('input[name=' + jQuery(this).data('key') + '-' + jQuery(this).data('role') + ']').val(0);form.trigger('submit');} if (act == 'upadmin-field-action upadmin-field-action-private off') { jQuery(this).removeClass('off').addClass('on');jQuery(this).parents('li').find('input[name=' + jQuery(this).data('key') + '-' + jQuery(this).data('role') + ']').val(1);form.trigger('submit');} if (act == 'upadmin-field-action upadmin-field-action-private on') { jQuery(this).removeClass('on').addClass('off');jQuery(this).parents('li').find('input[name=' + jQuery(this).data('key') + '-' + jQuery(this).data('role') + ']').val(0);form.trigger('submit');} if (act == 'upadmin-field-action upadmin-field-action-html off') { jQuery(this).removeClass('off').addClass('on');jQuery(this).parents('li').find('input[name=' + jQuery(this).data('key') + '-' + jQuery(this).data('role') + ']').val(1);form.trigger('submit');} if (act == 'upadmin-field-action upadmin-field-action-html on') { jQuery(this).removeClass('on').addClass('off');jQuery(this).parents('li').find('input[name=' + jQuery(this).data('key') + '-' + jQuery(this).data('role') + ']').val(0);form.trigger('submit');} return false; }); /* blur field edit */ jQuery(document).on('change', '.upadmin-groups .upadmin-field-zone input, .upadmin-groups .upadmin-field-zone select, .upadmin-groups .upadmin-field-zone textarea', function(e){ var form = jQuery(this).parents('.upadmin-tpl').find('form'); form.trigger('submit'); }); /* toggle adding new field */ jQuery(document).on('click', '.upadmin-toggle-new', function(e){ e.preventDefault(); var new_field = jQuery('.upadmin-new'); if (new_field.is(':hidden')){ new_field.show(); /* chosen dropdowns */ jQuery(".upadmin-new select").removeClass("chzn-done").css('display', 'inline').data('chosen', null); jQuery(".upadmin-new *[class*=chzn], .upadmin-new .chosen-container").remove(); jQuery(".upadmin-new .chosen-select").chosen({ disable_search_threshold: 10 }); }else{ new_field.hide(); } return false; }); /* icon clicks */ jQuery(document).on('click', '.upadmin-icon-abs a:not(.upadmin-noajax)', function(e){ e.preventDefault(); return false; }); /* toggle/un-toggle field groups */ jQuery(document).on('click', '.upadmin-icon-abs a.max', function(e){ var tpl = jQuery(this).parents('.upadmin-tpl'); tpl.find('.upadmin-tpl-body').removeClass('max').addClass('min'); tpl.find('.upadmin-tpl-head').removeClass('max').addClass('min'); jQuery(this).removeClass('max').addClass('min'); }); jQuery(document).on('click', '.upadmin-icon-abs a.min', function(e){ var tpl = jQuery(this).parents('.upadmin-tpl'); tpl.find('.upadmin-tpl-body').removeClass('min').addClass('max'); tpl.find('.upadmin-tpl-head').removeClass('min').addClass('max'); jQuery(this).removeClass('min').addClass('max'); }); /* cancel new field div */ jQuery(document).on('click', '#upadmin_n_cancel', function(e){ e.preventDefault(); var new_field = jQuery('.upadmin-new'); new_field.hide(); return false; }); /* reset original fields */ jQuery(document).on('click', '.upadmin-reset-fields', function(e){ e.preventDefault(); form = jQuery(this).parents('.upadmin-fieldlist'); if (!confirm('This will restore original plugin fields. Are you sure?')) return false; form.find('.upadmin-loader').addClass('loading'); jQuery.ajax({ url: ajaxurl, data: 'action=userpro_restore_builtin_fields', dataType: 'JSON', type: 'POST', success:function(data){ form.find('.upadmin-loader').removeClass('loading'); jQuery('span.upadmin-ajax-fieldcount').html( data.count ); jQuery('ul#upadmin-sortable-fields').html( data.html ); } }); return true; }); /* reset all groups */ jQuery(document).on('click', '.upadmin-reset-groups', function(e){ e.preventDefault(); form = jQuery(this).parents('.upadmin-groups'); if (!confirm('This will restore original fields for ALL groups. Are you sure?')) return false; form.find('.upadmin-loader').addClass('loading'); jQuery.ajax({ url: ajaxurl, data: 'action=userpro_restore_builtin_groups', dataType: 'JSON', type: 'POST', success:function(data){ form.find('.upadmin-loader').removeClass('loading'); jQuery('.upadmin-groups-view').html( data.html ); jQuery('.upadmin-tpl-body ul').sortable({ receive: function(e,ui) { copyHelper= null; } }); } }); return true; }); /* Publish new field */ jQuery(document).on('submit', '.upadmin-new form', function(e){ e.preventDefault(); form = jQuery(this); form.find('span.error-text').remove(); form.find('input').removeClass('error'); form.parents('.upadmin-fieldlist').find('.upadmin-loader').addClass('loading'); jQuery.ajax({ url: ajaxurl, data: form.serialize() + '&action=userpro_create_field', dataType: 'JSON', type: 'POST', success:function(data){ form.parents('.upadmin-fieldlist').find('.upadmin-loader').removeClass('loading'); if (data.error){ jQuery.each( data.error, function(i, v) { jQuery('#'+i).addClass('error').focus().after('<span class="error-text">'+v+'</span>'); }); } else { form.find('input').removeClass('error'); jQuery('ul#upadmin-sortable-fields').prepend( data.html ); jQuery('span.upadmin-ajax-fieldcount').html( data.count ); } } }); return false; }); /* reset single group */ jQuery(document).on('click', '.upadmin-tpl a.resetgroup', function(e){ e.preventDefault(); if (!confirm('This will restore original fields for this GROUP. Are you sure?')) return false; var form = jQuery(this).parents('.upadmin-tpl').find('form'); var role = form.data('role'); form.find('.upadmin-tpl-head').append('<img src="'+form.data('loading')+'" alt="" class="upadmin-miniload" />'); jQuery.ajax({ url: ajaxurl, data: form.serialize() + '&action=userpro_reset_group&role='+role, dataType: 'JSON', type: 'POST', success:function(data){ form.find('.upadmin-miniload').remove(); form.parents('.upadmin-tpl').replaceWith( data.html ); form.parents('.upadmin-tpl').find('.upadmin-tpl-body ul').sortable({ receive: function(e,ui) { copyHelper= null; } }); } }); return false; }); /* Save forms */ jQuery(document).on('click', '.upadmin-tpl a.saveform', function(e){ form = jQuery(this).parents('.upadmin-tpl').find('form'); form.trigger('submit'); }); jQuery(document).on('submit', '.upadmin-tpl form', function(e){ e.preventDefault(); form = jQuery(this); var role = jQuery(this).data('role'); var group = jQuery(this).data('group'); form.find('.upadmin-tpl-head').append('<img src="'+form.data('loading')+'" alt="" class="upadmin-miniload" />'); jQuery.ajax({ url: ajaxurl, data: form.serialize() + '&action=userpro_save_group&role='+role+'&group='+group, dataType: 'JSON', type: 'POST', success:function(data){ form.find('.upadmin-miniload').remove(); } }); return false; }); /* The groups that will receive fields */ jQuery('.upadmin-tpl-body ul').sortable({ receive: function(e,ui) { copyHelper= null; var list = jQuery(this).parents('.upadmin-tpl-body'); jQuery.each( list.find("li[data-special^='newsection']"), function(i, v){ section_word = 'newsection' + i; jQuery(this).data('special', section_word); jQuery(this).find('input').each(function(){ jQuery(this).attr('name', jQuery(this).attr('name').replace('newsection', section_word)); jQuery(this).attr('id', jQuery(this).attr('id').replace('newsection', section_word)); }); }); } }); /* Add new section field */ jQuery('ul#upadmin-newsection').sortable({ connectWith: ".upadmin-tpl-body ul", forcePlaceholderSize: false, helper: function(e,li) { copyHelper= li.clone().insertAfter(li); return li.clone(); }, stop: function() { copyHelper && copyHelper.remove(); } }); /* Moving out field/sorting between fields */ var itemList = jQuery('ul#upadmin-sortable-fields'); itemList.sortable({ connectWith: ".upadmin-tpl-body ul", forcePlaceholderSize: false, helper: function(e,li) { copyHelper= li.clone().insertAfter(li); return li.clone(); }, stop: function() { copyHelper && copyHelper.remove(); }, update: function(event, ui) { opts = { url: ajaxurl, type: 'POST', async: true, cache: false, dataType: 'json', data:{ action: 'userpro_field_sort', order: itemList.sortable('toArray').toString() }, success: function(data) { return; }, error: function(xhr,textStatus,e) { return; } }; jQuery.ajax(opts); } }); jQuery('#reset-options').click(function(e){ var res = window.confirm( 'Are you sure you want to reset the settings to default ?' ); if( !res ) { return false; } }) });