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

$sortId = 5;
$settingsArray = array();


$setting = new Setting();
$setting->name = 'ENCODING';
$setting->description = KUFERWEB;
$setting->help = 'Diese Einstellung betrifft Webauftritt, ' . KUFERTOOLS . ' und Webadmin';
$setting->subGroup = 'Zeichenkodierung';
$setting->config->loadConfiguration(SC_RADIO);
$setting->config->items = array(
  'Windows-1252' => 'Windows-1252',
  'UTF_8' => 'UTF-8 (Standard)'
);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'INDEXSCRIPT';
$setting->description = 'Name für das Indexscript (Einstiegsseite)';
$setting->help = 'Ist normalerweise index.php; wird umbenannt wenn als Einstiegsseite ein Skript 
zum Setzen von Cookies verwendet wird; dann wird dieses Skript zum Cookiesetzen
nämlich  als "index.php" ausgeliefert';
$setting->subGroup = 'Allgemein';
array_push($settingsArray, $setting);


$setting = new Setting();
$setting->name = 'CONTENTTYPE';
$setting->description = 'Einstellung zur verwendeten HTML Version';
$setting->help = 'Diese Einstellung beeinflusst die Ausgabe von ' . KUFERWEB . ' generierten HTML-Elementen
z.B. &#60br&#62, &#60img&#62 oder &#60input&#62';
$setting->subGroup = 'Allgemein';
$setting->config->loadConfiguration(SC_RADIO);
$setting->config->items = array(
  'XHTML' => 'XHTML (Standard mit Typo3)',
  'HTML' => 'HTML'
);
array_push($settingsArray, $setting);

if (DBWorkBASysSettings::isUnnaVhs() || DBWorkBASysSettings::isKoelnErzbistum()) {
  $setting = new Setting();
  $setting->name = 'KW_INTRANET';
  $setting->description = 'KuferWEB im Intranet';
  $setting->help = 'Wenn diese Option gesetzt ist, werden in KuferWEB nur die Kurse angezeigt, die für das Intranet freigegeben sind.';
  $setting->subGroup = 'Allgemein';
  $setting->config->loadConfiguration(SC_CHECKBOX);
  array_push($settingsArray, $setting);
}

$setting = new Setting();
$setting->name = 'SESSION_PREFIX';
$setting->description = 'Session - Präfix für ' . KUFERWEB;
$setting->help = 'Hier wird das Session - Präfix für ' . KUFERWEB . ' definiert.
Es wird zunächst allen Variablen das allgemeine Präfix vorangestellt. 
Danach folgt die Unterteilung in einzelne Sektionen. Bei Bedarf können die
Einstellungen geändert werden (z.B. bei paralleler Installation mehrerer 
' . KUFERWEB . ' - Auftritte oder bei Kollisionen mit anderen Anwendungen).';
$setting->subGroup = 'Allgemein';
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'KW_BOOTSTRAP';
$setting->description = 'Bootstrap Layout';
$setting->help = 'Wenn diese Option gesetzt ist, werden bei vielen Elementen Bootstrap Klassen mit ausgegeben.';
$setting->subGroup = 'Allgemein';
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'KW_BOOTSTRAP4';
$setting->description = 'Bootstrap 4 Layout';
$setting->help = 'Wenn diese Option gesetzt ist, werden bei vielen Elementen Bootstrap Klassen der Version 4 mit ausgegeben. Die Option "Bootstrap Layout" muss gesetzt sein!';
$setting->subGroup = 'Allgemein';
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'KW_BOOTSTRAP5';
$setting->description = 'Bootstrap 5 Layout';
$setting->help = 'Wenn diese Option gesetzt ist, werden bei vielen Elementen Bootstrap Klassen der Version 5 mit ausgegeben. Die Option "Bootstrap Layout" muss gesetzt sein!';
$setting->subGroup = 'Allgemein';
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'T3_BASEURL';
$setting->description = 'BaseURL aktiviert';
$setting->help = 'Die Option muss gesetzt werden, wenn im TYPO3 Setup statt absRefPrefix noch baseURL verwendet wird!';
$setting->subGroup = 'Allgemein';
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'KW_JQUERY_SELECT';
$setting->description = 'jQuery Chosen';
$setting->help = 'Wenn diese Option gesetzt ist, steht in den Auswahlboxen (Select) ein Suchfeld zur Verfügung. Siehe: https://harvesthq.github.io/chosen/';
$setting->subGroup = 'Allgemein';
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'CURRENCY';
$setting->description = 'Währung';
$setting->help = 'Gibt das Währungskürzel an. Mögliche Werte sind z. B. EUR, CHF oder &amp;euro;';
$setting->config->loadConfiguration(SC_INPUTHTML);
$setting->subGroup = 'Allgemein';
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'KW_MULTILANG_NODEFAULT';
$setting->description = 'Mehrsprachigkeit Standardwerte';
$setting->help = 'Leere Werte in einer Nicht-Standardsprache werden übernommen. Beispiel: Wenn der Infotext in der Nicht-Standardsprache (englisch) nicht gefüllt ist, wird kein Infotext ausgegeben. Ist der Haken nicht gesetzt, werden statt den leeren Werten in der Nicht-Standardsprache die Werte der Standardsprache (deutsch) ausgegeben.';
$setting->config->loadConfiguration(SC_CHECKBOX);
$setting->subGroup = 'Allgemein';
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'KW_IBAN_LENGTH';
$setting->description = 'Anzahl Stellen IBAN';
$setting->help = 'Hier können Sie angeben, wie lang die IBAN maximal sein darf. Standard sind 22 Stellen für Deutschland, womit auch Österreich (20) abgedeckt ist.';
$setting->config->loadConfiguration(SC_INPUTHTML);
$setting->subGroup = 'Allgemein';
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'VALIDATE_PATTERN_TEL';
$setting->description = 'Telefonnummernvalidierung';
$setting->help = 'Hier können Sie einen sogenannten regulären Ausdruck angeben, mit dem dann Telefon-/Mobil- und Faxnummern geprüft werden. Z.B. mit /^(((00|\\+)\\d{2} )|(0))([1-9]\\d{1,3})( \\d{1})? (\\d*\\-?\\d*)$/ können Sie Telefonnummern angelehnt an die in Deutschland übliche DIN 5008 validieren (Beispiele: 08631 185990, 08631 18599-0, +49 8631 18599-0, 0049 8631 18599-0).';
$setting->config->loadConfiguration(SC_INPUTHTML);
$setting->subGroup = 'Allgemein';
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'DEBUGANMELDUNG';
$setting->description = 'Anmeldungen in Kurzform mitprotokollieren';
$setting->help = 'Wenn aktiv, werden Anmeldungen in die Datei Anmeldelog.txt im Logverzeichnis protokolliert.';
$setting->subGroup = 'Allgemein';
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'SPLITMEHRFACHANMELDUNG';
$setting->description = 'Bei Mehrfachanmeldungen die Ermäßigung des Hauptteilnehmers nicht für weitere Personen verwenden';
$setting->help = 'Mehrfachanmeldungen können nun in einzelne Anmeldungen aufgeteilt werden. Dadurch wird eine Ermäßigung des Hauptteilnehmers nicht auf weitere Teilnehmer angewendet. '
        . 'Die Daten des Hauptteilnehmers werden dann als abweichender Zahler bei den weiteren Personen ergänzt. E-Payment ist bei Mehrfachanmeldungen nur möglich, wenn die Anmeldung nicht aufgeteilt wird. '
        . '<en style="color: black">Vereinfachte Mehrfachanmeldungen werden nicht aufgeteilt. Die hier getroffene Einstellung wird dann ignoriert.</en>';
$setting->subGroup = 'Allgemein';
$setting->config->loadConfiguration(SC_RADIO);
$setting->config->items = array(
   WB_SPLITMEHRFACHANMELDUNG_NIE => 'Mehrfachanmeldungen immer als Mehrfachanmeldung an KuferSQL übergeben',
   WB_SPLITMEHRFACHANMELDUNG_FALLS_ERMAESSIGT => 'Mehrfachanmeldungen nur aufteilen, wenn der Hauptteilnehmer eine Ermäßigung im Anmeldeformular angegeben hat',
   WB_SPLITMEHRFACHANMELDUNG_IMMER => 'Mehrfachanmeldungen immer aufteilen (es könnte eine Ermäßigung für den Hauptteilnehmer in KuferSQL hinterlegt sein)'
);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'SECOND_QUERY_FOR_STICHWORT';
$setting->description = 'Suche nach Stichworten anders lösen';
$setting->help = 'Kann weiterhelfen, wenn die Suche nach Stichworten/Schlagworten recht lange dauert. Hier wird eine zusätzliche SQL Abfrage ausgelöst, was die Performanz auf manchen MySQL Servern steigert.';
$setting->subGroup = 'Allgemein';
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'DEBUG_FILE_SIZE';
$setting->description = 'Maximale Größe der Debug-Logdatei';
$setting->help = 'Hier kann eingestellt werden wie groß die Debug-Logdatei werden darf.';
$setting->subGroup = 'Allgemein';
$setting->config->loadConfiguration(SC_TEXTNORMAL);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'KUFERSQL_BILDER_BASEDIR';
$setting->description = 'Basisverzeichnis für hochgeladene Bilder';
$setting->help = 'Falls die aus KuferSQL hochgeladenen Bilder nicht direkt in die KuferWEB Installation hochgeladen werden, so ist hier der entsprechende Pfad einzutragen. '
        . 'Die Ordner "webbasys/bilder/" werden noch von KuferWEB angehängt. Der Pfad sollte absolut angegeben werden.';
$setting->subGroup = 'Pfade';
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'KUFERWEB_BILDER_LINKPREFIX';
$setting->description = 'Link-Präfix für hochgeladene Bilder';
$setting->help = 'Ermöglicht es, den Beginn des Pfads für das img Tag src Attribut anzugeben - in manchen Installationen nötig. Hier wird noch das Präfix "bilder/" angehängt';
$setting->subGroup = 'Pfade';
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'KUFERSQL_DOKUMENTEWEB_BASEDIR';
$setting->description = 'Basisverzeichnis für automatisch hochgeladene Dokumente';
$setting->help = 'Pfad zur Ablage der aus KuferSQL hochgeladenen Dokumente. Muss relativ zum webbasys-Verzeichnis angegeben werden. (Default = "webbasys/dokumente")';
$setting->subGroup = 'Pfade';
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'LOG_DIR';
$setting->description = 'Logverzeichnis';
$setting->help = 'Pfad zum Logverzeichnis (ohne abschließenden (Back-)Slash). Kann auch relativ zum webbasys Verzeichnis angegeben werden (z.B. ../log)';
$setting->subGroup = 'Pfade';
$setting->dontWriteToUserConstantsIfEmpty = true;
array_push($settingsArray, $setting);

$setting = new Setting();
if (!\Kufer\Web\Classes\KwResourceLocator::fileExists()) {
  $setting->name = 'WEBTOOLS_SETTINGS_PATH';
  $setting->description = 'Konfigurationsverzeichnis';
  $setting->help = 'Pfad zum globalen Konfigurationsverzeichnis der Web-Anwendung, das z.B. die Datenbank- und SMTP-Zugangsdaten, 
  Webadmin-Userdaten etc. enthält (ohne abschließenden (Back-)Slash). Kann auch relativ zum Basisverzeichnis angegeben werden z.B: webtools/config';
  $setting->dontWriteToUserConstantsIfEmpty = true;
} else {
  $setting->description = 'Aktueller Pfad zum globalen Konfigurationsverzeichnis der Web-Anwendung:<br />' . ConstantOperations::getPathForCoreSettings();
  $setting->config->loadConfiguration(SC_INFOTEXT);
}
$setting->subGroup = 'Pfade';
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'KW_CACHE_DIR';
$setting->description = 'Cacheverzeichnis';
$setting->help = 'Pfad zum Cacheverzeichnis (ohne abschließenden (Back-)Slash). Kann auch relativ zum webbasys Verzeichnis angegeben werden (z.B. ../log/cache)';
$currDirName = ConstantOperations::getPathForKwCache();
if (!FSOperations::isDirWriteable($currDirName)) {
  $setting->help .= BR . '<strong style="color:red;">ACHTUNG</strong>: der aktuelle Pfad existiert nicht, oder ist nicht schreibbar: ' . $currDirName
          . BR . '<strong style="color:red;">Das Caching wird so nicht funktionieren!</strong>';
}
$setting->subGroup = 'Pfade';
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'SEITEN_BLAETTERN_DELIMITER';
$setting->description = 'Trenner für die Seitenauswahl-Leiste';
$setting->help = 'Hier kann eingestellt werden, welches Trennzeichen und ob bzw. wie viele Leerzeichen davor und dahinter angezeigt werden sollen.';
$setting->subGroup = 'Allgemein';
$setting->config->loadConfiguration(SC_INPUTHTML);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'SERVER_PFAD';
$setting->description = 'Pfad zur Indexdatei auf dem Server';
$setting->help = 'Wird derzeit ausgewertet, um den Link für Double-Opt-ins zum Beispiel bei Newsletterfunktion und Stammhörer-Registrierung zu generieren, '
    . 'falls der Serverpfad nicht selbständig berechnet werden kann. Bei Installationen mit CMS kann dies zum Beispiel www.ihreseite.de/index.php sein. ' . BR
    . 'Beispiel fürs Format: www.ihreseite.de/kurse/webbasys/index.php';
$setting->subGroup = 'Pfade';
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'SHOW_LEFTMENU';
$setting->description = 'Linkes Menü anzeigen';
$setting->help = 'Legt fest, ob die Seitennavigation angezeigt werden soll';
$setting->subGroup = 'Struktur';
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'NO_MENUE_DIV';
$setting->description = 'Kein DIV um Navigationsmenü ausgeben';
$setting->help = 'Wenn aktiv, wird um das Navigationsmenü kein div mit der 
Klasse "menue" ausgegeben.';
$setting->subGroup = 'Struktur';
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'REMOVE_DIV_HAUPTSEITE_OHNE_STATUS';
$setting->description = 'Das Div mit der Klasse "hauptseite_ohnestatus" entfernen';
$setting->help = 'Wenn diese Option gesetzt ist, wird das Div mit der Klasse "hauptseite_ohnestatus" entfernt.';
$setting->subGroup = 'Struktur';
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'ANKER_NAME_CONTENT';
$setting->description = 'Name für das id Attribut des a Elements (Anker)';
$setting->help = 'Name, der für das id Attribut des a Elements verwendet wird, wenn unter <a href="index.php?action=settings&sub1=3&sub2=12#allgemein">Einstellungen / Layout / Navigationsmenü/Kategorien / Allgemein "Sprungmarke (Anker) für den Inhaltsbereich ausgeben:"</a> aktiviert ist.';
$setting->subGroup = 'Struktur';
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'NO_CLEAR_BEFORE_HAUPTSEITE_KURSE';
$setting->description = 'Clearendes DIV nach den "Kategorien", "Demnächst" und "erfolgloser Suche" unterdrücken';
$setting->help = 'Wenn aktiv, wird kein "&lt;div style=clear: left;&gt;" mehr ausgegeben.';
$setting->subGroup = 'Struktur';
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'WEITEREMPFEHLEN_KATHAUPT';
$setting->description = 'Weiterempfehlen-Link, RSS-Link';
$setting->help = 'Aktion beim Klick auf den Link in der Kursübersicht/details, RSS-Kursliste.';
$setting->subGroup = 'Struktur';
$setting->config->loadConfiguration(SC_RADIO);
$setting->config->items = array(
   11 => 'Kursdetails &ouml;ffnen',
   12 => 'Kursdetails und Kurstermine &ouml;ffnen'
);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'KTOPRUEF_TYP';
$setting->description = 'Kontoprüfroutine';
$setting->help = 'Art, wie Kontonummern und Bankleitzahlen ausgewertet werden sollen';
$setting->subGroup = 'Sonstiges';
$setting->config->loadConfiguration(SC_RADIO);
$setting->config->items = array(
   'webservice' => 'Webservice (empfohlen)',
   'local_files' => 'Lokale Dateien',
   'no_check' => 'Keine Überprüfung'
);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'KTOPRUEF_AUSLAENDISCHE_BIC_VEREINFACHT';
$setting->description = 'Vereinfachte BIC-Prüfung ausländischer BIC';
$setting->help = 'BIC aus dem Ausland 
  werden nicht mit dem unter Kontoprüfroutine eingestellten Verfahren, sondern anhand
  allgemeiner Regeln überprüft. Damit können ausländische BIC, welche nicht im 
  Bankleitzahlenverzeichnis aufgeführt werden, trotzdem als gültig anerkannt werden.';
$setting->subGroup = 'Sonstiges';
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);