class userloginbar in UserLoginBar 8
Provides a simple block.
Plugin annotation
@Plugin(
id = "userloginbar_block",
admin_label = @Translation("User Login Bar Block"),
module = "userloginbar"
)
Hierarchy
- class \Drupal\userloginbar\Plugin\Block\userloginbar extends \Drupal\block\BlockBase implements ContainerFactoryPluginInterface
Expanded class hierarchy of userloginbar
1 string reference to 'userloginbar'
- theme_userloginbar in ./
userloginbar.module - Theming function for messages.
File
- lib/
Drupal/ userloginbar/ Plugin/ Block/ userloginbar.php, line 28 - Contains \Drupal\userloginbar\Plugin\Block\userloginbar.
Namespace
Drupal\userloginbar\Plugin\BlockView source
class userloginbar extends BlockBase implements ContainerFactoryPluginInterface {
/**
* The DI Container.
*
* @var \Symfony\Component\DependencyInjection\ContainerInterface
*/
protected $container;
/**
* The request object.
*
* @var \Symfony\Component\HttpFoundation\Request
*/
protected $request;
/**
* Constructs a new UserLoginBlock.
*
* @param array $configuration
* A configuration array containing information about the plugin instance.
* @param string $plugin_id
* The plugin ID for the plugin instance.
* @param array $plugin_definition
* The plugin implementation definition.
* @param \Symfony\Component\DependencyInjection\ContainerInterface $container
* The DI Container.
* @param \Symfony\Component\HttpFoundation\Request $request
* The request object.
*/
public function __construct(array $configuration, $plugin_id, array $plugin_definition, ContainerInterface $container, Request $request) {
parent::__construct($configuration, $plugin_id, $plugin_definition);
$this->container = $container;
$this->request = $request;
}
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container, array $configuration, $plugin_id, array $plugin_definition) {
return new static($configuration, $plugin_id, $plugin_definition, $container, $container
->get('request'));
}
public function access() {
if (!$GLOBALS['user']
->id() && !(arg(0) == 'user' && !is_numeric(arg(1)))) {
return !$GLOBALS['user']
->id() && !(arg(0) == 'user' && !is_numeric(arg(1)));
}
else {
return $GLOBALS['user']
->id();
}
}
/**
* Implements \Drupal\block\BlockBase::blockBuild().
*/
public function build() {
$config = \Drupal::config('user.settings');
global $user;
if (!$user
->id()) {
$form = drupal_get_form(UserLoginForm::create($this->container), $this->request);
unset($form['name']['#attributes']['autofocus']);
unset($form['name']['#description']);
unset($form['pass']['#description']);
$form['name']['#size'] = 15;
$form['pass']['#size'] = 15;
$form['#action'] = url(current_path(), array(
'query' => drupal_get_destination(),
'external' => FALSE,
));
// Build action links.
$items = array();
if ($config
->get('register')) {
$items[] = l(t('Register'), 'user/register', array(
'attributes' => array(
'title' => t('Create a new user account.'),
),
)) . ' | ';
}
$items[] = l(t('Forgot Password?'), 'user/password', array(
'attributes' => array(
'title' => t('Request new password via e-mail.'),
),
));
$form['actions']['links'] = array(
'#markup' => theme('item_list', array(
'items' => $items,
)),
'#weight' => 100,
);
$block['user_login_form'] = $form;
$block['content'] = array(
'#theme' => 'userloginbar',
'#items' => $items,
);
}
else {
$block['content'] = array(
'#theme' => 'userloginbar',
);
}
return $block;
}
}
Members
Name![]() |
Modifiers | Type | Description | Overrides |
---|---|---|---|---|
userloginbar:: |
protected | property | The DI Container. | |
userloginbar:: |
protected | property | The request object. | |
userloginbar:: |
public | function | ||
userloginbar:: |
public | function | Implements \Drupal\block\BlockBase::blockBuild(). | |
userloginbar:: |
public static | function |
Creates an instance of the plugin. Overrides ContainerFactoryPluginInterface:: |
|
userloginbar:: |
public | function | Constructs a new UserLoginBlock. |