/** * On User delete, also delete all comments * * @param type $event */ public static function onUserDelete($event) { Yii::import('application.modules.mail.models.*'); // Delete all message entries foreach (MessageEntry::model()->findAllByAttributes(array('user_id' => $event->sender->id)) as $messageEntry) { $messageEntry->delete(); } // Leaves all my conversations foreach (UserMessage::model()->findAllByAttributes(array('user_id' => $event->sender->id)) as $userMessage) { $userMessage->message->leave($event->sender->id); } return true; }
/** * Returns the Message Model by given Id * Also an access check will be performed. * * If insufficed privileges or not found null will be returned. * * @param int $id */ private function getMessage($id) { $message = Message::model()->findByAttributes(array('id' => $id)); if ($message != null) { $userMessage = UserMessage::model()->findByAttributes(array('user_id' => Yii::app()->user->id, 'message_id' => $message->id)); if ($userMessage != null) { return $message; } } return null; }
/** * Deletes a message, including all dependencies. */ public function delete() { foreach (MessageEntry::model()->findAllByAttributes(array('message_id' => $this->id)) as $messageEntry) { $messageEntry->delete(); } foreach (UserMessage::model()->findAllByAttributes(array('message_id' => $this->id)) as $userMessage) { $userMessage->delete(); } parent::delete(); }
public function actionRead($id) { $model = $this->loadModel($id); $userMessage = UserMessage::model()->find("user_id = " . Yii::app()->user->id . " AND message_id = {$id}"); if (isset($userMessage)) { $userMessage->message_read = 1; $userMessage->save(); } $comments = $model->userComments; $newComment = new UserComment(); if (isset($_POST['UserComment'])) { $newComment->attributes = $_POST['UserComment']; $newComment->user_id = Yii::app()->user->id; $newComment->created = date('Y-m-d H:i:s'); $newComment->message_id = $id; $newComment->modified = date('Y-m-d H:i:s'); if ($newComment->validate()) { $newComment->save(); $comments = $model->userComments; $newComment = new UserComment(); } else { // die(print_r($newComment->getErrors())); } } $this->render('readMessage', array('model' => $model, 'comments' => $comments, 'newComment' => $newComment)); }