Issue:
Change folder permissions in ProcessMaker
Cause:
Nuevo requerimiento
Solution:
Se cambio los permisos de los files and directories
378 lines
9.8 KiB
JavaScript
378 lines
9.8 KiB
JavaScript
/**
|
|
* @author erik <erik@colosa.com>
|
|
*/
|
|
|
|
var PROCESS_REQUEST_FILE = '../setup/emails_Ajax';
|
|
var oPanel;
|
|
|
|
function verifyFields(oForm) {
|
|
switch (getField('MESS_ENGINE').value) {
|
|
case 'PHPMAILER':
|
|
verifyPassword = 0;
|
|
oAuxS = $('form[MESS_SERVER]').value.trim();
|
|
if (oAuxS == '') {
|
|
new leimnud.module.app.alert().make({
|
|
label : G_STRINGS.ID_SERVER_REQUIRED
|
|
});
|
|
return false;
|
|
} else {
|
|
oAuxA = $('form[MESS_ACCOUNT]').value;
|
|
if (oAuxA == '') {
|
|
new leimnud.module.app.alert().make({
|
|
label : G_STRINGS.ID_MESS_ACCOUNT_REQUIRED
|
|
});
|
|
return false;
|
|
} else {
|
|
if ($('form[MESS_RAUTH]').checked) {
|
|
oAuxP = $('form[MESS_PASSWORD]').value;
|
|
oAuxPH = $('form[MESS_PASSWORD_HIDDEN]').value;
|
|
if ((oAuxP == '')&&(oAuxPH == '')) {
|
|
new leimnud.module.app.alert().make({
|
|
label : G_STRINGS.ID_PASSWORD_REQUIRED
|
|
});
|
|
return false;
|
|
} else {
|
|
verifyPassword = 1;
|
|
}
|
|
} else {
|
|
verifyPassword = 1;
|
|
}
|
|
if (verifyPassword == 1) {
|
|
if ($('form[MESS_TEST_MAIL]').checked) {
|
|
oAuxE = $('form[MESS_TEST_MAIL_TO]').value;
|
|
if (oAuxE == '') {
|
|
new leimnud.module.app.alert().make({
|
|
label : G_STRINGS.ID_EMAIL_REQUIRED
|
|
});
|
|
return false;
|
|
} else {
|
|
testConnection();
|
|
}
|
|
} else {
|
|
testConnection();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
case 'MAIL':
|
|
if ($('form[MESS_TEST_MAIL]').checked) {
|
|
oAuxE = $('form[MESS_TEST_MAIL_TO]').value.trim();
|
|
if (oAuxE == '') {
|
|
new leimnud.module.app.alert().make({
|
|
label : G_STRINGS.ID_EMAIL_REQUIRED
|
|
});
|
|
return false;
|
|
} else {
|
|
testConnectionMail();
|
|
}
|
|
} else {
|
|
testConnectionMail();
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
function testConnection() {
|
|
resultset = true;
|
|
params = 'srv=' + getField('MESS_SERVER').value.trim();
|
|
params += '&port='+ ((getField('MESS_PORT').value.trim() != '') ? getField('MESS_PORT').value : 'default');
|
|
params += '&account=' + getField('MESS_ACCOUNT').value;
|
|
if (getField('MESS_PASSWORD_HIDDEN').value =='') {
|
|
params += '&passwd=' + getField('MESS_PASSWORD').value;
|
|
}
|
|
else {
|
|
params += '&passwd=' + getField('MESS_PASSWORD_HIDDEN').value;
|
|
}
|
|
params += '&auth_required='+ (getField('MESS_RAUTH').checked ? 'yes' : 'no');
|
|
params += '&send_test_mail='+ (getField('MESS_TEST_MAIL').checked ? 'yes' : 'no');
|
|
params += '&mail_to=' + $('form[MESS_TEST_MAIL_TO]').value;
|
|
|
|
if(getField('SMTPSecure][ssl').checked) {
|
|
params +='&SMTPSecure=ssl';
|
|
} else if(getField('SMTPSecure][tls').checked) {
|
|
params +='&SMTPSecure=tls';
|
|
} else {
|
|
params +='&SMTPSecure=';
|
|
}
|
|
|
|
oPanel = new leimnud.module.panel();
|
|
oPanel.options = {
|
|
size : {w : 590, h : 350},
|
|
position : {x : 0, y : 0, center : true},
|
|
title : 'SMTP Server Connection',
|
|
theme : "processmaker",
|
|
statusBar : false,
|
|
control : {resize : false, roll : false, drag : true},
|
|
fx : {modal : true, opacity : true, blinkToFront : false, fadeIn : false, drag : true}
|
|
};
|
|
oPanel.events = {
|
|
remove : function() {
|
|
delete (oPanel);
|
|
}.extend(this)
|
|
};
|
|
|
|
oPanel.make();
|
|
oPanel.loader.show();
|
|
|
|
var oRPC = new leimnud.module.rpc.xmlhttp({
|
|
url : PROCESS_REQUEST_FILE,
|
|
args : 'request=init&' + params
|
|
});
|
|
oRPC.callback = function(rpc) {
|
|
oPanel.loader.hide();
|
|
oPanel.addContent(rpc.xmlhttp.responseText);
|
|
testSMTPHost(1, params); // execution de init test
|
|
}.extend(this);
|
|
oRPC.make();
|
|
};
|
|
|
|
function testConnectionMail() {
|
|
resultset = true;
|
|
if ($('form[MESS_TEST_MAIL]').checked) {
|
|
send_test_mail = 'yes';
|
|
mail_to = $('form[MESS_TEST_MAIL_TO]').value.trim();
|
|
var uri = 'send_test_mail=' + send_test_mail + '&mail_to=' + mail_to;
|
|
var oRPC = new leimnud.module.rpc.xmlhttp({
|
|
url : PROCESS_REQUEST_FILE,
|
|
args : 'request=mailTestMail_Show' + '&' + uri
|
|
});
|
|
oRPC.callback = function(rpc) {
|
|
oresp = rpc.xmlhttp.responseText.split(',');
|
|
result = oresp[0].trim();
|
|
if (typeof oresp[1] == "undefined") {
|
|
msg = '';
|
|
result = 'INVALID';
|
|
} else {
|
|
msg = oresp[1].trim();
|
|
}
|
|
if (result == 'SUCCESSFUL') {
|
|
if (msg != '') {
|
|
}
|
|
$('form[SAVE_CHANGES]').disabled = false;
|
|
} else {
|
|
if (result == 'FAILED') {
|
|
alert(G_STRINGS.ID_MAIL_FAILED);
|
|
}
|
|
if (result == 'INVALID') {
|
|
alert(G_STRINGS.ID_INVALID_EMAIL);
|
|
}
|
|
}
|
|
}.extend(this);
|
|
oRPC.make();
|
|
} else {
|
|
alert(G_STRINGS.ID_CHECK_REQUIRED);
|
|
}
|
|
};
|
|
|
|
var resultset = true;
|
|
function testSMTPHost(step, params) {
|
|
$("test_" + step).style.display = "block";
|
|
|
|
var requestfile = PROCESS_REQUEST_FILE;
|
|
var uri = 'request=testConnection&step=' + step +'&'+ params;
|
|
|
|
var ajax = AJAX();
|
|
ajax.open("POST", requestfile, true);
|
|
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;");
|
|
ajax.onreadystatechange = function() {
|
|
if (ajax.readyState == 4) {
|
|
try {
|
|
response = ajax.responseText.trim();
|
|
oresp = response.split(',');
|
|
result = oresp[0].trim();
|
|
msg = oresp[1].trim();
|
|
if (result == 'SUCCESSFUL') {
|
|
$('status_' + step).innerHTML = '';
|
|
if (msg != '') {
|
|
$('status2_' + step).innerHTML = '<img src="/images/row_down.png" width="15" height="11" align="left" border="0"/>'+ msg + '</b></font><br/>';
|
|
}
|
|
$('status_' + step).innerHTML += '<img src="/images/ok.png" width="13" height="13" align="left" border="0"/>';
|
|
} else {
|
|
$('status_' + step).innerHTML = '';
|
|
if (result == 'FAILED') {
|
|
$('status2_' + step).innerHTML = '<img src="/images/alert.gif" width="12" height="12" align="left" border="0"/><font color=red>' + msg + '</font><br/>';
|
|
$('status_' + step).innerHTML += '<img src="/images/cross.gif" width="12" height="12" align="left" border="0"/>';
|
|
resultset = false;
|
|
} else {
|
|
setTimeout(response);
|
|
}
|
|
}
|
|
step += 1;
|
|
testSMTPHost(step, params);
|
|
} catch (e) {
|
|
if (resultset) {
|
|
$('form[SAVE_CHANGES]').disabled = false;
|
|
} else {
|
|
$('form[SAVE_CHANGES]').disabled = true;
|
|
}
|
|
$('bnt_ok').style.display = 'block';
|
|
return;
|
|
};
|
|
} else {
|
|
$('status_' + step).innerHTML = "<img src='/images/ajax-loader.gif' width=12 height=12 border=0><br/>";
|
|
}
|
|
}
|
|
ajax.send(uri);
|
|
}
|
|
|
|
function cancelTestConnection() {
|
|
oPanel.remove();
|
|
resultset = true;
|
|
}
|
|
|
|
// /************* Adds routines *************///
|
|
String.prototype.trim = function () {
|
|
return this.replace(/^\s+|\s+$/g, "");
|
|
}
|
|
|
|
function $(id) {
|
|
return document.getElementById(id);
|
|
}
|
|
function AJAX() {
|
|
try {
|
|
xmlhttp = new XMLHttpRequest();
|
|
} catch (generic_error) {
|
|
try {
|
|
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
|
|
} catch (microsoft_old_error) {
|
|
try {
|
|
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
|
|
} catch (microsoft_error) {
|
|
xmlhttp = false;
|
|
}
|
|
}
|
|
}
|
|
return xmlhttp;
|
|
}
|
|
|
|
function initSet() {
|
|
// $('form[MESS_RAUTH]').checked = true;
|
|
hideRowById('MESS_TEST_MAIL_TO');
|
|
if (!($('form[MESS_ENABLED]').checked)) {
|
|
hideRowById('MESS_ENGINE');
|
|
hideRowById('MESS_SERVER');
|
|
hideRowById('MESS_PORT');
|
|
hideRowById('MESS_ACCOUNT');
|
|
hideRowById('MESS_PASSWORD');
|
|
hideRowById('MESS_BACKGROUND');
|
|
hideRowById('MESS_EXECUTE_EVERY');
|
|
hideRowById('MESS_SEND_MAX');
|
|
hideRowById('MESS_TRY_SEND_INMEDIATLY');
|
|
hideRowById('MESS_RAUTH');
|
|
hideRowById('MESS_TEST_MAIL');
|
|
hideRowById('MESS_TEST_MAIL_TO');
|
|
hideRowById('TEST');
|
|
hideRowById('SMTPSecure');
|
|
hideRowById('SAVE_CHANGES');
|
|
$('form[SAVE_CHANGES]').disabled = false;
|
|
} else {
|
|
hideRowById('SAVE_CHANGES2');
|
|
if (getField('MESS_ENGINE').value == 'MAIL') {
|
|
hideRowById('MESS_RAUTH');
|
|
hideRowById('MESS_TEST_MAIL_TO');
|
|
showRowById('TEST');
|
|
showRowById('SAVE_CHANGES');
|
|
}
|
|
}
|
|
}
|
|
|
|
var verifyData = function(oForm) {
|
|
|
|
if (getField('MESS_ENABLED').checked) {
|
|
if (getField('MESS_RAUTH').checked) {
|
|
if (getField('MESS_PASSWORD') == '') {
|
|
getField('MESS_PASSWORD').value = getField('MESS_PASSWORD_HIDDEN').value;
|
|
}
|
|
}
|
|
switch (getField('MESS_ENGINE').value) {
|
|
case 'PHPMAILER':
|
|
case 'OPENMAIL':
|
|
oAux = getField('MESS_SERVER');
|
|
if (oAux.value.trim() == '') {
|
|
alert(G_STRINGS.ID_MESS_SERVER_REQUIRED);
|
|
oAux.focus();
|
|
return;
|
|
}
|
|
break;
|
|
}
|
|
if (getField('MESS_BACKGROUND').checked) {
|
|
oAux = getField('MESS_EXECUTE_EVERY');
|
|
if (oAux.value == '') {
|
|
alert(G_STRINGS.ID_MESS_EXECUTE_EVERY_REQUIRED);
|
|
oAux.focus();
|
|
return;
|
|
}
|
|
oAux = getField('MESS_SEND_MAX');
|
|
if (oAux.value == '') {
|
|
alert(G_STRINGS.ID_MESS_SEND_MAX_REQUIRED);
|
|
oAux.focus();
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
oForm.submit();
|
|
};
|
|
|
|
var oPanel;
|
|
|
|
var testEmailConfiguration = function() {
|
|
if (getField('MESS_ENGINE').value != 'MAIL') {
|
|
oAux = getField('MESS_SERVER');
|
|
if (oAux.value.trim() == '') {
|
|
alert(G_STRINGS.ID_MESS_SERVER_REQUIRED);
|
|
oAux.focus();
|
|
return;
|
|
}
|
|
}
|
|
oPanel = new leimnud.module.panel();
|
|
oPanel.options = {
|
|
size : {
|
|
w : 400,
|
|
h : 200
|
|
},
|
|
position : {
|
|
x : 0,
|
|
y : 0,
|
|
center : true
|
|
},
|
|
title : "",
|
|
theme : "processmaker",
|
|
statusBar : false,
|
|
control : {
|
|
resize : false,
|
|
roll : false,
|
|
drag : false
|
|
},
|
|
fx : {
|
|
modal : true,
|
|
opacity : true,
|
|
blinkToFront : false,
|
|
fadeIn : false,
|
|
drag : false
|
|
}
|
|
};
|
|
oPanel.events = {
|
|
remove : function() {
|
|
delete (oPanel);
|
|
}.extend(this)
|
|
};
|
|
oPanel.make();
|
|
oPanel.loader.show();
|
|
var oRPC = new leimnud.module.rpc.xmlhttp({
|
|
url : 'emails_Ajax',
|
|
args : 'action=testEmailConfiguration&usermail=' + account
|
|
});
|
|
oRPC.callback = function(rpc) {
|
|
oPanel.loader.hide();
|
|
oPanel.addContent(rpc.xmlhttp.responseText);
|
|
var scs = rpc.xmlhttp.responseText.extractScript();
|
|
scs.evalScript();
|
|
}.extend(this);
|
|
oRPC.make();
|
|
};
|
|
|
|
var closeTestPanel = function() {
|
|
oPanel.remove();
|
|
};
|