public function actionSend() { $mail = new CMessage(); $mail->setAttributes(CRequest::getArray($mail::getClassName())); $mail->date_send = date("Y-m-d H:i:s"); if ($mail->validate()) { $mail->mail_type = "in"; $mail->read_status = "0"; $mail->save(); // а теперь делаем копию письма $mailCopy = new CMessage(); $mailCopy->setAttributes(CRequest::getArray($mail::getClassName())); $mailCopy->mail_type = "out"; $mailCopy->date_send = date("Y-m-d H:i:s"); $mailCopy->read_status = "1"; $mailCopy->save(); // если пользователь-получатель подписан на сообщения, то // отправляем их почтой if (!is_null($mail->getRecipient())) { if (!is_null($mail->getRecipient()->getUser())) { if (!is_null($mail->getRecipient()->getUser()->getSubscription())) { if ($mail->getRecipient()->e_mail !== "") { // CUtils::sendEmail($mail->getRecipient()->e_mail, $mail->getTheme(), $mail->getBody()); } } } } $this->redirect("?action=outbox"); return true; } $this->addJSInclude(JQUERY_UI_JS_PATH); $this->addCSSInclude(JQUERY_UI_CSS_PATH); $this->addCSSInclude("_modules/_redactor/redactor.css"); $this->addJSInclude("_modules/_redactor/redactor.min.js"); $this->setData("message", $mail); $this->renderView("_messages/edit.tpl"); }