public function emailinvoiceJsonAction() { $reservationID = $this->_getParam('reservation_id'); if ($reservationID == null) { return array('data' => array('success' => false, 'error' => RM_Environment::getInstance()->getTranslation(RM_Environment::TRANSLATE_ERRORS)->_('Admin.Reservation.Edit', 'ReservationIDMissed'))); } $model = new RM_Reservations(); $reservation = $model->find($reservationID)->current(); if ($reservation == null) { return array('data' => array('success' => false, 'error' => RM_Environment::getInstance()->getTranslation(RM_Environment::TRANSLATE_ERRORS)->_('Admin.Reservation.Edit', 'WrongReservationID'))); } $emailBody = RM_Reservations::getInvoice($reservation); $mail = new Zend_Mail('UTF-8'); $mail->setBodyHtml($emailBody); $config = new RM_Config(); $mail->setFrom($config->getValue('rm_config_administrator_email'), $config->getValue('rm_config_email_settings_fromname')); $confirm = $this->_getParam('rm_reservation_edit_send_invoice_confirm', 0); if ($confirm) { $userModel = new RM_Users(); $user = $userModel->getByReservation($reservation); if ($user !== null) { $mail->addTo($user->email, $user->first_name . ' ' . $user->last_name); } } $extraAddresses = $this->_getParam('rm_reservation_edit_send_invoice_email', ''); $extraAddresses = explode(',', $extraAddresses); //Here could be a multiple emails to send invoice to foreach ($extraAddresses as $address) { $mail->addTo($address); } $mail->setSubject(RM_Environment::getInstance()->getTranslation(RM_Environment::TRANSLATE_MAIN)->_('Admin.Reservations.Edit', 'InvoiceForReservation') . $reservation->id); try { $mail->send(); return array('data' => array('success' => true)); } catch (Exception $e) { return array('data' => array('success' => false, 'msg' => $e->getMessage())); } }