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

$sortId = 1;
$toolId = \ToolsAPI::TOOL_VORGESETZTER_TN;

$objsettings = \ToolSettingsAPI::getToolSettings($toolId);

$settingsArray = array();

$setting = new Setting();
$setting->name = 'teilnehmerProSeite';
$setting->description = 'Angezeigte Teilnehmer pro Seite';
$setting->help = '';
$setting->subGroup = 'Mitarbeiterübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_INPUTNUMERIC);
$setting->config->size = 4;
$setting->config->maxLength = 4;
$setting->config->allowNegative = false;
$setting->config->HasIncrDecr = true;
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'sorttnasc';
$setting->description = 'Sortierung der Mitarbeiter des Vorgesetzten nach Name';
$setting->help = '';
$setting->subGroup = 'Mitarbeiterübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_RADIO);
$setting->config->items = array(
    'nameauf' => 'aufsteigen',
    'nameab' => 'absteigen'
);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'useTool20Semester';
$setting->description = 'Mitarbeiter des Vorgesetzten mit Kursen folgender Semester anzeigen';
$setting->help = '';
$setting->subGroup = 'Mitarbeiterübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_RADIO);
$setting->config->items = array(
    'useSem20' => 'Semester aus Tool "Belegte Kurse für Teilnehmer" verwenden',
    'notUseSem20' => 'Abweichende Semester setzen. Achtung: Querverweise auf die Kursdetails des Tools "Belegte Kurse für Teilnehmer" 
                      werden nicht angezeigt. Es können auch mehrere Semester gewählt werden'
);
array_push($settingsArray, $setting);


$setting = new Setting();
$setting->name = 'useAbweichendeSemester';
$setting->description = 'Von den allgemeinen Semestereinstellungen abweichende Semester verwenden bzw. abweichende Vorbelegung des Kursfilters verwenden';
$setting->help = 'Falls gesetzt, werden die unten angegebenen Semestereinstellungen verwendet, ansonsten die unter Allgemein/Semestereinstellungen';
$setting->subGroup = 'Mitarbeiterübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'semlist';
$setting->description = 'Kurse folgender Semester anzeigen';
$setting->help = 'Es können auch mehrere Semester gewählt werden.';
$setting->subGroup = 'Mitarbeiterübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_MULTISELECT);
$setting->config->separator = ',';

$semapi = new SemesterHlAPI();
$semesterAry = $semapi->getSemester();
foreach ($semesterAry as $semester) {
  $items[$semester] = 'Semester \'<b>' . $semester . '</b>\'';
}
if (count($items) == 0) {
  $items[''] = 'Es sind keine Semester verfügbar! Bitte überprüfen Sie die
  Hinterlegung der Semester.';
}
$setting->config->items = $items;
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'keineAusgefallenenKurse';
$setting->description = 'Ausgefallene Kurse ausblenden';
$setting->help = '';
$setting->subGroup = 'Mitarbeiterübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'keineAbgeschlossenenKurse';
$setting->description = 'Abgeschlossene Kurse ausblenden';
$setting->help = '';
$setting->subGroup = 'Mitarbeiterübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'keineHauptkurse';
$setting->description = 'Hauptkurse von Kursreihen ausblenden';
$setting->help = '';
$setting->subGroup = 'Mitarbeiterübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$settingsArray[] = \Kufer\Admin\Classes\Settings\Helper\Tools\KursStatusHelper::createKursStatusSetting($toolId, $objsettings, 'Mitarbeiterübersicht');

$setting = new Setting();
$setting->name = 'tnstatus';
$setting->description = 'Einschränkung der Teilnehmer (angemeldete Mitarbeiter) auf deren Belegungsstatus';
$setting->help = 'Wenn kein Status angegeben ist, werden alle Teilnehmer in der Kursübersicht angezeigt, bei denen sie mit den Status A, T, P im Kurs sind.';
$setting->subGroup = 'Mitarbeiterübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_MULTISELECT);
$setting->config->separator = ',';
$dbhlstatKZ = new DBWorkHLStatusKZ();
$hlstatAry = $dbhlstatKZ->getAll();
foreach ($hlstatAry as $hlstat) {
  if ($hlstat->kennz != '') {
    $statusAry[] = $hlstat->kennz;
    $displayAry[$hlstat->kennz] = 'Status <b>\'' . \CleanOperations::cleanStringForHtml($hlstat->text) . ' (' . \CleanOperations::cleanStringForHtml($hlstat->kennz) . ')' . '\'</b>';
  }
}
$setting->config->items = $displayAry;
array_push($settingsArray, $setting);


$setting = new Setting();
$setting->name = 'teilnehmerDesVorgesetztenAusBeziehung';
$setting->description = 'Teilnehmer des Vorgesetzten anhand der Beziehung bestimmen';
$setting->help = '';
$setting->subGroup = 'Mitarbeiterübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);