<?php
/**
 * @copyright (c) Kufer Software GmbH, Oderstraße 7, D-84453 Mühldorf
 */

namespace Kufer\Web\Classes\Api\Combobox;

class ComboboxMitarbeiterGefiltertNachGruppen extends ComboboxMitarbeiter
{
  protected function getDatamodulAry(): array
  {
    $dbwBASysUser = new \DBWorkBASysUser();
    $toolId = \GetOperations::getVarValue('tool_id');
    $toolSettings = \ToolSettingsAPI::getToolSettings($toolId);
    $gruppen = $this->getGruppenFromString($toolSettings->hlMaPlanendEinschraenkungGruppen ?? '');

    if (empty($gruppen)) {
      return $dbwBASysUser->getBASysUsers();
    } else {
      return $dbwBASysUser->getBASysUsersByGruppen($gruppen);
    }
  }

  private function getGruppenFromString(string $pGruppenString): array
  {
    $result = array();
    $gruppen = explode(',', $pGruppenString);
    foreach ($gruppen as $gruppe) {
      $value = trim($gruppe);
      if ($value !== '') {
        $result[] = trim($gruppe);
      }
    }

    return $result;
  }
}