Commit c6398975 authored by Dieter Holvoet's avatar Dieter Holvoet
Browse files

Issue #3317968 by DieterHolvoet, cinarb: array_filter(): Argument #1 ($array)...

Issue #3317968 by DieterHolvoet, cinarb: array_filter(): Argument #1 ($array) must be of type array, null given
parent 03f913ea
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -157,12 +157,14 @@ class UserBlock extends DashboardBlockBase {
   *   Returns the user entity, otherwise an empty array.
   */
  protected function getUsers(array $config) {
    $configuredRoles = array_filter($config['plugin_specific_config']['roles']);
    $configuredRoles = array_filter($config['plugin_specific_config']['roles'] ?? []);
    $displayBlocked = $config['plugin_specific_config']['blocked'] ?? TRUE;

    $storage = $this->entityTypeManager->getStorage('user');
    $query = $storage->getQuery();
    $query->condition('roles', array_values($configuredRoles), 'in');
    if ($configuredRoles !== []) {
      $query->condition('roles', array_values($configuredRoles), 'IN');
    }
    $query->sort('access', 'desc');
    if (!$displayBlocked) {
      $query->condition('status', 1);
@@ -248,8 +250,7 @@ class UserBlock extends DashboardBlockBase {
    return [
      '#type' => 'checkboxes',
      '#title' => $this->t('Which roles to display'),
      '#description' => $this->t('Select which roles should be displayed in the block.'),
      '#required' => TRUE,
      '#description' => $this->t('Select which roles should be displayed in the block. If none are selected, all roles will be displayed.'),
      '#options' => $options,
      '#default_value' => $block_configuration['plugin_specific_config']['roles'] ?? [],
    ];