예제 #1
0
 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"));
 }
예제 #2
0
 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"));
 }
예제 #3
0
 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"));
     }
 }