forked from LiveCarta/LiveCartaWP
Changed source root directory
This commit is contained in:
@@ -0,0 +1,714 @@
|
||||
var transports = [];
|
||||
|
||||
connectivtyTestResults = {};
|
||||
portTestInProgress = false;
|
||||
|
||||
/**
|
||||
* Functions to run on document load
|
||||
*/
|
||||
jQuery(document).ready(function() {
|
||||
jQuery(post_smtp_localize.postman_input_sender_email).focus();
|
||||
initializeJQuerySteps();
|
||||
// add an event on the plugin selection
|
||||
jQuery('input[name="input_plugin"]').click(function() {
|
||||
getConfiguration();
|
||||
});
|
||||
|
||||
// add an event on the transport input field
|
||||
// when the user changes the transport, determine whether
|
||||
// to show or hide the SMTP Settings
|
||||
jQuery('select#input_transport_type').change(function() {
|
||||
hide('#wizard_oauth2_help');
|
||||
reloadOauthSection();
|
||||
switchBetweenPasswordAndOAuth();
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
function checkGoDaddyAndCheckEmail(email) {
|
||||
hide('#godaddy_block');
|
||||
hide('#godaddy_spf_required');
|
||||
// are we hosted on GoDaddy? check.
|
||||
var data = {
|
||||
'action' : 'postman_wizard_port_test',
|
||||
'hostname' : 'relay-hosting.secureserver.net',
|
||||
'port' : 25,
|
||||
'timeout' : 3,
|
||||
'security' : jQuery('#security').val(),
|
||||
};
|
||||
goDaddy = 'unknown';
|
||||
checkedEmail = false;
|
||||
jQuery.post(ajaxurl, data, function(response) {
|
||||
if (postmanValidateAjaxResponseWithPopup(response)) {
|
||||
checkEmail(response.success, email);
|
||||
}
|
||||
}).fail(function(response) {
|
||||
ajaxFailed(response);
|
||||
});
|
||||
}
|
||||
|
||||
function checkEmail(goDaddyHostDetected, email) {
|
||||
var data = {
|
||||
'action' : 'postman_check_email',
|
||||
'go_daddy' : goDaddyHostDetected,
|
||||
'email' : email,
|
||||
'security' : jQuery('#security').val()
|
||||
};
|
||||
jQuery.post(
|
||||
ajaxurl,
|
||||
data,
|
||||
function(response) {
|
||||
if (postmanValidateAjaxResponseWithPopup(response)) {
|
||||
checkedEmail = true;
|
||||
smtpDiscovery = response.data;
|
||||
if (response.data.hostname != null
|
||||
&& response.data.hostname) {
|
||||
jQuery(post_smtp_localize.postman_hostname_element_name).val(
|
||||
response.data.hostname);
|
||||
}
|
||||
enableSmtpHostnameInput(goDaddyHostDetected);
|
||||
}
|
||||
}).fail(function(response) {
|
||||
ajaxFailed(response);
|
||||
});
|
||||
}
|
||||
|
||||
function enableSmtpHostnameInput(goDaddyHostDetected) {
|
||||
if (goDaddyHostDetected && !smtpDiscovery.is_google) {
|
||||
// this is a godaddy server and we are using a godaddy smtp server
|
||||
// (gmail excepted)
|
||||
if (smtpDiscovery.is_go_daddy) {
|
||||
// we detected GoDaddy, and the user has entered a GoDaddy hosted
|
||||
// email
|
||||
} else if (smtpDiscovery.is_well_known) {
|
||||
// this is a godaddy server but the SMTP must be the email
|
||||
// service
|
||||
show('#godaddy_block');
|
||||
} else {
|
||||
// this is a godaddy server and we're using a (possibly) custom
|
||||
// domain
|
||||
show('#godaddy_spf_required');
|
||||
}
|
||||
}
|
||||
enable('#input_hostname');
|
||||
jQuery('li').removeClass('disabled');
|
||||
hideLoaderIcon();
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize the Steps wizard
|
||||
*/
|
||||
function initializeJQuerySteps() {
|
||||
jQuery("#postman_wizard").steps(
|
||||
{
|
||||
bodyTag : "fieldset",
|
||||
headerTag : "h5",
|
||||
transitionEffect : "slideLeft",
|
||||
stepsOrientation : "vertical",
|
||||
autoFocus : true,
|
||||
startIndex : parseInt(postman_setup_wizard.start_page),
|
||||
labels : {
|
||||
current : post_smtp_localize.steps_current_step,
|
||||
pagination : post_smtp_localize.steps_pagination,
|
||||
finish : post_smtp_localize.steps_finish,
|
||||
next : post_smtp_localize.steps_next,
|
||||
previous : post_smtp_localize.steps_previous,
|
||||
loading : post_smtp_localize.steps_loading
|
||||
},
|
||||
onStepChanging : function(event, currentIndex, newIndex) {
|
||||
|
||||
var response = handleStepChange( event, currentIndex, newIndex, jQuery( this ) );
|
||||
|
||||
if( response ) {
|
||||
|
||||
if( !jQuery( `#postman_wizard-t-${currentIndex} span` ).hasClass( 'dashicons' ) )
|
||||
jQuery( `#postman_wizard-t-${currentIndex}` ).append( '<span class="ps-right dashicons dashicons-yes-alt"></span>' );
|
||||
|
||||
}
|
||||
|
||||
return response;
|
||||
|
||||
},
|
||||
onInit : function() {
|
||||
|
||||
if( !jQuery( `#postman_wizard-t-0 span` ).hasClass( 'dashicons' ) )
|
||||
jQuery( '#postman_wizard-t-0' ).append( '<span class="ps-right dashicons dashicons-yes-alt"></span>' );
|
||||
|
||||
jQuery(post_smtp_localize.postman_input_sender_email).focus();
|
||||
|
||||
},
|
||||
onStepChanged : function(event, currentIndex, priorIndex) {
|
||||
return postHandleStepChange(event, currentIndex,
|
||||
priorIndex, jQuery(this));
|
||||
},
|
||||
onFinishing : function(event, currentIndex) {
|
||||
var form = jQuery(this);
|
||||
|
||||
// Disable validation on fields that
|
||||
// are disabled.
|
||||
// At this point it's recommended to
|
||||
// do an overall check (mean
|
||||
// ignoring
|
||||
// only disabled fields)
|
||||
// form.validate().settings.ignore =
|
||||
// ":disabled";
|
||||
|
||||
// Start validation; Prevent form
|
||||
// submission if false
|
||||
return form.valid();
|
||||
},
|
||||
onFinished : function(event, currentIndex) {
|
||||
var form = jQuery(this);
|
||||
|
||||
// Submit form input
|
||||
form.submit();
|
||||
}
|
||||
}).validate({
|
||||
errorPlacement : function(error, element) {
|
||||
element.before(error);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function handleStepChange(event, currentIndex, newIndex, form) {
|
||||
// Always allow going backward even if
|
||||
// the current step contains invalid fields!
|
||||
if (currentIndex > newIndex) {
|
||||
if (currentIndex === 2 && !(checkedEmail)) {
|
||||
return false;
|
||||
}
|
||||
if (currentIndex === 3 && portTestInProgress) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Clean up if user went backward
|
||||
// before
|
||||
if (currentIndex < newIndex) {
|
||||
// To remove error styles
|
||||
jQuery(".body:eq(" + newIndex + ") label.error", form).remove();
|
||||
jQuery(".body:eq(" + newIndex + ") .error", form).removeClass("error");
|
||||
}
|
||||
|
||||
// Disable validation on fields that
|
||||
// are disabled or hidden.
|
||||
form.validate().settings.ignore = ":disabled,:hidden";
|
||||
|
||||
// Start validation; Prevent going
|
||||
// forward if false
|
||||
valid = form.valid();
|
||||
if (!valid) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (currentIndex === 1) {
|
||||
// page 1 : look-up the email
|
||||
// address for the smtp server
|
||||
checkGoDaddyAndCheckEmail(jQuery(post_smtp_localize.postman_input_sender_email).val());
|
||||
|
||||
} else if (currentIndex === 2) {
|
||||
|
||||
if (!(checkedEmail)) {
|
||||
return false;
|
||||
}
|
||||
// page 2 : check the port
|
||||
portsChecked = 0;
|
||||
portsToCheck = 0;
|
||||
totalAvail = 0;
|
||||
|
||||
getHostsToCheck(jQuery(post_smtp_localize.postman_hostname_element_name).val());
|
||||
|
||||
} else if (currentIndex === 3) {
|
||||
|
||||
// user has clicked next but we haven't finished the check
|
||||
if (portTestInProgress) {
|
||||
return false;
|
||||
}
|
||||
// or all ports are unavailable
|
||||
if (portCheckBlocksUi) {
|
||||
return false;
|
||||
}
|
||||
valid = form.valid();
|
||||
if (!valid) {
|
||||
return false;
|
||||
}
|
||||
var chosenPort = jQuery(post_smtp_localize.postman_port_element_name).val();
|
||||
var hostname = jQuery(post_smtp_localize.postman_hostname_element_name).val();
|
||||
var authType = jQuery(post_smtp_localize.postman_input_auth_type).val()
|
||||
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function postHandleStepChange(event, currentIndex, priorIndex, myself) {
|
||||
var chosenPort = jQuery('#input_auth_type').val();
|
||||
// Suppress (skip) "Warning" step if
|
||||
// the user is old enough and wants
|
||||
// to the previous step.
|
||||
if (currentIndex === 2) {
|
||||
jQuery(post_smtp_localize.postman_hostname_element_name).focus();
|
||||
// this is the second place i disable the next button but Steps
|
||||
// re-enables it after the screen slides
|
||||
if (priorIndex === 1) {
|
||||
disable('#input_hostname');
|
||||
jQuery('li').addClass('disabled');
|
||||
showLoaderIcon();
|
||||
}
|
||||
}
|
||||
if (currentIndex === 3) {
|
||||
if (priorIndex === 2) {
|
||||
// this is the second place i disable the next button but Steps
|
||||
// re-enables it after the screen slides
|
||||
jQuery('li').addClass('disabled');
|
||||
showLoaderIcon();
|
||||
}
|
||||
}
|
||||
if (currentIndex === 4) {
|
||||
if (redirectUrlWarning) {
|
||||
alert(post_smtp_localize.postman_wizard_bad_redirect_url);
|
||||
}
|
||||
if (chosenPort == 'none') {
|
||||
if (priorIndex === 5) {
|
||||
|
||||
myself.steps("previous");
|
||||
return;
|
||||
}
|
||||
myself.steps("next");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Asks the server for a List of sockets to perform port checks upon.
|
||||
*
|
||||
* @param hostname
|
||||
*/
|
||||
function getHostsToCheck(hostname) {
|
||||
jQuery('table#wizard_port_test').html('');
|
||||
jQuery('#wizard_recommendation').html('');
|
||||
hide('.user_override');
|
||||
hide('#smtp_not_secure');
|
||||
hide('#smtp_mitm');
|
||||
connectivtyTestResults = {};
|
||||
portCheckBlocksUi = true;
|
||||
portTestInProgress = true;
|
||||
var data = {
|
||||
'action' : 'postman_get_hosts_to_test',
|
||||
'hostname' : hostname,
|
||||
'original_smtp_server' : smtpDiscovery.hostname,
|
||||
'security' : jQuery('#security').val(),
|
||||
};
|
||||
jQuery.post(ajaxurl, data, function(response) {
|
||||
if (postmanValidateAjaxResponseWithPopup(response)) {
|
||||
handleHostsToCheckResponse(response.data);
|
||||
}
|
||||
}).fail(function(response) {
|
||||
ajaxFailed(response);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Handles the response from the server of the list of sockets to check.
|
||||
*
|
||||
* @param hostname
|
||||
* @param response
|
||||
*/
|
||||
function handleHostsToCheckResponse(response) {
|
||||
for ( var x in response.hosts) {
|
||||
var hostname = response.hosts[x].host;
|
||||
var port = response.hosts[x].port;
|
||||
var transport = response.hosts[x].transport_id;
|
||||
var logoURL = response.hosts[x].logo_url;
|
||||
portsToCheck++;
|
||||
show('#connectivity_test_status');
|
||||
updateStatus(postman_port_test.in_progress + " " + portsToCheck);
|
||||
var data = {
|
||||
'action' : 'postman_wizard_port_test',
|
||||
'hostname' : hostname,
|
||||
'port' : port,
|
||||
'transport' : transport,
|
||||
'logo_url': logoURL,
|
||||
'security' : jQuery('#security').val(),
|
||||
};
|
||||
postThePortTest(hostname, port, data);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Asks the server to run a connectivity test on the given port
|
||||
*
|
||||
* @param hostname
|
||||
* @param port
|
||||
* @param data
|
||||
*/
|
||||
function postThePortTest(hostname, port, data) {
|
||||
jQuery.post(ajaxurl, data, function(response) {
|
||||
if (postmanValidateAjaxResponseWithPopup(response)) {
|
||||
handlePortTestResponse(hostname, port, data, response);
|
||||
}
|
||||
}).fail(function(response) {
|
||||
ajaxFailed(response);
|
||||
portsChecked++;
|
||||
afterPortsChecked();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Handles the result of the port test
|
||||
*
|
||||
* @param hostname
|
||||
* @param port
|
||||
* @param data
|
||||
* @param response
|
||||
*/
|
||||
function handlePortTestResponse(hostname, port, data, response) {
|
||||
if (!response.data.try_smtps) {
|
||||
portsChecked++;
|
||||
updateStatus(postman_port_test.in_progress + " "
|
||||
+ (portsToCheck - portsChecked));
|
||||
connectivtyTestResults[hostname + '_' + port] = response.data;
|
||||
if (response.success) {
|
||||
// a totalAvail > 0 is our signal to go to the next step
|
||||
totalAvail++;
|
||||
}
|
||||
afterPortsChecked();
|
||||
} else {
|
||||
// SMTP failed, try again on the SMTPS port
|
||||
data['action'] = 'postman_wizard_port_test_smtps';
|
||||
data['security'] = jQuery('#security').val();
|
||||
postThePortTest(hostname, port, data);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param message
|
||||
*/
|
||||
function updateStatus(message) {
|
||||
jQuery('#port_test_status').html(
|
||||
'<span style="color:blue">' + message + '</span>');
|
||||
}
|
||||
|
||||
/**
|
||||
* This functions runs after ALL the ports have been checked. It's chief
|
||||
* function is to push the results of the port test back to the server to get a
|
||||
* suggested configuration.
|
||||
*/
|
||||
function afterPortsChecked() {
|
||||
if (portsChecked >= portsToCheck) {
|
||||
hideLoaderIcon();
|
||||
if (totalAvail != 0) {
|
||||
jQuery('li').removeClass('disabled');
|
||||
portCheckBlocksUi = false;
|
||||
}
|
||||
var data = {
|
||||
'action' : 'get_wizard_configuration_options',
|
||||
'original_smtp_server' : smtpDiscovery.hostname,
|
||||
'host_data' : connectivtyTestResults,
|
||||
'security': jQuery('#security').val()
|
||||
};
|
||||
postTheConfigurationRequest(data);
|
||||
hide('#connectivity_test_status');
|
||||
}
|
||||
}
|
||||
|
||||
function userOverrideMenu() {
|
||||
disable('input.user_socket_override');
|
||||
disable('input.user_auth_override');
|
||||
var data = {
|
||||
'action' : 'get_wizard_configuration_options',
|
||||
'original_smtp_server' : smtpDiscovery.hostname,
|
||||
'user_port_override' : jQuery(
|
||||
"input:radio[name='user_socket_override']:checked").val(),
|
||||
'user_auth_override' : jQuery(
|
||||
"input:radio[name='user_auth_override']:checked").val(),
|
||||
'host_data' : connectivtyTestResults,
|
||||
'security' : jQuery('#security').val()
|
||||
};
|
||||
postTheConfigurationRequest(data);
|
||||
}
|
||||
|
||||
function postTheConfigurationRequest(data) {
|
||||
jQuery.post(
|
||||
ajaxurl,
|
||||
data,
|
||||
function(response) {
|
||||
if (postmanValidateAjaxResponseWithPopup(response)) {
|
||||
portTestInProgress = false;
|
||||
var $message = '';
|
||||
if (response.success) {
|
||||
$message = '<span style="color:green">'
|
||||
+ response.data.configuration.message
|
||||
+ '</span>';
|
||||
handleConfigurationResponse(response.data);
|
||||
enable('input.user_socket_override');
|
||||
enable('input.user_auth_override');
|
||||
// enable both next/back buttons
|
||||
jQuery('li').removeClass('disabled');
|
||||
} else {
|
||||
$message = '<span style="color:red">'
|
||||
+ response.data.configuration.message
|
||||
+ '</span>';
|
||||
// enable the back button only
|
||||
jQuery('li').removeClass('disabled');
|
||||
jQuery('li + li').addClass('disabled');
|
||||
}
|
||||
if (!response.data.configuration.user_override) {
|
||||
jQuery('#wizard_recommendation').append($message);
|
||||
}
|
||||
}
|
||||
}).fail(function(response) {
|
||||
ajaxFailed(response);
|
||||
});
|
||||
}
|
||||
function handleConfigurationResponse(response) {
|
||||
|
||||
var html = '';
|
||||
var authHtml = '';
|
||||
|
||||
jQuery('#input_transport_type').val(response.configuration.transport_type);
|
||||
transports.forEach(function(item) {
|
||||
item.handleConfigurationResponse(response);
|
||||
})
|
||||
|
||||
// this stuff builds the options and is common to all transports
|
||||
// populate user Port Override menu
|
||||
show('.user_override');
|
||||
var el1 = jQuery('#user_socket_override');
|
||||
el1.html('');
|
||||
|
||||
var columns = 1;
|
||||
|
||||
for (i = 0; i < response.override_menu.length; i++) {
|
||||
|
||||
response.override_menu[i].data = response.override_menu[i].data !== null ? response.override_menu[i].data : false;
|
||||
|
||||
if( columns == 1 ) {
|
||||
html += "<div class='ps-socket-wizad-row'>";
|
||||
}
|
||||
|
||||
html += buildRadioButtonGroup(
|
||||
'user_socket_override',
|
||||
response.override_menu[i].selected,
|
||||
response.override_menu[i].value,
|
||||
response.override_menu[i].description,
|
||||
response.override_menu[i].secure,
|
||||
response.override_menu[i].data
|
||||
);
|
||||
|
||||
if( columns == 3 ) {
|
||||
html += '</div>';
|
||||
columns = 0;
|
||||
}
|
||||
|
||||
columns++;
|
||||
|
||||
// populate user Auth Override menu
|
||||
if (response.override_menu[i].selected) {
|
||||
if (response.override_menu[i].mitm) {
|
||||
show('#smtp_mitm');
|
||||
jQuery('#smtp_mitm')
|
||||
.html(
|
||||
sprintf(
|
||||
postman_port_test.mitm,
|
||||
response.override_menu[i].reported_hostname_domain_only,
|
||||
response.override_menu[i].hostname_domain_only));
|
||||
} else {
|
||||
hide('#smtp_mitm');
|
||||
}
|
||||
var el2 = jQuery('#user_auth_override');
|
||||
el2.html('');
|
||||
hide('#smtp_not_secure');
|
||||
for (j = 0; j < response.override_menu[i].auth_items.length; j++) {
|
||||
|
||||
authHtml += buildRadioButtonGroup(
|
||||
'user_auth_override',
|
||||
response.override_menu[i].auth_items[j].selected,
|
||||
response.override_menu[i].auth_items[j].value,
|
||||
response.override_menu[i].auth_items[j].name,
|
||||
false
|
||||
);
|
||||
|
||||
if (response.override_menu[i].auth_items[j].selected
|
||||
&& !response.override_menu[i].secure
|
||||
&& response.override_menu[i].auth_items[j].value != 'none') {
|
||||
show('#smtp_not_secure');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
el1.append( html );
|
||||
el2.append( authHtml );
|
||||
|
||||
jQuery( postmanPro ).each( function( index, value ){
|
||||
|
||||
var allRows = jQuery( '.ps-socket-wizad-row' );
|
||||
var totalRows = allRows.length - 1;
|
||||
var lastRow = jQuery( allRows[totalRows] );
|
||||
var lastRowLength = lastRow.find( 'label' );
|
||||
|
||||
//Write in existing row
|
||||
if( lastRowLength.length < 3 ) {
|
||||
jQuery( lastRow ).append(
|
||||
`<a href="${value.url}" style="box-shadow: none;" target="_blank">
|
||||
<label style="text-align:center">
|
||||
<div class="ps-single-socket-outer ps-sib">
|
||||
<img src="${value.pro}" class="ps-sib-recommended">
|
||||
<img src="${value.logo}" class="ps-wizard-socket-logo" width="165px">
|
||||
</div>
|
||||
<img draggable="false" role="img" class="emoji" alt="🔒" src="https://s.w.org/images/core/emoji/14.0.0/svg/1f512.svg">${value.extenstion}
|
||||
</label>
|
||||
</a>`
|
||||
);
|
||||
}
|
||||
//New row
|
||||
else {
|
||||
jQuery( lastRow ).after(
|
||||
`<div class='ps-socket-wizad-row'>
|
||||
<a href="${value.url}" style="box-shadow: none;" target="_blank">
|
||||
<label style="text-align:center">
|
||||
<div class="ps-single-socket-outer ps-sib">
|
||||
<img src="${value.pro}" class="ps-sib-recommended">
|
||||
<img src="${value.logo}" class="ps-wizard-socket-logo" width="165px">
|
||||
</div>
|
||||
<img draggable="false" role="img" class="emoji" alt="🔒" src="https://s.w.org/images/core/emoji/14.0.0/svg/1f512.svg">${value.extenstion}
|
||||
</label>
|
||||
</a>
|
||||
</div>`
|
||||
);
|
||||
}
|
||||
|
||||
} );
|
||||
|
||||
// Add an event on Socket Selection/ Switching
|
||||
jQuery( 'input.user_socket_override' ).change( function() {
|
||||
userOverrideMenu();
|
||||
} );
|
||||
|
||||
// Add an event on Socket's Auth Type Selection/ Switching
|
||||
jQuery( 'input.user_auth_override' ).change( function() {
|
||||
userOverrideMenu();
|
||||
} );
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {*} radioGroupName
|
||||
* @param {*} isSelected
|
||||
* @param {*} value
|
||||
* @param {*} label
|
||||
* @param {*} isSecure
|
||||
* @param {*} data
|
||||
* @returns
|
||||
*
|
||||
* @since 2.1 Returns html instead of appending
|
||||
*/
|
||||
function buildRadioButtonGroup( radioGroupName, isSelected, value, label, isSecure, data = '' ) {
|
||||
|
||||
var radioInputValue = ' value="' + value + '"';
|
||||
var radioInputChecked = '';
|
||||
var secureIcon = '';
|
||||
var logoTag = '';
|
||||
var html = '';
|
||||
var recommendedBlock = '';
|
||||
var relativeClass = '';
|
||||
|
||||
if (isSelected) {
|
||||
radioInputChecked = ' checked = "checked"';
|
||||
}
|
||||
|
||||
if (isSecure) {
|
||||
secureIcon = '🔒';
|
||||
}
|
||||
|
||||
if( data.logo_url && data.logo_url !== undefined ) {
|
||||
|
||||
if( label == 'Sendinblue' ) {
|
||||
|
||||
relativeClass = 'ps-sib';
|
||||
recommendedBlock = `
|
||||
<img src="${postman.assets}images/icons/recommended.png" class="ps-sib-recommended" />
|
||||
`;
|
||||
|
||||
}
|
||||
|
||||
logoTag = `
|
||||
<div class='ps-single-socket-outer ${relativeClass}'>
|
||||
${recommendedBlock}
|
||||
<img src='${data.logo_url}' class='ps-wizard-socket-logo' width='165px' />
|
||||
</div>
|
||||
`;
|
||||
|
||||
}
|
||||
|
||||
html = `
|
||||
<label>
|
||||
${logoTag}
|
||||
<input class="${radioGroupName}" type="radio" name="${radioGroupName}"${radioInputChecked} ${radioInputValue} />
|
||||
${secureIcon + label}
|
||||
</label>
|
||||
`;
|
||||
|
||||
return html;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Handles population of the configuration based on the options set in a
|
||||
* 3rd-party SMTP plugin
|
||||
*/
|
||||
function getConfiguration() {
|
||||
var plugin = jQuery('input[name="input_plugin"]' + ':checked').val();
|
||||
if (plugin != '') {
|
||||
var data = {
|
||||
'action' : 'import_configuration',
|
||||
'plugin' : plugin,
|
||||
'security' : jQuery('#security').val(),
|
||||
};
|
||||
jQuery
|
||||
.post(
|
||||
ajaxurl,
|
||||
data,
|
||||
function(response) {
|
||||
if (response.success) {
|
||||
jQuery('select#input_transport_type').val(
|
||||
'smtp');
|
||||
jQuery(post_smtp_localize.postman_input_sender_email).val(
|
||||
response.sender_email);
|
||||
jQuery(post_smtp_localize.postman_input_sender_name).val(
|
||||
response.sender_name);
|
||||
jQuery(post_smtp_localize.postman_hostname_element_name).val(
|
||||
response.hostname);
|
||||
jQuery(post_smtp_localize.postman_port_element_name).val(
|
||||
response.port);
|
||||
jQuery(post_smtp_localize.postman_input_auth_type).val(
|
||||
response.auth_type);
|
||||
jQuery('#input_enc_type')
|
||||
.val(response.enc_type);
|
||||
jQuery(post_smtp_localize.postman_input_basic_username).val(
|
||||
response.basic_auth_username);
|
||||
jQuery(post_smtp_localize.postman_input_basic_password).val(
|
||||
response.basic_auth_password);
|
||||
switchBetweenPasswordAndOAuth();
|
||||
}
|
||||
}).fail(function(response) {
|
||||
ajaxFailed(response);
|
||||
});
|
||||
} else {
|
||||
jQuery(post_smtp_localize.postman_input_sender_email).val('');
|
||||
jQuery(post_smtp_localize.postman_input_sender_name).val('');
|
||||
jQuery(post_smtp_localize.postman_input_basic_username).val('');
|
||||
jQuery(post_smtp_localize.postman_input_basic_password).val('');
|
||||
jQuery(post_smtp_localize.postman_hostname_element_name).val('');
|
||||
jQuery(post_smtp_localize.postman_port_element_name).val('');
|
||||
jQuery(post_smtp_localize.postman_input_auth_type).val('none');
|
||||
jQuery(post_smtp_localize.postman_enc_for_password_el).val('none');
|
||||
switchBetweenPasswordAndOAuth();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user