1 <?php declare(strict_types=1);
36 if (!isset(self::$instance)) {
37 self::$instance =
new self();
40 return self::$instance;
46 if (!isset($repo_read)) {
48 if (!$is_user_logged_in) {
49 $repo_read = (bool) $this->dic->settings()->get(
'pub_section') && $this->dic->access()->checkAccess(
'read',
'',
ROOT_FOLDER_ID);
51 $repo_read = (bool) $this->dic->access()->checkAccess(
'read',
'',
ROOT_FOLDER_ID);
63 if (!isset($repo_visible)) {
65 if (!$is_user_logged_in) {
66 $repo_visible = (bool) $this->dic->settings()->get(
'pub_section') && $this->dic->access()->checkAccess(
'visible',
'',
ROOT_FOLDER_ID);
68 $repo_visible = (bool) $this->dic->access()->checkAccess(
'visible',
'',
ROOT_FOLDER_ID);
80 if (!isset($is_anonymous)) {
81 $is_anonymous = (bool) $this->dic->user()->isAnonymous() || ($this->dic->user()->getId() == 0);
85 return !$is_anonymous;
91 static $has_admin_access;
92 if (!isset($has_admin_access)) {
93 $has_admin_access = (bool) ($this->dic->rbac()->system()->checkAccess(
'visible',
SYSTEM_FOLDER_ID));
96 return $has_admin_access;
113 if(!$r->hasReturnType() || !$r->getReturnType()->isBuiltin()){
114 throw new \InvalidArgumentException(
'the additional Closure MUST return a bool dy declaration');
122 return static function () use ($closure,
$additional) :
bool {
checkClosureForBoolReturnValue(Closure $c)
Class BasicAccessCheckClosures.
isUserLoggedIn(?Closure $additional=null)
hasAdministrationAccess(?Closure $additional=null)
getClosureWithOptinalClosure(Closure $closure, ?Closure $additional=null)
isRepositoryVisible(?Closure $additional=null)
isRepositoryReadable(?Closure $additional=null)
__construct()
BasicAccessCheckClosures constructor.