function composeMailAction() { $active_worker = CerberusApplication::getActiveWorker(); if (!$active_worker->hasPriv('core.mail.send')) { return; } @($team_id = DevblocksPlatform::importGPC($_POST['team_id'], 'integer')); @($to = DevblocksPlatform::importGPC($_POST['to'], 'string')); @($cc = DevblocksPlatform::importGPC($_POST['cc'], 'string', '')); @($bcc = DevblocksPlatform::importGPC($_POST['bcc'], 'string', '')); @($subject = DevblocksPlatform::importGPC($_POST['subject'], 'string', '(no subject)')); @($content = DevblocksPlatform::importGPC($_POST['content'], 'string')); @($files = $_FILES['attachment']); @($closed = DevblocksPlatform::importGPC($_POST['closed'], 'integer', 0)); @($move_bucket = DevblocksPlatform::importGPC($_POST['bucket_id'], 'string', '')); @($next_worker_id = DevblocksPlatform::importGPC($_POST['next_worker_id'], 'integer', 0)); @($ticket_reopen = DevblocksPlatform::importGPC($_POST['ticket_reopen'], 'string', '')); @($unlock_date = DevblocksPlatform::importGPC($_POST['unlock_date'], 'string', '')); if (DEMO_MODE) { DevblocksPlatform::redirect(new DevblocksHttpResponse(array('tickets', 'compose'))); return; } if (empty($to)) { DevblocksPlatform::redirect(new DevblocksHttpResponse(array('tickets', 'compose'))); return; } $properties = array('team_id' => $team_id, 'to' => $to, 'cc' => $cc, 'bcc' => $bcc, 'subject' => $subject, 'content' => $content, 'files' => $files, 'closed' => $closed, 'move_bucket' => $move_bucket, 'next_worker_id' => $next_worker_id, 'ticket_reopen' => $ticket_reopen, 'unlock_date' => $unlock_date); $ticket_id = CerberusMail::compose($properties); $ticket = DAO_Ticket::getTicket($ticket_id); $visit = CerberusApplication::getVisit(); /* @var CerberusVisit $visit */ $visit->set('compose.last_ticket', $ticket->mask); DevblocksPlatform::redirect(new DevblocksHttpResponse(array('tickets', 'compose'))); }
function SendReport($full_filename, $filename) { $logger = DevblocksPlatform::getConsoleLog(); $from = '*****@*****.**'; $personal = 'First Person'; $subject = 'DR Metlife Report Generated on ' . date("n/j/y"); $mail_headers = array(); $mail_headers['X-CerberusCompose'] = '1'; $toList = NULL; $abort = true; @($answernet_email01 = $this->getParam('answernet_email01', NULL)); @($answernet_email02 = $this->getParam('answernet_email02', NULL)); @($answernet_email03 = $this->getParam('answernet_email03', NULL)); @($answernet_email04 = $this->getParam('answernet_email04', NULL)); @($answernet_email05 = $this->getParam('answernet_email05', NULL)); if ($answernet_email01 != '') { $logger->info("[Answernet.com] answernet_email01 = " . $answernet_email01); $toList = $answernet_email01; $abort = false; } if ($answernet_email02 != '') { $logger->info("[Answernet.com] answernet_email02 = " . $answernet_email02); if (!is_null($toList)) { $toList .= ","; } $toList .= $answernet_email02; $abort = false; } if ($answernet_email03 != '') { $logger->info("[Answernet.com] answernet_email03 = " . $answernet_email03); if (!is_null($toList)) { $toList .= ","; } $toList .= $answernet_email03; $abort = false; } if ($answernet_email04 != '') { $logger->info("[Answernet.com] answernet_email04 = " . $answernet_email04); if (!is_null($toList)) { $toList .= ","; } $toList .= $answernet_email04; $abort = false; } if ($answernet_email05 != '') { $logger->info("[Answernet.com] answernet_email05 = " . $answernet_email05); if (!is_null($toList)) { $toList .= ","; } $toList .= $answernet_email05; $abort = false; } if ($abort) { $logger->info("[Answernet.com] Aborting email send."); return; } $logger->info("[Answernet.com] toList = " . $toList); $files['name']['0'] = $filename; $files['type']['0'] = 'application/vnd.ms-excel'; $files['tmp_name']['0'] = $full_filename; $properties = array('team_id' => 1771, 'content' => "Metlife DR report attached", 'subject' => $subject, 'closed' => 0, 'agent_id' => 0, 'to' => $toList, 'files' => $files); $ticket_id = CerberusMail::compose($properties); $logger->info("[Answernet.com] ticket_id = " . $ticket_id); return; }
function logTicketAction() { $active_worker = CerberusApplication::getActiveWorker(); if (!$active_worker->hasPriv('core.mail.log_ticket')) { return; } @($team_id = DevblocksPlatform::importGPC($_POST['team_id'], 'integer')); @($to = DevblocksPlatform::importGPC($_POST['to'], 'string')); @($subject = DevblocksPlatform::importGPC($_POST['subject'], 'string')); @($content = DevblocksPlatform::importGPC($_POST['content'], 'string')); @($files = $_FILES['attachment']); @($closed = DevblocksPlatform::importGPC($_POST['closed'], 'integer', 0)); @($move_bucket = DevblocksPlatform::importGPC($_POST['bucket_id'], 'string', '')); @($next_worker_id = DevblocksPlatform::importGPC($_POST['next_worker_id'], 'integer', 0)); @($ticket_reopen = DevblocksPlatform::importGPC($_POST['ticket_reopen'], 'string', '')); @($unlock_date = DevblocksPlatform::importGPC($_POST['unlock_date'], 'string', '')); if (DEMO_MODE) { DevblocksPlatform::redirect(new DevblocksHttpResponse(array('tickets', 'create'))); return; } if (empty($to) || empty($team_id)) { DevblocksPlatform::redirect(new DevblocksHttpResponse(array('tickets', 'create'))); return; } // [TODO] "Opened/sent on behalf of..." $properties = array('team_id' => $team_id, 'to' => $to, 'subject' => $subject, 'content' => $content, 'files' => $files, 'closed' => $closed, 'move_bucket' => $move_bucket, 'next_worker_id' => $next_worker_id, 'ticket_reopen' => $ticket_reopen, 'unlock_date' => $unlock_date, 'no_mail' => true); $ticket_id = CerberusMail::compose($properties); // [TODO] The problem here is the requester isn't the real sender (worker is) // Run group filters //if(false !== ($rules = CerberusApplication::runGroupRouting($team_id, $ticket_id))) { /* @var $rule Model_GroupInboxFilter */ // ... //} $ticket = DAO_Ticket::getTicket($ticket_id); $visit = CerberusApplication::getVisit(); /* @var CerberusVisit $visit */ $visit->set('compose.last_ticket', $ticket->mask); //DevblocksPlatform::setHttpResponse(new DevblocksHttpResponse(array('display',$ticket_id))); DevblocksPlatform::redirect(new DevblocksHttpResponse(array('tickets', 'create'))); }