/**
  * 
  * @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);
             }
         }
     }
 }