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);
}