openvk/Web/Models/Entities/Traits/TOwnable.php
Alexander Minkin 6ec54a379d
feat: add linting of code (#1220)
* feat(lint): add php-cs-fixer for linting

Removing previous CODE_STYLE as it was not enforced anyway and using PER-CS 2.0.

This is not the reformatting commit.

* style: format code according to PER-CS 2.0 with php-cs-fixer

* ci(actions): add lint action

Resolves #1132.
2025-01-31 18:20:13 +03:00

35 lines
745 B
PHP

<?php
declare(strict_types=1);
namespace openvk\Web\Models\Entities\Traits;
use openvk\Web\Models\Entities\User;
trait TOwnable
{
public function canBeViewedBy(?User $user = null): bool
{
# TODO: #950
if ($this->isDeleted()) {
return false;
}
return true;
}
public function canBeModifiedBy(User $user): bool
{
if (method_exists($this, "isCreatedBySystem")) {
if ($this->isCreatedBySystem()) {
return false;
}
}
if ($this->getRecord()->owner > 0) {
return $this->getRecord()->owner === $user->getId();
} else {
return $this->getOwner()->canBeModifiedBy($user);
}
}
}