示例#1
0
 /**
  * View thread
  * @param int $id userid
  */
 public function actionView($id)
 {
     $dataProvider = new CActiveDataProvider('PersonalMessage', array('criteria' => array('scopes' => array('byInterlocutorId' => $id), 'order' => 'id DESC')));
     $message = new PersonalMessage();
     $message->recipient_id = $id;
     if (isset($_POST['PersonalMessage'])) {
         $message->attributes = $_POST['PersonalMessage'];
         $message->sender_id = $this->_userId;
         $message->recipient_id = $id;
         $lastMessage = PersonalMessage::model()->byInterlocutorId($id)->find();
         if ($lastMessage !== null && $lastMessage->thread_id != 0) {
             $message->thread_id = $lastMessage->thread_id;
         }
         if ($message->save()) {
             if ($message->thread_id == 0) {
                 $message->thread_id = $message->id;
                 $message->save(false, array('thread_id'));
             }
             $this->refresh();
         }
     }
     $this->render('view', array('dataProvider' => $dataProvider, 'message' => $message));
 }
示例#2
0
 /**
  * Delete message
  *
  * @param int $id message ID
  */
 public function actionDelete($id)
 {
     if (Yii::app()->request->isPostRequest) {
         $model = PersonalMessage::model()->haveAccess($this->_userId)->findByPk($id);
         if ($model !== null) {
             $this->_userId == $model->sender_id ? $model->ds = 1 : ($model->dr = 1);
             if (Yii::app()->getModule('pm')->reallyDelete && $model->ds && $model->dr) {
                 $model->delete();
             } else {
                 $model->save(false, array('dr', 'ds'));
             }
             if (!isset($_GET['ajax'])) {
                 Yii::app()->user->setFlash('success', PmModule::t('Message has been succsefully deleted.'));
                 $this->redirect(array('/pm/default/listincoming'));
             }
         }
     } else {
         throw new CHttpException(400, 'Invalid request. Please do not repeat this request again.');
     }
 }