* finish task #2719,2729.
This commit is contained in:
@@ -96,7 +96,7 @@ class testtask extends control
|
||||
$taskID = $this->testtask->create();
|
||||
if(dao::isError()) die(js::error(dao::getError()));
|
||||
$actionID = $this->loadModel('action')->create('testtask', $taskID, 'opened');
|
||||
$this->sendmail($taskID, $actionID, 'opened');
|
||||
$this->testtask->sendmail($taskID, $actionID);
|
||||
die(js::locate($this->createLink('testtask', 'browse', "productID=$productID"), 'parent'));
|
||||
}
|
||||
|
||||
@@ -365,7 +365,7 @@ class testtask extends control
|
||||
$this->action->logHistory($actionID, $changes);
|
||||
|
||||
/* send mail.*/
|
||||
$this->sendmail($taskID, $actionID, 'edited');
|
||||
$this->testtask->sendmail($taskID, $actionID);
|
||||
}
|
||||
die(js::locate(inlink('view', "taskID=$taskID"), 'parent'));
|
||||
}
|
||||
@@ -452,7 +452,7 @@ class testtask extends control
|
||||
{
|
||||
$actionID = $this->action->create('testtask', $taskID, 'Closed', $this->post->comment);
|
||||
$this->action->logHistory($actionID, $changes);
|
||||
$this->sendmail($taskID, $actionID, 'closed');
|
||||
$this->testtask->sendmail($taskID, $actionID);
|
||||
}
|
||||
|
||||
if(isonlybody()) die(js::reload('parent.parent'));
|
||||
@@ -822,70 +822,4 @@ class testtask extends control
|
||||
->exec();
|
||||
die(js::locate($this->session->caseList));
|
||||
}
|
||||
|
||||
/**
|
||||
* Send mail.
|
||||
*
|
||||
* @param int $testtaskID
|
||||
* @param int $actionID
|
||||
* @param string $action
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function sendmail($testtaskID, $actionID, $actionType)
|
||||
{
|
||||
/* Reset $this->output. */
|
||||
$this->clear();
|
||||
|
||||
/* Set toList and ccList. */
|
||||
$testtask = $this->testtask->getByID($testtaskID);
|
||||
$users = $this->loadModel('user')->getPairs('noletter');
|
||||
$toList = $testtask->owner;
|
||||
$ccList = str_replace(' ', '', trim($testtask->mailto, ','));
|
||||
if($toList == '')
|
||||
{
|
||||
if($ccList == '') return;
|
||||
if(strpos($ccList, ',') === false)
|
||||
{
|
||||
$toList = $ccList;
|
||||
$ccList = '';
|
||||
}
|
||||
else
|
||||
{
|
||||
$commaPos = strpos($ccList, ',');
|
||||
$toList = substr($ccList, 0, $commaPos);
|
||||
$ccList = substr($ccList, $commaPos + 1);
|
||||
}
|
||||
}
|
||||
|
||||
/* Get action info. */
|
||||
$action = $this->loadModel('action')->getById($actionID);
|
||||
$history = $this->action->getHistory($actionID);
|
||||
$action->history = isset($history[$actionID]) ? $history[$actionID] : array();
|
||||
|
||||
/* Create the email content. */
|
||||
$this->view->testtask = $testtask;
|
||||
$this->view->action = $action;
|
||||
$this->view->users = $users;
|
||||
|
||||
$mailContent = $this->parse($this->moduleName, 'sendmail');
|
||||
|
||||
/* Set email title. */
|
||||
if($actionType == 'opened')
|
||||
{
|
||||
$mailTitle = sprintf($this->lang->testtask->mail->create->title, $this->app->user->realname, $testtaskID, $this->post->name);
|
||||
}
|
||||
elseif($actionType == 'closed')
|
||||
{
|
||||
$mailTitle = sprintf($this->lang->testtask->mail->close->title, $this->app->user->realname, $testtaskID, $testtask->name);
|
||||
}
|
||||
else
|
||||
{
|
||||
$mailTitle = sprintf($this->lang->testtask->mail->edit->title, $this->app->user->realname, $testtaskID, $this->post->name);
|
||||
}
|
||||
|
||||
/* Send mail. */
|
||||
$this->loadModel('mail')->send($toList, $mailTitle, $mailContent, $ccList);
|
||||
if($this->mail->isError()) trigger_error(join("\n", $this->mail->getError()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -734,4 +734,78 @@ class testtaskModel extends model
|
||||
echo '</td>';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Send mail.
|
||||
*
|
||||
* @param int $testtaskID
|
||||
* @param int $actionID
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function sendmail($testtaskID, $actionID)
|
||||
{
|
||||
$this->loadModel('mail');
|
||||
$testtask = $this->getByID($testtaskID);
|
||||
$users = $this->loadModel('user')->getPairs('noletter');
|
||||
|
||||
/* Get action info. */
|
||||
$action = $this->loadModel('action')->getById($actionID);
|
||||
$history = $this->action->getHistory($actionID);
|
||||
$action->history = isset($history[$actionID]) ? $history[$actionID] : array();
|
||||
|
||||
/* Get mail content. */
|
||||
$modulePath = $this->app->getModulePath();
|
||||
$oldcwd = getcwd();
|
||||
$viewFile = $modulePath . 'view/sendmail.html.php';
|
||||
chdir($modulePath . 'view');
|
||||
if(file_exists($modulePath . 'ext/view/sendmail.html.php'))
|
||||
{
|
||||
$viewFile = $modulePath . 'ext/view/sendmail.html.php';
|
||||
chdir($modulePath . 'ext/view');
|
||||
}
|
||||
ob_start();
|
||||
include $viewFile;
|
||||
foreach(glob($modulePath . 'ext/view/sendmail.*.html.hook.php') as $hookFile) include $hookFile;
|
||||
$mailContent = ob_get_contents();
|
||||
ob_end_clean();
|
||||
chdir($oldcwd);
|
||||
|
||||
/* Set toList and ccList. */
|
||||
$toList = $testtask->owner;
|
||||
$ccList = str_replace(' ', '', trim($testtask->mailto, ','));
|
||||
if(empty($toList))
|
||||
{
|
||||
if(empty($ccList)) return;
|
||||
if(strpos($ccList, ',') === false)
|
||||
{
|
||||
$toList = $ccList;
|
||||
$ccList = '';
|
||||
}
|
||||
else
|
||||
{
|
||||
$commaPos = strpos($ccList, ',');
|
||||
$toList = substr($ccList, 0, $commaPos);
|
||||
$ccList = substr($ccList, $commaPos + 1);
|
||||
}
|
||||
}
|
||||
|
||||
/* Set email title. */
|
||||
if($action->action == 'opened')
|
||||
{
|
||||
$mailTitle = sprintf($this->lang->testtask->mail->create->title, $this->app->user->realname, $testtaskID, $this->post->name);
|
||||
}
|
||||
elseif($action->action == 'closed')
|
||||
{
|
||||
$mailTitle = sprintf($this->lang->testtask->mail->close->title, $this->app->user->realname, $testtaskID, $testtask->name);
|
||||
}
|
||||
else
|
||||
{
|
||||
$mailTitle = sprintf($this->lang->testtask->mail->edit->title, $this->app->user->realname, $testtaskID, $this->post->name);
|
||||
}
|
||||
|
||||
/* Send mail. */
|
||||
$this->mail->send($toList, $mailTitle, $mailContent, $ccList);
|
||||
if($this->mail->isError()) trigger_error(join("\n", $this->mail->getError()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,12 +11,12 @@
|
||||
*/
|
||||
?>
|
||||
<?php $mailTitle = 'TESTTASK #' . $testtask->id . ' ' . $testtask->name;?>
|
||||
<?php include '../../common/view/mail.header.html.php';?>
|
||||
<?php include $this->app->getModuleRoot() . 'common/view/mail.header.html.php';?>
|
||||
<tr>
|
||||
<td>
|
||||
<table cellpadding='0' cellspacing='0' width='600' style='border: none; border-collapse: collapse;'>
|
||||
<tr>
|
||||
<td style='padding: 10px; background-color: #F8FAFE; border: none; font-size: 14px; font-weight: 500; border-bottom: 1px solid #e5e5e5;'><?php echo html::a(common::getSysURL() . $this->createLink('testtask', 'view', "testtaskID=$testtask->id"), $mailTitle, '', "style='color: #333;'");?></td>
|
||||
<td style='padding: 10px; background-color: #F8FAFE; border: none; font-size: 14px; font-weight: 500; border-bottom: 1px solid #e5e5e5;'><?php echo html::a(zget($this->config->mail, 'domain', common::getSysURL()) . helper::createLink('testtask', 'view', "testtaskID=$testtask->id"), $mailTitle, '', "style='color: #333; text-decoration: underline;'");?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
@@ -24,9 +24,9 @@
|
||||
<tr>
|
||||
<td style='padding: 10px; border: none;'>
|
||||
<fieldset style='border: 1px solid #e5e5e5'>
|
||||
<legend style='color: #114f8e'><?php echo $lang->testtask->desc;?></legend>
|
||||
<legend style='color: #114f8e'><?php echo $this->lang->testtask->desc;?></legend>
|
||||
<div style='padding:5px;'><?php echo $testtask->desc;?></div>
|
||||
</fieldset>
|
||||
</td>
|
||||
</tr>
|
||||
<?php include '../../common/view/mail.footer.html.php';?>
|
||||
<?php include $this->app->getModuleRoot() . 'common/view/mail.footer.html.php';?>
|
||||
|
||||
Reference in New Issue
Block a user