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

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

$setting = new Setting(); 
$setting->name = 'changepwd';
$setting->description = 'Passwort ändern ermöglichen';
$setting->help = 'Diese Option gibt an, ob den Benutzern in KuferTools der Menüpunkt "Passwort ändern" angezeigt wird.<br>

Ob auf der Login-Seite der KuferTools der Menüpunkt "Passwort anfordern" erscheint, kann in den zentralen Einstellungen der KuferTools 
unter "Allgemein / Menüleiste / Menü der Login-Seite" eingestellt werden.<br>

Ob ein Webadmin-Benutzer unter "Übersicht / Passwort ändern" sein Passwort ändern kann, wird im Webadmin unter "Übersicht / Benutzeradministration" eingestellt.';
$setting->subGroup = 'Sicherheit';
$setting->toolId = -1;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'info';
$setting->description = 'Falls Änderungen an den Voraussetzungen für Passwörter vorgenommen werden, '
        . 'sollten die KuferWEB-Sichten überprüft werden, ob die Statusmeldungen im Fehlerfall erweitert werden müssen. '
        . 'Die Meldungen, welche dieser Anforderungen das Passwort nicht erfüllt, wird in den Sichten ausgegeben, und mit folgenden Variablen abgefragt: '
        . '<ul><li>{%sys_login_password_bedingung_laenge%}</li>'
        . '<li>{%sys_login_password_bedingung_nummern%}</li>'
        . '<li>{%sys_login_password_bedingung_kleinbuchstabe%}</li>'
        . '<li>{%sys_login_password_bedingung_grossbuchstabe%}</li>'
        . '<li>{%sys_login_password_bedingung_sonderzeichen%}</li></ul>'
        . 'Es sind möglicherweise folgende Sichten betroffen:'
        . '<ul><li>Login und Registrierung (Nr. 482)</li>'
        . '<li>Passwort ändern (Nr. 241)</li>'
        . '<li>Passwort vergessen - Step 2 (Nr. 438)</li>'
        . '<li>Login und Registrierung - individuell (Nr. 525)</li></ul>';
$setting->help = '';
$setting->subGroup = 'Sicherheit';
$setting->toolId = 0;
$setting->config->loadConfiguration(SC_INFOTEXT);
$setting->config->size = 3;
$setting->config->maxLength = 3;
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'pwdMinLength';
$setting->description = 'Mindestlänge für Passwörter';
$setting->help = '';
$setting->subGroup = 'Sicherheit';
$setting->toolId = 0;
$setting->config->loadConfiguration(SC_INPUTNUMERIC);
$setting->config->size = 3;
$setting->config->maxLength = 3;
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'pwdSpecialCharsRequired';
$setting->description = 'Passwort muss Sonderzeichen enthalten';
$setting->help = 'Beispiele: ' . PW_SPECIALCHARS;
$setting->subGroup = 'Sicherheit';
$setting->toolId = 0;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'pwdNumbersRequired';
$setting->description = 'Passwort muss Ziffern enthalten';
$setting->help = '';
$setting->subGroup = 'Sicherheit';
$setting->toolId = 0;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'pwdLowerUpperRequired';
$setting->description = 'Passwort muss Klein- und Großbuchstaben enthalten';
$setting->help = 'Ist diese Einstellung nicht gesetzt, müssen gar keine Buchstaben enthalten sein.';
$setting->subGroup = 'Sicherheit';
$setting->toolId = 0;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting(); 
$setting->name = 'encrypt';
$setting->description = 'Kontoinformationen in XML-E-Mails/Dateien verschlüsseln';
$setting->help = 'Diese Option verschlüsselt die Kontonummer für den sicheren Transfer zwischen ' . KUFERWEB . '/' . KUFERTOOLS . ' und ' . KUFERSQL;
$setting->subGroup = 'Sicherheit';
$setting->toolId = 0;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'encryptXML';
$setting->description = 'Anmeldedaten (XML-E-Mails/Dateien) vollständig verschlüsseln';
$setting->help = 'Diese Funktion ist ergänzend zum SSL-Zertifikat. Die Verschlüsselung codiert alle eingegebenen Daten der Anmeldung in eine nur von Ihnen bzw. nur von Ihrem Verwaltungsprogramm zu entschlüsselnde Zeichenfolge. Die nötigen Schlüsselpaare müssen in KuferSQL unter Web / Hinterlegungen für die Web-Anbindung / Verschlüsselung der E-Mail-Anmeldungen aus KuferWEB hinterlegt werden.';
$setting->subGroup = 'Sicherheit';
$setting->toolId = 0;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'wbXsrf';
$setting->description = 'Stammhörer vor XSRF-Angriffen schützen';
$setting->help = '<p>Vorsicht: Vor der Verwendung müssen bestimmte HMTL-Formulare und -Links um bestimmte Sicht-Variablen erweitert werden. Bitte nach dem Aktivieren die einzelnen Funktionen Testen. (weitere Informationen in Planungseintrag 20633):</p>'
                 . '<p>Stammhörer-Loginformular:<br> &{%sys_xsrfgetparam:doWbLogin%}</p>'
                 . '<p>Stammhörer Passwort ändern (zwei Stellen):<br> &{%sys_xsrfgetparam:wbPwChange%}</p>'
                 . '<p>Stammhörer Daten ändern:<br> &{%sys_xsrfgetparam:wbLoginChange%}</p>'
                 . '<p>Stammhörer Bankdaten ändern:<br> &{%sys_xsrfgetparam:wbAendereBankdaten%}</p>'
                 . '<p>Stammhörer Bankdaten löschen:<br> &{%sys_xsrfgetparam:wbLoescheBankdaten:_:%bv_id%%}</p>'
                 . '<p>Stammhörer aktuelle Bank auswählen:<br> &{%sys_xsrfgetparam:wbVerwendeBankdaten:_:%bv_id%%}</p>'
                 . '<p>Merkliste hinzufügen (bei Link per {%k_sbtn_mladd%} automatisch enthalten):<br> &{%sys_xsrfgetparam:WbMerklisteAdd:_:%k_id%%}</p>'
                 . '<p>Merkliste entfernen (bei Link per {%k_sbtn_mldel%} automatisch enthalten):<br> &{%sys_xsrfgetparam:WbMerklisteDel:_:%k_id%%}</p>';
$setting->subGroup = 'Sicherheit';
$setting->toolId = 0;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'wbPwVergessenVorRateAngriffSchuetzen';
$setting->description = 'Stammhörer Passwort-Vergessen-Formular vor Rate-Angriffe schützen';
$setting->help = '<p>Ist diese Einstellung gesetzt, wird beim Anfordern eines neuen Passworts immer zurückgegeben, dass die E-Mail mit dem Aktivierungslink erfolgreich gesendet wurde. Auch wenn das Login nicht existiert, oder die E-Mail nicht versendet werden konnte.</p>'
        . '       <p>Dadurch wird verhindert, dass mithilfe der Passwort-Vergessen-Funktion ermittelt werden kann, welche Logins es tatsächlich gibt.</p>'
        . '       <p>Allerdings bekommen die Stammhörer auch keine korrekte Rückmeldung, ob das Login korrekt angegeben wurde, oder die E-Mail versendet werden konnte.</p>';
$setting->subGroup = 'Sicherheit';
$setting->toolId = 0;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'wbSichereStatusmeldungenDeaktivieren';
$setting->description = 'sichere Statusmeldungen deaktivieren';
$setting->help = '<p>Registriert sich jemand als Stammhörer und sein Loginname ist bereits vergeben, sein Passwort ist falsch oder Ähnliches, '
        . 'so werden dafür bei gesetztem Schalter spezielle Hinweismeldungen ausgegeben werden, welches Problem genau besteht. '
        . 'Der Nachteil davon ist jedoch, dass es so für Hacker einfacher wird, das richtige Login und Passwort durch Ausprobieren zu erraten.</p>'
        . '<p>Eine Auswirkung auf etwaige in der Sicht selbst angegebenen Variablen hat diese Einstellung nicht, sondern nur auf die automatisch erzeugten Hinweismeldungen.</p>';
$setting->subGroup = 'Sicherheit';
$setting->toolId = 0;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'filterAllHtmlFields';
$setting->description = 'Keine Ausnahmen beim HTML-Filter zulassen';
$setting->help = '<p>Bei bestimmten Feldern wird standardmäßig nicht geprüft, ob potentiell gefährliches HTML enthalten ist. '
                  . 'Dies ermöglicht das Einbetten von z. B. Google-Maps-Karten oder YouTube-Videos, kann jedoch auch von sogenannten XSS-Angriffen ausgenutzt werden.</p>'
                  . '<p>Wenn Sie diese Einstellung aktivieren, wird die Sicherheit Ihrer Seite erhöht. Sie können in den betroffenen Feldern HTML jedoch nur noch eingeschränkt verwenden.</p>'
                  . '<p>YouTube-I-Frames sind im Web-Ankündigungstext und in der Kategorienbeschreibung weiterhin freigegeben.</p>'
                  . '<p>Betroffene Felder sind: Kurs-(Web-)Ankündigungstext</p>';
$setting->subGroup = 'Sicherheit';
$setting->toolId = 0;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'SSLLogin';
$setting->description = 'Im Webadmin und, falls vorhanden, in den KuferTools eine verschlüsselte Verbindung verwenden (empfohlen)';
$setting->help = 'Das SSL-Zertifikat ist eine Möglichkeit Ihre Login-Daten sowie den Datenaustausch während einer Sitzung '
                 . 'zu schützen. Bei der Nutzung von SSL werden alle Login-Daten und alle Einstellungen und Anpassungen, die Sie während der Sitzung vornehmen, '
                 . 'auf dem Weg des von Ihnen verwendeten PCs zu Ihrem Web-Server, auf dem ' . KUFERWEB . ' und ggf. ' . KUFERTOOLS . ' installiert sind, verschlüsselt. '
                 . 'Ein SSL-Zertifikat können Sie bei Ihrem Provider erwerben.';
$setting->subGroup = 'Sicherheit';
$setting->toolId = 0;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'SSLAnmeldung';
$setting->description = 'Anmeldung in ' . KUFERWEB . ' über eine SSL-Verbindung abwickeln (empfohlen wenn kein TYPO3 verwendet wird)';
$setting->help = 'Das SSL-Zertifikat ist eine Möglichkeit für Ihre Teilnehmer die personenbezogenen Daten zu schützen. Bei der Nutzung von SSL werden alle Daten, die bei der Anmeldung eingegeben werden, auf dem Weg vom PC des Teilnehmers zu Ihrem Web-Server, auf dem ' . KUFERWEB . ' installiert ist, verschlüsselt. Ein SSL-Zertifikat können Sie bei Ihrem Provider erwerben.

Falls TYPO3 eingesetzt wird, so sollte für den Warenkorb in den TYPO3-Seiteneigenschaften unter Verhalten bei "Benutze Protokoll" "HTTPS" ausgewählt werden.';
$setting->subGroup = 'Sicherheit';
$setting->toolId = 0;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'serverName';
$setting->description = 'Servername (Domain der Seite <b>ohne</b> SSL)';
$setting->help = 'z.B. \'\'www.vhs-demohausen.de\'\', ohne Protokoll (http://).';
$setting->subGroup = 'Sicherheit';
$setting->toolId = 0;
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'SSLserverName';
$setting->description = 'SSL-Servername (Domain der Seite mit SSL)';
$setting->help = 'z.B. \'\'www.vhs-demohausen.de:443\'\' oder \'\'www.ssl-id.de/vhs-demohausen.de\'\', ohne Protokoll (https://).';
$setting->subGroup = 'Sicherheit';
$setting->toolId = 0;
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'SSLserverNameTools';
$setting->description = 'SSL-Servername (KuferTools) (Domain der Seite mit SSL)';
$setting->help = 'Wenn nichts eingetragen ist, dann wird die URL, die unter SSL-Servername angegeben ist, verwendet.<br />'
        . 'Z.B. \'\'www.webtools.vhs-demohausen.de:443\'\' oder \'\'www.ssl-id.de/webtools.vhs-demohausen.de\'\', ohne Protokoll (https://).';
$setting->subGroup = 'Sicherheit';
$setting->toolId = 0;
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'sessionDomain';
$setting->description = 'Domain für Session-Cookies';
$setting->help = 'Falls der normale und der SSL-Auftritt in zwei verschiedenen Subdomains laufen, lässt sich hier die gemeinsame Domain eintragen
z.B. \'\'www.vhs-demohausen.de\'\' und \'\'ssl.vhs-demohausen.de\'\', dann hier \'\'vhs-demohausen.de\'\' eintragen.';
$setting->subGroup = 'Sicherheit';
$setting->toolId = -1;
array_push($settingsArray, $setting);