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

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

$settingsArray = array();

$setting = new Setting();
$setting->name = 'useLehrinhaltErf';
$setting->description = '"Erfassung für Klassenbuch" verwenden';
$setting->help = 'Falls aktiviert kann beim Erfassen der Anwesenheiten auch der Klassenbuchtext(Arbeitsbericht) sowie die Unterrichts-Einheiten (UE) erfasst werden.';
$setting->subGroup = 'Anwesenheitseingabe';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

if (System::isKuferSql5()) {
  $setting = new Setting();
  $setting->name = 'status3gErfassen';
  $setting->description = '3G-Regel geprüft erfassen';
  $setting->help = 'Falls aktiviert kann beim Erfassen der Anwesenheiten auch erfasst werden, ob die 3G-Kontrolle durchgeführt wurde';
  $setting->subGroup = 'Anwesenheitseingabe';
  $setting->toolId = $toolId;
  $setting->config->loadConfiguration(SC_CHECKBOX);
  array_push($settingsArray, $setting);
}

$setting = new Setting();
$setting->name = 'ueNichtErfassen';
$setting->description = 'Ohne UE-Erfassung (nur wenn "Erfassung für Klassenbuch" gesetzt)';
$setting->subGroup = 'Anwesenheitseingabe';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'ueGehaltenVorbelegen';
$setting->description = 'UE-Gehalten vorbesetzen (nur wenn UE-Erfassung verwendet wird)';
$setting->help = 'Falls die Erfassung der Unterrichtseinheiten aktiviert ist und diese Einstellung gesetzt wurde, wird die Erfassung mit "UE im vereinbarten Umfang gehalten" vorbelegt. Damit muss der Dozent diese nur ausfüllen, wenn es Abweichungen gab.';
$setting->subGroup = 'Anwesenheitseingabe';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);


$setting = new Setting();
$setting->name = 'useUnterrichtsMittelErf';
$setting->description = '"Erfassung der Unterrichtsmittel" verwenden';
$setting->help = 'Falls aktiviert können beim Erfassen der Anwesenheiten auch die Unterrichtsmittel erfasst werden.';
$setting->subGroup = 'Anwesenheitseingabe';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'useBemerkungSlashLehrinhalt';
$setting->description = '"Erfassung von Bemerkung/Lehrinhalt" verwenden';
$setting->help = 'Falls aktiviert können beim Erfassen der Anwesenheiten auch die Bemerkung/Lehrinhalt des Kurstages erfasst werden.';
$setting->subGroup = 'Anwesenheitseingabe';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'useVerhaltenseintraege';
$setting->description = '"Erfassung von Verhaltenseinträge" verwenden';
$setting->help = 'Falls aktiviert kann das Verhalten von Teilnehmern erfasst werden.';
$setting->subGroup = 'Anwesenheitseingabe';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'useSprachschuldaten';
$setting->description = '"Erfassung von Sprachschuldaten" verwenden';
$setting->help = 'Falls aktiviert können Daten wie Stufe, Unit, Keypoint, etc. zu Kurstagen erfasst werden.';
$setting->subGroup = 'Anwesenheitseingabe';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'showVerhEntriesDays';
$setting->description = 'Verhaltenseinträge in den aktuellen Nachrichten anzeigen bis folgende Tage, nachdem sie erstellt wurden';
$setting->help = 'Geben Sie hier an, bis wieviele Tage nach dem Erstelldatum ein Verhaltenseintrag angezeigt werden soll. '
               . 'Falls Sie einen  negativen Wert eingeben, wird automatisch die Voreinstellung von 30 Tagen gesetzt.';
$setting->subGroup = 'Anwesenheitseingabe';
$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 = 'showFachInTitel';
$setting->description = 'Fach des Kurstages im Titel anzeigen';
$setting->subGroup = 'Anwesenheitseingabe';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'showTeilnehmerbilder';
$setting->description = 'Zeige Teilnehmerbilder, wenn die Maus über Name steht';
$setting->subGroup = 'Darstellung der Teilnehmer';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'bemerkungsfeldUeberHinterlegungBefuellen';
$setting->description = 'Bemerkungsfeld nur über Hinterlegung befüllen';
$setting->subGroup = 'Anwesenheitseingabe';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'schreibeAnwesenheitenDurch';
$setting->description = 'Anwesenheiten auf Kurstage am selben Tag durchschreiben';
$setting->help = 'Falls aktiviert werden bei Kursen, bei denen mehrere Kurstage an einem Tag stattfinden, die Anwesenheiten der Teilnehmer auch auf '
               . 'die anderen von ihnen besuchten Kurstage des Kurses an diesem Tag übernommen.<br><br>Dies ist unabhängig von den Fächern oder Dozenten '
               . 'der Kurstage.<br>Bereits vorhandene Anwesenheiten werden nicht überschrieben.<br>Falls abweichende Anwesenheiten eingetragen werden, '
               . 'wird die komplette Anwesenheit des Teilnehmers <b>nicht</b> durchgeschrieben.';
$setting->subGroup = 'Anwesenheitseingabe';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'sorttnasc';
$setting->description = 'Sortierung der Teilnehmer - nach Name';
$setting->subGroup = 'Darstellung der Teilnehmer';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_RADIO);
$setting->config->items = array(
  'nameauf' => 'aufsteigend',
  'nameab' => 'absteigend'
);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'sorttnasc';
$setting->description = 'Sortierung der Teilnehmer - nach Vorname';
$setting->subGroup = 'Darstellung der Teilnehmer';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_RADIO);
$setting->config->items = array(
  'vornameauf' => 'aufsteigend',
  'vornameab' => 'absteigend'
);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'sorttnasc';
$setting->description = 'Sortierung der Teilnehmer - nach Anmeldedatum';
$setting->subGroup = 'Darstellung der Teilnehmer';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_RADIO);
$setting->config->items = array(
  'anmeldedatumauf' => 'aufsteigend',
  'anmeldedatumab' => 'absteigend'
);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'sorttnasc';
$setting->description = 'Sortierung der Teilnehmer - nach Anmeldereihenfolge';
$setting->help = 'Das Anmeldedatum kann sich bei Statusänderungen ändern. Die Anmeldereihenfolge entspricht, wann die Belegung zum Kurs erstellt wurde und bleibt gleich.';
$setting->subGroup = 'Darstellung der Teilnehmer';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_RADIO);
$setting->config->items = array(
  'idauf' => 'aufsteigend',
  'idab' => 'absteigend'
);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'sorttnasc';
$setting->description = 'Sortierung der Teilnehmer - nach Firmennamen';
$setting->help = 'Sortiert die Teilnehmer nach den Namen der eingetragenen Firmen.';
$setting->subGroup = 'Darstellung der Teilnehmer';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_RADIO);
$setting->config->items = array(
  'firmennameauf' => 'aufsteigend',
  'firmennameab' => 'absteigend'
);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'tnStatusEingabe';
$setting->description = 'Einschränkung der Teilnehmer auf Belegungsstatus';
$setting->help = 'Wenn kein Status angegeben ist, werden alle Teilnehmer ohne Berücksichtigung ihrer Status angezeigt.';
$setting->subGroup = 'Darstellung der Teilnehmer';
$setting->toolId = $toolId;
$setting->config->separator = '';
$setting->config->loadConfiguration(SC_MULTISELECT);
$dbhlstatKZ = new DBWorkHLStatusKZ();
$hlstatAry = $dbhlstatKZ->getAll();
$mitFirma = true;
foreach ($hlstatAry as $hlstat) {
  if ($hlstat->kennz != '' && ($mitFirma || $hlstat->kennz != 'F')) {
    $setting->config->items[$hlstat->kennz] = 'Status <b>' . \CleanOperations::cleanStringForHtml($hlstat->text) . ' (' . \CleanOperations::cleanStringForHtml($hlstat->kennz) . ')</b>';
  }
}
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'alleAnwesenheitenSetzenSelect';
$setting->description = 'Auswahlfeld, um alle Teilnehmer auf beliebige Anwesenheit zu setzen';
$setting->help = 'Wird diese Einstellung gesetzt, so wird statt der Schaltfläche "Alle auf Anwesend setzen" ein Auswahlfeld angeboten, mit dem die Anwesenheiten aller Teilnehmer auf einen beliebigen Status geändert werden können.';
$setting->subGroup = 'Anwesenheitseingabe';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$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 "Kursübersicht / Anwesenheitskontrolle" geändert.';
$setting->subGroup = 'Anwesenheitseingabe';
$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 "Kursübersicht / Anwesenheitskontrolle" geändert.';
$setting->subGroup = 'Anwesenheitseingabe';
$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);

$setting = new Setting();
$setting->name = 'anwesenheitenBamfNichtBearbeitbar';
$setting->description = 'Anwesenheiten sind nicht bearbeitbar, wenn es sich um einen BAMF-Kurs handelt';
$setting->help = '';
$setting->subGroup = 'Anwesenheitseingabe';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'anwesenheitenMustSetAll';
$setting->description = 'Alle Hauptanwesenheiten müssen ausgefüllt werden';
$setting->help = 'Dies zwingt den Benutzer alle Hauptanwesenheiten eines Kurstags auszufüllen, bevor diese abgespeichert werden.';
$setting->subGroup = 'Anwesenheitseingabe';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'anwesenheitenNurEigeneKurseBearbeitbar';
$setting->description = 'Nur eigene Kurstage des Dozenten dürfen bearbeitet werden';
$setting->help = 'Falls eingestellt ist, dass die Kurstage der anderen Dozenten des Kurses eingesehen werden können, kann hier gesteuert werden, ob die Kurstage der anderen Dozenten bearbeitet werden dürfen oder nur lesend aufgerufen werden können. Die eigenen Kurstage dürfen weiterhin bearbeitet werden.';
$setting->subGroup = 'Anwesenheitseingabe';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);


$setting = new Setting();
$setting->name = 'anwUeModifiedEMail';
$setting->description = 'Bei abweichenden UE E-Mail an Einrichtung';
$setting->subGroup = 'Abweichende Unterrichtseinheiten';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'anwUeModifiedEMailToPlanenderMitarbeiter';
$setting->description = 'E-Mail an planenden Mitarbeiter';
$setting->help = 'Einstellung "Bei abweichenden UE E-Mail an Einrichtung" muss ausgewählt werden. '
  . 'Wenn diese Einstellung gesetzt ist, wird keine E-Mail an die Einrichtung gesendet, sondern an den planenden Mitarbeiter, außer dieser ist beim Kurs nicht eingetragen.';
$setting->subGroup = 'Abweichende Unterrichtseinheiten';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'anwUeModifiedEMailToVerwaltenderMitarbeiter';
$setting->description = 'E-Mail an verwaltenden Mitarbeiter';
$setting->help = 'Einstellung "Bei abweichenden UE E-Mail an Einrichtung" muss ausgewählt werden. '
  . 'Wenn diese Einstellung gesetzt ist, wird keine E-Mail an die Einrichtung gesendet, sondern an den verwaltender Mitarbeiter, außer dieser ist beim Kurs nicht eingetragen.';
$setting->subGroup = 'Abweichende Unterrichtseinheiten';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'anwUeModifiedEMailToVerantwortenderMitarbeiter';
$setting->description = 'E-Mail an verantwortenden Mitarbeiter';
$setting->help = 'Einstellung "Bei abweichenden UE E-Mail an Einrichtung" muss ausgewählt werden. '
  . 'Wenn diese Einstellung gesetzt ist, wird keine E-Mail an die Einrichtung gesendet, sondern an den verantwortenden Mitarbeiter, außer dieser ist beim Kurs nicht eingetragen.';
$setting->subGroup = 'Abweichende Unterrichtseinheiten';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'anwUeModifiedEmailAnEinrichtungCustom';
$setting->description = 'Abweichende Empfängeradresse für E-Mail';
$setting->help = 'E-Mail-Adresse die statt der E-Mail der Einrichtung genommen werden soll';
$setting->subGroup = 'Abweichende Unterrichtseinheiten';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_INPUTNORMAL);
$setting->config->placeHolder = AllgSettingsAPI::getAllgSettings()->vhsemail;
array_push($settingsArray, $setting);


$subgroup = 'Kurs abschließen';

$setting = new Setting();
$setting->name = 'anwAbschliessenEMailToPlanenderMitarbeiter';
$setting->description = 'E-Mail an planenden Mitarbeiter';
$setting->help = 'Wenn diese Einstellung gesetzt ist, wird keine E-Mail an die Einrichtung gesendet, sondern an den planenden Mitarbeiter, außer dieser ist beim Kurs nicht eingetragen.';
$setting->subGroup = $subgroup;
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'anwAbschliessenEMailToVerwaltenderMitarbeiter';
$setting->description = 'E-Mail an verwaltenden Mitarbeiter';
$setting->help = 'Wenn diese Einstellung gesetzt ist, wird keine E-Mail an die Einrichtung gesendet, sondern an den verwaltenden Mitarbeiter, außer dieser ist beim Kurs nicht eingetragen.';
$setting->subGroup = $subgroup;
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'anwAbschliessenEMailToVerantwortenderMitarbeiter';
$setting->description = 'E-Mail an verantwortenden Mitarbeiter';
$setting->help = 'Wenn diese Einstellung gesetzt ist, wird keine E-Mail an die Einrichtung gesendet, sondern an den verantwortenden Mitarbeiter, außer dieser ist beim Kurs nicht eingetragen.';
$setting->subGroup = $subgroup;
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'anwAbschliessenEMailToEinrichtungCustom';
$setting->description = 'Abweichende Empfängeradresse für E-Mail';
$setting->help = 'E-Mail-Adresse die statt der E-Mail der Einrichtung genommen werden soll';
$setting->subGroup = $subgroup;
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_INPUTNORMAL);
$setting->config->placeHolder = AllgSettingsAPI::getAllgSettings()->vhsemail;
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'kursAbschliessenBemerkungInFeldNotizenSpeichern';
$setting->description = 'Bemerkung im Kurs-Feld Notizen speichern';
$setting->help = 'Wenn diese Einstellung gesetzt ist, wird beim Abgeben des Kursabschlusses die angegebene Bemerkung im Kurs im Feld Notizen gespeichert.';
$setting->subGroup = $subgroup;
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);