19declare(strict_types=1);
24use ReflectionFunction;
26use InvalidArgumentException;
53 if (!isset($this->access_cache[
'repo_read'])) {
55 if ($is_user_logged_in) {
56 $this->access_cache[
'repo_read'] = $this->dic->access()->checkAccess(
62 $this->access_cache[
'repo_read'] = $this->dic->settings()->get(
'pub_section') && $this->dic->access(
77 if (!isset($this->access_cache[
'repo_visible'])) {
79 if ($is_user_logged_in) {
80 $this->access_cache[
'repo_visible'] = $this->dic->access()->checkAccess(
86 $this->access_cache[
'repo_visible'] = $this->dic->settings()->get(
'pub_section') && $this->dic->access(
101 if (!isset($this->access_cache[
'is_anonymous'])) {
102 $this->access_cache[
'is_anonymous'] = ($this->dic->user()->isAnonymous() || $this->dic->user()->getId(
111 if (!isset($this->access_cache[
'has_admin_access'])) {
112 $this->access_cache[
'has_admin_access'] = ($this->dic->rbac()->system()->checkAccess(
128 $r =
new ReflectionFunction(
$c);
129 }
catch (Throwable) {
133 if (!$r->hasReturnType() || !$r->getReturnType()->isBuiltin()) {
134 throw new InvalidArgumentException(
'the additional Closure MUST return a bool dy declaration');
142 return static fn():
bool => $additional() && $closure();
Customizing of pimple-DIC for ILIAS.
Class BasicAccessCheckClosures.
isRepositoryVisible(?Closure $additional=null)
hasAdministrationAccess(?Closure $additional=null)
isRepositoryReadable(?Closure $additional=null)
isUserLoggedIn(?Closure $additional=null)
__construct(?Container $dic=null)
BasicAccessCheckClosuresSingleton constructor.
checkClosureForBoolReturnValue(Closure $c)
getClosureWithOptinalClosure(Closure $closure, ?Closure $additional=null)