<?php
/**
 * @copyright (c) Kufer Software GmbH, Loisachstrasse 4, D-84453 Mühldorf
 */

namespace Kufer\KuferTools\Teilnehmer\KursUebersicht\TermineUebersicht\Utils;

class KurstageForTeilnehmer
{
  private $toolSettings;
  private $suchParameter;

  public function __construct($suchParameter = array())
  {
    $this->toolSettings = \ToolSettingsAPI::getToolSettings(20);
    $this->suchParameter = $suchParameter;
  }

  public function getAlleIds()
  {
    return $this->getIds();
  }

  public function getIdsInRange($vonDat, $bisDat)
  {
    return $this->getIds($vonDat, $bisDat);
  }

  private function getIds($vonDat = '', $bisDat = '')
  {
    if (isset($this->suchParameter)) {
      $searchAPI = new \KurssuchAPIwSearch(false);
      $searchAPI->getSearchParamsFromReqToSession('tool20');
      $searchAPI = new \KursplanungKurstagSucheAPI();
      $searchAPI->setSearchParamsToSession($this->suchParameter);
    }

    $user = \SessionOperations::getCurrentWebToolsUser();
    $belegungshelper = new \Kufer\KuferTools\Utils\DatamodulHelper\BelegungsHelper\TeilnehmerKurstageBelegungen($this->toolSettings, $user->tnr);
    $belegungen = $belegungshelper->getDatamoduleMitFilter(\ToolsAPI::TOOL_TN);

    if (empty($belegungen)) {
      $alleIds = array();
    } else {
      $kthelper = new \Kufer\KuferTools\Utils\DatamodulHelper\KursTageHelper\TeilnehmerKurstage($this->toolSettings, $user, $belegungen, $vonDat, $bisDat);
      $alleIds = $kthelper->getIdsMitFilter(\ToolsAPI::TOOL_TN);
    }

    return $alleIds;
  }
}