mirror of
https://github.com/openvk/openvk
synced 2025-07-07 16:29:50 +03:00
Fixed changing avatar from settings
This commit is contained in:
parent
4170b6fa20
commit
baccbed5d6
5 changed files with 27 additions and 27 deletions
|
@ -334,11 +334,14 @@ final class UserPresenter extends OpenVKPresenter
|
||||||
$post->setFlags($flags);
|
$post->setFlags($flags);
|
||||||
$post->save();
|
$post->save();
|
||||||
$post->attach($photo);
|
$post->attach($photo);
|
||||||
|
if($this->postParam("ava", true) == (int)1) {
|
||||||
$this->returnJson([
|
$this->returnJson([
|
||||||
"url" => $photo->getURL(),
|
"url" => $photo->getURL(),
|
||||||
"id" => $photo->getPrettyId()
|
"id" => $photo->getPrettyId()
|
||||||
]);
|
]);
|
||||||
|
} else {
|
||||||
|
$this->flashFail("succ", tr("photo_saved"), tr("photo_saved_comment"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function renderSettings(): void
|
function renderSettings(): void
|
||||||
|
|
|
@ -98,17 +98,17 @@
|
||||||
{var $avatarLink = ((is_null($avatarPhoto) ? FALSE : $avatarPhoto->isAnonymous()) ? "/photo" . ("s/" . base_convert((string) $avatarPhoto->getId(), 10, 32)) : $club->getAvatarLink())}
|
{var $avatarLink = ((is_null($avatarPhoto) ? FALSE : $avatarPhoto->isAnonymous()) ? "/photo" . ("s/" . base_convert((string) $avatarPhoto->getId(), 10, 32)) : $club->getAvatarLink())}
|
||||||
<div class="avatar_block" style="position:relative;">
|
<div class="avatar_block" style="position:relative;">
|
||||||
{var $hasAvatar = !str_contains($club->getAvatarUrl('miniscule'), "/assets/packages/static/openvk/img/camera_200.png")}
|
{var $hasAvatar = !str_contains($club->getAvatarUrl('miniscule'), "/assets/packages/static/openvk/img/camera_200.png")}
|
||||||
{if $hasAvatar == false && $club->canBeModifiedBy($thisUser)}
|
{if !is_null($thisUser) && $hasAvatar == false && $club->canBeModifiedBy($thisUser)}
|
||||||
<a href="javascript:addAvatarImage('{rawurlencode($csrfToken)}', true, {$club->getId()})" class="text_add_image">{_add_image_group}</a>
|
<a href="javascript:addAvatarImage(true, {$club->getId()})" class="text_add_image">{_add_image_group}</a>
|
||||||
{elseif $hasAvatar == true && $club->canBeModifiedBy($thisUser)}
|
{elseif !is_null($thisUser) && $hasAvatar == true && $club->canBeModifiedBy($thisUser)}
|
||||||
<div class="avatar_controls">
|
<div class="avatar_controls">
|
||||||
<div class="avatarDelete">
|
<div class="avatarDelete">
|
||||||
<a id="upl" href="javascript:deleteAvatar('{$club->getAvatarPhoto()->getPrettyId()}', '{rawurlencode($csrfToken)}')"><img src="/assets/packages/static/openvk/img/delete.png"/></a>
|
<a id="upl" href="javascript:deleteAvatar('{$club->getAvatarPhoto()->getPrettyId()}')"><img src="/assets/packages/static/openvk/img/delete.png"/></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="avatar_variants">
|
<div class="avatar_variants">
|
||||||
<div class="variant">
|
<div class="variant">
|
||||||
<img src="/assets/packages/static/openvk/img/upload.png" style="margin-left:15px;height: 10px;">
|
<img src="/assets/packages/static/openvk/img/upload.png" style="margin-left:15px;height: 10px;">
|
||||||
<a href="javascript:addAvatarImage('{rawurlencode($csrfToken)}', true, {$club->getId()})"><p>{_upload_new_picture}</p></a>
|
<a href="javascript:addAvatarImage(true, {$club->getId()})"><p>{_upload_new_picture}</p></a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -71,17 +71,17 @@
|
||||||
<div class="left_small_block">
|
<div class="left_small_block">
|
||||||
<div style="margin-left: auto;margin-right: auto;display: table;position:relative;" class="avatar_block" id="av">
|
<div style="margin-left: auto;margin-right: auto;display: table;position:relative;" class="avatar_block" id="av">
|
||||||
{var $hasAvatar = !str_contains($user->getAvatarUrl('miniscule'), "/assets/packages/static/openvk/img/camera_200.png")}
|
{var $hasAvatar = !str_contains($user->getAvatarUrl('miniscule'), "/assets/packages/static/openvk/img/camera_200.png")}
|
||||||
{if $hasAvatar == false && $user->getId() == $thisUser->getId()}
|
{if !is_null($thisUser) && $hasAvatar == false && $user->getId() == $thisUser->getId()}
|
||||||
<a href="javascript:addAvatarImage('{rawurlencode($csrfToken)}', false)" class="text_add_image">{_add_image}</a>
|
<a href="javascript:addAvatarImage(false)" class="text_add_image">{_add_image}</a>
|
||||||
{elseif $hasAvatar == true && $user->getId() == $thisUser->getId()}
|
{elseif !is_null($thisUser) && $user && $hasAvatar == true && $user->getId() == $thisUser->getId()}
|
||||||
<div class="avatar_controls">
|
<div class="avatar_controls">
|
||||||
<div class="avatarDelete">
|
<div class="avatarDelete">
|
||||||
<a id="upl" href="javascript:deleteAvatar('{$user->getAvatarPhoto()->getPrettyId()}', '{rawurlencode($csrfToken)}')"><img src="/assets/packages/static/openvk/img/delete.png"/></a>
|
<a id="upl" href="javascript:deleteAvatar('{$user->getAvatarPhoto()->getPrettyId()}')"><img src="/assets/packages/static/openvk/img/delete.png"/></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="avatar_variants">
|
<div class="avatar_variants">
|
||||||
<div class="variant">
|
<div class="variant">
|
||||||
<img src="/assets/packages/static/openvk/img/upload.png" style="margin-left:15px;height: 10px;">
|
<img src="/assets/packages/static/openvk/img/upload.png" style="margin-left:15px;height: 10px;">
|
||||||
<a href="javascript:addAvatarImage('{rawurlencode($csrfToken)}', false)"><p>{_upload_new_picture}</p></a>
|
<a href="javascript:addAvatarImage(false)"><p>{_upload_new_picture}</p></a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -92,13 +92,6 @@
|
||||||
id="thisUserAvatar"
|
id="thisUserAvatar"
|
||||||
style="width: 100%; image-rendering: -webkit-optimize-contrast;" />
|
style="width: 100%; image-rendering: -webkit-optimize-contrast;" />
|
||||||
</a>
|
</a>
|
||||||
<script>
|
|
||||||
window.addEventListener("load", event => {
|
|
||||||
{if $hasAvatar == false}
|
|
||||||
|
|
||||||
{/if}
|
|
||||||
})
|
|
||||||
</script>
|
|
||||||
</div>
|
</div>
|
||||||
<div n:ifset="$thisUser" id="profile_links">
|
<div n:ifset="$thisUser" id="profile_links">
|
||||||
{if $user->getId() == $thisUser->getId()}
|
{if $user->getId() == $thisUser->getId()}
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
{css "css/bsdn.css"}
|
{css "css/bsdn.css"}
|
||||||
{css "css/dialog.css"}
|
{css "css/dialog.css"}
|
||||||
{css "css/notifications.css"}
|
{css "css/notifications.css"}
|
||||||
|
{css "css/avataredit.css"}
|
||||||
|
|
||||||
{if $isXmas}
|
{if $isXmas}
|
||||||
{css "css/xmas.css"}
|
{css "css/xmas.css"}
|
||||||
|
@ -25,6 +26,7 @@
|
||||||
{css "css/bsdn.css"}
|
{css "css/bsdn.css"}
|
||||||
{css "css/dialog.css"}
|
{css "css/dialog.css"}
|
||||||
{css "css/notifications.css"}
|
{css "css/notifications.css"}
|
||||||
|
{css "css/avataredit.css"}
|
||||||
|
|
||||||
{if $isXmas}
|
{if $isXmas}
|
||||||
{css "css/xmas.css"}
|
{css "css/xmas.css"}
|
||||||
|
@ -48,6 +50,7 @@
|
||||||
{css "css/dialog.css"}
|
{css "css/dialog.css"}
|
||||||
{css "css/nsfw-posts.css"}
|
{css "css/nsfw-posts.css"}
|
||||||
{css "css/notifications.css"}
|
{css "css/notifications.css"}
|
||||||
|
{css "css/avataredit.css"}
|
||||||
|
|
||||||
{if $isXmas}
|
{if $isXmas}
|
||||||
{css "css/xmas.css"}
|
{css "css/xmas.css"}
|
||||||
|
|
|
@ -440,7 +440,7 @@ function escapeHtml(text) {
|
||||||
return text.replace(/[&<>"']/g, function(m) { return map[m]; });
|
return text.replace(/[&<>"']/g, function(m) { return map[m]; });
|
||||||
}
|
}
|
||||||
|
|
||||||
function addAvatarImage(hash, groupStrings = false, groupId = 0)
|
function addAvatarImage(groupStrings = false, groupId = 0)
|
||||||
{
|
{
|
||||||
let inputname = groupStrings == true ? 'ava' : 'blob';
|
let inputname = groupStrings == true ? 'ava' : 'blob';
|
||||||
let body = `
|
let body = `
|
||||||
|
@ -452,7 +452,6 @@ function addAvatarImage(hash, groupStrings = false, groupId = 0)
|
||||||
<input accept="image/*" type="file" name="${inputname}" hidden id="${inputname}" style="display: none;" onchange="uploadAvatar(${groupStrings}, ${groupStrings == true ? groupId : null})">
|
<input accept="image/*" type="file" name="${inputname}" hidden id="${inputname}" style="display: none;" onchange="uploadAvatar(${groupStrings}, ${groupStrings == true ? groupId : null})">
|
||||||
</label><br><br>
|
</label><br><br>
|
||||||
<p>${tr('troubles_avatar')}</p>
|
<p>${tr('troubles_avatar')}</p>
|
||||||
<input type="hidden" value="${hash}">
|
|
||||||
</div>
|
</div>
|
||||||
`
|
`
|
||||||
let msg = MessageBox(tr('uploading_new_image'), body, [
|
let msg = MessageBox(tr('uploading_new_image'), body, [
|
||||||
|
@ -465,7 +464,7 @@ function addAvatarImage(hash, groupStrings = false, groupId = 0)
|
||||||
msg.attr("style", "width: 600px;");
|
msg.attr("style", "width: 600px;");
|
||||||
}
|
}
|
||||||
|
|
||||||
function uploadAvatar(group = false, group_id = 0, hash)
|
function uploadAvatar(group = false, group_id = 0)
|
||||||
{
|
{
|
||||||
loader.style.display = "block";
|
loader.style.display = "block";
|
||||||
uploadbtn.setAttribute("hidden", "hidden")
|
uploadbtn.setAttribute("hidden", "hidden")
|
||||||
|
@ -473,6 +472,8 @@ function uploadAvatar(group = false, group_id = 0, hash)
|
||||||
let formData = new FormData();
|
let formData = new FormData();
|
||||||
let bloborava = group == false ? "blob" : "ava"
|
let bloborava = group == false ? "blob" : "ava"
|
||||||
formData.append(bloborava, document.getElementById(bloborava).files[0]);
|
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.open("POST", group == true ? "/club"+group_id+"/al_avatar" : "/al_avatars")
|
||||||
xhr.onload = () => {
|
xhr.onload = () => {
|
||||||
let json = JSON.parse(xhr.responseText);
|
let json = JSON.parse(xhr.responseText);
|
||||||
|
@ -498,7 +499,7 @@ function uploadAvatar(group = false, group_id = 0, hash)
|
||||||
xhr.send(formData)
|
xhr.send(formData)
|
||||||
}
|
}
|
||||||
|
|
||||||
function deleteAvatar(avatar, hash)
|
function deleteAvatar(avatar)
|
||||||
{
|
{
|
||||||
let body = `
|
let body = `
|
||||||
<p>${tr("deleting_avatar_sure")}</p>
|
<p>${tr("deleting_avatar_sure")}</p>
|
||||||
|
@ -516,7 +517,7 @@ function deleteAvatar(avatar, hash)
|
||||||
location.reload()
|
location.reload()
|
||||||
}
|
}
|
||||||
xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
|
xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
|
||||||
xhr.send("hash="+hash)
|
xhr.send("hash="+u("meta[name=csrf]").attr("value"))
|
||||||
}),
|
}),
|
||||||
(function() {
|
(function() {
|
||||||
u("#tmpPhDelF").remove();
|
u("#tmpPhDelF").remove();
|
||||||
|
|
Loading…
Reference in a new issue