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

use Kufer\Admin\Classes\Settings\Helper\Tools\LinkHelper;

$sortId = 1;
$toolId = \ToolsAPI::TOOL_KURSPLANUNG_DOZ;
$objsettings = ToolSettingsAPI::getToolSettings($toolId);
$settingsArray = array();

$settingsArray[] = LinkHelper::createHardlinkSettingItemToWssField(9, $toolId);

$setting = new Setting();
$setting->name = 'kurseproseite';
$setting->description = 'Angezeigte Kurse pro Seite';
$setting->help = '';
$setting->subGroup = 'Kursübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_INPUTNUMERIC);
$setting->config->size = 4;
$setting->config->maxLength = 4;
$setting->config->allowNegative = false;
$setting->config->HasIncrDecr = true;
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'sortkurse';
$setting->description = 'Erstes Sortierkriterium für Kurse';
$setting->help = '';
$setting->subGroup = 'Kursübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_RADIO);
$setting->config->items = array(
  'nr' => 'Kursnummer',
  'beginn_dat' => 'Beginndatum',
  'ort' => 'Kursort',
  'aussenst' => 'Aussenstelle',
  'beginn' => 'Beginn-Uhrzeit',
  'ende' => 'Ende-Uhrzeit',
);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'sortkurseasc';
$setting->description = 'Erstes Sortierkriterium auf- oder absteigend';
$setting->help = '';
$setting->subGroup = 'Kursübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_RADIO);
$setting->config->items = array(
  '1' => 'aufsteigend',
  '' => 'absteigend'
);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'sortkurse2';
$setting->description = 'Zweites Sortierkriterium für Kurse';
$setting->help = '';
$setting->subGroup = 'Kursübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_RADIO);
$setting->config->items = array(
  'nr' => 'Kursnummer',
  'beginn_dat' => 'Beginndatum',
  'ort' => 'Kursort',
  'aussenst' => 'Aussenstelle',
  'beginn' => 'Beginn-Uhrzeit',
  'ende' => 'Ende-Uhrzeit',
);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'sortkurseasc2';
$setting->description = 'Zweites Sortierkriterium auf- oder absteigend';
$setting->help = '';
$setting->subGroup = 'Kursübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_RADIO);
$setting->config->items = array(
  '1' => 'aufsteigend',
  '' => 'absteigend'
);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'useAbweichendeSemester';
$setting->description = 'Von den allgemeinen Semestereinstellungen abweichende Semester verwenden bzw. abweichende Vorbelegung des Kursfilters verwenden';
$setting->help = 'Falls gesetzt, werden die unten angegebenen Semestereinstellungen verwendet, ansonsten die unter Allgemein/Semestereinstellungen';
$setting->subGroup = 'Kursübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'semlist';
$setting->description = 'Kurse folgender Semester anzeigen';
$setting->help = 'Es können auch mehrere Semester gewählt werden.';
$setting->subGroup = 'Kursübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_MULTISELECT);
$setting->config->separator = ',';

$semapi = new SemesterHlAPI();
$semesterAry = $semapi->getSemester();
foreach ($semesterAry as $semester) {
  $items[$semester] = 'Semester \'<b>' . $semester . '</b>\'';
}
if (count($items) == 0) {
  $items[''] = 'Es sind keine Semester verfügbar! Bitte überprüfen Sie die
  Hinterlegung der Semester.';
}
$setting->config->items = $items;
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'keineAusgefallenenKurse';
$setting->description = 'Ausgefallene Kurse ausblenden';
$setting->help = '';
$setting->subGroup = 'Kursübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'keineAbgeschlossenenKurse';
$setting->description = 'Abgeschlossene Kurse ausblenden';
$setting->help = '';
$setting->subGroup = 'Kursübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'keineHauptkurse';
$setting->description = 'Hauptkurse von Kursreihen ausblenden';
$setting->help = '';
$setting->subGroup = 'Kursübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'keineKurseOhneFreigegebenemVertrag';
$setting->description = 'Kurse ohne freigegebenem Vertrag ausblenden';
$setting->help = 'Bewirkt, dass Kurse ohne Vertragsfreigabe nicht in der Kursübersicht angezeigt werden.';
$setting->subGroup = 'Kursübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$settingsArray[] = \Kufer\Admin\Classes\Settings\Helper\Tools\KursStatusHelper::createKursStatusSetting($toolId, $objsettings, 'Kursübersicht');

$settingsArray[] = \Kufer\Web\Admin\Classes\Settings\Helper\Tools\KursDozententypHelper::createKursDozententypSetting($toolId, 'Kursübersicht');

$setting = new Setting();
$setting->name = 'kursUebersichtAlsTabelle';
$setting->description = 'Stelle Kurse als Tabelle statt Panels dar';
$setting->help = '';
$setting->subGroup = 'Kursübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);



$setting = new Setting();
$setting->name = 'kursFilterVorbelegen';
$setting->description = 'Kursfilter vorbelegen';
$setting->subGroup = 'Kursfilter:';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_MULTISELECT);
$setting->config->items = array('W' => '<b>Kursfilter vorbelegen:</b><br /><label for="knr_von" class="knr_label">Kursnummer von<input type="text" name="knr_von" class="knr_filter" id="knr_von" value="' . $objsettings->knrVon . '"></label><br />'
    . '<label for="knr_bis" class="knr_label">Kursnummer bis<input type="text" name="knr_bis" class="knr_filter" id="knr_bis" value="' . $objsettings->knrBis . '"></label>');
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'ignoreKursBereichFromUser';
$setting->description = 'Benutzer kann den Kursnummernbereich nicht ändern';
$setting->help = 'Ist dieser Haken gesetzt, so werden die durch den Benutzer im Filterdialog auf der Kursübersicht gesetzten Filtereinstellungen für den Kursnummernbereich '
               . '(d.h. Kursnr von - bis) ignoriert. Es werden also weiterhin die im Web-Admin gesetzten Filtereinstellungen für den Kursnummernbereich beibehalten, auch wenn der '
               . ' Benutzer diese im Filterdialog ändern sollte. ';
$setting->subGroup = 'Kursfilter:';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'kursFilterKursbeginnVorbelegen';
$setting->description = 'Datumsbereich für den Kursbeginn ausgehend vom aktuellen Datum';
$setting->help = 'In den folgenden beiden Feldern ist die Anzahl der Tage bzw. Monate ausgehend vom '
        . 'aktuellen Datum in Vorwärts- bzw. Rückwärtsrichtung (negative Werte) anzugeben. Der Werte '
        . 'unter bis muss hierbei groesser gleich dem Wert unter von sein.';
$setting->subGroup = 'Kursfilter:';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_MULTISELECT);
$setting->config->items = array('T' => 'Tag von  <label for="kurs_begVon" class="kursbeg_label"><input type="text" name="kurs_begVon" class="kursbeg_filter HasIncrDecr" id="kurs_begVon" value="' . $objsettings->kursBegVon . '"></label>'
    . '<label for="kurs_begBis" class="kursbeg_label">bis <input type="text" name="kurs_begBis" class="kursbeg_filter HasIncrDecr" id="kurs_begBis" value="' . $objsettings->kursBegBis . '"></label>',

    'M' => 'Monat von  <label for="kurs_begMonatVon" class="kursbegMonat_label"><input type="text" name="kurs_begMonatVon" class="kursbegMonat_filter HasIncrDecr" id="kurs_begMonatVon" value="' . $objsettings->kursBegMonatVon . '"></label>'
    . '<label for="kurs_begMonatBis" class="kursbeg_label">bis <input type="text" name="kurs_begMonatBis" class="kursbegMonat_filter HasIncrDecr" id="kurs_begMonatBis" value="' . $objsettings->kursBegMonatBis . '"></label>');
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'showAllHinterlegungenFilter';
$setting->description = 'Alle Optionen der Hinterlegungen bei Kursfilter anzeigen';
$setting->help = 'Dies kann bei wenig Hinterlegungen, den Dialog schneller erscheinen lassen. Jedoch gibt es dann Optionen im Dialog, die zu keinem Resultat führen werden.';
$setting->subGroup = 'Kursfilter:';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'kurstageAktivLehrendDozentVorbelegen';
$setting->description = '"Aktiv Lehrend" in Filter vorbelegen';
$setting->help = '';
$setting->subGroup = 'Kursfilter:';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);



$settingsArray[] = \Kufer\Admin\Classes\Settings\Helper\Tools\LinkHelper::createHardlinkSettingItemToToolSetting(
  'doz_kursplanung_kurs_bearbeiten',
  'E-Mail-Benachrichtigungen nach Änderung von Kurs-/Termindaten versenden',
  $toolId,
  'Einstellungen für E-Mail Benachrichtungen'
);