BUG 5864: Solved and improved

This commit is contained in:
Erik Amaru Ortiz
2011-01-13 23:14:20 +00:00
parent 7668679051
commit 40172b33db
5 changed files with 727 additions and 851 deletions

View File

@@ -0,0 +1,363 @@
/**
* @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;
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;
if (oAuxP == '') {
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;
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;
params += '&port='+ ((getField('MESS_PORT').value.trim() != '') ? getField('MESS_PORT').value : 'default');
params += '&account=' + getField('MESS_ACCOUNT').value;
params += '&passwd=' + getField('MESS_PASSWORD').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;
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); // 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;
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) {
$("test_" + step).style.display = "block";
var requestfile = PROCESS_REQUEST_FILE;
var params = 'request=testConnection&step=' + step;
params += '&srv=' + getField('MESS_SERVER').value;
params += '&port='+ ((getField('MESS_PORT').value.trim() != '') ? getField('MESS_PORT').value : 'default');
params += '&account=' + getField('MESS_ACCOUNT').value;
params += '&passwd=' + getField('MESS_PASSWORD').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;
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);
} 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(params);
}
function cancelTestConnection() {
oPanel.remove();
resultset = true;
}
// /************* Adds routines *************///
String.prototype.trim = function() {
return this.replace(/^\s+|\s+get/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('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) {
switch (getField('MESS_ENGINE').value) {
case 'PHPMAILER':
case 'OPENMAIL':
oAux = getField('MESS_SERVER');
if (oAux.value == '') {
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 == '') {
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();
};

View File

@@ -68,7 +68,12 @@ $rows[] = array ( 'uid' => 'MAIL', 'name' => 'Mail (PHP)' );
$_DBArray['mails'] = $rows;
$_SESSION['_DBArray'] = $_DBArray;
$trn = G::getTranslations(Array('ID_SUCESS', 'ID_FAIL', ''));
$G_PUBLISH = new Publisher;
$oHeadPublisher = headPublisher::getSingleton();
$oHeadPublisher->addScriptCode('var TRANSLATIONS='.json_encode($trn).';');
$oHeadPublisher->addScriptFile('/jscore/setup/emails.js');
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'setup/emails', '', $aFields, 'emails_Save');
G::RenderPage('publishBlank', 'blank');

View File

@@ -24,103 +24,12 @@
*/
global $RBAC;
switch ($RBAC->userCanAccess('PM_FACTORY'))
{
case -2:
G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels');
G::header('location: ../login/login');
die;
break;
case -1:
G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
G::header('location: ../login/login');
die;
break;
}
$RBAC->requirePermissions('PM_SETUP_ADVANCE');
$request = (isset($_POST['action']))?$_POST['action']:$_POST['request'];
switch ($request) {
case 'testEmailConfiguration':
global $G_PUBLISH;
$G_PUBLISH = new Publisher();
$aFields['FROM_EMAIL'] = $_POST['usermail'];
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'setup/emails_TestForm','', $aFields);
G::RenderPage('publish', 'raw');
break;
case 'sendTestMail':
$sFrom = ($_POST['FROM_NAME'] != '' ? $_POST['FROM_NAME'] . ' ' : '') . '<' . $_POST['FROM_EMAIL'] . '>';
$sSubject = G::LoadTranslation('ID_MESS_TEST_SUBJECT');
$msg = G::LoadTranslation('ID_MESS_TEST_BODY');
switch ($_POST['MESS_ENGINE']) {
case 'MAIL':
$engine = G::LoadTranslation('ID_MESS_ENGINE_TYPE_1');
break;
case 'PHPMAILER':
$engine = G::LoadTranslation('ID_MESS_ENGINE_TYPE_2');
break;
case 'OPENMAIL':
$engine = G::LoadTranslation('ID_MESS_ENGINE_TYPE_3');
break;
}
$colosa_msg = "This Business Process is powered by <b>ProcessMaker</b>.";
$sBody = "
<table style=\"background-color: white; font-family: Arial,Helvetica,sans-serif; color: black; font-size: 11px; text-align: left;\" cellpadding='10' cellspacing='0' width='100%'>
<tbody><tr><td><img id='logo' src='http://".$_SERVER['SERVER_NAME']."/images/processmaker.logo.jpg' /></td></tr>
<tr><td style='font-size: 14px;'>$msg $engine [".date('H:i:s')."]</td></tr>
<tr><td style='vertical-align:middel;'>
<br /><hr><b>This Business Process is powered by ProcessMaker.<b><br />
<a href='http://www.processmaker.com' style='color:#c40000;'>www.processmaker.com</a><br /></td>
</tr></tbody></table>";
G::LoadClass('spool');
$oSpool = new spoolRun();
$oSpool->setConfig( array(
'MESS_ENGINE' => $_POST['MESS_ENGINE'],
'MESS_SERVER' => $_POST['MESS_SERVER'],
'MESS_PORT' => $_POST['MESS_PORT'],
'MESS_ACCOUNT' => $_POST['MESS_ACCOUNT'],
'MESS_PASSWORD' => $_POST['MESS_PASSWORD']
));
$oSpool->create(array(
'msg_uid' => '',
'app_uid' => '',
'del_index' => 0,
'app_msg_type' => 'TEST',
'app_msg_subject' => $sSubject,
'app_msg_from' => $sFrom,
'app_msg_to' => $_POST['TO'],
'app_msg_body' => $sBody,
'app_msg_cc' => '',
'app_msg_bcc' => '',
'app_msg_attach' => '',
'app_msg_template' => '',
'app_msg_status' => 'pending'
));
$oSpool->sendMail();
global $G_PUBLISH;
$G_PUBLISH = new Publisher();
if ($oSpool->status == 'sent') {
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'setup/emails_Sended', '', array('MESSAGE_VALUE' => G::LoadTranslation('ID_MESS_TEST_MESSAGE_SENDED')));
}
else {
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'setup/emails_Sended', '', array('MESSAGE_VALUE' => G::LoadTranslation('ID_MESS_TEST_MESSAGE_ERROR_PHP_MAIL') . $oSpool->error));
}
G::RenderPage('publish', 'raw');
break;
/**********************************************************************************/
case 'mailTest_Show':
$srv = $_POST['srv'];
$port = $_POST['port'];
$account = $_POST['account'];
$passwd = $_POST['passwd'];
$auth_required = $_POST['auth_required'];
$send_test_mail = $_POST['send_test_mail'];
$mail_to = $_POST['mail_to'];
case 'init':
$G_PUBLISH = new Publisher;
$G_PUBLISH->AddContent('view', 'setup/mailConnectiontest');
G::RenderPage('publish', 'raw');
@@ -155,11 +64,6 @@ case 'mailTestMail_Show':
define("SUCCESSFUL", 'SUCCESSFUL');
define("FAILED", 'FAILED');
//$host = 'smtp.bizmail.yahoo.com';
$tld = ereg("([^//]*$)", $_POST['srv'], $regs);
$srv1 = $regs[1];
$srv = $_POST['srv'];
$port = ($_POST['port'] == 'default')? 25: $_POST['port'];
@@ -170,7 +74,7 @@ case 'mailTestMail_Show':
$send_test_mail = $_POST['send_test_mail'];
$mail_to = $_POST['mail_to'];
$Server = new NET($srv1);
$Server = new NET($srv);
$oSMTP = new ESMTP;
switch ($step) {
@@ -331,7 +235,7 @@ function sendTestMail() {
$G_PUBLISH = new Publisher();
if ($oSpool->status == 'sent') {
$o->status = true;
$o->msg = G::LoadTranslation('ID_MESS_TEST_MESSAGE_SENDED');
$o->msg = G::LoadTranslation('ID_MAIL_TEST_SUCCESS');
}
else {
$o->status = false;

View File

@@ -54,11 +54,7 @@
'Establishing connection to host <b>'.$host->hostname.'</b>'
);
$tests[] = 'Login as <b>'.$_POST['account'].'</b> on '.$host->hostname.' SMTP Server';
// if($_POST['auth_required'] == 'yes'){
// $tests[] = 'Login as <b>'.$_POST['account'].'</b> on '.$host->hostname.' SMTP Server';
// } else {
// $tests[] = '<b><font color="black">Without autentification!<font></b>';
// }
if($_POST['send_test_mail'] == 'yes'){
$tests[] = 'Sending a test mail from <b>'.$_POST['account'].'</b> to '.$_POST['mail_to'].'...';
@@ -71,18 +67,14 @@
<div id='test_$i' style='display:none'>
<table width='100%' cellspacing='0' cellpadding='0' border='1' style='border:0px;'>
<tr>
<td width='10' class='treeNode' style='border:0px;background-color:transparent;'>
<IMG src=\"/images/".$n[$i].".gif\" width=\"25\" height=\"25\" align=\"left\" border=\"0\">
</td>
<td width=10 class='treeNode' style='border:0px;background-color:transparent;'><span id='status_$i'></span></td>
<td width='*' class='treeNode' style='border:0px;background-color:transparent;'>
<div id='action_$i'>$tests[$i]</div>
&nbsp;<span id='action_$i'>$tests[$i]</span>
</td>
</tr>
<tr>
<td width='10' class='treeNode' style='border:0px;background-color:transparent;'>
</td>
<td class='treeNode' style='border:0px;background-color:transparent;'>
<div id='status_$i'></div>
<td width='*' class='treeNode' style='border:0px;background-color:transparent;' colspan='2'>
<span id='status2_$i'></span>
</td>
</tr>
</table>

View File

@@ -69,341 +69,23 @@
<en>Save Changes</en>
</SAVE_CHANGES2>
<JS type="javascript"><![CDATA[
getField('SAVE_CHANGES').disabled = true;
/** test Connection Events **/
var PROCESS_REQUEST_FILE = '../setup/emails_Ajax';
var oPanel;
var srv;
var port;
var account;
var passwd;
var auth_required;
var send_test_mail;
var mail_to;
function verifyFields(oForm)
{
switch (getField('MESS_ENGINE').value) {
case 'PHPMAILER':
verifyPassword = 0;
oAuxS = $('form[MESS_SERVER]').value;
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;
if (oAuxP == ''){
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;
if (oAuxE == ''){
new leimnud.module.app.alert().make({
label:G_STRINGS.ID_EMAIL_REQUIRED
});
return false;
}
else{
testConnectionMail();
}
}
else {
testConnectionMail();
}
break;
}
}
function testConnection() {
/***get in the connection parameters***/
resultset = true;
srv = $('form[MESS_SERVER]').value;
port = $('form[MESS_PORT]').value;
if(port== '') port='default';
account = $('form[MESS_ACCOUNT]').value;
passwd = $('form[MESS_PASSWORD]').value;
if ($('form[MESS_RAUTH]').checked) {
auth_required = 'yes';
} else {
auth_required = 'no';
}
if ($('form[MESS_TEST_MAIL]').checked) {
send_test_mail = 'yes';
} else {
send_test_mail = 'no';
}
mail_to = $('form[MESS_TEST_MAIL_TO]').value;
var uri = 'srv='+srv+'&port='+port+'&account='+account+'&passwd='+passwd+'&auth_required='+auth_required+'&send_test_mail='+send_test_mail+'&mail_to='+mail_to;
oPanel = new leimnud.module.panel();
oPanel.options = {
size :{w:590,h:480},
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=mailTest_Show'+'&'+uri
});
oRPC.callback = function(rpc) {
oPanel.loader.hide();
oPanel.addContent(rpc.xmlhttp.responseText);
//$('form[CREATE]').disabled = true;
//here execute de init test
testSMTPHost(1);
}.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;
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 != '') {
}
alert(G_STRINGS.ID_MAIL_SUCESSFULLY);
$('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)
{
$("test_"+step).style.display = "block";
var requestfile = PROCESS_REQUEST_FILE;
var uri = 'request=testConnection&step='+step+'&srv='+srv+'&port='+port+'&account='+account+'&passwd='+passwd+'&auth_required='+auth_required+'&send_test_mail='+send_test_mail+'&mail_to='+mail_to;
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 != '') {
$('status_'+step).innerHTML = '<img src="/images/row_down.png" width="15" height="11" align="left" border="0"/><b>Server response: <font color=#000>'+msg+'</b></font><br/>';
}
$('status_'+step).innerHTML += '<img src="/images/ok.png" width="13" height="13" align="left" border="0"/><b>The test has <font color="#749AF9">Successful</b></font>';
}
else {
if( result == 'FAILED' ) {
$('status_'+step).innerHTML = '<img src="/images/alert.gif" width="12" height="12" align="left" border="0"/><b>The server response was <font color=red>'+msg+'</b></font><br/>';
$('status_'+step).innerHTML += '<img src="/images/cross.gif" width="12" height="12" align="left" border="0"/><b>The test has <font color=red> Failed!</b></font>';
resultset = false;
} else {
setTimeout(response);
}
}
step += 1;
testSMTPHost(step);
} catch (e) {
if(resultset){
$('form[SAVE_CHANGES]').disabled = false;
}
else {
$('form[SAVE_CHANGES]').disabled = true;
}
$('bnt_ok').style.display = 'block';
return;
};
} else {
var html = "<center><img src='/images/activityanimation.gif'><br/>"+G_STRINGS.DBCONNECTIONS_MSG3+"....</center>"; //
$('status_'+step).innerHTML = html;
}
}
ajax.send(uri);
}
function cancelTestConnection()
{
oPanel.remove();
/**if(resultset) {
new leimnud.module.app.confirm().make({
label:'Do you send a test mail with this configuration?',
action:function(){
testEmailConfiguration();
}.extend(this)
});
}**/
resultset = true;
}
///************* Adds routines *************///
String.prototype.trim = function() {
return this.replace(/^\s+|\s+get/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('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');
}
}
}
<JS type="javascript">
<![CDATA[
//settings events
leimnud.event.add(getField('MESS_RAUTH'), 'click', function() {
if (this.checked) {
if (this.checked)
showRowById('MESS_PASSWORD');
} else {
else
hideRowById('MESS_PASSWORD');
}
}.extend(getField('MESS_RAUTH')));
leimnud.event.add(getField('MESS_TEST_MAIL'), 'click', function() {
if (this.checked) {
if (this.checked)
showRowById('MESS_TEST_MAIL_TO');
} else {
else
hideRowById('MESS_TEST_MAIL_TO');
}
}.extend(getField('MESS_TEST_MAIL')));
/** end test Connection Events **/
leimnud.event.add(getField('MESS_ENABLED'), 'click', function() {
if (this.checked) {
showRowById('MESS_ENGINE');
@@ -416,16 +98,17 @@ leimnud.event.add(getField('MESS_ENABLED'), 'click', function() {
hideRowById('SAVE_CHANGES2');
showRowById('TEST');
showRowById('MESS_TEST_MAIL');
if ($('form[MESS_TEST_MAIL]').checked) {
if ( getField('MESS_TEST_MAIL').checked )
showRowById('MESS_TEST_MAIL_TO');
} else {
else
hideRowById('MESS_TEST_MAIL_TO');
}
$('form[SAVE_CHANGES]').disabled = true;
getField('SAVE_CHANGES').disabled = true;
break;
case 'PHPMAILER':
hideRowById('SAVE_CHANGES2');
case 'OPENMAIL':
showRowById('MESS_SERVER');
showRowById('MESS_PORT');
@@ -434,12 +117,13 @@ leimnud.event.add(getField('MESS_ENABLED'), 'click', function() {
showRowById('TEST');
showRowById('MESS_RAUTH');
showRowById('MESS_TEST_MAIL');
if ($('form[MESS_TEST_MAIL]').checked) {
if ( getField('MESS_TEST_MAIL').checked)
showRowById('MESS_TEST_MAIL_TO');
} else {
else
hideRowById('MESS_TEST_MAIL_TO');
}
$('form[SAVE_CHANGES]').disabled = true;
getField('SAVE_CHANGES').disabled = true;
break;
}
//showRowById('MESS_BACKGROUND');////enable this line in the next release
@@ -453,8 +137,7 @@ leimnud.event.add(getField('MESS_ENABLED'), 'click', function() {
hideRowById('MESS_SEND_MAX');
hideRowById('MESS_TRY_SEND_INMEDIATLY');
}
}
else {
} else {
hideRowById('MESS_ENGINE');
hideRowById('MESS_SERVER');
hideRowById('MESS_PORT');
@@ -469,7 +152,7 @@ leimnud.event.add(getField('MESS_ENABLED'), 'click', function() {
hideRowById('MESS_TEST_MAIL');
hideRowById('MESS_TEST_MAIL_TO');
showRowById('SAVE_CHANGES2');
$('form[SAVE_CHANGES]').disabled = false;
getField('SAVE_CHANGES').disabled = false;
}
}.extend(getField('MESS_ENABLED')));
@@ -482,15 +165,17 @@ leimnud.event.add(getField('MESS_ENGINE'), 'change', function() {
hideRowById('MESS_PASSWORD');
hideRowById('MESS_RAUTH');
showRowById('MESS_TEST_MAIL');
if ($('form[MESS_TEST_MAIL]').checked) {
if ( getField('MESS_TEST_MAIL').checked)
showRowById('MESS_TEST_MAIL_TO');
} else {
else
hideRowById('MESS_TEST_MAIL_TO');
}
$('form[SAVE_CHANGES]').disabled = true
getField('SAVE_CHANGES').disabled = true
break;
case 'PHPMAILER':
hideRowById('SAVE_CHANGES2');
case 'OPENMAIL':
showRowById('MESS_SERVER');
showRowById('MESS_PORT');
@@ -499,12 +184,12 @@ leimnud.event.add(getField('MESS_ENGINE'), 'change', function() {
showRowById('TEST');
showRowById('MESS_RAUTH');
showRowById('MESS_TEST_MAIL');
if ($('form[MESS_TEST_MAIL]').checked) {
if ( getField('MESS_TEST_MAIL').checked )
showRowById('MESS_TEST_MAIL_TO');
} else {
else
hideRowById('MESS_TEST_MAIL_TO');
}
$('form[SAVE_CHANGES]').disabled = true;
getField('SAVE_CHANGES').disabled = true;
break;
}
}.extend(getField('MESS_ENGINE')));
@@ -558,82 +243,9 @@ if (!getField('MESS_BACKGROUND').checked) {
hideRowById('MESS_TRY_SEND_INMEDIATLY');
}
var verifyData = function(oForm) {
if (getField('MESS_ENABLED').checked) {
switch (getField('MESS_ENGINE').value) {
case 'PHPMAILER':
case 'OPENMAIL':
oAux = getField('MESS_SERVER');
if (oAux.value == '') {
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 == '') {
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();
};
getField('SAVE_CHANGES').disabled = true;
initSet();
]]></JS>
]]>
</JS>
</dynaForm>