FluidTYPO3\Vhs\ViewHelpers\Security\AbstractSecurityViewHelper::evaluateArguments PHP Method

evaluateArguments() public method

Returns TRUE if all conditions from arguments are satisfied. The type of evaluation (AND or OR) can be set using argument "evaluationType"
public evaluateArguments ( ) : boolean
return boolean
    public function evaluateArguments()
    {
        $evaluationType = $this->arguments['evaluationType'];
        $evaluations = [];
        if (true === (bool) $this->arguments['anyFrontendUser']) {
            $evaluations['anyFrontendUser'] = intval($this->assertFrontendUserLoggedIn());
        }
        if (true === (bool) $this->arguments['anyFrontendUserGroup']) {
            $evaluations['anyFrontendUserGroup'] = intval($this->assertFrontendUserGroupLoggedIn());
        }
        if (true === isset($this->arguments['frontendUser'])) {
            $evaluations['frontendUser'] = intval($this->assertFrontendUserLoggedIn($this->arguments['frontendUser']));
        }
        if (true === isset($this->arguments['frontendUsers'])) {
            $evaluations['frontendUsers'] = intval($this->assertFrontendUsersLoggedIn($this->arguments['frontendUsers']));
        }
        if (true === isset($this->arguments['frontendUserGroup'])) {
            $evaluations['frontendUserGroup'] = intval($this->assertFrontendUserGroupLoggedIn($this->arguments['frontendUserGroup']));
        }
        if (true === isset($this->arguments['frontendUserGroups'])) {
            $evaluations['frontendUserGroups'] = intval($this->assertFrontendUserGroupLoggedIn($this->arguments['frontendUserGroups']));
        }
        if (true === (bool) $this->arguments['anyBackendUser']) {
            $evaluations['anyBackendUser'] = intval($this->assertBackendUserLoggedIn());
        }
        if (true === (bool) $this->arguments['anyBackendUserGroup']) {
            $evaluations['anyBackendUserGroup'] = intval($this->assertBackendUserGroupLoggedIn());
        }
        if (true === isset($this->arguments['backendUser'])) {
            $evaluations['backendUser'] = intval($this->assertBackendUserLoggedIn($this->arguments['backendUser']));
        }
        if (true === isset($this->arguments['backendUsers'])) {
            $evaluations['backendUsers'] = intval($this->assertBackendUserLoggedIn($this->arguments['backendUsers']));
        }
        if (true === isset($this->arguments['backendUserGroup'])) {
            $evaluations['backendUserGroup'] = intval($this->assertBackendUserGroupLoggedIn($this->arguments['backendUserGroup']));
        }
        if (true === isset($this->arguments['backendUserGroups'])) {
            $evaluations['backendUserGroups'] = intval($this->assertBackendUserGroupLoggedIn($this->arguments['backendUserGroups']));
        }
        if (true === (bool) $this->arguments['admin']) {
            $evaluations['admin'] = intval($this->assertAdminLoggedIn());
        }
        $sum = array_sum($evaluations);
        return (bool) ('AND' === $evaluationType ? count($evaluations) === $sum : $sum > 0);
    }