diff --git a/Web/Presenters/CommentPresenter.php b/Web/Presenters/CommentPresenter.php index c114ba5d..1511aef4 100644 --- a/Web/Presenters/CommentPresenter.php +++ b/Web/Presenters/CommentPresenter.php @@ -41,9 +41,14 @@ final class CommentPresenter extends OpenVKPresenter if($entity instanceof Topic && $entity->isClosed()) $this->notFound(); + + if($entity instanceof Post && $entity->getTargetWall() > 0) + $club = (new Clubs)->get(abs($entity->getTargetWall())); + else if($entity instanceof Topic) + $club = $entity->getClub(); $flags = 0; - if($this->postParam("as_group") === "on") + if($this->postParam("as_group") === "on" && !is_null($club) && $club->canBeModifiedBy($this->user->identity)) $flags |= 0b10000000; $photo = NULL; diff --git a/Web/Presenters/TopicsPresenter.php b/Web/Presenters/TopicsPresenter.php index 5fb8eaff..f29c7979 100644 --- a/Web/Presenters/TopicsPresenter.php +++ b/Web/Presenters/TopicsPresenter.php @@ -80,7 +80,7 @@ final class TopicsPresenter extends OpenVKPresenter $this->flashFail("err", tr("failed_to_create_topic"), tr("no_title_specified")); $flags = 0; - if($this->postParam("as_group") === "on") + if($this->postParam("as_group") === "on" && $club->canBeModifiedBy($this->user->identity)) $flags |= 0b10000000; $topic = new Topic; diff --git a/Web/Presenters/WallPresenter.php b/Web/Presenters/WallPresenter.php index 0e2f95f2..acb8f633 100644 --- a/Web/Presenters/WallPresenter.php +++ b/Web/Presenters/WallPresenter.php @@ -197,7 +197,7 @@ final class WallPresenter extends OpenVKPresenter } $flags = 0; - if($this->postParam("as_group") === "on") + if($this->postParam("as_group") === "on" && $wallOwner instanceof Club && $wallOwner->canBeModifiedBy($this->user->identity)) $flags |= 0b10000000; if($this->postParam("force_sign") === "on") $flags |= 0b01000000;