public function CurrentUserHasPermission($permission = null) { if (is_null($permission)) { $permission = $this->getRole(); } if (is_array($permission)) { $checkPerm = join(",", $permission); } else { $checkPerm = $permission; } $ok = false; if (!array_key_exists($checkPerm, $this->_checkedPermission)) { $users = $this->getUsersDatabase(); $permArr = explode(",", $checkPerm); foreach ($permArr as $value) { $ok = $ok || $users->hasProperty($this->_context->authenticatedUserId(), UserProperty::Role, $value); } $this->_checkedPermission[$checkPerm] = $ok; } else { $ok = $this->_checkedPermission[$checkPerm]; } return $ok; }