54 lines
1.1 KiB
PHP
54 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace %NAMESPACE%;
|
|
|
|
use Psr\Http\Message\ServerRequestInterface;
|
|
use Notes\Security\Annotation\Taxus;
|
|
use Storage\Session;
|
|
use Taxus\PermissionGrantInterface;
|
|
Use Ulmus\User\Entity\User;
|
|
|
|
class PrivilegeGrantAccess implements PermissionGrantInterface {
|
|
|
|
public Session $session;
|
|
|
|
public ServerRequestInterface $request;
|
|
|
|
public function __construct(ServerRequestInterface $request, Session $session)
|
|
{
|
|
$this->request = $request;
|
|
$this->session = $session;
|
|
}
|
|
|
|
/*
|
|
* --- Reles
|
|
*/
|
|
public function is_dev() : bool
|
|
{
|
|
return getenv('DEBUG');
|
|
}
|
|
|
|
public function is_admin(User $user) : bool
|
|
{
|
|
return ! $this->is_anonymous($user) && FALSE; # <<<<<<<<<<<<<----- ADJUST YOUR ADMIN PRIVILEGE HERE ACCORDINGLY
|
|
}
|
|
|
|
public function is_user(User $user) : bool
|
|
{
|
|
return ! $this->is_anonymous($user);
|
|
}
|
|
|
|
public function is_anonymous(User $user) : bool
|
|
{
|
|
return ! $user || ! $user->logged;
|
|
}
|
|
|
|
/*
|
|
* --- Verifications
|
|
*/
|
|
public function default($name) : bool
|
|
{
|
|
return false;
|
|
}
|
|
}
|