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