From baccbed5d631c214f5aa9f6bef6f769286d2783c Mon Sep 17 00:00:00 2001 From: lalka2016 <99399973+lalka2016@users.noreply.github.com> Date: Sat, 13 May 2023 12:35:11 +0300 Subject: [PATCH] Fixed changing avatar from settings --- Web/Presenters/UserPresenter.php | 13 ++++++++----- Web/Presenters/templates/Group/View.xml | 10 +++++----- Web/Presenters/templates/User/View.xml | 17 +++++------------ Web/Presenters/templates/_includeCSS.xml | 3 +++ Web/static/js/openvk.cls.js | 11 ++++++----- 5 files changed, 27 insertions(+), 27 deletions(-) diff --git a/Web/Presenters/UserPresenter.php b/Web/Presenters/UserPresenter.php index 42bb4f1d..9cfa3654 100644 --- a/Web/Presenters/UserPresenter.php +++ b/Web/Presenters/UserPresenter.php @@ -334,11 +334,14 @@ final class UserPresenter extends OpenVKPresenter $post->setFlags($flags); $post->save(); $post->attach($photo); - - $this->returnJson([ - "url" => $photo->getURL(), - "id" => $photo->getPrettyId() - ]); + if($this->postParam("ava", true) == (int)1) { + $this->returnJson([ + "url" => $photo->getURL(), + "id" => $photo->getPrettyId() + ]); + } else { + $this->flashFail("succ", tr("photo_saved"), tr("photo_saved_comment")); + } } function renderSettings(): void diff --git a/Web/Presenters/templates/Group/View.xml b/Web/Presenters/templates/Group/View.xml index 15c03145..6cfca77b 100644 --- a/Web/Presenters/templates/Group/View.xml +++ b/Web/Presenters/templates/Group/View.xml @@ -98,17 +98,17 @@ {var $avatarLink = ((is_null($avatarPhoto) ? FALSE : $avatarPhoto->isAnonymous()) ? "/photo" . ("s/" . base_convert((string) $avatarPhoto->getId(), 10, 32)) : $club->getAvatarLink())}
{var $hasAvatar = !str_contains($club->getAvatarUrl('miniscule'), "/assets/packages/static/openvk/img/camera_200.png")} - {if $hasAvatar == false && $club->canBeModifiedBy($thisUser)} - {_add_image_group} - {elseif $hasAvatar == true && $club->canBeModifiedBy($thisUser)} + {if !is_null($thisUser) && $hasAvatar == false && $club->canBeModifiedBy($thisUser)} + {_add_image_group} + {elseif !is_null($thisUser) && $hasAvatar == true && $club->canBeModifiedBy($thisUser)}
- +
diff --git a/Web/Presenters/templates/User/View.xml b/Web/Presenters/templates/User/View.xml index e0a24eca..e4d55e9e 100644 --- a/Web/Presenters/templates/User/View.xml +++ b/Web/Presenters/templates/User/View.xml @@ -71,17 +71,17 @@
{var $hasAvatar = !str_contains($user->getAvatarUrl('miniscule'), "/assets/packages/static/openvk/img/camera_200.png")} - {if $hasAvatar == false && $user->getId() == $thisUser->getId()} - {_add_image} - {elseif $hasAvatar == true && $user->getId() == $thisUser->getId()} + {if !is_null($thisUser) && $hasAvatar == false && $user->getId() == $thisUser->getId()} + {_add_image} + {elseif !is_null($thisUser) && $user && $hasAvatar == true && $user->getId() == $thisUser->getId()} @@ -92,13 +92,6 @@ id="thisUserAvatar" style="width: 100%; image-rendering: -webkit-optimize-contrast;" /> -
` let msg = MessageBox(tr('uploading_new_image'), body, [ @@ -465,7 +464,7 @@ function addAvatarImage(hash, groupStrings = false, groupId = 0) msg.attr("style", "width: 600px;"); } -function uploadAvatar(group = false, group_id = 0, hash) +function uploadAvatar(group = false, group_id = 0) { loader.style.display = "block"; uploadbtn.setAttribute("hidden", "hidden") @@ -473,6 +472,8 @@ function uploadAvatar(group = false, group_id = 0, hash) let formData = new FormData(); let bloborava = group == false ? "blob" : "ava" formData.append(bloborava, document.getElementById(bloborava).files[0]); + formData.append("ava", 1) + formData.append("hash", u("meta[name=csrf]").attr("value")) xhr.open("POST", group == true ? "/club"+group_id+"/al_avatar" : "/al_avatars") xhr.onload = () => { let json = JSON.parse(xhr.responseText); @@ -498,7 +499,7 @@ function uploadAvatar(group = false, group_id = 0, hash) xhr.send(formData) } -function deleteAvatar(avatar, hash) +function deleteAvatar(avatar) { let body = `

${tr("deleting_avatar_sure")}

@@ -516,7 +517,7 @@ function deleteAvatar(avatar, hash) location.reload() } xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); - xhr.send("hash="+hash) + xhr.send("hash="+u("meta[name=csrf]").attr("value")) }), (function() { u("#tmpPhDelF").remove();