public function actionRemove($book_id, $post_id) { $this->loadBook($book_id); $post_id = (int) $post_id; if (!$this->book->can("blog_r") || !$this->book->can("blog_w")) { throw new CHttpException(403, "Вы не можете удалять посты в блоге этого перевода. " . $this->book->getWhoCanDoIt("blog_w")); } if (!$_POST["really"]) { $this->redirect("/blog"); } $post = BlogPost::model()->findByPk($post_id); if (!$post) { throw new CHttpException(404, "Поста не существует. Возможно, его уже удалили."); } if ($post->user_id != Yii::app()->user->id and !Yii::app()->user->can("blog_moderate")) { throw new CHttpException(403, "Вы можете удалять только собственные посты."); } if ($post->isAnnounce) { throw new CHttpException(404, "Поста не существует. Возможно, его уже удалили."); } $post->book_id = $this->book->id; $post->book = $this->book; $post->delete(); $this->redirect($this->book->getUrl("blog")); }
public function actionRemove($book_id, $post_id) { $post_id = (int) $post_id; $this->loadBook($book_id); if (!Yii::app()->user->can("blog_moderate")) { throw new CHttpException(403, "Только модераторы блогов Нотабеноида могут удалять анонсы."); } if (!$_POST["really"]) { $this->redirect($this->book->getUrl("announces")); } $post = BlogPost::model()->findByPk($post_id, "t.topics BETWEEN 80 AND 89 AND t.book_id = :book_id", array(":book_id" => $this->book->id)); if (!$post) { throw new CHttpException(404, "Анонса не существует. Возможно, его уже удалили."); } $post->book = $this->book; $post->delete(); $this->redirect($this->book->getUrl("announces")); }
public function actionMembers_leave($book_id) { if (!Yii::app()->request->isPostRequest) { throw new CHttpException(400, "Вы не должны видеть эту страницу. Что бы к этому не привело, пожалуйста, не делайте этого больше."); } $this->book = Book::model()->with("owner")->membership(Yii::app()->user->id)->findByPk(intval($book_id)); if (!$this->book) { throw new CHttpException(404, "Такого перевода не существует. Возможно, он удалён."); } $p = array("book_id" => $this->book->id, "user_id" => Yii::app()->user->id); if ($this->book->membership->n_trs != 0) { Yii::app()->db->createCommand("UPDATE groups SET status = 0 WHERE book_id = :book_id AND user_id = :user_id")->execute($p); } else { Yii::app()->db->createCommand("DELETE FROM groups WHERE book_id = :book_id AND user_id = :user_id")->execute($p); } Yii::app()->user->setFlash("success", "Вы покинули перевод {$this->book->ahref}."); if ($_POST["ajax"] == 1) { echo "ok"; } else { $this->redirect($this->book->getUrl("members")); } }