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

$sortId = 1;
$toolId = \ToolsAPI::TOOL_ANMELDUNGBUCHEN_TN;

$objsettings = ToolSettingsAPI::getToolSettings($toolId);
$settingsArray = array();

$setting = new Setting();
$setting->description = 'Hinweis zu den angezeigten Kursen';
$setting->help = 'Bei der Anzeige der Kurse wird die Freigabe des Kurses für das Internet (KuferSQL / Kursstamm / Reiter WEB / Einstellungen) ber&uuml;cksichtigt.' . BR_WT . '
                    Falls der Teilnehmer sich nicht zu einem Kurs anmelden kann, wird dieser trotzdem angezeigt, allerdings wird der Anmeldebutton ausgegraut. ' . BR_WT . '
                    Mit einem Klick auf diesen wird ein Hinweis angezeigt, wieso die Anmeldung nicht durchgef&uuml;hrt werden kann. ' . BR_WT . '
                    Folgende Bedingungen verhindern eine Anmeldung:
                    <ul>
                      <li>Der Kurs ist auf Ausfall gesetzt</li>
                      <li>Für den Kurs ist &quot;Anmeldung&quot; per Internet auf &quot;nicht erlaubt&quot; gesetzt</li>
                      <li>Der Anmeldeschluss des Kurses wurde erreicht</li>
                      <li>Der Kurs ist bereits beendet</li>
                    </ul>';
$setting->subGroup = 'Kursübersicht';
$setting->toolId = $toolId;
$setting->className = 'tool14_hinweis_kurseanzeige';
$setting->config->loadConfiguration(SC_INFOTEXT);
array_push($settingsArray, $setting);

$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 = 'ignoreAnmeldArt';
$setting->description = 'Anmeldearten ignorieren';
$setting->help = 'auch Kurse anzeigen, die nicht für die Teilnehmeranmeldung freigegeben sind';
$setting->subGroup = 'Kursübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'seachMulipleAussenStellen';
$setting->description = 'Suche nach mehreren Aussenstellen ermöglichen';
$setting->subGroup = 'Kursübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'searchShowAllKriterienByDefault';
$setting->description = 'Alle Suchkriterien auf der Einstiegsseite sofort anzeigen';
$setting->subGroup = 'Kursübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'zeigeKategorienBeimEinstieg';
$setting->description = 'Kategoriebaum auf der Einstiegsseite anzeigen';
$setting->subGroup = 'Kursübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'zeigeSonderkategorienBeimEinstieg';
$setting->description = 'Sonderkategoriebaum auf der Einstiegsseite anzeigen';
$setting->subGroup = 'Kursübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
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',
    '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 = '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',
    '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 = '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);

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

$setting = new Setting();
$setting->name = 'showOnlyBookable';
$setting->description = 'Nur buchbare Kurse anzeigen';
$setting->help = 'Falls gesetzt, werden nur die Kurse angezeigt, die die folgenden Bedingungen erfüllen: <br />'
        . '- Pflichtangaben fehlen nicht<br>'
        . '- Kurs ist nicht ausgefallen<br>'
        . '- Kurs ist für Anmeldungen freigegeben<br>'
        . '- Die Anmeldeschluss für den Kurs ist nicht erreicht<br>'
        . '- Das Kursende ist nicht erreicht';
$setting->subGroup = 'Kursübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);


$setting = new Setting();
$setting->name = 'kennzOfTeilnehmerInKurs';
$setting->description = 'Nur Kurse mit Kennzeichen des Teilnehmers anzeigen';
$setting->help = 'Falls gesetzt, werden nur die Kurse angezeigt, wenn mindestens ein Kennzeichen des Kurses mit denen des Teilnehmers übereinstimmt.'
  . '<br>Hat der Kurs kein Kennzeichen wird dieser nicht angezeigt.'
  . '<br>Hat der Teilnehmer kein Kennzeichen, werden keine Kurse angezeigt.';
$setting->subGroup = 'Kursübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'filterGebuchteKurse';
$setting->description = 'Nur nicht gebuchte Kurse anzeigen';
$setting->help = 'Wenn diese Einstellung gesetzt ist, werden nur Kurse angezeigt für die, keine Teilnahme, keine Anmeldung oder keine Platzreservierung erfolgt ist.';
$setting->subGroup = 'Kursübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'disableGebuchteKurse';
$setting->description = 'Bereits gebuchte Kurse deaktivieren';
$setting->help = 'Wenn diese Einstellung gesetzt ist, werden wird die Anmeldung für Kurse deaktiviert bei denen, eine Teilnahme, eine Anmeldung oder eine Platzreservierung erfolgt ist.';
$setting->subGroup = 'Kursübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'ignoreInetAktiv';
$setting->description = '<i>Freigabe Web</i> des Kurses ignorieren';
$setting->subGroup = 'Kursübersicht';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$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 = '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);