mirror of
https://github.com/openvk/openvk
synced 2024-12-25 18:11:07 +03:00
upd
This commit is contained in:
parent
ae0258c78b
commit
82a5aaf8b8
6 changed files with 22 additions and 38 deletions
|
@ -22,6 +22,11 @@ class Blacklists
|
||||||
yield new BlacklistItem($blacklistItem);
|
yield new BlacklistItem($blacklistItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getByAuthorAndTarget(int $author, int $target): ?BlacklistItem
|
||||||
|
{
|
||||||
|
return new BlacklistItem($this->blacklists->where(["author" => $author, "target" => $target])->fetch());
|
||||||
|
}
|
||||||
|
|
||||||
function getCount(User $user): int
|
function getCount(User $user): int
|
||||||
{
|
{
|
||||||
return sizeof($this->blacklists->where("author", $user->getId())->fetch());
|
return sizeof($this->blacklists->where("author", $user->getId())->fetch());
|
||||||
|
@ -32,6 +37,6 @@ class Blacklists
|
||||||
if (!$author || !$target)
|
if (!$author || !$target)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
return sizeof(DB::i()->getContext()->table("blacklists")->where(["author" => $author->getId(), "target" => $target->getId()])->fetch()) > 0;
|
return !is_null($this->getByAuthorAndTarget($author->getId(), $target->getId()));
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -34,9 +34,10 @@ final class BlacklistPresenter extends OpenVKPresenter
|
||||||
$this->willExecuteWriteAction();
|
$this->willExecuteWriteAction();
|
||||||
$this->assertUserLoggedIn();
|
$this->assertUserLoggedIn();
|
||||||
|
|
||||||
$record = new BlacklistItem(DB::i()->getContext()->table("blacklists")->where([ "author" => $this->user->identity->getId(), "target" => $this->postParam("id") ])->fetch());
|
$record = $this->blacklists->getByAuthorAndTarget($this->user->identity->getId(), $this->postParam("id"));
|
||||||
|
//$record = new BlacklistItem(DB::i()->getContext()->table("blacklists")->where([ "author" => $this->user->identity->getId(), "target" => ])->fetch());
|
||||||
$name = $record->getTarget()->getCanonicalName();
|
$name = $record->getTarget()->getCanonicalName();
|
||||||
$record->delete(FALSE);
|
$record->delete(false);
|
||||||
|
|
||||||
$this->flashFail("succ", "Успех", "$name удалён из чёрного списка.");
|
$this->flashFail("succ", "Успех", "$name удалён из чёрного списка.");
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,12 +18,8 @@ final class NotesPresenter extends OpenVKPresenter
|
||||||
{
|
{
|
||||||
$user = (new Users)->get($owner);
|
$user = (new Users)->get($owner);
|
||||||
if(!$user) $this->notFound();
|
if(!$user) $this->notFound();
|
||||||
if(!$user->getPrivacyPermission('notes.read', $this->user->identity ?? NULL)) {
|
if(!$user->getPrivacyPermission('notes.read', $this->user->identity ?? NULL))
|
||||||
if ((new Blacklists)->isBanned($user, $this->user->identity))
|
|
||||||
$this->flashFail("err", tr("forbidden"), "Пользователь внёс Вас в чёрный список.");
|
|
||||||
|
|
||||||
$this->flashFail("err", tr("forbidden"), tr("forbidden_comment"));
|
$this->flashFail("err", tr("forbidden"), tr("forbidden_comment"));
|
||||||
}
|
|
||||||
|
|
||||||
$this->template->notes = $this->notes->getUserNotes($user, (int)($this->queryParam("p") ?? 1));
|
$this->template->notes = $this->notes->getUserNotes($user, (int)($this->queryParam("p") ?? 1));
|
||||||
$this->template->count = $this->notes->getUserNotesCount($user);
|
$this->template->count = $this->notes->getUserNotesCount($user);
|
||||||
|
|
|
@ -24,12 +24,9 @@ final class PhotosPresenter extends OpenVKPresenter
|
||||||
if($owner > 0) {
|
if($owner > 0) {
|
||||||
$user = $this->users->get($owner);
|
$user = $this->users->get($owner);
|
||||||
if(!$user) $this->notFound();
|
if(!$user) $this->notFound();
|
||||||
if (!$user->getPrivacyPermission('photos.read', $this->user->identity ?? NULL)) {
|
if (!$user->getPrivacyPermission('photos.read', $this->user->identity ?? NULL))
|
||||||
if ((new Blacklists)->isBanned($user, $this->user->identity))
|
|
||||||
$this->flashFail("err", tr("forbidden"), "Пользователь внёс Вас в чёрный список.");
|
|
||||||
|
|
||||||
$this->flashFail("err", tr("forbidden"), tr("forbidden_comment"));
|
$this->flashFail("err", tr("forbidden"), tr("forbidden_comment"));
|
||||||
}
|
|
||||||
$this->template->albums = $this->albums->getUserAlbums($user, $this->queryParam("p") ?? 1);
|
$this->template->albums = $this->albums->getUserAlbums($user, $this->queryParam("p") ?? 1);
|
||||||
$this->template->count = $this->albums->getUserAlbumsCount($user);
|
$this->template->count = $this->albums->getUserAlbumsCount($user);
|
||||||
$this->template->owner = $user;
|
$this->template->owner = $user;
|
||||||
|
@ -147,13 +144,9 @@ final class PhotosPresenter extends OpenVKPresenter
|
||||||
|
|
||||||
if($owner > 0 /* bc we currently don't have perms for clubs */) {
|
if($owner > 0 /* bc we currently don't have perms for clubs */) {
|
||||||
$ownerObject = (new Users)->get($owner);
|
$ownerObject = (new Users)->get($owner);
|
||||||
if(!$ownerObject->getPrivacyPermission('photos.read', $this->user->identity ?? NULL)) {
|
if(!$ownerObject->getPrivacyPermission('photos.read', $this->user->identity ?? NULL))
|
||||||
if ((new Blacklists)->isBanned($ownerObject, $this->user->identity))
|
|
||||||
$this->flashFail("err", tr("forbidden"), "Пользователь внёс Вас в чёрный список.");
|
|
||||||
|
|
||||||
$this->flashFail("err", tr("forbidden"), tr("forbidden_comment"));
|
$this->flashFail("err", tr("forbidden"), tr("forbidden_comment"));
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
$this->template->album = $album;
|
$this->template->album = $album;
|
||||||
$this->template->photos = iterator_to_array( $album->getPhotos( (int) ($this->queryParam("p") ?? 1), 20) );
|
$this->template->photos = iterator_to_array( $album->getPhotos( (int) ($this->queryParam("p") ?? 1), 20) );
|
||||||
|
|
|
@ -34,8 +34,9 @@ final class UserPresenter extends OpenVKPresenter
|
||||||
if ($this->user->identity)
|
if ($this->user->identity)
|
||||||
if ($this->blacklists->isBanned($user, $this->user->identity)) {
|
if ($this->blacklists->isBanned($user, $this->user->identity)) {
|
||||||
if ($this->user->identity->isAdmin()) {
|
if ($this->user->identity->isAdmin()) {
|
||||||
if (OPENVK_ROOT_CONF["openvk"]["preferences"]["security"]["blacklists"]["applyToAdmins"])
|
if (OPENVK_ROOT_CONF["openvk"]["preferences"]["security"]["blacklists"]["applyToAdmins"]) {
|
||||||
$this->flashFail("err", tr("forbidden"), "Пользователь внёс Вас в чёрный список.");
|
$this->flashFail("err", tr("forbidden"), "Пользователь внёс Вас в чёрный список.");
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$this->flashFail("err", tr("forbidden"), "Пользователь внёс Вас в чёрный список.");
|
$this->flashFail("err", tr("forbidden"), "Пользователь внёс Вас в чёрный список.");
|
||||||
}
|
}
|
||||||
|
@ -56,11 +57,11 @@ final class UserPresenter extends OpenVKPresenter
|
||||||
$this->template->videosCount = (new Videos)->getUserVideosCount($user);
|
$this->template->videosCount = (new Videos)->getUserVideosCount($user);
|
||||||
$this->template->notes = (new Notes)->getUserNotes($user, 1, 4);
|
$this->template->notes = (new Notes)->getUserNotes($user, 1, 4);
|
||||||
$this->template->notesCount = (new Notes)->getUserNotesCount($user);
|
$this->template->notesCount = (new Notes)->getUserNotesCount($user);
|
||||||
$this->template->blacklists = $this->blacklists;
|
$this->template->blacklists = (new Blacklists);
|
||||||
|
|
||||||
$this->template->user = $user;
|
$this->template->user = $user;
|
||||||
$this->template->isBlacklistedThem = $this->blacklists->isBanned($this->user->identity, $user);
|
$this->template->isBlacklistedThem = $this->template->blacklists->isBanned($this->user->identity, $user);
|
||||||
$this->template->isBlacklistedByThem = $this->blacklists->isBanned($user, $this->user->identity);
|
$this->template->isBlacklistedByThem = $this->template->blacklists->isBanned($user, $this->user->identity);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -72,12 +73,8 @@ final class UserPresenter extends OpenVKPresenter
|
||||||
$page = abs($this->queryParam("p") ?? 1);
|
$page = abs($this->queryParam("p") ?? 1);
|
||||||
if(!$user)
|
if(!$user)
|
||||||
$this->notFound();
|
$this->notFound();
|
||||||
elseif (!$user->getPrivacyPermission('friends.read', $this->user->identity ?? NULL)) {
|
elseif (!$user->getPrivacyPermission('friends.read', $this->user->identity ?? NULL))
|
||||||
if ($this->blacklists->isBanned($user, $this->user->identity))
|
|
||||||
$this->flashFail("err", tr("forbidden"), "Пользователь внёс Вас в чёрный список.");
|
|
||||||
|
|
||||||
$this->flashFail("err", tr("forbidden"), tr("forbidden_comment"));
|
$this->flashFail("err", tr("forbidden"), tr("forbidden_comment"));
|
||||||
}
|
|
||||||
else
|
else
|
||||||
$this->template->user = $user;
|
$this->template->user = $user;
|
||||||
|
|
||||||
|
@ -104,12 +101,8 @@ final class UserPresenter extends OpenVKPresenter
|
||||||
$user = $this->users->get($id);
|
$user = $this->users->get($id);
|
||||||
if(!$user)
|
if(!$user)
|
||||||
$this->notFound();
|
$this->notFound();
|
||||||
elseif (!$user->getPrivacyPermission('groups.read', $this->user->identity ?? NULL)) {
|
elseif (!$user->getPrivacyPermission('groups.read', $this->user->identity ?? NULL))
|
||||||
if ($this->blacklists->isBanned($user, $this->user->identity))
|
|
||||||
$this->flashFail("err", tr("forbidden"), "Пользователь внёс Вас в чёрный список.");
|
|
||||||
|
|
||||||
$this->flashFail("err", tr("forbidden"), tr("forbidden_comment"));
|
$this->flashFail("err", tr("forbidden"), tr("forbidden_comment"));
|
||||||
}
|
|
||||||
else {
|
else {
|
||||||
if($this->queryParam("act") === "managed" && $this->user->id !== $user->getId())
|
if($this->queryParam("act") === "managed" && $this->user->id !== $user->getId())
|
||||||
$this->flashFail("err", tr("forbidden"), tr("forbidden_comment"));
|
$this->flashFail("err", tr("forbidden"), tr("forbidden_comment"));
|
||||||
|
|
|
@ -21,12 +21,8 @@ final class VideosPresenter extends OpenVKPresenter
|
||||||
{
|
{
|
||||||
$user = $this->users->get($id);
|
$user = $this->users->get($id);
|
||||||
if(!$user) $this->notFound();
|
if(!$user) $this->notFound();
|
||||||
if(!$user->getPrivacyPermission('videos.read', $this->user->identity ?? NULL)) {
|
if(!$user->getPrivacyPermission('videos.read', $this->user->identity ?? NULL))
|
||||||
if ((new Blacklists)->isBanned($user, $this->user->identity))
|
|
||||||
$this->flashFail("err", tr("forbidden"), "Пользователь внёс Вас в чёрный список.");
|
|
||||||
|
|
||||||
$this->flashFail("err", tr("forbidden"), tr("forbidden_comment"));
|
$this->flashFail("err", tr("forbidden"), tr("forbidden_comment"));
|
||||||
}
|
|
||||||
|
|
||||||
$this->template->user = $user;
|
$this->template->user = $user;
|
||||||
$this->template->videos = $this->videos->getByUser($user, (int) ($this->queryParam("p") ?? 1));
|
$this->template->videos = $this->videos->getByUser($user, (int) ($this->queryParam("p") ?? 1));
|
||||||
|
|
Loading…
Reference in a new issue