public function MultipleRegistrationController::access in Multiple Registration 8.2
Same name and namespace in other branches
- 8 src/Controller/MultipleRegistrationController.php \Drupal\multiple_registration\Controller\MultipleRegistrationController::access()
- 3.x src/Controller/MultipleRegistrationController.php \Drupal\multiple_registration\Controller\MultipleRegistrationController::access()
Checks access for register page.
Parameters
\Drupal\Core\Session\AccountInterface $account: Run access checks for this account.
Return value
\Drupal\Core\Access\AccessResult Returns access result.
1 string reference to 'MultipleRegistrationController::access'
File
- src/
Controller/ MultipleRegistrationController.php, line 117
Class
- MultipleRegistrationController
- Class MultipleRegistrationController.
Namespace
Drupal\multiple_registration\ControllerCode
public function access(AccountInterface $account) {
$registerAccessCheck = new RegisterAccessCheck();
$clear_roles_list = [];
$page_access_config = $this
->config('multiple_registration.access_settings_page_form_config');
$page_access_roles_whitelist = $page_access_config
->get('multiple_registration_pages_white_list');
if (is_array($page_access_roles_whitelist)) {
foreach ($page_access_roles_whitelist as $role) {
if (!empty($role)) {
$clear_roles_list[] = $role;
}
}
}
// Allow user to access this page if user is authenticated.
if ($account
->isAuthenticated()) {
return AccessResult::allowed();
}
// Disabling non-whitelisted roles registration pages.
$rid = $this->routeMatch
->getParameter('rid');
if ($rid !== NULL && !\in_array($rid, $clear_roles_list, TRUE)) {
return AccessResult::forbidden();
}
// Check access by permissions system.
return AccessResult::allowedIf($account
->hasPermission('administer multiple_registration') || $registerAccessCheck
->access($account)
->isAllowed());
}