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; $_DBArray['mails'] = $rows;
$_SESSION['_DBArray'] = $_DBArray; $_SESSION['_DBArray'] = $_DBArray;
$trn = G::getTranslations(Array('ID_SUCESS', 'ID_FAIL', ''));
$G_PUBLISH = new Publisher; $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_PUBLISH->AddContent('xmlform', 'xmlform', 'setup/emails', '', $aFields, 'emails_Save');
G::RenderPage('publishBlank', 'blank'); G::RenderPage('publishBlank', 'blank');

View File

@@ -24,341 +24,245 @@
*/ */
global $RBAC; global $RBAC;
switch ($RBAC->userCanAccess('PM_FACTORY')) $RBAC->requirePermissions('PM_SETUP_ADVANCE');
{
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;
}
$request = (isset($_POST['action']))?$_POST['action']:$_POST['request']; $request = (isset($_POST['action']))?$_POST['action']:$_POST['request'];
switch ($request) { switch ($request) {
case 'testEmailConfiguration': case 'init':
global $G_PUBLISH; $G_PUBLISH = new Publisher;
$G_PUBLISH = new Publisher(); $G_PUBLISH->AddContent('view', 'setup/mailConnectiontest');
$aFields['FROM_EMAIL'] = $_POST['usermail']; G::RenderPage('publish', 'raw');
$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'];
$G_PUBLISH = new Publisher;
$G_PUBLISH->AddContent('view', 'setup/mailConnectiontest');
G::RenderPage('publish', 'raw');
break;
case 'mailTestMail_Show':
define("SUCCESSFUL", 'SUCCESSFUL');
define("FAILED", 'FAILED');
$mail_to = $_POST['mail_to'];
$send_test_mail = $_POST['send_test_mail'];
$_POST['FROM_NAME'] = $mail_to;
$_POST['FROM_EMAIL'] = $mail_to;
$_POST['MESS_ENGINE'] = 'MAIL';
$_POST['MESS_SERVER'] = 'localhost';
$_POST['MESS_PORT'] = 25;
$_POST['MESS_ACCOUNT'] = $mail_to;
$_POST['MESS_PASSWORD'] = '';
$_POST['TO'] = $mail_to;
$_POST['SMTPAuth'] = true;
$resp = sendTestMail();
if($resp->status){
print(SUCCESSFUL.','.$resp->msg);
} else {
print(FAILED.','.$resp->msg);
}
break; break;
case 'testConnection': case 'mailTestMail_Show':
define("SUCCESSFUL", 'SUCCESSFUL');
define("FAILED", 'FAILED');
$mail_to = $_POST['mail_to'];
$send_test_mail = $_POST['send_test_mail'];
$_POST['FROM_NAME'] = $mail_to;
$_POST['FROM_EMAIL'] = $mail_to;
$_POST['MESS_ENGINE'] = 'MAIL';
$_POST['MESS_SERVER'] = 'localhost';
$_POST['MESS_PORT'] = 25;
$_POST['MESS_ACCOUNT'] = $mail_to;
$_POST['MESS_PASSWORD'] = '';
$_POST['TO'] = $mail_to;
$_POST['SMTPAuth'] = true;
$resp = sendTestMail();
if($resp->status){
print(SUCCESSFUL.','.$resp->msg);
} else {
print(FAILED.','.$resp->msg);
}
break;
G::LoadClass('net'); case 'testConnection':
require_once('classes/class.smtp.rfc-821.php');
define("SUCCESSFUL", 'SUCCESSFUL'); G::LoadClass('net');
define("FAILED", 'FAILED'); require_once('classes/class.smtp.rfc-821.php');
//$host = 'smtp.bizmail.yahoo.com'; define("SUCCESSFUL", 'SUCCESSFUL');
$tld = ereg("([^//]*$)", $_POST['srv'], $regs); define("FAILED", 'FAILED');
$srv1 = $regs[1]; $srv = $_POST['srv'];
$srv = $_POST['srv']; $port = ($_POST['port'] == 'default')? 25: $_POST['port'];
$user = $_POST['account'];
$passwd = $_POST['passwd'];
$step = $_POST['step'];
$auth_required = $_POST['auth_required'];
$send_test_mail = $_POST['send_test_mail'];
$mail_to = $_POST['mail_to'];
$port = ($_POST['port'] == 'default')? 25: $_POST['port']; $Server = new NET($srv);
$user = $_POST['account']; $oSMTP = new ESMTP;
$passwd = $_POST['passwd'];
$step = $_POST['step'];
$auth_required = $_POST['auth_required'];
$send_test_mail = $_POST['send_test_mail'];
$mail_to = $_POST['mail_to'];
$Server = new NET($srv1); switch ($step) {
$oSMTP = new ESMTP; case 1:
if ($Server->getErrno() == 0) {
print(SUCCESSFUL.',');
} else {
print(FAILED.','.$Server->error);
}
break;
switch ($step) { case 2:
case 1: if($port == 0){
if ($Server->getErrno() == 0) { $port = $oSMTP->SMTP_PORT;
print(SUCCESSFUL.','); }
} else { $Server->scannPort($port);
print(FAILED.','.$Server->error); if ($Server->getErrno() == 0) {
} print(SUCCESSFUL.',');
break; } else {
print(FAILED.','.$Server->error);
}
break;
case 2: #try to connect to host
if($port == 0){ case 3:
$port = $oSMTP->SMTP_PORT; if($port == 0){
} $resp = $oSMTP->Connect($srv);
$Server->scannPort($port); } else {
if ($Server->getErrno() == 0) { $resp = $oSMTP->Connect($srv, $port);
print(SUCCESSFUL.','); }
} else { if( !$resp) {
print(FAILED.','.$Server->error); print(FAILED.','.$oSMTP->error['error']);
} } else {
break; print(SUCCESSFUL.','.$oSMTP->status);
}
break;
#try to connect to host #try login to host
case 3:
if($port == 0){
$resp = $oSMTP->Connect($srv);
} else {
$resp = $oSMTP->Connect($srv, $port);
}
if( !$resp) {
print(FAILED.','.$oSMTP->error['error']);
} else {
print(SUCCESSFUL.','.$oSMTP->status);
}
break;
#try login to host case 4:
if($auth_required == 'yes'){
if($port == 0){
$resp = $oSMTP->Connect($srv);
} else {
$resp = $oSMTP->Connect($srv, $port);
}
if($resp) {
$oSMTP->do_debug = false;
$oSMTP->Hello($srv);
if( !$oSMTP->Authenticate($user, $passwd) ) {
print(FAILED.','.$oSMTP->error['error']);
} else {
print(SUCCESSFUL.','.$oSMTP->status);
}
} else {
print(FAILED.','.$oSMTP->error['error']);
}
} else {
print(SUCCESSFUL.', No authentication required!');
}
break;
case 4: case 5:
if($auth_required == 'yes'){ if($send_test_mail == 'yes'){
if($port == 0){ //print(SUCCESSFUL.',ok');
$resp = $oSMTP->Connect($srv); $_POST['FROM_NAME'] = 'Process Maker O.S. [Test mail]';
} else { $_POST['FROM_EMAIL'] = $user;
$resp = $oSMTP->Connect($srv, $port);
}
if($resp) {
$oSMTP->do_debug = false;
$oSMTP->Hello($srv);
if( !$oSMTP->Authenticate($user, $passwd) ) {
print(FAILED.','.$oSMTP->error['error']);
} else {
print(SUCCESSFUL.','.$oSMTP->status);
}
} else {
print(FAILED.','.$oSMTP->error['error']);
}
} else {
print(SUCCESSFUL.', No authentication required!');
}
break;
case 5: $_POST['MESS_ENGINE'] = 'PHPMAILER';
if($send_test_mail == 'yes'){ $_POST['MESS_SERVER'] = $srv;
//print(SUCCESSFUL.',ok'); $_POST['MESS_PORT'] = $port;
$_POST['FROM_NAME'] = 'Process Maker O.S. [Test mail]'; $_POST['MESS_ACCOUNT'] = $user;
$_POST['FROM_EMAIL'] = $user; $_POST['MESS_PASSWORD'] = $passwd;
$_POST['TO'] = $mail_to;
if($auth_required == 'yes'){
$_POST['SMTPAuth'] = true;
} else {
$_POST['SMTPAuth'] = false;
}
$resp = sendTestMail();
$_POST['MESS_ENGINE'] = 'PHPMAILER'; if($resp->status){
$_POST['MESS_SERVER'] = $srv; print(SUCCESSFUL.','.$resp->msg);
$_POST['MESS_PORT'] = $port; } else {
$_POST['MESS_ACCOUNT'] = $user; print(FAILED.','.$resp->msg);
$_POST['MESS_PASSWORD'] = $passwd; }
$_POST['TO'] = $mail_to; } else {
if($auth_required == 'yes'){ print('jump this step');
$_POST['SMTPAuth'] = true; }
} else { break;
$_POST['SMTPAuth'] = false;
}
$resp = sendTestMail();
if($resp->status){ default:
print(SUCCESSFUL.','.$resp->msg); print('test finished!');
} else { }
print(FAILED.','.$resp->msg); break;
}
} else {
print('jump this step');
}
break;
default:
print('test finished!');
}
break;
} }
function sendTestMail() { function sendTestMail() {
$sFrom = ($_POST['FROM_NAME'] != '' ? $_POST['FROM_NAME'] . ' ' : '') . '<' . $_POST['FROM_EMAIL'] . '>'; $sFrom = ($_POST['FROM_NAME'] != '' ? $_POST['FROM_NAME'] . ' ' : '') . '<' . $_POST['FROM_EMAIL'] . '>';
$sSubject = G::LoadTranslation('ID_MESS_TEST_SUBJECT'); $sSubject = G::LoadTranslation('ID_MESS_TEST_SUBJECT');
$msg = G::LoadTranslation('ID_MESS_TEST_BODY'); $msg = G::LoadTranslation('ID_MESS_TEST_BODY');
switch ($_POST['MESS_ENGINE']) { switch ($_POST['MESS_ENGINE']) {
case 'MAIL': case 'MAIL':
$engine = G::LoadTranslation('ID_MESS_ENGINE_TYPE_1'); $engine = G::LoadTranslation('ID_MESS_ENGINE_TYPE_1');
break; break;
case 'PHPMAILER': case 'PHPMAILER':
$engine = G::LoadTranslation('ID_MESS_ENGINE_TYPE_2'); $engine = G::LoadTranslation('ID_MESS_ENGINE_TYPE_2');
break; break;
case 'OPENMAIL': case 'OPENMAIL':
$engine = G::LoadTranslation('ID_MESS_ENGINE_TYPE_3'); $engine = G::LoadTranslation('ID_MESS_ENGINE_TYPE_3');
break; break;
} }
$colosa_msg = "This Business Process is powered by <b>ProcessMaker</b>."; $colosa_msg = "This Business Process is powered by <b>ProcessMaker</b>.";
$sBody = " $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%'> <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> <tbody><tr><td><img id='logo' src='http://".$_SERVER['SERVER_NAME']."/images/processmaker.logo.jpg' /></td></tr>
<tr><td style='font-size: 14px;'>$msg [".date('H:i:s')."] - $engine</td></tr> <tr><td style='font-size: 14px;'>$msg [".date('H:i:s')."] - $engine</td></tr>
<tr><td style='vertical-align:middel;'> <tr><td style='vertical-align:middel;'>
<br /><hr><b>This Business Process is powered by ProcessMaker.<b><br /> <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> <a href='http://www.processmaker.com' style='color:#c40000;'>www.processmaker.com</a><br /></td>
</tr></tbody></table>"; </tr></tbody></table>";
G::LoadClass('spool'); G::LoadClass('spool');
$oSpool = new spoolRun(); $oSpool = new spoolRun();
$oSpool->setConfig( array( $oSpool->setConfig( array(
'MESS_ENGINE' => $_POST['MESS_ENGINE'], 'MESS_ENGINE' => $_POST['MESS_ENGINE'],
'MESS_SERVER' => $_POST['MESS_SERVER'], 'MESS_SERVER' => $_POST['MESS_SERVER'],
'MESS_PORT' => $_POST['MESS_PORT'], 'MESS_PORT' => $_POST['MESS_PORT'],
'MESS_ACCOUNT' => $_POST['MESS_ACCOUNT'], 'MESS_ACCOUNT' => $_POST['MESS_ACCOUNT'],
'MESS_PASSWORD' => $_POST['MESS_PASSWORD'], 'MESS_PASSWORD' => $_POST['MESS_PASSWORD'],
'SMTPAuth' => $_POST['SMTPAuth'] 'SMTPAuth' => $_POST['SMTPAuth']
)); ));
$oSpool->create(array( $oSpool->create(array(
'msg_uid' => '', 'msg_uid' => '',
'app_uid' => '', 'app_uid' => '',
'del_index' => 0, 'del_index' => 0,
'app_msg_type' => 'TEST', 'app_msg_type' => 'TEST',
'app_msg_subject' => $sSubject, 'app_msg_subject' => $sSubject,
'app_msg_from' => $sFrom, 'app_msg_from' => $sFrom,
'app_msg_to' => $_POST['TO'], 'app_msg_to' => $_POST['TO'],
'app_msg_body' => $sBody, 'app_msg_body' => $sBody,
'app_msg_cc' => '', 'app_msg_cc' => '',
'app_msg_bcc' => '', 'app_msg_bcc' => '',
'app_msg_attach' => '', 'app_msg_attach' => '',
'app_msg_template' => '', 'app_msg_template' => '',
'app_msg_status' => 'pending' 'app_msg_status' => 'pending'
)); ));
$oSpool->sendMail(); $oSpool->sendMail();
global $G_PUBLISH; global $G_PUBLISH;
$G_PUBLISH = new Publisher(); $G_PUBLISH = new Publisher();
if ($oSpool->status == 'sent') { if ($oSpool->status == 'sent') {
$o->status = true; $o->status = true;
$o->msg = G::LoadTranslation('ID_MESS_TEST_MESSAGE_SENDED'); $o->msg = G::LoadTranslation('ID_MAIL_TEST_SUCCESS');
} }
else { else {
$o->status = false; $o->status = false;
$o->msg = $oSpool->error; $o->msg = $oSpool->error;
} }
return $o; return $o;
} }
function e_utf8_encode($input) { function e_utf8_encode($input) {
$utftext = null; $utftext = null;
for ($n = 0; $n < strlen($input); $n++) { for ($n = 0; $n < strlen($input); $n++) {
$c = ord($input[$n]); $c = ord($input[$n]);
if ($c < 128) { if ($c < 128) {
$utftext .= chr($c); $utftext .= chr($c);
} else if (($c > 128) && ($c < 2048)) { } else if (($c > 128) && ($c < 2048)) {
$utftext .= chr(($c >> 6) | 192); $utftext .= chr(($c >> 6) | 192);
$utftext .= chr(($c & 63) | 128); $utftext .= chr(($c & 63) | 128);
} else { } else {
$utftext .= chr(($c >> 12) | 224); $utftext .= chr(($c >> 12) | 224);
$utftext .= chr((($c & 6) & 63) | 128); $utftext .= chr((($c & 6) & 63) | 128);
$utftext .= chr(($c & 63) | 128); $utftext .= chr(($c & 63) | 128);
} }
} }
return $utftext; return $utftext;
} }

View File

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

View File

@@ -69,571 +69,183 @@
<en>Save Changes</en> <en>Save Changes</en>
</SAVE_CHANGES2> </SAVE_CHANGES2>
<JS type="javascript"><![CDATA[ <JS type="javascript">
<![CDATA[
//settings events
leimnud.event.add(getField('MESS_RAUTH'), 'click', function() {
if (this.checked)
showRowById('MESS_PASSWORD');
else
hideRowById('MESS_PASSWORD');
}.extend(getField('MESS_RAUTH')));
getField('SAVE_CHANGES').disabled = true; leimnud.event.add(getField('MESS_TEST_MAIL'), 'click', function() {
if (this.checked)
showRowById('MESS_TEST_MAIL_TO');
else
hideRowById('MESS_TEST_MAIL_TO');
}.extend(getField('MESS_TEST_MAIL')));
/** test Connection Events **/ leimnud.event.add(getField('MESS_ENABLED'), 'click', function() {
if (this.checked) {
showRowById('MESS_ENGINE');
switch (getField('MESS_ENGINE').value) {
case 'MAIL':
hideRowById('MESS_SERVER');
hideRowById('MESS_PORT');
hideRowById('MESS_ACCOUNT');
hideRowById('MESS_PASSWORD');
hideRowById('SAVE_CHANGES2');
showRowById('TEST');
showRowById('MESS_TEST_MAIL');
if ( getField('MESS_TEST_MAIL').checked )
showRowById('MESS_TEST_MAIL_TO');
else
hideRowById('MESS_TEST_MAIL_TO');
var PROCESS_REQUEST_FILE = '../setup/emails_Ajax'; getField('SAVE_CHANGES').disabled = true;
var oPanel; break;
var srv;
var port;
var account;
var passwd;
var auth_required;
var send_test_mail;
var mail_to;
function verifyFields(oForm) case 'PHPMAILER':
{ hideRowById('SAVE_CHANGES2');
switch (getField('MESS_ENGINE').value) {
case 'PHPMAILER': case 'OPENMAIL':
verifyPassword = 0; showRowById('MESS_SERVER');
oAuxS = $('form[MESS_SERVER]').value; showRowById('MESS_PORT');
if (oAuxS == ''){ showRowById('MESS_ACCOUNT');
new leimnud.module.app.alert().make({ showRowById('MESS_PASSWORD');
label:G_STRINGS.ID_SERVER_REQUIRED showRowById('TEST');
}); showRowById('MESS_RAUTH');
return false; showRowById('MESS_TEST_MAIL');
}
else{ if ( getField('MESS_TEST_MAIL').checked)
oAuxA = $('form[MESS_ACCOUNT]').value; showRowById('MESS_TEST_MAIL_TO');
if(oAuxA == ''){ else
new leimnud.module.app.alert().make({ hideRowById('MESS_TEST_MAIL_TO');
label:G_STRINGS.ID_MESS_ACCOUNT_REQUIRED
}); getField('SAVE_CHANGES').disabled = true;
return false; break;
}
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();
} }
} //showRowById('MESS_BACKGROUND');////enable this line in the next release
} if (getField('MESS_BACKGROUND').checked) {
} showRowById('MESS_EXECUTE_EVERY');
break; showRowById('MESS_SEND_MAX');
case 'MAIL': showRowById('MESS_TRY_SEND_INMEDIATLY');
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); else {
$('form[SAVE_CHANGES]').disabled = false; hideRowById('MESS_EXECUTE_EVERY');
} hideRowById('MESS_SEND_MAX');
else { hideRowById('MESS_TRY_SEND_INMEDIATLY');
if( result == 'FAILED' ) {
alert(G_STRINGS.ID_MAIL_FAILED);
} }
if( result == 'INVALID' ) { } else {
alert(G_STRINGS.ID_INVALID_EMAIL); hideRowById('MESS_ENGINE');
} hideRowById('MESS_SERVER');
} hideRowById('MESS_PORT');
}.extend(this); hideRowById('MESS_ACCOUNT');
oRPC.make(); hideRowById('MESS_PASSWORD');
} hideRowById('MESS_BACKGROUND');
else { hideRowById('MESS_EXECUTE_EVERY');
alert(G_STRINGS.ID_CHECK_REQUIRED); hideRowById('MESS_SEND_MAX');
} hideRowById('MESS_TRY_SEND_INMEDIATLY');
}; hideRowById('TEST');
hideRowById('MESS_RAUTH');
var resultset = true; hideRowById('MESS_TEST_MAIL');
function testSMTPHost(step) hideRowById('MESS_TEST_MAIL_TO');
{ showRowById('SAVE_CHANGES2');
$("test_"+step).style.display = "block"; getField('SAVE_CHANGES').disabled = false;
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;
} }
}.extend(getField('MESS_ENABLED')));
leimnud.event.add(getField('MESS_ENGINE'), 'change', function() {
switch (this.value) {
case 'MAIL':
hideRowById('MESS_SERVER');
hideRowById('MESS_PORT');
hideRowById('MESS_ACCOUNT');
hideRowById('MESS_PASSWORD');
hideRowById('MESS_RAUTH');
showRowById('MESS_TEST_MAIL');
if ( getField('MESS_TEST_MAIL').checked)
showRowById('MESS_TEST_MAIL_TO');
else
hideRowById('MESS_TEST_MAIL_TO');
getField('SAVE_CHANGES').disabled = true
break;
case 'PHPMAILER':
hideRowById('SAVE_CHANGES2');
case 'OPENMAIL':
showRowById('MESS_SERVER');
showRowById('MESS_PORT');
showRowById('MESS_ACCOUNT');
showRowById('MESS_PASSWORD');
showRowById('TEST');
showRowById('MESS_RAUTH');
showRowById('MESS_TEST_MAIL');
if ( getField('MESS_TEST_MAIL').checked )
showRowById('MESS_TEST_MAIL_TO');
else
hideRowById('MESS_TEST_MAIL_TO');
getField('SAVE_CHANGES').disabled = true;
break;
}
}.extend(getField('MESS_ENGINE')));
leimnud.event.add(getField('MESS_BACKGROUND'), 'click', function() {
if (this.checked) {
showRowById('MESS_EXECUTE_EVERY');
showRowById('MESS_SEND_MAX');
showRowById('MESS_TRY_SEND_INMEDIATLY');
}
else {
hideRowById('MESS_EXECUTE_EVERY');
hideRowById('MESS_SEND_MAX');
hideRowById('MESS_TRY_SEND_INMEDIATLY');
}
}.extend(getField('MESS_BACKGROUND')));
if (!getField('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('TEST');
} }
}
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');
}
}
}
leimnud.event.add(getField('MESS_RAUTH'), 'click', function() {
if (this.checked) {
showRowById('MESS_PASSWORD');
} else {
hideRowById('MESS_PASSWORD');
}
}.extend(getField('MESS_RAUTH')));
leimnud.event.add(getField('MESS_TEST_MAIL'), 'click', function() {
if (this.checked) {
showRowById('MESS_TEST_MAIL_TO');
} 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');
switch (getField('MESS_ENGINE').value) { switch (getField('MESS_ENGINE').value) {
case 'MAIL': case 'MAIL':
hideRowById('MESS_SERVER'); hideRowById('MESS_SERVER');
hideRowById('MESS_PORT'); hideRowById('MESS_PORT');
hideRowById('MESS_ACCOUNT'); hideRowById('MESS_ACCOUNT');
hideRowById('MESS_PASSWORD'); hideRowById('MESS_PASSWORD');
hideRowById('SAVE_CHANGES2');
showRowById('TEST');
showRowById('MESS_TEST_MAIL');
if ($('form[MESS_TEST_MAIL]').checked) {
showRowById('MESS_TEST_MAIL_TO');
} else {
hideRowById('MESS_TEST_MAIL_TO');
}
$('form[SAVE_CHANGES]').disabled = true;
break; break;
case 'PHPMAILER': case 'PHPMAILER':
hideRowById('SAVE_CHANGES2');
case 'OPENMAIL': case 'OPENMAIL':
showRowById('MESS_SERVER'); showRowById('MESS_SERVER');
showRowById('MESS_PORT'); showRowById('MESS_PORT');
showRowById('MESS_ACCOUNT'); showRowById('MESS_ACCOUNT');
showRowById('MESS_PASSWORD'); showRowById('MESS_PASSWORD');
showRowById('TEST');
showRowById('MESS_RAUTH');
showRowById('MESS_TEST_MAIL');
if ($('form[MESS_TEST_MAIL]').checked) {
showRowById('MESS_TEST_MAIL_TO');
} else {
hideRowById('MESS_TEST_MAIL_TO');
}
$('form[SAVE_CHANGES]').disabled = true;
break; break;
} }
//showRowById('MESS_BACKGROUND');////enable this line in the next release
if (getField('MESS_BACKGROUND').checked) { hideRowById('MESS_BACKGROUND');//delete this line in the next release
showRowById('MESS_EXECUTE_EVERY'); if (!getField('MESS_BACKGROUND').checked) {
showRowById('MESS_SEND_MAX');
showRowById('MESS_TRY_SEND_INMEDIATLY');
}
else {
hideRowById('MESS_EXECUTE_EVERY'); hideRowById('MESS_EXECUTE_EVERY');
hideRowById('MESS_SEND_MAX'); hideRowById('MESS_SEND_MAX');
hideRowById('MESS_TRY_SEND_INMEDIATLY'); hideRowById('MESS_TRY_SEND_INMEDIATLY');
} }
}
else {
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('TEST');
hideRowById('MESS_RAUTH');
hideRowById('MESS_TEST_MAIL');
hideRowById('MESS_TEST_MAIL_TO');
showRowById('SAVE_CHANGES2');
$('form[SAVE_CHANGES]').disabled = false;
}
}.extend(getField('MESS_ENABLED')));
leimnud.event.add(getField('MESS_ENGINE'), 'change', function() { getField('SAVE_CHANGES').disabled = true;
switch (this.value) { initSet();
case 'MAIL': ]]>
hideRowById('MESS_SERVER'); </JS>
hideRowById('MESS_PORT');
hideRowById('MESS_ACCOUNT');
hideRowById('MESS_PASSWORD');
hideRowById('MESS_RAUTH');
showRowById('MESS_TEST_MAIL');
if ($('form[MESS_TEST_MAIL]').checked) {
showRowById('MESS_TEST_MAIL_TO');
} else {
hideRowById('MESS_TEST_MAIL_TO');
}
$('form[SAVE_CHANGES]').disabled = true
break;
case 'PHPMAILER':
hideRowById('SAVE_CHANGES2');
case 'OPENMAIL':
showRowById('MESS_SERVER');
showRowById('MESS_PORT');
showRowById('MESS_ACCOUNT');
showRowById('MESS_PASSWORD');
showRowById('TEST');
showRowById('MESS_RAUTH');
showRowById('MESS_TEST_MAIL');
if ($('form[MESS_TEST_MAIL]').checked) {
showRowById('MESS_TEST_MAIL_TO');
} else {
hideRowById('MESS_TEST_MAIL_TO');
}
$('form[SAVE_CHANGES]').disabled = true;
break;
}
}.extend(getField('MESS_ENGINE')));
leimnud.event.add(getField('MESS_BACKGROUND'), 'click', function() {
if (this.checked) {
showRowById('MESS_EXECUTE_EVERY');
showRowById('MESS_SEND_MAX');
showRowById('MESS_TRY_SEND_INMEDIATLY');
}
else {
hideRowById('MESS_EXECUTE_EVERY');
hideRowById('MESS_SEND_MAX');
hideRowById('MESS_TRY_SEND_INMEDIATLY');
}
}.extend(getField('MESS_BACKGROUND')));
if (!getField('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('TEST');
}
switch (getField('MESS_ENGINE').value) {
case 'MAIL':
hideRowById('MESS_SERVER');
hideRowById('MESS_PORT');
hideRowById('MESS_ACCOUNT');
hideRowById('MESS_PASSWORD');
break;
case 'PHPMAILER':
case 'OPENMAIL':
showRowById('MESS_SERVER');
showRowById('MESS_PORT');
showRowById('MESS_ACCOUNT');
showRowById('MESS_PASSWORD');
break;
}
hideRowById('MESS_BACKGROUND');//delete this line in the next release
if (!getField('MESS_BACKGROUND').checked) {
hideRowById('MESS_EXECUTE_EVERY');
hideRowById('MESS_SEND_MAX');
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();
};
initSet();
]]></JS>
</dynaForm> </dynaForm>