shell bypass 403
UnknownSec Shell
:
/
home
/
innovagencyco
/
www
/
abtest.innovagency.co.za
/
wp-content
/
plugins
/
gosmtp
/
js
/ [
drwxr-xr-x
]
upload
mass deface
mass delete
console
info server
name :
admin.js
jQuery(document).ready(function(){ // Tabs Handler var tabs = jQuery('.gosmtp-wrapper').find('.nav-tab'); var tabsPanel = jQuery('.tabs-wrapper').find('.gosmtp-tab-panel'); function gosmtp_load_tab(event){ var hash = window.location.hash; // No action needed when there is know hash value if(!hash){ return; } // Scroll top if tabs is not visible jQuery("html, body").animate({ scrollTop: 0 }, "fast"); // Select elements jEle = jQuery(".nav-tab-wrapper").find("[href='" + hash + "']"); if(jEle.length < 1){ return; } // Remove active tab tabs.removeClass('nav-tab-active'); tabsPanel.hide(); // Make tab active jEle.addClass('nav-tab-active'); jQuery('.tabs-wrapper').find(hash).show(); if(hash == '#gosmtp-connections-settings'){ return; } // Modify and update current URL gosmtp_update_uri(hash); } // Load function when hash value change jQuery( window ).on( 'hashchange', gosmtp_load_tab); // For First load gosmtp_load_tab(); tabs.click(function(e){ if(jQuery(this).hasClass("nav-tab-active")){ e.preventDefault(); } // Hide edit connection form if(jQuery('.gosmtp-new-conn-wrap').css('display') == 'block'){ jQuery('#gosmtp-back-trigger').click(); } }); // Auth show and hide Handler var smtpAuth = jQuery('input[name="smtp[smtp_auth]"]'); smtpAuth.on('click', function(){ var val = jQuery(this).attr('value'); if(val == 'Yes'){ jQuery('.smtp-authentication').show(); }else{ jQuery('.smtp-authentication').hide(); } }); // Mailer active effert jQuery('.gosmtp-mailer-input').not('.pro').click( function(){ var parent = jQuery(this).closest('.gosmtp-tab-panel'); var jEle = jQuery(this); // Set active mailer parent.find('.gosmtp-mailer-input').find('.mailer_label').removeClass('mail_active'); jEle.find('.mailer_label').addClass('mail_active'); // Taggle mailer tabs parent.find('tr').hide(); parent.find('.always_active').closest('tr').show(); // Show active tab attr_name = parent.find('.mail_active').attr('data-name'); parent.find('.'+attr_name).closest("tr").show(); jEle.find('[name="mailer"]').prop('checked', true); // For On load set if(attr_name =='smtp'){ parent.find('input[name="smtp[smtp_auth]"][checked="checked"]').click(); } }); //Handle checkbox events // TODO: check jQuery('body').on('click','.gosmtp-multi-check, .gosmtp-checkbox', function(e){ e.stopPropagation(); $this = jQuery(this); var parent = $this.parent().parent().parent(); var checkedCount = jQuery('td input[type="checkbox"]:checked').length; var total = jQuery('td input[type="checkbox"]').length; var prop = false; var clas = ''; if($this.hasClass('gosmtp-multi-check')){ clas = 'td input[type="checkbox"]'; prop = $this.prop('checked') == true ? true : false; }else{ prop = checkedCount == total ? true : false; clas = '.gosmtp-multi-check'; } parent.find(clas).prop('checked',prop); checkedCount = jQuery('td input[type="checkbox"]:checked').length; if(checkedCount > 0){ jQuery('.gosmtp-log-options').css('display','flex'); }else{ jQuery('.gosmtp-log-options').css('display','none'); } }); jQuery('body').on('click','#gosmtp-table-opt-btn',function(){ var option = jQuery('#gosmtp-table-options').val(); var ids = []; jQuery('#gosmtp-logs-table').find('td input[type=checkbox]:checked').each(function(){ ids.push(jQuery(this).val()); }) if(ids.length == 0){ alert('Invalid selection!'); return; } var action = option == 'delete' ? 'gosmtp_delete_log' : ''; if(action == ''){ alert('Invalid option!'); return; } jQuery.ajax({ url:gosmtp_ajaxurl + 'action='+action, dataType : 'JSON', type : 'post', data: { id:ids, gosmtp_nonce: gosmtp_ajax_nonce }, success:function(data){ if( data.response !=undefined ){ alert(data.response); }else{ alert('Someting went wrong !'); } window.location.reload(); }, error:function(){ alert('Someting went wrong !'); } }); }); // Send Test Mail jQuery('body').on('submit', '#smtp-test-mail', function(e){ e.preventDefault(); var $this = jQuery(this); var formData = new FormData( jQuery(this)[0] ); formData.append('gosmtp_nonce', gosmtp_ajax_nonce); jQuery.ajax({ url: gosmtp_ajaxurl + 'action=gosmtp_test_mail', data: formData, type: 'POST', processData: false, contentType: false, cache: false, beforeSend: function(){ gosmtp_loader('show'); jQuery('#send_mail').attr('type', 'button'); var btnhtml = `<i class="dashicons dashicons-update-alt"></i> Sending `; $this.find('#send_mail').html(btnhtml); }, success: function( res ){ gosmtp_loader('hide'); $this.find('#send_mail').html('Send Mail'); jQuery('#send_mail').attr('type', 'submit'); res = gosmtp_isJSON(res); if(!res){ alert('Someting went wrong !'); return false; } if( res.error != undefined){ alert(res.error); return false; } alert('Mail sent successfully!'); window.location.reload(); }, error: function(){ gosmtp_loader('hide'); alert('Mail not sent!'); jQuery('#send_mail').attr('type','submit'); $this.find('#send_mail').html('Send Mail'); } }); }); jQuery('.gosmtp-mailer-input').find('.mail_active').closest('.gosmtp-mailer-input').click(); // Handle reload and retry events jQuery('body').on('click', '.gosmtp-resend, .gosmtp-retry, .gosmtp-pupup-retry, .gosmtp-pupup-resend', function(e){ e.stopPropagation(); var $this = jQuery(this); var isDialog = $this.hasClass('gosmtp-pupup-resend') || $this.hasClass('gosmtp-pupup-retry') ? true : false; var mail_id = jQuery(this).attr('data-id') != undefined ? jQuery(this).attr('data-id') : ''; var operation = jQuery(this).hasClass('gosmtp-resend') == true ? 'resend' : 'retry'; var className = ''; jQuery.ajax({ url:gosmtp_ajaxurl + 'action=gosmtp_resend_mail', dataType : 'JSON', type : 'post', data: { id:mail_id, gosmtp_nonce: gosmtp_ajax_nonce, operation: operation }, beforeSend:function(){ gosmtp_loader('show'); $this.addClass('gosmtp-resend-process'); }, success:function( res ){ gosmtp_loader('hide'); if(isDialog){ className = $this.hasClass('gosmtp-pupup-retry') ? 'gosmtp-pupup-retry' : 'gosmtp-pupup-resend'; }else{ className = $this.hasClass('gosmtp-pupup-retry') ? 'gosmtp-pupup-retry' : 'gosmtp-pupup-resend'; } var dialog_icon = ""; $this.removeClass(className); $this.removeClass('gosmtp-resend-process'); if(res.error != undefined){ $this.html('<i class="dashicons dashicons-update-alt"></i><span>Retry</span>'); $this.addClass('gosmtp-retry'); dialog_icon = '<i class="failed dashicons dashicons-warning"></i>'; alert( res.error ); }else{ $this.html('<i class="dashicons dashicons-image-rotate"></i><span>Resend</span>'); dialog_icon = '<i class="sent dashicons dashicons-yes-alt"></i>'; $this.addClass('gosmtp-resend'); alert( res.response ); } if(isDialog){ jQuery('.gosmtp-dialog-header').find('.gosmtp-status-icon').html(dialog_icon); } window.location.reload(); }, error:function(){ gosmtp_loader('hide'); alert('Someting went wrong !'); } }); }); // Handle delete events jQuery('body').on('click','.gosmtp-mail-delete',function(e){ e.stopPropagation(); var mail_id = jQuery(this).attr('data-id') != undefined ? jQuery(this).attr('data-id') : ''; var parent = jQuery(this).parent().parent(); jQuery.ajax({ url:gosmtp_ajaxurl + 'action=gosmtp_delete_log', dataType : 'JSON', type : 'post', data: { id:mail_id, gosmtp_nonce: gosmtp_ajax_nonce }, success:function(data){ if( data.response !=undefined ){ alert(data.response); window.location.reload(); }else{ alert('Someting went wrong !'); } }, error:function(){ alert('Someting went wrong !'); } }); }); // GoSMTP mail info popup jQuery('body').on('click','.gosmtp-mail-details', function(){ var dialog = jQuery('#gosmtp-logs-dialog'); var dialog_icon = dialog.find('.gosmtp-dialog-header').find('.gosmtp-status-icon'); var mail_id = jQuery(this).attr('data-id') != undefined ? jQuery(this).attr('data-id') : ''; jQuery.ajax({ url : gosmtp_ajaxurl + 'action=gosmtp_get_log', dataType : 'JSON', type : 'post', data: { 'gosmtp_nonce' : gosmtp_ajax_nonce, id: mail_id }, beforeSend : function(){ gosmtp_loader('show'); }, success : function( res ){ if(res.response.data != undefined){ var resp = res.response.data; var headers = resp.headers != undefined ? resp.headers : ''; var headers_ = '{}'; if(typeof headers == 'object' && Object.keys(headers).length > 0){ headers_ = JSON.stringify(headers, null, 3); } dialog.find('.gosmtp-log-headers').html('<pre>'+headers_+'</pre>'); var attachments = resp.attachments != undefined ? resp.attachments : ''; var attachments_count = 0; var attachments_ = '{}'; if(typeof attachments == 'object' && Object.keys(attachments).length > 0){ attachments_ = JSON.stringify(attachments, null, 3); attachments_count = attachments.length; } dialog.find('.gosmtp-log-attachments').html('<pre>'+attachments_+'</pre>'); dialog.find('.gosmtp-attachment-count').text('('+attachments_count+')'); var response = resp.response != undefined ? resp.response : ''; if(typeof response == 'object' && Object.keys(response).length > 0){ response = JSON.stringify(response, null, 3); } dialog.find('.gosmtp-log-response').html('<pre>'+response+'</pre>'); var to = resp.to != undefined ? resp.to : 'NA'; dialog.find('.gosmtp-message-tos').text(to); var from = resp.from != undefined ? resp.from : 'NA'; dialog.find('.gosmtp-message-from').text(from); var subject = resp.subject != undefined ? resp.subject : 'NA'; dialog.find('.gosmtp-message-subject').text(subject); var created = resp.created != undefined ? resp.created : 'NA'; dialog.find('.gosmtp-message-created').text(created); var provider = resp.provider != undefined ? resp.provider : 'NA'; dialog.find('.gosmtp-message-mailer').text(provider); var source = resp.source != undefined ? resp.source : 'NA'; dialog.find('.gosmtp-message-mailer').text(provider+' / '+source); var body = resp.body != undefined ? resp.body : 'NA'; dialog.find('.gosmtp-message-body').html(body); var forward_html = ''; if(resp.status != undefined){ var status = resp.status; var icon = '<i class="'+(status.toLowerCase())+' dashicons '+(status == 'Sent' ? 'dashicons-yes-alt' : 'dashicons-warning')+'"></i>'; dialog_icon.html(icon); var resend_retry = status == 'Sent' ? 'Resend' : 'Retry'; var rr_html = `<button type="button" data-id="`+mail_id+`" class="gosmtp-pupup-`+resend_retry.toLowerCase()+`"> <i class="dashicons `+( resend_retry == 'Retry' ? 'dashicons-update-alt' : 'dashicons-image-rotate' )+`"></i> <span>`+resend_retry+`</span> </button>`; jQuery('.gosmtp-dialog-actions').html(rr_html); forward_html = `<button type="button" data-id="`+mail_id+`" class="gosmtp-pupup-forward"> <i class="dashicons dashicons-share-alt2"></i> <span>Forward</span> </button>`; } jQuery('.gosmtp-forward-dialog').html(forward_html); } jQuery('body').css('overflow','hidden'); gosmtp_loader('hide'); dialog.fadeIn(); }, error:function(){ gosmtp_loader('hide'); alert('Someting went wrong !'); } }); }); // GoSMTP export files jQuery('body').on('submit','#gosmtp_export', function(e){ e.preventDefault(); var formData = new FormData(this); // Append the nonce formData.append('gosmtp_nonce', gosmtp_ajax_nonce); var format = formData.get('format'); jQuery.ajax({ url: gosmtp_ajaxurl + 'action=gosmtp_export_data', type: "POST", data: formData, processData: false, contentType: false, cache:false, xhrFields: { responseType: 'blob' }, beforeSend : function(){ jQuery('.dashicons-image-rotate').show(); }, success: function(data, status, xhr){ // Response in blob type due to this we get error form headers if(typeof data == 'string'){ error = xhr.getResponseHeader('x-error'); res = gosmtp_isJSON(error); if( res.error != undefined){ alert(res.error); } return false; } // Create a new date object for the current date const currentDate = new Date(); const day = String(currentDate.getDate()).padStart(2, '0'); const month = String(currentDate.getMonth() + 1).padStart(2, '0'); const year = currentDate.getFullYear(); const formattedDate = `${year}_${month}_${day}`; // Download zip for eml formate if(format == 'eml'){ format = 'zip'; } // Create link for download files var a = document.createElement('a'); var url = window.URL.createObjectURL(data); a.href = url; a.download = 'GoSMTP_email_export_'+formattedDate+'.'+format; a.click(); window.URL.revokeObjectURL(url); }, complete: function(res){ jQuery('.dashicons-image-rotate').hide(300); } }); }); // GoSMTP forward email jQuery('body').on('submit','#gosmtp-forward-form', function(e){ e.preventDefault(); e.stopPropagation(); jQuery('body').css('overflow','hidden'); var recipient_email = jQuery('.gosmtp-recipient-email').val(); var dialog = jQuery('#gosmtp-forward-dialog'); var id = jQuery('.forward-mail').attr('data-id'); jQuery.ajax({ url:gosmtp_ajaxurl + 'action=gosmtp_resend_mail', dataType : 'JSON', type : 'post', data: { id:id, gosmtp_nonce: gosmtp_ajax_nonce, recipient_email: recipient_email }, beforeSend:function(){ gosmtp_loader('show'); jQuery(this).addClass('gosmtp-resend-process'); }, success:function( res ){ gosmtp_loader('hide'); if(res.error != undefined){ alert( res.error ); }else{ alert( res.response ); } window.location.reload(); }, error:function(){ gosmtp_loader('hide'); alert('Someting went wrong !'); } }); }); // GoSMTP test mail popup jQuery('body').on('click','#gosmtp-testmail-btn', function(){ jQuery('body').css('overflow','hidden'); var dialog = jQuery('#gosmtp-testmail-dialog'); dialog.fadeIn(); }); // GoSMTP forward email popup jQuery('body').on('click','.gosmtp-forward, .gosmtp-pupup-forward', function(e){ e.stopPropagation(); jQuery('body').css('overflow','hidden'); var dialog = jQuery('#gosmtp-forward-dialog'); var id = jQuery(this).attr('data-id'); jQuery('.forward-mail').attr('data-id',id); dialog.fadeIn(); }); jQuery('.gosmtp-dialog,.gosmtp-dialog-close,.cancel-button').on('click',function(e){ if(e.currentTarget.classList[0] == 'gosmtp-dialog-close' || e.target.classList[0] == 'gosmtp-dialog' || e.target.classList[1] == 'cancel-button'){ jQuery(this).closest('.gosmtp-dialog').fadeOut(); jQuery('body').css('overflow','auto'); } }); // GoSMTP accordion jQuery('.gosmtp-accordion-header').on('click',function(e){ jQuery(this).parent().toggleClass("gosmtp-accordion-open") jQuery(this).parent().find('.gosmtp-accordion-content').slideToggle(); }); // Scrolling event on mailer click jQuery('body').on('click', '.mailer', function(e){ var mailer_container = jQuery(this).closest('tr'); jQuery(mailer_container).get(0).scrollIntoView({behavior: "smooth", inline: "nearest"}); }); // Show or hide logger settings jQuery('body').on('change', '#enable_logs', function(e){ if(jQuery(this).prop('checked')){ jQuery('.gosmtp-logs-options').show(); return; } jQuery('.gosmtp-logs-options').hide(); }); jQuery('#enable_logs:checked').trigger('change'); // Report page handler gosmtp_report_handler(); // For active radio label for format type jQuery('body').on('change', '.gosmtp-radio-list input[type="radio"]', function(e){ var lable = jQuery(this).next('label'); var cEle = jQuery('#custom-field'); var cActive = jQuery('.active_radio_tab').attr('for'); if(cActive == 'csv' || cActive == 'xls'){ sessionStorage.setItem('gosmtp_export_custom_fields', cEle.prop('checked')); }else{ var checked_val = sessionStorage.getItem('gosmtp_export_custom_fields'); if(checked_val != 'true'){ cEle.prop('checked', false); }else{ cEle.prop('checked', true); } } jQuery('.gosmtp-radio-list label').removeClass('active_radio_tab'); lable.addClass('active_radio_tab'); cEle.attr('disabled', false); if(lable.attr('for') == 'eml' ){ cEle.prop('checked', false); cEle.attr('disabled', true); } cEle.trigger('change'); }); // Show custom fields default jQuery('.gosmtp-radio-list input[type="radio"]:checked').trigger('change'); // For active radio label jQuery('body').on('change', '#custom-field', function(e){ jQuery(this).addClass('active_radio_tab'); if(jQuery(this).prop('checked')){ jQuery('.can-hidden').slideDown(200); return; } jQuery('.can-hidden').slideUp(200); }); // For weekdays checkbox jQuery('body').on('change', '#enable_weekly_reports', function(e){ if(jQuery(this).prop('checked')){ jQuery('.form-table #gosmtp-week-list').show(); return; } jQuery('.form-table #gosmtp-week-list').hide(); }); jQuery('#enable_weekly_reports:checked').trigger('change'); jQuery('body').on('click', '#gosmtp-new-conn, #gosmtp-new-conn-link', function(e){ var wrap = jQuery('.gosmtp-new-conn-wrap'); var form = wrap.find('form'); jQuery('#gosmtp-connections-settings').addClass('gosmtp-new-conn-open'); // Reset form if(form.length > 0){ // Reset textboxs except `.gosmtp_copy` form.find('input[type=text], input[type=password]').each(function(){ if(jQuery(this).hasClass('gosmtp_copy')){ return; } jQuery(this).val(''); }); form.find('input[type=text], input[type=password]').removeAttr('readonly'); // Reset checkboxes form.find('input[type=checkbox]:checked,input[type=radio]:checked').removeAttr('checked'); // Reset dropdowns form.find('select option:selected').removeAttr('selected'); // Reset auth links form.find('[data-field=auth]').removeAttr('href').removeClass('button').text('You need to save settings with Client ID and Client Secret before you can proceed.'); } // Reset mailer wrap.find('.mailer_check')[0].click(); // Remove connection id if exists wrap.find('[name="conn_id"]').remove(); // Modify and update current URL gosmtp_update_uri('#gosmtp-connections-settings'); }); jQuery('body').on('click', '#gosmtp-back-trigger', function(e){ var parent = jQuery('#gosmtp-connections-settings'); parent.removeClass('gosmtp-new-conn-open gosmtp-edit-conn-open'); // Modify and update current URL gosmtp_update_uri('#gosmtp-connections-settings'); }); jQuery('body').on('click', '.gosmtp-delete-conn',function(e){ var resp = confirm('Do you want to continue?'); if(!resp){ e.preventDefault(); } }); }); function gosmtp_isJSON(str) { try { var obj = JSON.parse(str); return obj; } catch (e) { return false; } } function gosmtp_copy_url(id){ var copyText = jQuery("#" +id); var copyMessage = jQuery("." +id); // Select the text field copyText.select(); // Show Message after Coppied copyMessage.slideDown(500); // Copy the text inside the text field navigator.clipboard.writeText(copyText.val()); // Hide Message after 3 second setTimeout(function(){ copyMessage.slideUp(500); }, 3000); } function gosmtp_loader(option = ''){ var config = option == 'show' ? 'flex' : 'none'; jQuery('.gosmtp-loader').css('display', config) } // Insert data id to checkbox and find active filter from url. function gosmtp_report_handler(){ // Date filter for email report jQuery('#gosmtp-date-option-filter').change(function(){ var dEle = jQuery('.gosmtp-report-date-container, #gosmtp-filter-date'); if(jQuery(this).val() == 'custom_date'){ dEle.show(300); return; } dEle.hide(300); }); // Multi select Toggele event jQuery('.gosmtp-fiter-container .multiselect, .gosmtp-fiter-container .dropdown').click(function(e){ var target = jQuery(e.target); var container = jQuery(this).closest('.gosmtp-fiter-container'); if(target.hasClass( 'multiselect' ) || target.hasClass( 'dropdown' )){ var cEle = jQuery('.gosmtp-fiter-container').not(container); // Slide Up all dropdowns cEle.css("z-index", ""); cEle.find('ul').slideUp(); cEle.find('.dropdown').removeClass('dashicons-arrow-up-alt2'); cEle.find('.dropdown').addClass('dashicons-arrow-down-alt2'); container.css("z-index", "1000"); container.find('ul').slideToggle(); container.find('.dropdown').toggleClass('dashicons-arrow-down-alt2'); container.find('.dropdown').toggleClass('dashicons-arrow-up-alt2'); } }); // Multi select Checkbox click event jQuery('.multiselect-options li input[type=checkbox]').click(function(){ var jEle = jQuery(this); var val = jEle.val(); var oEle = jEle.closest('ul.multiselect-options'); // All selected value container var container = []; // Select all if select all checked if(val == 'all' && jEle.prop('checked')){ oEle.find('li input[type=checkbox]').prop('checked', true); }else if(val == 'all'){ oEle.find('li input[type=checkbox]').prop('checked', false); } // Make Select box checked when all checkbox checked accept Select all checkbox if(oEle.find('li input[type=checkbox]:not(input[value=all]):checked').length < oEle.find('.multiselect-checkbox').length-1){ oEle.find('li input[value=all]').prop('checked', false); }else{ oEle.find('li input[value=all]').prop('checked', true); } // Insert all the checked button to the array oEle.find('li input[type=checkbox]:checked:not(input[value=all])').each(function(){ container.push(jQuery(this).val()); }) // Empty all element before Insert element jEle.closest('.gosmtp-fiter-container').find('.multiselect').html(''); // Insert value when there are empty array if(container.length == 0){ jEle.closest('.gosmtp-fiter-container').find('.multiselect').text('Select Filter'); } // Empty all element for(i=0; i <= container.length-1; i++){ jEle.closest('.gosmtp-fiter-container').find('.multiselect').append('<div class="gosmtp-container-val"><span >'+container[i].replace(/[._-]/g,' ')+'</span><span class="filter-close dashicons dashicons-no-alt" data-id='+oEle.find('li input[value='+container[i]+']').attr('data-id')+' ></span><div>'); } }); // Element close button event jQuery('body').on('click', '.filter-close',function(){ var id = parseInt((jQuery(this).attr('data-id'))); jQuery(this).closest('.gosmtp-fiter-container').find(' li input[type=checkbox]').get(id).click(); }); jQuery('.gosmtp-fiter-container').each(function(){ var all_checkbox = jQuery(this).find('.multiselect-options li input[type=checkbox]'); for(i=0; i<all_checkbox.length; i++){ jQuery(all_checkbox[i]).attr('data-id', i); } var checked = jQuery(this).find(' .multiselect-options li input[type=checkbox]:checked'); jQuery(this).find(checked).click(); var checkbox = jQuery('.multiselect-options li input[type=checkbox]:not(input[value=all])'); let searchParams = new URLSearchParams(window.location.search); for(j=0; j < checkbox.length; j++){ if(searchParams.has('multiselect['+j+']')){ var val = searchParams.get('multiselect['+j+']'); jQuery('.multiselect-options li input[value='+val+']').click(); } } }); } // Only update current URL without refresh function gosmtp_update_uri(uri = ''){ var urlObj = new URL(window.location.href); urlObj.search = ''; urlObj.hash = ''; var url = urlObj.toString()+'?page=gosmtp'+uri; // Update browser's session history stack. history.pushState({urlPath:url}, '', url); }
© 2024 UnknownSec