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

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

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

$subGroup = 'Anmeldung';

$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 = $subGroup;
$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 = $subGroup;
$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 = $subGroup;
$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 = $subGroup;
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'anmPerFirmaAusBeziehung';
$setting->description = 'Anmeldung per auswählbarer Firma';
$setting->help = 'Hiermit kann eingestellt werden, ob der Teilnehmer sich mit einer eingetragenen Firma angemeldet '
  . 'kann.';
$setting->subGroup = $subGroup;
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_SELECTBOX);
$setting->config->items = array(
  0 => 'Nur Teilnehmeranmeldung',
  1 => 'Teilnehmer- und Firmenanmeldungen',
  2 => 'Nur Firmenanmeldungen'
);
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 = $subGroup;
$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);

$subGroup = 'Beschriftung für SEPA Lastschriften im Anmeldebestätigungsdialog:';

$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 = $subGroup;
$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 = $subGroup;
$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 = $subGroup;
$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 = $subGroup;
$setting->toolId = $toolId;
$setting->descriptionBeforeInput = true;
$setting->config->loadConfiguration(SC_TEXTBOX);
array_push($settingsArray, $setting);

$subGroup = 'Weitere Eingaben im Anmeldebestätigungsdialog';

$setting = new Setting();
$setting->description = 'Diese Zusatzeinstellungen gelten auschließlich für das Tool Anmeldung für Teilnehmer.';
$setting->subGroup = $subGroup;
$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 = $subGroup;
$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 = $subGroup;
$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 = $subGroup;
  $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 = $subGroup;
  $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 = $subGroup;
  $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);
}

$subGroup = 'DSGVO';

$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 = $subGroup;
$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 = $subGroup;
$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 = $subGroup;
$setting->toolId = $toolId;
$setting->descriptionBeforeInput = true;
$setting->config->loadConfiguration(SC_TEXTBOX);
$setting->config->size = 4;
array_push($settingsArray, $setting);