From df3bc9f90daae9550d235c7959046c77ca643572 Mon Sep 17 00:00:00 2001
From: makar0nny <99399973+lalka2016@users.noreply.github.com>
Date: Tue, 25 Apr 2023 09:23:38 +0300
Subject: [PATCH] some updates
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Теперь нету редиректа в настройки группы при смене аватарки
---
Web/Presenters/GroupPresenter.php | 35 +++++++++++++++++++++++-
Web/Presenters/templates/Group/View.xml | 4 +--
Web/routes.yml | 2 ++
Web/static/css/avataredit.css | 31 ++++++++++++++++++---
Web/static/img/upload.png | Bin 211 -> 257 bytes
5 files changed, 65 insertions(+), 7 deletions(-)
diff --git a/Web/Presenters/GroupPresenter.php b/Web/Presenters/GroupPresenter.php
index a0b83a59..2933ecda 100644
--- a/Web/Presenters/GroupPresenter.php
+++ b/Web/Presenters/GroupPresenter.php
@@ -250,7 +250,40 @@ final class GroupPresenter extends OpenVKPresenter
$this->flash("succ", "Изменения сохранены", "Новые данные появятся в вашей группе.");
}
}
-
+ function renderEditAvatar(int $id)
+ {
+ $this->assertUserLoggedIn();
+ $this->willExecuteWriteAction();
+ $club = $this->clubs->get($id);
+ if(!$club ||!$club->canBeModifiedBy($this->user->identity))
+ {
+ $this->flashFail("err", "Неизвестная ошибка", "Не удалось сохранить фотографию.");
+ }
+ if($_FILES["ava"]["error"] === UPLOAD_ERR_OK) {
+ $photo = new Photo;
+ try {
+ $anon = OPENVK_ROOT_CONF["openvk"]["preferences"]["wall"]["anonymousPosting"]["enable"];
+ if($anon && $this->user->id === $club->getOwner()->getId())
+ $anon = $club->isOwnerHidden();
+ else if($anon)
+ $anon = $club->getManager($this->user->identity)->isHidden();
+
+ $photo->setOwner($this->user->id);
+ $photo->setDescription("Group image");
+ $photo->setFile($_FILES["ava"]);
+ $photo->setCreated(time());
+ $photo->setAnonymous($anon);
+ $photo->save();
+
+ (new Albums)->getClubAvatarAlbum($club)->addPhoto($photo);
+ } catch(ISE $ex) {
+ $name = $album->getName();
+ $this->flashFail("err", "Неизвестная ошибка", "Не удалось сохранить фотографию.");
+ }
+ }
+ $this->flash("succ", "Фотография сохранена", "Новые данные появятся в вашей группе.");
+ $this->redirect("/club$id");
+ }
function renderEditBackdrop(int $id): void
{
$this->assertUserLoggedIn();
diff --git a/Web/Presenters/templates/Group/View.xml b/Web/Presenters/templates/Group/View.xml
index bc10caba..219b751e 100644
--- a/Web/Presenters/templates/Group/View.xml
+++ b/Web/Presenters/templates/Group/View.xml
@@ -118,8 +118,8 @@