Ejemplo n.º 1
0
 public function messagesAction()
 {
     if ($this->auth->hasIdentity()) {
         $this->view->mydetails = $this->authIdentity;
         $ruserid = $this->getRequest()->getParam('userid');
         if (!empty($ruserid)) {
             $this->userModel = new Application_Model_Users($this->registry['DB']);
             if (isset($this->authIdentity)) {
                 $this->view->userDetails = $this->userModel->getUserDetails($ruserid, $this->authIdentity);
             } else {
                 $this->view->userDetails = $this->userModel->getUserDetails($ruserid);
             }
             $getusermess = new Application_Model_Messages($this->registry['DB']);
             $this->view->results = $getusermess->getUserMessages($ruserid);
             if ($this->_request->isXmlHttpRequest() && $this->getRequest()->getParam('format') == 'xml') {
                 $this->_helper->viewRenderer->renderScript('messages/getusermessages.ajax.phtml');
             }
         } else {
             $getmessages = new Application_Model_Messages($this->registry['DB']);
             $this->view->results = $getmessages->getMessages();
             if ($this->_request->isXmlHttpRequest() && $this->getRequest()->getParam('format') == 'xml') {
                 $this->_helper->viewRenderer->renderScript('messages/messages.ajax.phtml');
             }
         }
         //$this->_helper->viewRenderer->setNoRender(true);
         //$this->_helper->viewRenderer->setNoRender(true);
         //$this->getResponse()->setBody(json_encode($places->uploadImage($album)));
         //$this->view->results= $places->getUserDetailts('leaf_1164721637_31408804');
         //$this->view->results= $places->doComment(1, 'ifadfja');
     }
 }
 /**
  * Read / Compose a new message (via ajax)
  */
 public function newAction()
 {
     $current_user = Zend_Auth::getInstance()->getIdentity();
     $request = $this->getRequest();
     $to_user = $request->getParam('to', false);
     $offset = $request->getParam('offset', false);
     $Profiles = new Application_Model_Profiles();
     $ProfilesMeta = new Application_Model_ProfilesMeta();
     $Connections = new Application_Model_Connections();
     $Messages = new Application_Model_Messages();
     $Notifications = new Application_Model_Notifications();
     $message_form = new Application_Form_Message();
     $this->view->message_form = $message_form;
     $user = $Profiles->getProfile($to_user);
     $json_ret = array('errors' => '', 'html' => '', 'offset' => '');
     if (!$user || !isset($user->id) || $user->type != 'user') {
         $json_ret['errors'] = $this->view->translate('This user does not exist');
         // exit
         $this->getHelper('json')->sendJson($json_ret);
     }
     $users_meta = $ProfilesMeta->getMetaValues($user->id);
     // check private message privacy
     if ($current_user->role != 'admin' && $current_user->role != 'reviewer' && isset($users_meta['contact_privacy']) && $users_meta['contact_privacy'] == 'f' && !$Connections->areFriends($current_user->id, $user->id)) {
         $json_ret['errors'] = $this->view->translate('Private profile (friends only)');
         // exit
         $this->getHelper('json')->sendJson($json_ret);
     }
     $this->view->to_screen_name = $user->screen_name;
     if ($request->isPost() && $message_form->isValid($_POST)) {
         $content = $message_form->getValue('content');
         $result = $Messages->sendMessage($user->id, $content);
         if (!$result) {
             $json_ret['errors'] = $this->view->translate('Server-side error');
             // exit
             $this->getHelper('json')->sendJson($json_ret);
         }
         // mark as read
         $Messages->markAsRead($user->id);
     }
     // get new messages
     $messages = $Messages->getMessages($user->id, $offset);
     // clear email notifications since you are looking at them right now
     $Notifications->clearEmailNotifications(8);
     if (!empty($messages)) {
         // send last visible message
         $last = end($messages);
         $json_ret['offset'] = $last['message_id'];
         foreach ($messages as $message) {
             $this->view->message = $message;
             $json_ret['html'] .= $this->view->render('/partial/message.phtml');
         }
     }
     $this->getHelper('json')->sendJson($json_ret);
 }