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

$sortId = 6;
$toolId = \ToolsAPI::TOOL_KURSUEBERSICHT_DOZ;

$settingsArray = array();

$setting = new Setting();
$setting->name = 'useAnwInAnwKontr';
$setting->description = 'Anzeige der Anwesenheit in Prozent';
$setting->subGroup = 'Einstellungen für die Kontrolle der Anwesenheiten';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'useAnwTageInAnwKontr';
$setting->description = 'Anzeige der anwesenden Tage';
$setting->subGroup = 'Einstellungen für die Kontrolle der Anwesenheiten';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'useAbwInAnwKontr';
$setting->description = 'Anzeige der abwesenden Tage';
$setting->subGroup = 'Einstellungen für die Kontrolle der Anwesenheiten';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'anwShowLegendeStatus';
$setting->description = 'Anwesenheitsstatus in Legende anzeigen';
$setting->help = 'Wenn kein Status ausgewählt ist, werden alle angezeigt.';
$setting->subGroup = 'Einstellungen für die Kontrolle der Anwesenheiten';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_MULTISELECT);
$items = array();
$dbwAnwGruende = \DBWorkHLAnwesenheitGruende::getDefaultInstance();
foreach ($dbwAnwGruende->getAll() as $grund) {
  $items[$grund->status] = \CleanOperations::cleanStringForHtml($grund->bemerkung);
}
$setting->config->items = $items;
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'anwInZukunftBearbeitenErlaubt';
$setting->description = 'Anwesenheiten auch in Zukunft eintragen';
$setting->help = 'Diese Einstellung gibt an, ob Anwesenheiten von Kurstagen in der Zukunft bearbeitet werden dürfen. <br>'
        . 'Ansonsten dürfen nur die Anwesenheiten von Kurstagen in der Vergangenheit oder am heutigen Tag bearbeitet werden.';
$setting->subGroup = 'Einstellungen für das Bearbeiten von Anwesenheiten';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'anwAndererDozentenBearbeitenErlaubt';
$setting->description = 'Anwesenheiten anderer Dozenten bearbeiten';
$setting->help = 'Diese Einstellung gibt an, ob auch Anwesenheiten von Kurstagen anderer Dozenten bearbeitet werden dürfen. <br>'
        . 'Ansonsten dürfen nur die Anwesenheiten von Kurstagen des aktuell eingeloggten Dozenten bearbeitet werden.';
$setting->subGroup = 'Einstellungen für das Bearbeiten von Anwesenheiten';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);


$setting = new Setting();
$setting->name = 'anwFilterStatus';
$setting->description = 'Einschränkung der Teilnehmer auf Belegungsstatus';
$setting->help = 'Wenn kein Status angegeben ist, werden alle in Kufer SQL als Vorbelegung eingestellten Status (<b>A, P, S, Z</b>) angezeigt.';
$setting->subGroup = 'Einstellungen für den Anwesenheitsfilter';
$setting->toolId = $toolId;
$setting->config->separator = '';
$setting->config->loadConfiguration(SC_MULTISELECT);
$dbhlstatKZ = new DBWorkHLStatusKZ();
$hlstatAry = $dbhlstatKZ->getAll();
foreach ($hlstatAry as $hlstat) {
  if ($hlstat->kennz != '' && $hlstat->kennz != 'F') {
    $statusAry[] = $hlstat->kennz;
    $displayAry[$hlstat->kennz] = 'Status <b>\'' . \CleanOperations::cleanStringForHtml($hlstat->text) . ' (' . \CleanOperations::cleanStringForHtml($hlstat->kennz) . ')' . '\'</b>';
    $setting->config->items[$hlstat->kennz] = $displayAry;
  }
}
$setting->config->items = $displayAry;
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'anwFilterAnzeigeUhrzeit';
$setting->description = 'Einschränkung auf Anzeige der Uhrzeit';
$setting->subGroup = 'Einstellungen für den Anwesenheitsfilter';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'anwFilterAnzeigeUE';
$setting->description = 'Einschränkung auf Anzeige der Unterrichtseinheiten';
$setting->subGroup = 'Einstellungen für den Anwesenheitsfilter';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'anwFilterAnzeigeDozent';
$setting->description = 'Einschränkung auf Anzeige des Dozenten';
$setting->subGroup = 'Einstellungen für den Anwesenheitsfilter';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'anwFilterAnzeigeFaecher';
$setting->description = 'Einschränkung auf Anzeige der Fächer';
$setting->subGroup = 'Einstellungen für den Anwesenheitsfilter';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'anwFilterAnzeigeBemerkung';
$setting->description = 'Einschränkung auf Anzeige der Bemerkung (Fach)';
$setting->subGroup = 'Einstellungen für den Anwesenheitsfilter';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'anwFilterVonDatum';
$setting->description = 'Filter für Von-Datum vorbelegen';
$setting->help = 'Wird kein Datum eingetragen wird der erste Kurstag verwendet';
$setting->subGroup = 'Einstellungen für den Anwesenheitsfilter';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_INPUTNORMAL);
array_push($settingsArray, $setting);

if ((\SessionOperations::isDmzBetrieb() || !\SessionOperations::isReplikat())
         && ((new \DBWorkTools())->getTool(18)->id == 18)) {
  $setting = new Setting();
  $setting->name = 'tnIgnoreEintrittDate';
  $setting->description = 'Anwesenheit der Teilnehmer bearbeitbar, selbst wenn das Eintrittsdatum später ist';
  $setting->help = 'Beim Speichern der Einstellung wird zugleich die gleiche Einstellung unter "Online-Klassenbuch / Klassenbucheintrag" geändert.';
  $setting->subGroup = 'Einstellungen für den Anwesenheitsfilter';
  $setting->toolId = $toolId;
  $setting->config->loadConfiguration(SC_CHECKBOX);
  array_push($settingsArray, $setting);

  $setting = new Setting();
  $setting->name = 'tnIgnoreAustrittDate';
  $setting->description = 'Anwesenheit der Teilnehmer bearbeitbar, selbst wenn das Austrittsdatum früher ist';
  $setting->help = 'Beim Speichern der Einstellung wird zugleich die gleiche Einstellung unter "Online-Klassenbuch / Klassenbucheintrag" geändert.';
  $setting->subGroup = 'Einstellungen für den Anwesenheitsfilter';
  $setting->toolId = $toolId;
  $setting->config->loadConfiguration(SC_CHECKBOX);
  array_push($settingsArray, $setting);

  $setting = new Setting();
  $setting->name = 'anwesenheitenAusKuferSQLNichtBearbeitbar';
  $setting->description = 'Anwesenheiten sind nicht bearbeitbar, wenn diese über KuferSQL erfasst wurden';
  $setting->help = 'Ist diese Einstellung aktiviert, muss im DMZ-Betrieb zwingend das gleiche Bearbeiterkürzel in BAS_DMZ und im Webadmin hinterlegt sein! Falls es abweicht, muss es im Webadmin unter "KuferTools / Einstellungen / Sonstiges / Bearbeiterkürzel für Änderungen aus den KuferTools" auf das von BAS_DMZ geändert werden.';
  $setting->subGroup = 'Anwesenheitseingabe';
  $setting->toolId = $toolId;
  $setting->config->loadConfiguration(SC_CHECKBOX);
  array_push($settingsArray, $setting);
}