<?php
namespace Drupal\user\Plugin\Block;
use Drupal\block\BlockBase;
use Drupal\Component\Annotation\Plugin;
use Drupal\Core\Annotation\Translation;
class UserNewBlock extends BlockBase {
public function settings() {
return array(
'properties' => array(
'administrative' => TRUE,
),
'whois_new_count' => 5,
);
}
public function access() {
return user_access('access content');
}
public function blockForm($form, &$form_state) {
$form['user_block_whois_new_count'] = array(
'#type' => 'select',
'#title' => t('Number of users to display'),
'#default_value' => $this->configuration['whois_new_count'],
'#options' => drupal_map_assoc(array(
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
)),
);
return $form;
}
public function blockSubmit($form, &$form_state) {
$this->configuration['whois_new_count'] = $form_state['values']['user_block_whois_new_count'];
}
public function build() {
$items = db_query_range('SELECT uid, name FROM {users} WHERE status <> 0 AND access <> 0 ORDER BY created DESC', 0, $this->configuration['whois_new_count'])
->fetchAll();
$build = array(
'#theme' => 'item_list__user__new',
'#items' => array(),
);
foreach ($items as $account) {
$build['#items'][] = theme('username', array(
'account' => $account,
));
}
return $build;
}
}