mirror of
https://github.com/openvk/openvk
synced 2025-04-21 15:43:03 +03:00
35 lines
745 B
PHP
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);
|
|
}
|
|
}
|
|
}
|