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

$sortId = 4;
$toolId = \ToolsAPI::TOOL_KURSVORSCHLAG_MA;
$objsettings = ToolSettingsAPI::getToolSettings($toolId);
$settingsArray = array();

$setting = new Setting();
$setting->name = 'kurseproseite';
$setting->description = 'Angezeigte Kurse pro Seite';
$setting->help = '';
$setting->subGroup = 'Einstellungen für die Anzeige der zu kopierenden Kurse';
$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 = 'Einstellungen für die Anzeige der zu kopierenden Kurse';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_RADIO);
$setting->config->items = array(
    'nr' => 'Kursnummer',
    'beginn_dat' => 'Beginndatum',
    'ende_dat' => 'Endedatum',
    '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 = 'Einstellungen für die Anzeige der zu kopierenden Kurse';
$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 = 'Einstellungen für die Anzeige der zu kopierenden Kurse';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_RADIO);
$setting->config->items = array(
    'nr' => 'Kursnummer',
    'beginn_dat' => 'Beginndatum',
    'ende_dat' => 'Endedatum',
    '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 = 'Einstellungen für die Anzeige der zu kopierenden Kurse';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_RADIO);
$setting->config->items = array(
    '1' => 'aufsteigend',
    '' => 'absteigend'
);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'kurskopie_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 = 'Einstellungen für die Anzeige der zu kopierenden Kurse';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'kurskopie_semester';
$setting->description = 'Kurse folgender Semester anzeigen';
$setting->help = 'Es können auch mehrere Semester gewählt werden.';
$setting->subGroup = 'Einstellungen für die Anzeige der zu kopierenden Kurse';
$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);

$settingsArray[] = \Kufer\Admin\Classes\Settings\Helper\Tools\KursStatusHelper::createKursStatusSetting($toolId, $objsettings, 'Einstellungen für die Anzeige der zu kopierenden Kurse', 'kurskopie_nurMitKursstatus');

$setting = new Setting();
$setting->name = 'kursKopieUebersichtAlsTabelle';
$setting->description = 'Stelle Kurse als Tabelle statt Panels dar';
$setting->help = '';
$setting->subGroup = 'Einstellungen für die Anzeige der zu kopierenden Kurse';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'kurskopie_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="kurskopie_knr_von" class="knr_label">Kursnummer von<input type="text" name="kurskopie_knr_von" class="knr_filter" id="kurskopie_knr_von" value="' . ($objsettings->kurskopie_useAbweichendeSemester ? $objsettings->kurskopie_knrVon : $objsettings->knrVon) . '"></label><br />'
    . '<label for="kurskopie_knr_bis" class="knr_label">Kursnummer bis<input type="text" name="kurskopie_knr_bis" class="knr_filter" id="kurskopie_knr_bis" value="' . ($objsettings->kurskopie_useAbweichendeSemester ? $objsettings->kurskopie_knrBis : $objsettings->knrBis) . '"></label>');
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'kurskopie_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 = 'kurskopie_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. Die Werte '
        . 'unter "bis" müssen hierbei größer oder 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="kurskopie_kurs_begVon" class="kursbeg_label"><input type="text" name="kurskopie_kurs_begVon" class="kursbeg_filter HasIncrDecr" id="kurskopie_kurs_begVon" value="' . $objsettings->kurskopie_kursBegVon . '"></label>'
    . '<label for="kurskopie_kurs_begBis" class="kursbeg_label">bis <input type="text" name="kurskopie_kurs_begBis" class="kursbeg_filter HasIncrDecr" id="kurskopie_kurs_begBis" value="' . $objsettings->kurskopie_kursBegBis . '"></label>',

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

$setting = new Setting();
$setting->description = 'Wenn kein Haken gesetzt ist, bekommen MitarbeiterInnen alle Kurse angezeigt.';
$setting->help = '';
$setting->subGroup = 'Kursberechtigungen für die Mitarbeiter';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_INFOTEXT);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'kurskopie_sameAussenst';
$setting->description = 'Nur Kurse der Außenstelle des Mitarbeiters anzeigen';
$setting->help = 'Wenn dieser Haken gesetzt ist, werden nur Kurse angezeigt, die die gleiche Außenstelle wie der Mitarbeiter haben. Die Einschränkung auf Außenstelle erfolgt nur, wenn beim Mitarbeiter eine Außenstelle eingetragen ist.';
$setting->subGroup = 'Kursberechtigungen für die Mitarbeiter';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'kurskopie_useBereichsRechte';
$setting->description = 'Bereichsrechte für die Kursauswahl benutzen';
$setting->help = 'Wenn dieser Haken gesetzt ist, werden nur die Kurse angezeigt, für die die Bereichsrechte gelten, die in KuferSQL in der Benutzerverwaltung 
  unter dem Reiter Bereichsrechte gesetzt wurden (Zum Beispiel Kurse, die in einem bestimmten Kursnummernbereich liegen, oder zu einer bestimmten Außenstelle
  gehören).';
$setting->subGroup = 'Kursberechtigungen für die Mitarbeiter';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'kurskopie_planend';
$setting->description = 'Geplante Kurse des Mitarbeiters anzeigen';
$setting->help = 'Wenn dieser Haken gesetzt ist, werden die Kurse angezeigt, die vom Mitarbeiter geplant werden.';
$setting->subGroup = 'Kursberechtigungen für die Mitarbeiter';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'kurskopie_verwaltend';
$setting->description = 'Verwaltete Kurse des Mitarbeiters anzeigen';
$setting->help = 'Wenn dieser Haken gesetzt ist, werden die Kurse angezeigt, die vom Mitarbeiter verwaltet werden.
  Wenn diese Einstellung gemeinsam mit "Geplante Kurse des Mitarbeiters anzeigen" gesetzt ist, werden die Kurse angezeigt, wo der Mitarbeiter verwaltend oder planend ist.';
$setting->subGroup = 'Kursberechtigungen für die Mitarbeiter';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);