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

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

$objsettings = ToolSettingsAPI::getToolSettings($toolId);
$settingsArray = array();

$setting = new Setting();
$setting->description = 'Hinweis zu den angezeigten Kursen';
$setting->help = 'Bei der Anzeige der Kurse wird die Freigabe des Kurses für das Internet (KuferSQL / Kursstamm / Reiter WEB / Einstellungen) ber&uuml;cksichtigt.' . BR_WT . '
                    Falls der Teilnehmer sich nicht zu einem Kurs anmelden kann, wird dieser trotzdem angezeigt, allerdings wird der Anmeldebutton ausgegraut. ' . BR_WT . '
                    Mit einem Klick auf diesen wird ein Hinweis angezeigt, wieso die Anmeldung nicht durchgef&uuml;hrt werden kann. ' . BR_WT . '
                    Folgende Bedingungen verhindern eine Anmeldung:
                    <ul>
                      <li>Der Kurs ist auf Ausfall gesetzt</li>
                      <li>Für den Kurs ist &quot;Anmeldung&quot; per Internet auf &quot;nicht erlaubt&quot; gesetzt</li>
                      <li>Der Anmeldeschluss des Kurses wurde erreicht</li>
                      <li>Der Kurs ist bereits beendet</li>
                    </ul>';
$setting->subGroup = 'Kursübersicht';
$setting->toolId = $toolId;
$setting->className = 'tool14_hinweis_kurseanzeige';
$setting->config->loadConfiguration(SC_INFOTEXT);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'kurseproseite';
$setting->description = 'Angezeigte Kurse pro Seite';
$setting->help = '';
$setting->subGroup = 'Kursü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 = 'seachMulipleAussenStellen';
$setting->description = 'Suche nach mehreren Aussenstellen ermöglichen';
$setting->subGroup = 'Kursübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'searchShowAllKriterienByDefault';
$setting->description = 'Alle Suchkriterien auf der Einstiegsseite sofort anzeigen';
$setting->subGroup = 'Kursübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'zeigeKategorienBeimEinstieg';
$setting->description = 'Kategoriebaum auf der Einstiegsseite anzeigen';
$setting->subGroup = 'Kursübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'zeigeSonderkategorienBeimEinstieg';
$setting->description = 'Sonderkategoriebaum auf der Einstiegsseite anzeigen';
$setting->subGroup = 'Kursübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'sortkurse';
$setting->description = 'Erstes Sortierkriterium für Kurse';
$setting->help = '';
$setting->subGroup = 'Kursübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_RADIO);
$setting->config->items = array(
    'nr' => 'Kursnummer',
    'beginn_dat' => 'Beginndatum',
    'ort' => 'Kursort',
    'aussenst' => 'Aussenstelle',
    'beginn' => 'Beginn-Uhrzeit'
);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'sortkurseasc';
$setting->description = 'Erstes Sortierkriterium auf- oder absteigend';
$setting->help = '';
$setting->subGroup = 'Kursübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_RADIO);
$setting->config->items = array(
    '1' => 'aufsteigend',
    '' => 'absteigend'
);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'sortkurse2';
$setting->description = 'Zweites Sortierkriterium für Kurse';
$setting->help = '';
$setting->subGroup = 'Kursübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_RADIO);
$setting->config->items = array(
    'nr' => 'Kursnummer',
    'beginn_dat' => 'Beginndatum',
    'ort' => 'Kursort',
    'aussenst' => 'Aussenstelle',
    'beginn' => 'Beginn-Uhrzeit'
);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'sortkurseasc2';
$setting->description = 'Zweites Sortierkriterium auf- oder absteigend';
$setting->help = '';
$setting->subGroup = 'Kursübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_RADIO);
$setting->config->items = array(
    '1' => 'aufsteigend',
    '' => 'absteigend'
);
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 = 'Kursü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 = 'Kursü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 = 'Kursü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 = 'Kursü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 = 'Kursübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

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

$setting = new Setting();
$setting->name = 'showOnlyBookable';
$setting->description = 'Nur buchbare Kurse anzeigen';
$setting->help = 'Falls gesetzt, werden nur die Kurse angezeigt, die die folgenden Bedingungen erfüllen: <br />'
        . '- Pflichtangaben fehlen nicht<br>'
        . '- Kurs ist nicht ausgefallen<br>'
        . '- Kurs ist für Anmeldungen freigegeben<br>'
        . '- Die Anmeldeschluss für den Kurs ist nicht erreicht<br>'
        . '- Das Kursende ist nicht erreicht';
$setting->subGroup = 'Kursübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);


$setting = new Setting();
$setting->name = 'kennzOfTeilnehmerInKurs';
$setting->description = 'Nur Kurse mit Kennzeichen des Teilnehmers anzeigen';
$setting->help = 'Falls gesetzt, werden nur die Kurse angezeigt, wenn mindestens ein Kennzeichen des Kurses mit denen des Teilnehmers übereinstimmt.'
  . '<br>Hat der Kurs kein Kennzeichen wird dieser nicht angezeigt.'
  . '<br>Hat der Teilnehmer kein Kennzeichen, werden keine Kurse angezeigt.';
$setting->subGroup = 'Kursübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'filterGebuchteKurse';
$setting->description = 'Nur nicht gebuchte Kurse anzeigen';
$setting->help = 'Wenn diese Einstellung gesetzt ist, werden nur Kurse angezeigt für die, keine Teilnahme, keine Anmeldung oder keine Platzreservierung erfolgt ist.';
$setting->subGroup = 'Kursübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'disableGebuchteKurse';
$setting->description = 'Bereits gebuchte Kurse deaktivieren';
$setting->help = 'Wenn diese Einstellung gesetzt ist, werden wird die Anmeldung für Kurse deaktiviert bei denen, eine Teilnahme, eine Anmeldung oder eine Platzreservierung erfolgt ist.';
$setting->subGroup = 'Kursübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'ignoreInetAktiv';
$setting->description = '<i>Freigabe Web</i> des Kurses ignorieren';
$setting->subGroup = 'Kursübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'kursUebersichtAlsTabelle';
$setting->description = 'Stelle Kurse als Tabelle statt Panels dar';
$setting->help = '';
$setting->subGroup = 'Kursübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'newsletterAnmeldung_erlaubt';
$setting->description = 'Einstellung für die Newsletter-Anmeldung bei der Anmeldung zu einem Kurs';
$setting->help = 'Wenn dieser Haken gesetzt ist, wird die Anmeldung zum Newsletter bei der Anmeldung zu einem Kurs angeboten.';
$setting->subGroup = 'Anmeldung';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_MULTISELECT);
$setting->config->items = array(1 => 'Anmeldung zum Newsletter erlauben');
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'kursePerDmzAktualisieren';
$setting->description = 'Einstellung für die Darstellung der Kurse';
$setting->help = 'Folgende Felder werden aktualisiert: <br> - freie Plätze<br> - Ausfall<br> - Abschluss<br> - Anmelde-Ende<br> - Kurs-Beginn<br> - Kurs-Ende';
$setting->subGroup = 'Anmeldung';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_MULTISELECT);
$setting->config->items = array(1 => 'Bestimmte Kursinformationen im Web anhand der KuferSQL-Datenbank aktualisieren (nur im DMZ-Betrieb)');
array_push($settingsArray, $setting);



$setting = new Setting();
$setting->name = 'anm_erlaubteZahlarten[]';
$setting->description = 'Erlaubte Zahlarten';
$setting->help = 'Falls keine Zahlart ausgewählt wird, wird Bankeinzug verwendet.<br /><br />'
            . 'Es sollte entweder Bankeinzug oder Rechnung angeboten werden, nicht beides. '
            . 'Der Grund ist, dass beim Einlesen der Anmeldungen in KuferSQL diese beiden '
            . 'Zahlarten nicht unterschieden werden können. In der Belegung werden die '
            . 'Zahlarten L für &quot;Lastschrift (erfolgt)&quot; oder R für &quot;Rechnung gestellt&quot; erst gesetzt, '
            . 'wenn der Betrag eingezogen, oder die Rechnung gestellt wurde.';
$setting->subGroup = 'Anmeldung';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_MULTIHYBRID);
$setting->config->items['checkbox'] = array('lastschrift' => 'Bankeinzug', 'ueberweisung' => 'Überweisung', 'rechnung' => 'Rechnung');
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'anm_pauschaleMehrfachanmeldung_erlaubt';
$setting->description = 'Pauschale Mehrfachanmeldung zulassen';
$setting->help = 'Wenn dieser Haken gesetzt ist, wird bei der Anmeldung zu einem Kurs ein Eingabefeld für die Anzahl der '
        . 'anzumeldenden, weiteren Teilnehmer angeboten. Die Anmeldung entspricht der vereinfachten Mehrfachanmeldung in KuferWEB.';
$setting->subGroup = 'Anmeldung';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->description = 'Anmeldung nur erlauben, wenn folgende Daten hinterlegt sind';
$setting->help = 'Falls eines der hier angehakten Informationen zum Teilnehmer leer ist, wird beim Klick auf den Anmeldebutton '
            . ' eine Meldung angezeigt, dass eine Anmeldung nicht m&ouml;glich ist, und welche Daten zum Teilnehmer fehlen. '
            . 'Dem Teilnehmer wird vorgeschlagen, die Daten über das Tool pers&ouml;nliche Daten einzutragen. '
            . 'Deshalb ist es sinnvoll, die hier ausgew&auml;hlten Pflichtfelder im Tool pers&ouml;nliche Daten anzubieten. ' . BR_WT
            . 'Hinweise zu den Bankdaten: Bei Zahlung per Bankeinzug m&uuml;ssen Bankdaten für eine Anmeldung immer angegeben werden, k&ouml;nnen aber '
            . 'auch erst während des Anmeldevorgangs eingetragen werden. Sind die Bankdaten hier als Pflichtfeld angegeben, '
            . 'so m&uuml;ssen diese bereits vor dem Anmeldevorgang eingetragen sein. ' . BR_WT
            . 'Im Replikatbetrieb ist es nur dann sinnvoll Bankdaten als Pflichtfelder anzugeben, wenn in BAS-Replikat '
            . 'die Einstellung "Teilnehmer - Kontodaten &uuml;bertragen" (Reiter Konfiguration, links unten) gesetzt ist.';

$setting->subGroup = 'Anmeldung';
$setting->className = 'tool14_anmMandatorySettings';
$setting->toolId = $toolId;
$setting->descriptionBeforeInput = true;
$setting->config->loadConfiguration(SC_MULTIHYBRID);

$mapSettingTn = AnmeldeAPI::getMapSettingTn();
$setting->name = array();
  foreach ($mapSettingTn as $settingVar => $tnVarBezAry) {
    $setting->name[] = $settingVar;
    $setting->config->items['checkbox'][$settingVar] = $tnVarBezAry['bezeichnung'];
  }
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->description = 'Hier wird die Beschriftung zu den SEPA-Lastschriften im Anmeldebestätigungsdialog eingegeben.';
$setting->help = 'Folgende Variable steht für den Inhalt zur Verfügung: '
                    . '<br />- {%t_konto%}<br /><br />'
                    . 'Sollten Sie keinen Text für die SEPA-Lastschriften mit bzw. ohne Mandat angeben, so werden standardmäßig '
                    . 'folgende Texte verwendet: <br />'
                    . 'SEPA Lastschrift mit Mandat:<br /> Uns liegt ein SEPA-Lastschriftmandat für das Konto {%t_konto%} bereits vor. '
                    . 'Der Betrag wird von diesem Konto eingezogen.<br /><br />'
                    . 'SEPA Lastschrift ohne Mandat:<br /> Ich werde ein SEPA-Lastschriftmandat ausgefüllt und unterschrieben an die '
                    . 'Einrichtung senden. Der Betrag darf von meinem Konto {%t_konto%} eingezogen werden.';
$setting->subGroup = 'Beschriftung für SEPA Lastschriften im Anmeldebestätigungsdialog:';
$setting->toolId = $toolId;
$setting->className = 'tool14_sepaTextSettings';
$setting->config->loadConfiguration(SC_INFOTEXT);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'sepaTextMitMandat';
$setting->description = 'Beschriftung für die SEPA-Lastschrift mit Mandat';
$setting->subGroup = 'Beschriftung für SEPA Lastschriften im Anmeldebestätigungsdialog:';
$setting->toolId = $toolId;
$setting->descriptionBeforeInput = true;
$setting->config->loadConfiguration(SC_TEXTBOX);
$setting->config->size = 4;
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'sepaTextOhneMandat';
$setting->description = 'Beschriftung für die SEPA-Lastschrift ohne Mandat';
$setting->subGroup = 'Beschriftung für SEPA Lastschriften im Anmeldebestätigungsdialog:';
$setting->toolId = $toolId;
$setting->descriptionBeforeInput = true;
$setting->config->loadConfiguration(SC_TEXTBOX);
$setting->config->size = 4;
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'sepaTextDruckLink';
$setting->description = 'Beschriftung für den Druck Link';
$setting->help = 'Hier können Sie die Beschriftung für einen Drucklink eingeben, der nur für die SEPA-Lastschrift '
                    . 'ohne Mandat zur Verfügung steht. Falls dieses Feld leer bleibt, wird kein Drucklink generiert.';
$setting->subGroup = 'Beschriftung für SEPA Lastschriften im Anmeldebestätigungsdialog:';
$setting->toolId = $toolId;
$setting->descriptionBeforeInput = true;
$setting->config->loadConfiguration(SC_TEXTBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->description = 'Diese Zusatzeinstellungen gelten auschließlich für das Tool Anmeldung für Teilnehmer.';
$setting->subGroup = 'Weitere Eingaben im Anmeldebestätigungsdialog';
$setting->toolId = $toolId;
$setting->className = 'tool14_zusatzSettings';
$setting->config->loadConfiguration(SC_INFOTEXT);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'anm_zusatzText';
$setting->description = 'Text für zusätzliches Markierungsfeld (Pflichtfeld)';
$setting->help = 'Hier kann eine zusätzliche Abfrage oder Bedingung eingegeben werden. Diese kann z.B. für die Datenschutzerklärung, '
                    . 'für einen Widerruf oder einer Kombination aus beidem o.ä. verwendet werden. Wird hier ein Text eingetragen, so erscheint im '
                    . 'Anmeldedialog ein weiteres Markierungsfeld als Pflichtfeld und dazu der hier eingegebene Text.';
$setting->subGroup = 'Weitere Eingaben im Anmeldebestätigungsdialog';
$setting->toolId = $toolId;
$setting->descriptionBeforeInput = true;
$setting->config->loadConfiguration(SC_TEXTBOX);
$setting->config->size = 4;
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'anm_zusatzAufforderung';
$setting->description = 'Aufforderung bei nicht gesetztem Markierungsfeld';
$setting->help = 'Falls das ausgegebene Markierungsfeld nicht gesetzt wird, so erscheint der hier eingegebene Text, der '
                    . ' zum Setzen des Markierungsfelds auffordert. Bleibt dieses Feld leer, so wird als Standardmeldung \\&quot;Bitte '
                    . 'setzen Sie die fehlenden Haken\\&quot; ausgegeben.';
$setting->subGroup = 'Weitere Eingaben im Anmeldebestätigungsdialog';
$setting->toolId = $toolId;
$setting->descriptionBeforeInput = true;
$setting->config->loadConfiguration(SC_TEXTBOX);
$setting->config->size = 4;
array_push($settingsArray, $setting);

if (\DBWorkBASysSettings::isBlak()) {
  $setting = new Setting();
  $setting->name = 'freidefKursShouldShowZertifikatsfortbildung';
  $setting->description = 'Frei wählbares Eingabefeld um zu prüfen, ob ein Kurs eine Zertifikatsfortbildung "Bayerische Ausbildungsapotheke" ist';
  $setting->help = 'Falls es sich um die Zertifikatsfortbildung "Bayerische Ausbildungsapotheke" handelt, muss eine separate Einwilligung zur Anmeldung bestätigt werden';
  $setting->subGroup = 'Weitere Eingaben im Anmeldebestätigungsdialog';
  $setting->toolId = $toolId;
  $setting->config->loadConfiguration(SC_SELECTBOX);
  $setting->config->items = array();

  $dbwFreidefKurs = \DBWorkFreiWaehlbareEingabefelder4Kurs::getDefaultInstance();
  $freidefsKurs = $dbwFreidefKurs->getFreiWaehlbareFelder();
  $setting->config->items[0] = '--- Bitte auswählen ---';
  if ($freidefsKurs !== false) {
    foreach ($freidefsKurs as $key => $freidef) {
      if ($freidef->typ === 'C') {
        
        $setting->config->items[$key + 1] = \CleanOperations::cleanStringForHtml($freidef->bezeichnung . ' (' . ($key + 1) . ')');
      }
    }
  }

  array_push($settingsArray, $setting);

  $setting = new Setting();
  $setting->name = 'freidefBelegungSaveZertifikatsfortbildung';
  $setting->description = 'Frei wählbares Eingabefeld in der Belegung, wo die Einwilligung bei Zertifikatsfortbildung "Bayerische Ausbildungsapotheke" gespeichert werden soll';
  $setting->help = 'Falls es sich um eine Zertifikatsfortbildung "Bayerische Ausbildungsapotheke" handelt, wird in in diesem Feld das Datum der Einwilligung gespeichert.';
  $setting->subGroup = 'Weitere Eingaben im Anmeldebestätigungsdialog';
  $setting->toolId = $toolId;
  $setting->config->loadConfiguration(SC_SELECTBOX);
  $setting->config->items = array();

  $dbwFreidefBelegung = \DBWorkFreiWaehlbareEingabefelder4Belegung::getDefaultInstance();
  $freidefsBelegung = $dbwFreidefBelegung->getFreiWaehlbareFelder();
  $setting->config->items[0] = '--- Bitte auswählen ---';
  if ($freidefsBelegung !== false) {
    foreach ($freidefsBelegung as $key => $freidef) {
      if ($freidef->typ === 'D') { 
        
        $setting->config->items[$key + 1] = \CleanOperations::cleanStringForHtml($freidef->bezeichnung . ' (' . ($key + 1) . ')');
      }
    }
  }

  array_push($settingsArray, $setting);

  $setting = new Setting();
  $setting->name = 'freidefKursBlakBundesland';
  $setting->description = 'Frei wählbares Eingabefeld im Kurs, wo hinterlegt wird, ob das Bundesland geprüft werden soll bei der Anmeldung';
  $setting->help = '';
  $setting->subGroup = 'Weitere Eingaben im Anmeldebestätigungsdialog';
  $setting->toolId = $toolId;
  $setting->config->loadConfiguration(SC_SELECTBOX);
  $setting->config->items = array();

  $dbwFreidefBelegung = \DBWorkFreiWaehlbareEingabefelder4Kurs::getDefaultInstance();
  $freidefsBelegung = $dbwFreidefBelegung->getFreiWaehlbareFelder();
  $setting->config->items[0] = '--- Bitte auswählen ---';
  if ($freidefsBelegung !== false) {
    foreach ($freidefsBelegung as $key => $freidef) {
      if ($freidef->bezeichnung != '' && in_array($freidef->typ, array(SQL_FREIDEF_TYP_CHECKBOX, SQL_FREIDEF_TYP_TEXT, ''))) { 
        
        $setting->config->items[$key + 1] = \CleanOperations::cleanStringForHtml($freidef->bezeichnung . ' (' . ($key + 1) . ')');
      }
    }
  }

  array_push($settingsArray, $setting);
}

$setting = new Setting();
$setting->name = 'anm_dseCheckbox';
$setting->description = 'Text zum DSGVO Markierungsfeld (Pflichtfeld)';
$setting->help = 'Der hier eingetragene Text wird im Anmeldedialog als Pflichtfeld angezeigt '
               . 'um die Einverständnis zur DSGVO zu geben. Falls der Text leer ist wird das '
               . 'Markierungsfeld samt Text nicht angezeigt';
$setting->subGroup = 'DSGVO';
$setting->toolId = $toolId;
$setting->descriptionBeforeInput = true;
$setting->config->loadConfiguration(SC_TEXTBOX);
$setting->config->size = 4;
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'anm_dseAufforderung';
$setting->description = 'Aufforderung bei nicht gesetztem Markierungsfeld';
$setting->help = 'Falls das ausgegebene Markierungsfeld nicht gesetzt wird, so erscheint der hier '
               . 'eingegebene Text, der zum Setzen des Markierungsfelds auffordert. Bleibt dieses Feld leer, so wird als '
               . 'Standardmeldung "Bitte setzen Sie die fehlenden Haken" ausgegeben.';
$setting->subGroup = 'DSGVO';
$setting->toolId = $toolId;
$setting->descriptionBeforeInput = true;
$setting->config->loadConfiguration(SC_TEXTBOX);
$setting->config->size = 4;
array_push($settingsArray, $setting);


$setting = new Setting();
$setting->name = 'anm_dseCheckboxAkzeptiert';
$setting->description = 'Text zum DSGVO Markierungsfeld falls Einverständnis bereits gegeben wurde';
$setting->help = 'Der hier eingetragene Text wird im Anmeldedialog neben einem ausgegrauten Markierungsfeld '
               . 'angezeigt wenn der Teilnehmer bereits seine Einverständnis zur DSGVO gegeben hat. '
               . 'Wenn kein Text eingetragen ist, wird das Markierungsfeld und der Text nicht angezeigt.';
$setting->subGroup = 'DSGVO';
$setting->toolId = $toolId;
$setting->descriptionBeforeInput = true;
$setting->config->loadConfiguration(SC_TEXTBOX);
$setting->config->size = 4;
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'showAllHinterlegungenFilter';
$setting->description = 'Alle Optionen der Hinterlegungen bei Kursfilter anzeigen';
$setting->help = 'Dies kann bei wenig Hinterlegungen, den Dialog schneller erscheinen lassen. Jedoch gibt es dann Optionen im Dialog, die zu keinem Resultat führen werden.';
$setting->subGroup = 'Kursfilter';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);