/** * Create a new conversation */ public function createAction() { $request = $this->getRequest(); $id_user_to = $request->getParam('id_user_to'); $lang = $this->lang; // first we check if user is logged, if not redir to login $auth = Zend_Auth::getInstance(); if (!$auth->hasIdentity()) { //keep this url in zend session to redir after login $aNamespace = new Zend_Session_Namespace('Nolotiro'); $aNamespace->redir = $lang . '/message/create/id_user_to/' . $id_user_to . '/subject/' . $request->getParam('subject'); $this->_redirect($lang . '/auth/login'); } // check sender and recipient are not the same if ($auth->getIdentity()->id == $id_user_to) { $this->_helper->_flashMessenger->addMessage($this->view->translate('You are not allowed to do that')); $this->_redirect('/' . $lang . '/woeid/' . $this->location . '/give'); } $m_user = new Model_User(); $object_user = $m_user->fetchUser($id_user_to); $this->view->user_to = $object_user->username; $f_message_create = new Form_MessageCreate(); if ($this->getRequest()->isPost()) { if ($f_message_create->isValid($request->getPost())) { // collect the data from the user $f = new Zend_Filter_StripTags(); $data['subject'] = $f->filter($this->_request->getPost('subject')); $data['body'] = $f->filter($this->_request->getPost('body')); if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $data['ip'] = $_SERVER['HTTP_X_FORWARDED_FOR']; } elseif (isset($_SERVER['REMOTE_ADDR'])) { $data['ip'] = $_SERVER['REMOTE_ADDR']; } //get this ad user owner $data['user_from'] = $auth->getIdentity()->id; $data['user_to'] = $id_user_to; //get the username of the sender $m_user = new Model_User(); $username_from = $m_user->fetchUser($data['user_from'])->toArray(); // Create a new thread $m_message = new Model_Message(); $id = $m_message->createThread($data); $mail = new Zend_Mail('utf-8'); $hostname = 'http://' . $this->getRequest()->getHttpHost(); $data['body'] = $data['subject'] . '<br/>' . $data['body'] . '<br/>'; $data['body'] .= $this->view->translate('Go to this url to reply this message:') . '<br/>' . '<a href="' . $hostname . '/' . $this->lang . '/message/received"> ' . $hostname . '/' . $this->lang . '/message/received</a>'; $data['body'] .= '<br>---------<br/>'; $data['body'] .= $this->view->translate('This is an automated notification. Please, don\'t reply at this email address.'); $mail->setBodyHtml($data['body']); $mail->setFrom('*****@*****.**', 'nolotiro.org'); $mail->addTo($object_user->email); $mail->setSubject('[nolotiro.org] - ' . $this->view->translate('You have a new message from user') . ' ' . $username_from['username']); $mail->send(); $this->_helper->_flashMessenger->addMessage($this->view->translate('Message sent successfully!')); $this->_redirect('/' . $this->lang . '/message/list'); } } else { $data['subject'] = $this->_getParam('subject'); $f_message_create->populate($data); } // assign the form to the view $this->view->form = $f_message_create; }