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

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

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

if (\DBWorkBASysSettings::isMDS()) {
  $setting = new Setting();
  $setting->description = 'Diese Hinterlegungen betreffen die Anmeldebestätigung per E-Mail, die direkt bei der Anmeldung zu einem Kurs an die Firma versendet wird.<br>
                         Die E-Mail wird nur versendet, wenn die Firma eine E-Mail Adresse eingetragen hat.<br>
                         Der Body der E-Mail setzt sich aus Vorspann, den Teilnehmerdaten und Nachspann zusammen.<br>
                         In den einzelnen Feldern sind folgende Variablen verfügbar:<br>
                         <ul><li>vollständige Kursnummer: {%k_id%}</li>
                         <li>Kursnummer ohne Semesterkürzel: {%k_nrab%}</li>
                         <li>Titel des Kurses: {%k_kurzbez%}</li>
                         <li>Programmhefttitel des Kurses, falls gefüllt, sonst Titel: {%k_kurzbez_titel%}</li>
                         <li>Beginndatum des Kurses: {%k_beginn_dat%}</li>
                         <li>Endedatum des Kurses: {%k_ende_dat%}</li>
                         <li>Ansprache der Firma {%t_ansprache%}</li>
                         <li>Anrede der Firma {%t_anrede%}</li></ul>';
  $setting->subGroup = 'Einstellungen für die Bestätigungs-E-Mail an die Firma:';
  $setting->toolId = $toolId;
  $setting->config->loadConfiguration(SC_INFOTEXT);
  array_push($settingsArray, $setting);

  $setting = new Setting();
  $setting->name = 'anmeldeBestaetigungBetreff';
  $setting->description = 'Mail-Betreff';
  $setting->subGroup = 'Einstellungen für die Bestätigungs-E-Mail an die Firma:';
  $setting->toolId = $toolId;
  $setting->config->loadConfiguration(SC_INPUTNORMAL);
  array_push($settingsArray, $setting);

  $setting = new Setting();
  $setting->name = 'anmeldeBestaetigungVorspann';
  $setting->description = 'Mail-Vorspann';
  $setting->subGroup = 'Einstellungen für die Bestätigungs-E-Mail an die Firma:';
  $setting->toolId = $toolId;
  $setting->descriptionBeforeInput = true;
  $setting->config->loadConfiguration(SC_TEXTBOX);
  $setting->config->size = 8;
  array_push($settingsArray, $setting);

  $setting = new Setting();
  $setting->name = 'anmeldeBestaetigungNachspann';
  $setting->description = 'Mail-Nachspann';
  $setting->subGroup = 'Einstellungen für die Bestätigungs-E-Mail an die Firma:';
  $setting->toolId = $toolId;
  $setting->descriptionBeforeInput = true;
  $setting->config->loadConfiguration(SC_TEXTBOX);
  $setting->config->size = 8;
  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->afterInput = 'Bestimmte Kursinformationen im Web anhand der KuferSQL-Datenbank aktualisieren (nur im DMZ-Betrieb)';
$setting->config->loadConfiguration(SC_CHECKBOX);
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->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->name = 'mitarbeiterAnhandBeziehung';
$setting->description = 'Mitarbeiter anhand Beziehung ermitteln';
$setting->help = 'Ist diese Einstellung gesetzt, so werden die auswählbaren Firmenmitarbeiter anhand der Beziehung "Firma - Mitarbeiter" ermittelt.<br>'
  . 'Ist diese nicht gesetzt, so werden die Teilnehmer früherer Firmenanmeldungen angeboten.';
$setting->subGroup = 'Anmeldung';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'mitarbeiterAnhandBeziehungIgnoreBegin';
$setting->description = 'Bei Beziehung Beginndatum ignorieren';
$setting->subGroup = 'Anmeldung';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
$setting->disabled = !$objsettings->mitarbeiterAnhandBeziehung;
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'inAusbildungBeiAusbildungsschablone';
$setting->description = 'Mitarbeiter nach der Ausbildung ausblenden';
$setting->help = 'Ist diese Einstellung gesetzt, so werden Firmenmitarbeiter bei denen eine Ausbildungsschablone '
  . 'und das Bis-Datum der Ausbildung eingetragen ist, nicht mehr angezeigt, wenn das Bis-Datum älter ist '
  . 'als das heutige.';
$setting->subGroup = 'Anmeldung';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
$setting->disabled = !$objsettings->mitarbeiterAnhandBeziehung;
array_push($settingsArray, $setting);



$setting = new Setting();
$setting->name = 'bestaetigungAnTeilnehmerSenden';
$setting->description = 'Anmeldebestätigung auch an die Mitarbeiter der Firma senden';
$setting->help = 'Ist diese Einstellung gesetzt, so werden die angemeldeten Firmenmitarbeiter über Anmeldungen durch die Firma informiert.';
$setting->subGroup = 'Benachrichtigung';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);



$setting = new Setting();
$setting->description = 'Hier wird die Beschriftung zu den SEPA-Lastschriften im '
  . 'Anmeldebestätigungsdialog eingegeben.<br /><br /> '
  . '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.<br /><br />'
  . 'Diese SEPA Beschriftungen gelten auschließlich für das Tool Anmeldung buchen für Firmen.';
$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 buchen für Firmen.';
$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);
}