<?php
/**
 * @copyright (c) Kufer Software GmbH, Loisachstrasse 4, D-84453 Mühldorf
 */

$sortId = 1;
$toolId = 0;

$settingsArray = array();

$setting = new Setting();
$setting->name = 'uploadpath';
$setting->description = 'Datei-Pfad für den Download/ Upload';
$setting->help = 'Es empfiehlt sich diesen Pfad auf dem Server absolut anzugeben '
        . '(z. B. ' . BASEDIR . 'ablage).<br />Der tatsächliche Ablageort unterhalb des hier '
        . 'angegebenen Pfades wird vom Programm automatisch berechnet (z. B. ../ablage/doz_8/Datei1.pdf).';
$setting->subGroup = 'Dokumente hochladen:';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_TEXTNORMAL);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'downloadpath';
$setting->description = 'URL für den Download/ Upload';
$setting->help = 'Hier <b>muss</b> der URL zum Ablageort der Dokumente auf dem Server absolut angegeben werden '
        . '(z. B. <b>https:</b>//www.meine-domain.de/kurse/ablage). Eine relative Pfadangabe führt im Allgemeinen zu '
        . 'Fehlern beim Download von Dokumenten.<br />Der tatsächliche Ablageort unterhalb des hier angegebenen Pfades '
        . 'wird vom Programm automatisch berechnet (z. B. ../ablage/doz_8/Datei1.pdf).';
$setting->subGroup = 'Dokumente hochladen:';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_TEXTNORMAL);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'downloadPathAbsoluteForRelative';
$setting->description = '<i>Absolute</i> URL für relative URLs';
$setting->help = 'Hier <b>muss</b> die URL zum Ablageort der Dokumente auf dem Server absolut angegeben werden <br/>'
  . '(z. B. <b>https:</b>//www.meine-domain.de/kurse/ablage). <br/>'
  . 'Diese wird verwendet, wenn das Original-Dokument referenziert wird durch eine relative URL. <br/>'
  . 'Diese Einstellung kann hilfreich sein, wenn aus KuferWEB hochgeladene Dokumente nicht in den '
  . 'KuferTools heruntergeladen werden können.';
$setting->subGroup = 'Dokumente hochladen:';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_TEXTNORMAL);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'uploadmaxsize';
$setting->description = 'maximale Größe in Bytes';

$postMaxSize = ini_get('post_max_size');
$postMaxSizeBytes = MathOperations::getInteger($postMaxSize);
$uploadMaxFilesize = ini_get('upload_max_filesize');
$uploadMaxFilesizeBytes = MathOperations::getInteger($uploadMaxFilesize);
$memoryLimit = ini_get('memory_limit');
$memoryLimitBytes = MathOperations::getInteger($memoryLimit);
$minimum = min(array($postMaxSizeBytes, $uploadMaxFilesizeBytes, $memoryLimitBytes));

$setting->help = 'Damit die Benutzer nicht beliebig große Dateien hochladen können, '
        . 'kann hier eine Maximalgröße vorgegeben werden (Default: 2097152 Bytes (2M)).<br />'
        . 'Der endgültige Wert für die Maximalgröße wird aus dieser Einstellung und aus den relevanten System Einstellungen '
        . 'Ihres Web-Servers berechnet.<br />Sollten die System Einstelllungen Ihres Web-Servers erhöht werden müssen, '
        . 'wenden Sie sich bitte an Ihren Provider.<br />Derzeitige Systemeinstellungen:<br />'
        . 'post_max_size = ' . $postMaxSizeBytes . ' (' . $postMaxSize . ')<br />'
        . 'upload_max_filesize = ' . $uploadMaxFilesizeBytes . ' (' . $uploadMaxFilesize . ')<br />'
        . 'memory_limit = ' . $memoryLimitBytes . ' (' . $memoryLimit . ')<br />'
        . '=> Minimum: ' . $minimum;

$setting->subGroup = 'Dokumente hochladen:';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_TEXTNORMAL);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'uploadmaxcount';
$setting->description = 'maximale Anzahl von Dokumenten, die gleichzeitig hochgeladen werden können';
$setting->subGroup = 'Dokumente hochladen:';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_INPUTNUMERIC);
$setting->config->size = 2;
$setting->config->maxLength = 3;
$setting->config->allowNegative = false;
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'fileUploadCheckMimeType';
$setting->description = 'Überprüfung ob der MIME-Type zur Dateiendung passt';
$setting->help = '';
$setting->subGroup = 'Dokumente hochladen:';

$setting->toolId = 0;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'dokuUploadAllowByExclude';
$setting->description = 'Erlaubte Dateiendungen für den Upload von Dokumenten';
$setting->subGroup = 'Dokumente hochladen:';
$setting->help = 'Gilt auch für den Upload von Dokumenten in KuferWEB. Siehe <a href="?action=settings&hardlink=file_system_anmeldungen">Einstellungen/System/Übermittlung der Anmeldungen</a></a>';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_RADIO);


$blackList4ExtSett = isset($this->uploadList['blackList']) ? $this->uploadList['blackList'] : '';
 
$whiteList4ExtSett = isset($this->uploadList['whiteList']) ? $this->uploadList['whiteList'] : '';

$setting->config->items = array(1 => 'Dateiendungen erlauben außer: ' . BR_WT . HTMLOperations::CreateInputTag('uploadBlacklist4Ext', 'text', '', 'allowedExt4Upload', $blackList4ExtSett) . '',
    '' => 'nur folgende Dateiendungen erlauben:' . BR_WT . HTMLOperations::CreateInputTag('uploadWhitelist4Ext', 'text', '', 'allowedExt4Upload', $whiteList4ExtSett));
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'imgUploadWhitelist';
$setting->description = 'Erlaubte Dateiendungen für den Upload von Bildern';
$setting->subGroup = 'Dokumente hochladen:';
$setting->help = 'Wird aktuell nur beim Hochladen in Tool persönliche Daten berücksichtigt.';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_TEXTNORMAL);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'useAllowedExt4Attach';
$setting->description = 'Einstellung zu erlaubten Dateiendungen für die Anhänge beim Versenden von E-Mails berücksichtigen';
$setting->help = 'Wird dieses Markierungsfeldes gesetzt, so werden auch die Dateianhänge beim Versenden von Nachrichten an Teilnehmer auf zulässige bzw. unzulässige Dateiendungen überprüft.';
$setting->subGroup = 'Dokumente hochladen:';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'bildUploadMaxSize';
$setting->description = 'Maximale Größe in Bytes';
$setting->help = 'Damit die Benutzer nicht beliebig große Dateien hochladen können, kann hier eine Maximalgröße vorgegeben werden '
        . '(Default: 2097152 Bytes (2M)).<br />Der endgültige Wert für die Maximalgröße wird aus dieser Einstellung und aus den '
        . 'relevanten System Einstellungen Ihres Web-Servers berechnet.<br />Sollten die System Einstelllungen Ihres Web-Servers '
        . 'erhöht werden müssen, wenden Sie sich bitte an Ihren Provider.<br />Derzeitige Systemeinstellungen:<br />'
        
        . 'post_max_size = ' . $postMaxSizeBytes . ' (' . $postMaxSize . ')<br />'
        . 'upload_max_filesize = ' . $uploadMaxFilesizeBytes . ' (' . $uploadMaxFilesize . ')<br />'
        . 'memory_limit = ' . $memoryLimitBytes . ' (' . $memoryLimit . ')<br />'
        . '=> Minimum: ' . $minimum;
$setting->subGroup = 'Bilder hochladen:';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_INPUTNUMERIC);
$setting->config->allowNegative = false;
$setting->config->onlyNumeric = true;
array_push($settingsArray, $setting);