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

$sortId = 40;

$settingsArray = array();

$setting = new Setting();
$setting->subGroup = 'Allgemein';
$setting->description = 'Bitte beachten Sie, dass unter <a href="?action=settings&hardlink=file_system_sonstiges">Einstellungen / System / Sonstiges / Stammhörerlogin</a> weitere Einstellungen vorgenommen werden können.';
$setting->config->loadConfiguration(SC_INFOTEXT);
$setting->hideSaveButton = true;
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'alleDatenfelderValidieren';
$setting->description = 'Alle Datenfelder Validieren';
$setting->help = ' Im Standard werden nur die im Anmeldeformular angezeigten Felder validiert.';
$setting->toolId = 4;
$setting->config->loadConfiguration(SC_CHECKBOX);
$setting->subGroup = 'Allgemein';
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'kundenLoginStatus';
$setting->description = 'Status der Anmeldungen';
$setting->help = 'Standard ist ATSZW (angemeldet, teilgenommen, storniert, storniert (mit Stornogebühr) und Warteliste).'
        . ' Des Weiteren ist noch P wie Platzreservierung möglich.';
$setting->subGroup = 'Belegte Kurse';
$setting->toolId = 4;
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'abweichenderZahlerAnmeldungenAnzeigen';
$setting->description = 'Auch Anmeldungen anzeigen bei denen der Stammhörer als abweichender Zahler eingetragen ist';
$setting->help = '';
$setting->subGroup = 'Belegte Kurse';
$setting->toolId = 4;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'kundenLoginBelegungMaxMonthsBack';
$setting->description = 'Zeitraum';

$setting->help = 'Anzahl der Monate die der Stammhörer unter \'Meine Anmeldungen\' im Filter maximal in die Vergangenheit gehen kann. '
                . 'Diese Einstellung wirkt sich nur auf den Filter aus, wenn dieser nicht verwendet wird ist der Zeitraum fest 1 Jahr.';
$setting->subGroup = 'Belegte Kurse';
$setting->toolId = 4;
$setting->config->loadConfiguration(SC_INPUTNUMERIC);
$setting->config->size = 3;
$setting->config->maxLength = 3;
$setting->config->allowNegative = false;
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'kundenLoginDokumentTyp';
$setting->description = 'Dokumente folgender Typen anzeigen';
$setting->help = 'Wird nichts ausgewählt, so werden alle Dokumente der hier aufgelisteten Typen angezeigt.';
$setting->subGroup = 'Meine Dokumente';
$setting->toolId = 4;
$setting->config->loadConfiguration(SC_MULTISELECT);
$setting->config->separator = ',';
$items = array('R' => 'Rechnungen', 'M' => 'Mahnungen', 'B' => 'Kursbezogene Dokumente (z. B. Anmeldebestätigungen)',
    'P_A' => 'Kursbezogene PDF-Dateien (z. B. Anmeldekarten)', 'Z' => 'Zeugnisse');
$setting->config->items = $items;
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'merklisteErinnerungsmailVersandAktiv';
$setting->description = 'Erinnerungsmails aktivieren';
$setting->help = 'Wenn Erinnerungsmails aktiviert sind, kann der Stammhörer in der Merkliste festlegen ob er '
                . 'eine Erinnerung per E-Mail vor dem Kursbeginn erhalten möchte.';
$setting->subGroup = 'Merkliste';
$setting->toolId = 4;
$setting->config->loadConfiguration(SC_CHECKBOX);
$setting->config->items = $items;
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'merklisteErinnerungsmailZeitpunkt';
$setting->description = 'Wieviel Tage/Wochen vor Kursbeginn sollen die Mails verschickt werden';
$setting->help = '';
$setting->subGroup = 'Merkliste';
$setting->toolId = 4;
$setting->config->loadConfiguration(SC_INPUTNUMERIC);
array_push($settingsArray, $setting);


$setting = new Setting();
$setting->subGroup = 'Dokumente hochladen';
$setting->description = 'Per E-Mail informieren, wenn Dateien hochgeladen werden';
$setting->help = 'Die Dokumente werden unabhängig von dieser Einstellung in die Dokumentenverwaltung des Teilnehmers in KuferSQL hochgeladen.<br>'
        . 'Der E-Mail-Text kann unter "Layout bearbeiten / Sichten bearbeiten / Stammhörerlogin / Dokumente hochladen - E-Mail" geändert werden.';
$setting->name = 'stammhoererDateiuploadEmailSenden';
$setting->toolId = 4;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->subGroup = 'Dokumente hochladen';
$setting->description = 'Ziel-E-Mail-Adresse für die Info-E-Mail';
$setting->help = 'Wird hier keine E-Mail-Adresse angegeben, so wird es an die zentrale E-Mail-Adresse gesendet.';
$setting->name = 'stammhoererDateiuploadEmailAdresse';
$setting->toolId = 4;
$setting->config->loadConfiguration(SC_INPUTNORMAL);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->subGroup = 'Weitermelden über sofortiges Einbuchen';
$setting->description = 'bisherige interne Bemerkung übernehmen';
$setting->help = 'Die in der Belegung des bereits besuchten Kurses unter "Intern" gespeicherte Bemerkung wird auch in die Belegung des Nachfolgekurses übertragen. '
        . 'Diese Einstellung wirkt sich nur bei aktiviertem sofortigen Einbuchen aus.';
$setting->name = 'weitermeldungInterneBemerkungUebernehmen';
$setting->toolId = 4;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->subGroup = 'Weitermelden über sofortiges Einbuchen';
$setting->description = 'bisherige externe Bemerkung übernehmen';
$setting->help = 'Die in der Belegung des bereits besuchten Kurses unter "Extern" gespeicherte Bemerkung wird auch in die Belegung des Nachfolgekurses übertragen. '
        . 'Diese Einstellung wirkt sich nur bei aktiviertem sofortigen Einbuchen aus.';
$setting->name = 'weitermeldungExterneBemerkungUebernehmen';
$setting->toolId = 4;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->subGroup = 'Weitermelden über sofortiges Einbuchen';
$setting->description = 'ohne Hinweis auf Weitermeldung im Ausgangskurs';
$setting->help = 'Standardmäßig wird bei Weitermeldungen in der Belegung des Originalkurses eine Bemerkung hinterlassen, dass eine Weitermeldung stattfand. '
        . 'Setzt man hier einen Haken, wird dort nichts mehr vermerkt. '
        . 'Diese Einstellung wirkt sich nur bei aktiviertem sofortigen Einbuchen aus.';
$setting->name = 'weitermeldungKeinVermerkOriginalkurs';
$setting->toolId = 4;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->subGroup = 'Weitermelden über sofortiges Einbuchen';
$setting->description = 'ohne Hinweis auf Weitermeldung im Zielkurs';
$setting->help = 'Standardmäßig wird bei Weitermeldungen in der Belegung des Nachfolgekurses eine Bemerkung hinterlassen, dass eine Weitermeldung stattfand. '
        . 'Setzt man hier einen Haken, wird dort nichts mehr vermerkt. '
        . 'Diese Einstellung wirkt sich nur bei aktiviertem sofortigen Einbuchen aus.';
$setting->name = 'weitermeldungKeinVermerkNachfolgekurs';
$setting->toolId = 4;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->subGroup = 'Stornieren';
$setting->description = 'Einstellungen für das Stornieren von Belegungen durch den Stammhörer.'; 
$setting->help = '';
$setting->name = '';
$setting->toolId = 4;
$setting->config->loadConfiguration(SC_INFOTEXT);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->subGroup = 'Stornieren';
$setting->description = 'Belegungsstatus';
$setting->help = 'Storno zulassen für Anmeldungen mit folgenden Status; falls das Eingabefeld leer ist, werden alle Status für das Storno zugelassen.<br>Beispiel: AW für Angemeldet und Warteliste';
$setting->name = 'storno_status_allowed';
$setting->toolId = 4;
$setting->config->loadConfiguration(SC_INPUTNORMAL);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->subGroup = 'Stornieren';
$setting->description = 'Meldung falls Belegungsstatus nicht passt';
$setting->help = '';
$setting->name = 'storno_status_text';
$setting->toolId = 4;
$setting->config->loadConfiguration(SC_INPUTHTML);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->subGroup = 'Stornieren';
$setting->description = 'Beim Stornieren eine Bestätigungs-E-Mail an den Teilnehmer versenden';
$setting->help = 'Falls der Haken gesetzt ist, wird der Teilnehmer per E-Mail über das Storno informiert. ';
$setting->name = 'stornoSendInfoMailAnTeiln';
$setting->toolId = 4;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->subGroup = 'Stornieren';
$setting->description = 'Beim automatischen Stornieren eine Bestätigungs-E-Mail an den Hauptteilnehmer versenden';
$setting->help = 'Falls der Haken gesetzt ist, wird der Hauptteilnehmer per E-Mail über das Storno informiert, wenn die Anmeldung per DMZ storniert werden konnte. ';
$setting->name = 'stornoEmailAnHauptteilnehmerDmz';
$setting->toolId = 4;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->subGroup = 'Stornieren';
$setting->description = 'Beim nicht automatischen Stornieren eine Bestätigungs-E-Mail an den Hauptteilnehmer versenden';
$setting->help = 'Falls der Haken gesetzt ist, wird der Hauptteilnehmer per E-Mail über das Storno informiert, wenn die Anmeldung <b>nicht</b> per DMZ storniert werden konnte. ';
$setting->name = 'stornoEmailAnHaupteilnehmerEmail';
$setting->toolId = 4;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->subGroup = 'Stornieren';
$setting->description = '<h4>Für folgende Kriterien überprüfen, ob ein Storno bzw. automatisches Storno zulässig ist.</h4>'
   . 'Wenn die  folgenden Einstellungen gesetzt sind, werden bestimmte Kriterien (z.B. Kursabschluss, Kursbeginn) überprüft. 
   Es reicht aus, zu jedem Kriterium, das Sie überprüfen wollen, eines der beiden
   Kontrollkästchen d.h. Überprüfen der Stornierung oder Überprüfen der automatischen Stornierung zu setzen.'
  . '<div style="font-size:0.8em; margin-top: 0.5em;">Falls eines dieser Kriterien nicht erfüllt ist, stellt es einen Hinderungsgrund für das Stornieren generell bzw. für
   ein automatisches Stornieren dar. Die jeweilige Einstellung zum Überprüfen für das Stornieren stellt hierbei die schärfere
   Bedingung im Vergleich zur Einstellung für das automatische Stornieren dar. Denn in diesem Fall wird eine Stornierung von vorherein ausgeschlossen und 
   eine entsprechende Fehlermeldung ausgegeben, falls das Kriterium nicht erfüllt ist.
   Falls das entsprechende Kriterium für eine automatische Stornierung nicht erfüllt ist, wird dagegen eine E-Mail mit dem 
   Stornowunsch an die Schulungseinrichtung verschickt. Es reicht aus, zu jedem Kriterium, das Sie überprüfen wollen, eines der beiden
   Kontrollkästchen d.h. Überprüfen der Stornierung oder Überprüfen der automatischen Stornierung zu setzen.</div>';
$setting->toolId = 4;
$setting->config->loadConfiguration(SC_INFOTEXT);
array_push($settingsArray, $setting);


$setting = new Setting();
$setting->subGroup = 'Stornieren';
$setting->description = 'Minimale Teilnehmerzahl für das Stornieren überprüfen';
$setting->help = 'Stornieren des Teilnehmers ist erlaubt, falls danach noch die minimale Teilnehmerzahl für den Kurs erreicht wird.';
$setting->name = 'stornoMinTNanzahlPruefen';
$setting->toolId = 4;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);


$setting = new Setting();
$setting->subGroup = 'Stornieren';
$setting->description = 'Minimale Teilnehmerzahl für das automatische Stornieren überprüfen';
$setting->help = 'Automatisches Stornieren des Teilnehmers ist erlaubt, falls danach noch die minimale Teilnehmerzahl für den Kurs erreicht wird.';
$setting->name = 'stornoMinTNanzahlPruefenAuto';
$setting->toolId = 4;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->subGroup = 'Stornieren';
$setting->description = 'Kursbeginn für das Stornieren überprüfen';
$setting->help = 'Stornieren des Teilnehmers ist erlaubt, falls der Kurs noch nicht begonnen hat.';
$setting->name = 'stornoKursBeginnPruefen';
$setting->toolId = 4;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);


$setting = new Setting();
$setting->subGroup = 'Stornieren';
$setting->description = 'Kursbeginn für das automatische Stornieren überprüfen';
$setting->help = 'Automatisches Stornieren des Teilnehmers ist erlaubt, falls der Kurs noch nicht begonnen hat.';
$setting->name = 'stornoKursBeginnPruefenAuto';
$setting->toolId = 4;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->subGroup = 'Stornieren';
$setting->description = 'Storno nur bis x Werktage vor Kursbeginn zulassen';
$setting->help = 'Das Stornieren des Teilnehmers ist nur bis zu x Werktagen vor Kursbeginn erlaubt. Ist das Feld leer oder 0, dann wird diese Einstellung nicht geprüft. Achtung: Diese Einstellung stellt eine Verschärfung der Einstellung "Kursbeginn für das Stornieren überprüfen" dar.';
$setting->name = 'stornoNurXTageVorher';
$setting->toolId = 4;
$setting->config->loadConfiguration(SC_INPUTNUMERIC);
$setting->config->size = 3;
$setting->config->maxLength = 3;
$setting->config->allowNegative = false;
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->subGroup = 'Stornieren';
$setting->description = 'Automatisches Storno nur bis x Werktage vor Kursbeginn zulassen';
$setting->help = 'Das automatische Stornieren des Teilnehmers ist nur bis zu x Werktagen vor Kursbeginn erlaubt. Ist das Feld leer oder 0, dann wird diese Einstellung nicht geprüft. Achtung: Diese Einstellung stellt eine Verschärfung der Einstellung "Kursbeginn für das automatische Stornieren überprüfen" dar.';
$setting->name = 'stornoNurXTageVorherAuto';
$setting->toolId = 4;
$setting->config->loadConfiguration(SC_INPUTNUMERIC);
$setting->config->size = 3;
$setting->config->maxLength = 3;
$setting->config->allowNegative = false;
array_push($settingsArray, $setting);


$setting = new Setting();
$setting->subGroup = 'Stornieren';
$setting->description = 'Kursabschluss für das Stornieren überprüfen';
$setting->help = 'Stornieren des Teilnehmers ist erlaubt, falls der Kursabschluss noch nicht gesetzt wurde.';
$setting->name = 'stornoKursAbschlussPruefen';
$setting->toolId = 4;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);


$setting = new Setting();
$setting->subGroup = 'Stornieren';
$setting->description = 'Kursabschluss für das automatische Stornieren überprüfen';
$setting->help = 'Stornieren des Teilnehmers ist erlaubt, falls der Kursabschluss noch nicht gesetzt wurde.';
$setting->name = 'stornoKursAbschlussPruefenAuto';
$setting->toolId = 4;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->subGroup = 'Stornieren';
$setting->description = 'Anmeldeende des Kurses für das Stornieren überprüfen';
$setting->help = 'Stornieren des Teilnehmers ist erlaubt, falls das Anmeldeende des Kurses noch nicht erreicht wurde.';
$setting->name = 'stornoKursAnmEndePruefen';
$setting->toolId = 4;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->subGroup = 'Stornieren';
$setting->description = 'Anmeldeende des Kurses für das automatische Stornieren überprüfen';
$setting->help = 'Stornieren des Teilnehmers ist erlaubt, falls das Anmeldeende des Kurses noch nicht erreicht wurde.';
$setting->name = 'stornoKursAnmEndePruefenAuto';
$setting->toolId = 4;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->description = 'Im Stammhörerlogin kann ein Stammhörer Teilnehmer von Kursen abmelden. Die Funktion zum Stornieren befindet sich im Menü "Meine Anmeldungen.<br />
Nach Drücken der Schaltfläche "Stornieren" öffnet sich ein Dialog, in dem ein oder mehrere Teilnehmer ausgewählt werden können und ein Stornogrund angegeben werden kann.
Durch Klick auf "Stornieren"  werden die Abmeldungen der Teilnehmer versendet.<br />

Eine Stornierung wird unter bestimmten Voraussetzungen vollautomatisch durchgeführt  d.h. die Belegungseinträge werden direkt (via XML Nachricht an die DMZ) in der 
Datenbank storniert. Eine Stornierung kann nur unter folgenden Bedingungen automatisch durchgeführt werden:<br />
- Direktbetrieb oder DMZ-Betrieb.<br />
- Es sprechen keine Hinderungsgründe gegen eine Stornierung.<br /><br />
Hierbei ist zu beachten:  Für welche  Kriterien überprüft werden soll, ob ein Storno bzw. automatisches Storno zulässig ist, ist einstellbar (siehe obige Einstellungen).<br />
Wenn Gründe gegen eine automatische Stornierung sprechen, wird eine E-Mail  mit dem Stornowunsch an die Einrichtung gesendet. Folgende Gründe sprechen 
gegen eine automatische Stornierung (falls die entsprechenden Kriterien zur Überprüfung gesetzt sind):<br />
- Der Teilnehmer ist nicht mit Status Angemeldet (A bzw. Leer) im Kurs oder nicht auf der Warteliste (Status W)<br />
- Es wurden bereits Rechnungen gedruckt oder Zahlungen getätigt<br />
- Der Teilnehmer ist Teil einer Mehrfach- oder Firmenanmeldung<br />
- Zum Teilnehmer sind Kinder im Kurs eingetragen<br />
- Die minimale Teilnehmeranzahl wird durch die Stornierung unterschritten<br />
- der Kurs hat bereits begonnen<br />
- der Anmeldeschluss für den Kurs ist bereits erreicht<br /> 
- der Kurs ist bereits abgeschlossen<br /><br />

<b>ACHTUNG:</b> Beim Stornieren im Stammhörerlogin wird - genauso wie in KuferSQL - für die Teilnehmer auf der Warteliste kein Platz reserviert und sie 
werden auch NICHT benachrichtigt.';
$setting->help = '';
$setting->subGroup = 'Informationen zum Stornieren von Belegungen';
$setting->toolId = 4;
$setting->config->loadConfiguration(SC_INFOTEXT);
array_push($settingsArray, $setting);