/** * * @param type $id */ public function send_req_mails($id, $isUpdate = "0") { //modified $sd_req_model = new Default_Model_Servicerequests(); $summary_data = $sd_req_model->getDataSummary($id); $cc_req_ids = $sd_req_model->getCC_mails($summary_data['service_desk_conf_id']); $app_ids_arr = array(); $auth = Zend_Auth::getInstance(); $supportEmailAddress = $this->getSupportTeamEmailID($summary_data['service_desk_id']); if ($auth->hasIdentity()) { $loginUserId = $auth->getStorage()->read()->id; } if ($summary_data['status'] == 'Open') { $total_ids = array($cc_req_ids['request_recievers'], $cc_req_ids['cc_mail_recievers'], $summary_data['createdby'], $summary_data['reporting_manager_id']); } else { if ($summary_data['status'] == 'Closed' || $summary_data['status'] == 'Rejected') { $total_ids = array($summary_data['executor_id'], $cc_req_ids['cc_mail_recievers'], $summary_data['createdby'], $summary_data['reporting_manager_id'], $summary_data['approver_1'], $summary_data['approver_2'], $summary_data['approver_3']); } else { if ($summary_data['status'] == 'To manager approve') { $total_ids = array($summary_data['modifiedby'], $cc_req_ids['cc_mail_recievers'], $summary_data['reporting_manager_id']); } else { if ($summary_data['status'] == 'Manager approved' || $summary_data['status'] == 'Manager rejected') { $total_ids = array($cc_req_ids['request_recievers'], $cc_req_ids['cc_mail_recievers'], $summary_data['reporting_manager_id']); } else { if ($summary_data['status'] == 'To management approve') { $app_id = ""; $approver_name = ""; for ($i = 1; $i <= 3; $i++) { if ($summary_data['approver_status_' . $i] == '') { $app_id = $summary_data['approver_' . $i]; $approver_name = $summary_data['approver_' . $i . '_name']; break; } } $total_ids = array($summary_data['modifiedby'], $cc_req_ids['cc_mail_recievers'], $app_id); } else { if ($summary_data['status'] == 'Management approved' || $summary_data['status'] == 'Management rejected') { $approver_name = ""; for ($i = 1; $i <= 3; $i++) { if ($summary_data['approver_' . $i] != '') { $app_ids_arr[] = $summary_data['approver_' . $i]; if ($summary_data['approver_' . $i] == $summary_data['modifiedby']) { $approver_name = $summary_data['approver_' . $i . '_name']; } } } $app_ids = implode(',', $app_ids_arr); $total_ids = array($cc_req_ids['cc_mail_recievers'], $app_ids, $cc_req_ids['request_recievers']); } } } } } } $total_ids = array_filter($total_ids); $total_ids = implode(',', $total_ids); $email_ids = $sd_req_model->getEmailIds($total_ids); $req_receivers = explode(',', $cc_req_ids['request_recievers']); $cc = array(); if ($cc_req_ids['cc_mail_recievers'] != '') { $cc = explode(',', $cc_req_ids['cc_mail_recievers']); } //start of mailing if ($summary_data['status'] == 'Open') { if ($isUpdate == "1") { $message = "Your request has been modified by you."; } else { $message = "A new request has been raised by you."; } $this->mail_helper($isUpdate, $message, $summary_data, isset($email_ids[$summary_data['createdby']]) ? $email_ids[$summary_data['createdby']] : ""); if (count($req_receivers) > 0) { if ($isUpdate == "1") { $message = "Existing request has been modified and waiting for your perusal."; } else { $message = "A new request has been raised for your perusal."; } foreach ($req_receivers as $rec) { $this->mail_helper($isUpdate, $message, $summary_data, isset($email_ids[$rec]) ? $email_ids[$rec] : ""); } } if ($isUpdate == "1") { $message = "Existing request has been modified by " . $summary_data['raised_by_name']; } else { $message = "A new request has been raised by " . $summary_data['raised_by_name']; } $this->mail_helper($isUpdate, $message, $summary_data, isset($email_ids[$summary_data['reporting_manager_id']]) ? $email_ids[$summary_data['reporting_manager_id']] : ""); if (count($cc) > 0) { foreach ($cc as $rec) { $this->mail_helper($isUpdate, $message, $summary_data, isset($email_ids[$rec]) ? $email_ids[$rec] : ""); } } //email to support team if ($isUpdate == "1") { $message = "Existing request has been modified by " . $summary_data['raised_by_name']; } else { $message = "A new request has been raised by " . $summary_data['raised_by_name']; } $this->mail_helper($isUpdate, $message, $summary_data, $supportEmailAddress); } else { if ($summary_data['status'] == 'Closed' || $summary_data['status'] == 'Rejected') { $message = "An action has been performed on your request. Please find the details below."; $this->mail_helper($message, $summary_data, isset($email_ids[$summary_data['createdby']]) ? $email_ids[$summary_data['createdby']] : ""); if (count($req_receivers) > 0) { foreach ($req_receivers as $rec) { $message = "An action has been performed by " . ($rec == $summary_data['executor_id'] ? "you" : $summary_data['executor_name']) . " on the request. Please find the details below."; $this->mail_helper($message, $summary_data, isset($email_ids[$rec]) ? $email_ids[$rec] : ""); } } $message = "The below request has been " . strtolower($summary_data['status']) . " by " . $summary_data['executor_name']; $this->mail_helper($message, $summary_data, isset($email_ids[$summary_data['reporting_manager_id']]) ? $email_ids[$summary_data['reporting_manager_id']] : ""); if (count($cc) > 0) { foreach ($cc as $rec) { $this->mail_helper($message, $summary_data, isset($email_ids[$rec]) ? $email_ids[$rec] : ""); } } for ($i = 1; $i <= 3; $i++) { if ($summary_data['approver_' . $i] != '') { $this->mail_helper($message, $summary_data, isset($email_ids[$summary_data['approver_' . $i]]) ? $email_ids[$summary_data['approver_' . $i]] : ""); } } //email to support team $message = "The below request has been " . strtolower($summary_data['status']) . " by " . $summary_data['executor_name']; $this->mail_helper($message, $summary_data, $supportEmailAddress); } else { if ($summary_data['status'] == 'Management approved' || $summary_data['status'] == 'Management rejected') { $approver_status = $summary_data['status'] == 'Management approved' ? "approved" : "rejected"; $message = "A " . $summary_data['service_desk_name'] . " request has been " . $approver_status . " by you."; $this->mail_helper($message, $summary_data, isset($email_ids[$summary_data['modifiedby']]) ? $email_ids[$summary_data['modifiedby']] : ""); if (count($req_receivers) > 0) { $message = "A " . $summary_data['service_desk_name'] . " request has been " . $approver_status . " by " . $approver_name . "."; foreach ($req_receivers as $rec) { $this->mail_helper($message, $summary_data, isset($email_ids[$rec]) ? $email_ids[$rec] : ""); } } if (count($cc) > 0) { $message = "A " . $summary_data['service_desk_name'] . " request has been " . $approver_status . " by " . $approver_name . "."; foreach ($cc as $rec) { $this->mail_helper($message, $summary_data, isset($email_ids[$rec]) ? $email_ids[$rec] : ""); } } if (count($app_ids_arr) > 0) { $message = "A " . $summary_data['service_desk_name'] . " request has been " . $approver_status . " by " . $approver_name . "."; foreach ($app_ids_arr as $ap_id) { if ($ap_id != $summary_data['modifiedby']) { $this->mail_helper($message, $summary_data, isset($email_ids[$ap_id]) ? $email_ids[$ap_id] : ""); } } } //email to support team $message = "A " . $summary_data['service_desk_name'] . " request has been " . $approver_status . " by " . $approver_name . "."; $this->mail_helper($message, $summary_data, $supportEmailAddress); } else { if ($summary_data['status'] == 'Manager approved' || $summary_data['status'] == 'Manager rejected') { $manager_status = $summary_data['reporting_manager_status'] == 'Approve' ? "approved" : "rejected"; $message = "A " . $summary_data['service_desk_name'] . " request has been " . $manager_status . " by you."; $this->mail_helper($message, $summary_data, isset($email_ids[$summary_data['reporting_manager_id']]) ? $email_ids[$summary_data['reporting_manager_id']] : ""); if (count($req_receivers) > 0) { $message = "A " . $summary_data['service_desk_name'] . " request has been " . $manager_status . " by " . $summary_data['reporting_manager_name'] . "."; foreach ($req_receivers as $rec) { $this->mail_helper($message, $summary_data, isset($email_ids[$rec]) ? $email_ids[$rec] : ""); } } if (count($cc) > 0) { $message = "A " . $summary_data['service_desk_name'] . " request has been " . $manager_status . " by " . $summary_data['reporting_manager_name'] . "."; foreach ($cc as $rec) { $this->mail_helper($message, $summary_data, isset($email_ids[$rec]) ? $email_ids[$rec] : ""); } } //email to support team $message = "A " . $summary_data['service_desk_name'] . " request has been " . $manager_status . " by " . $summary_data['reporting_manager_name'] . "."; $this->mail_helper($message, $summary_data, $supportEmailAddress); } else { if ($summary_data['status'] == 'To manager approve') { $message = "A " . $summary_data['service_desk_name'] . " request has been sent by you for " . $summary_data['reporting_manager_name'] . "’s approval."; $this->mail_helper($message, $summary_data, isset($email_ids[$summary_data['modifiedby']]) ? $email_ids[$summary_data['modifiedby']] : ""); $message = "A new request has been sent to you for approval."; $this->mail_helper($message, $summary_data, isset($email_ids[$summary_data['reporting_manager_id']]) ? $email_ids[$summary_data['reporting_manager_id']] : ""); $message = ucfirst($auth->getStorage()->read()->userfullname) . " sent the below request for " . $summary_data['reporting_manager_name'] . "’s approval."; if (count($cc) > 0) { foreach ($cc as $rec) { $this->mail_helper($message, $summary_data, isset($email_ids[$rec]) ? $email_ids[$rec] : ""); } } } else { if ($summary_data['status'] == 'To management approve') { $message = "A " . $summary_data['service_desk_name'] . " request has been sent by you for " . $approver_name . "’s approval."; $this->mail_helper($message, $summary_data, isset($email_ids[$summary_data['modifiedby']]) ? $email_ids[$summary_data['modifiedby']] : ""); $message = "A new request has been sent to you for approval."; $this->mail_helper($message, $summary_data, isset($email_ids[$app_id]) ? $email_ids[$app_id] : ""); $message = ucfirst($auth->getStorage()->read()->userfullname) . " sent the below request for " . $approver_name . "’s approval."; if (count($cc) > 0) { foreach ($cc as $rec) { $this->mail_helper($message, $summary_data, isset($email_ids[$rec]) ? $email_ids[$rec] : ""); } } } } } } } } //end of mailing }
public function send_req_mails1($id) { $sd_req_model = new Default_Model_Servicerequests(); $summary_data = $sd_req_model->getDataSummary($id); $cc_req_ids = $sd_req_model->getCC_mails($summary_data['service_desk_conf_id']); if ($summary_data['status'] == 'Open') { $total_ids = array($cc_req_ids['request_recievers'], $cc_req_ids['cc_mail_recievers'], $summary_data['createdby']); } else { if ($summary_data['status'] == 'Closed') { $total_ids = array($summary_data['executor_id'], $cc_req_ids['cc_mail_recievers'], $summary_data['createdby']); } else { if ($summary_data['status'] == 'To manager approve') { $total_ids = array($summary_data['executor_id'], $cc_req_ids['cc_mail_recievers'], $summary_data['reporting_manager_id']); } else { if (in_array($summary_data['status'], array('To management approve', 'Management approved', 'Management rejected'))) { $total_ids = array($summary_data['executor_id'], $cc_req_ids['cc_mail_recievers'], $summary_data['approver_1'], $summary_data['approver_2'], $summary_data['approver_3']); } else { if ($summary_data['status'] == 'Manager approved' || $summary_data['status'] == 'Manager rejected') { $total_ids = array($summary_data['executor_id'], $cc_req_ids['cc_mail_recievers'], $summary_data['reporting_manager_id']); } } } } } $total_ids = array_filter($total_ids); $total_ids = implode(',', $total_ids); $email_ids = $sd_req_model->getEmailIds($total_ids); $req_receivers = explode(',', $cc_req_ids['request_recievers']); $cc = array(); if ($cc_req_ids['cc_mail_recievers'] != '') { $cc = explode(',', $cc_req_ids['cc_mail_recievers']); } $req_receivers[] = $summary_data['createdby']; $status = $summary_data['status']; $disp_arr = array('Closed' => 'Closed', 'Rejected' => 'Closed'); $display_status = !in_array($status, $disp_arr) ? "Open" : "Closed"; if (count($req_receivers) > 0) { foreach ($req_receivers as $rec) { $base_url = 'http://' . $this->getRequest()->getHttpHost() . $this->getRequest()->getBaseUrl(); $view = $this->getHelper('ViewRenderer')->view; $this->view->base_url = $base_url; $this->view->type = "receivers"; $this->view->data = $summary_data; $text = $view->render('mailtemplates/sdrequest.phtml'); $options['subject'] = "New Online request: Status - " . $display_status; $options['header'] = 'Online request'; $options['toEmail'] = isset($email_ids[$rec]) ? $email_ids[$rec] : ""; $options['toName'] = ''; $options['message'] = $text; $options['cron'] = 'yes'; if ($options['toEmail'] != '') { sapp_Global::_sendEmail($options); } } } if (count($cc) > 0) { foreach ($cc as $rec) { $base_url = 'http://' . $this->getRequest()->getHttpHost() . $this->getRequest()->getBaseUrl(); $view = $this->getHelper('ViewRenderer')->view; $this->view->base_url = $base_url; $this->view->type = "receivers"; $this->view->data = $summary_data; $text = $view->render('mailtemplates/sdrequest.phtml'); $options['subject'] = "New Online request: Status - Open"; $options['header'] = 'Online request'; $options['toEmail'] = $email_ids[$rec]; $options['toName'] = ''; $options['message'] = $text; $options['cron'] = 'yes'; if ($options['toEmail'] != '') { sapp_Global::_sendEmail($options); } } } }