public function actionDetail($id) { $userId = user()->getId(); $dependency = new CDbCacheDependency('SELECT UNIX_TIMESTAMP(updated_at) FROM {{user_messages}} WHERE user_id = :user_id AND id = :id LIMIT 1'); $dependency->params = array('user_id' => $userId, 'id' => $id); $model = UserMessages::model()->cache(3600 * 24, $dependency, 2)->findByPk($id, 'user_id = :user_id', array('user_id' => user()->getId())); if (!$model) { throw new CHttpException(404); } // Меняю статус на прочитаный if ($model->read == UserMessages::STATUS_NOT_READ) { $model->read = UserMessages::STATUS_READ; $model->save(FALSE, array('read')); } $this->render('//cabinet/messages/detail', array('model' => $model)); }
/** * Отправляет сообщение * * @param $user_id */ public function actionAddMessage($user_id) { $model = new UserMessages(); if (request()->isPostRequest && isset($_POST['UserMessages'])) { $model->setScenario(ActiveRecord::SCENARIO_CREATE); $model->setAttribute('user_id', $user_id); $model->setAttributes($_POST['UserMessages']); if ($errors = ActiveForm::validate($model)) { $this->ajax['msg'] = $errors; } else { $model->save(FALSE); $this->ajax['status'] = TRUE; $this->ajax['msg'] = Yii::t('backend', 'Сообщение отправлено'); } } else { // get $this->ajax['status'] = TRUE; $this->ajax['view'] = $this->renderPartial('//users/view/add-message-form', array('model' => $model), TRUE); } echo json_encode($this->ajax); }
function yg_print_messages($type = null) { UserMessages::show($type); }