You are here

public function LoginShadowboxLoginBlock::build in Shadowbox 8

File

login_shadowbox/lib/Drupal/login_shadowbox/Plugin/Block/LoginShadowboxLoginBlock.php, line 117
Contains \Drupal\login_shadowbox\Plugin\Block\LoginShadowboxLoginBlock.

Class

LoginShadowboxLoginBlock
Provides a 'Shadowbox Login' block.

Namespace

Drupal\login_shadowbox\Plugin\Block

Code

public function build() {
  $block = array();
  $user_config = $this->configFactory
    ->get('user.settings');
  if (!$this->currentUser
    ->id()) {
    $items[] = l(t('Login'), 'user/login', array(
      'attributes' => array(
        'title' => t('Login'),
      ),
    ));
    if ($user_config
      ->get('register') != USER_REGISTER_ADMINISTRATORS_ONLY) {
      $items[] = l(t('Create new account'), 'user/register', array(
        'attributes' => array(
          'title' => t('Create a new user account.'),
        ),
      ));
    }
    $items[] = l(t('Request new password'), 'user/password', array(
      'attributes' => array(
        'title' => t('Request new password via e-mail.'),
      ),
    ));
    $block['login_shadowbox'] = array(
      '#theme' => 'item_list',
      '#items' => $items,
    );
  }
  elseif ($this->configuration['login_shadowbox_login_block_visibility']) {
    $items[] = l(t('My Account'), 'user', array(
      'attributes' => array(
        'title' => t('My Account'),
      ),
    ));
    $items[] = l(t('Log out'), 'user/logout', array(
      'attributes' => array(
        'title' => t('Log out'),
      ),
    ));
    $block['login_shadowbox'] = array(
      '#theme' => 'item_list',
      '#items' => $items,
    );
  }
  return $block;
}