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

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

$sortId = 3;
$toolId = \ToolsAPI::TOOL_KURSPLANUNG_MA;

$settingsArray = array();
$objsettings = ToolSettingsAPI::getToolSettings(\ToolsAPI::TOOL_KURSPLANUNG_MA);

array_push($settingsArray, LinkHelper::createHardlinkSettingItemToWssField(242, $toolId));

$subGroup = 'Darstellung der Teilnehmer';

$setting = new Setting();
$setting->name = 'showTnPictures';
$setting->description = 'Zeige Teilnehmerbilder, wenn die Maus über Name oder Vorname steht';
$setting->subGroup = $subGroup;
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
$setting->config->size = 20;
$setting->config->maxLength = 20;
$setting->config->allowNegative = false;
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'tnstatus';
$setting->description = 'Einschränkung der Teilnehmer auf  Belegungsstatus';
$setting->help = 'Wenn kein Status angegeben ist, werden alle Teilnehmer ohne Berücksichtigung ihrer Status angezeigt.';
$setting->subGroup = $subGroup;
$setting->toolId = $toolId;
$setting->config->separator = '';
$setting->config->loadConfiguration(SC_MULTISELECT);
$dbhlstatKZ = new DBWorkHLStatusKZ();
$hlstatAry = $dbhlstatKZ->getAll();
$mitFirma = true;
foreach ($hlstatAry as $hlstat) {
  if ($hlstat->kennz != '' && ($mitFirma || $hlstat->kennz != 'F')) {
    $setting->config->items[$hlstat->kennz] = 'Status <b>' . \CleanOperations::cleanStringForHtml($hlstat->text) . ' (' . \CleanOperations::cleanStringForHtml($hlstat->kennz) . ')</b>';
  }
}
array_push($settingsArray, $setting);

if (!empty($objsettings->tnstatus)) {
  $setting = new Setting();
  $setting->name = 'colortnstatus';
  $setting->description = 'Farben für den jeweiligen Status';
  $setting->help = 'Bitte verwenden Sie für eine Farbangabe folgendes Format: #F1G4C0 oder den Farbnamen';
  $setting->subGroup = $subGroup;
  $setting->toolId = $toolId;
  $status = $objsettings->tnstatus;
  $setting->config->status = $objsettings->tnstatus;
  $setting->config->kennzeichen = 'tn';
  $setting->config->loadConfiguration(SC_TABLE);
  array_push($settingsArray, $setting);
}

$setting = new Setting();
$setting->name = 'sorttnasc';
$setting->description = 'Sortierung der Teilnehmer - nach Name';
$setting->subGroup = $subGroup;
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_RADIO);
$setting->config->items = array(
  'nameauf' => 'aufsteigend',
  'nameab' => 'absteigend'
);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'sorttnasc';
$setting->description = 'Sortierung der Teilnehmer - nach Vorname';
$setting->subGroup = $subGroup;
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_RADIO);
$setting->config->items = array(
  'vornameauf' => 'aufsteigend',
  'vornameab' => 'absteigend'
);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'sorttnasc';
$setting->description = 'Sortierung der Teilnehmer - nach Anmeldedatum';
$setting->subGroup = $subGroup;
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_RADIO);
$setting->config->items = array(
  'anmeldedatumauf' => 'aufsteigend',
  'anmeldedatumab' => 'absteigend'
);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'sorttnasc';
$setting->description = 'Sortierung der Teilnehmer - nach Anmeldereihenfolge';
$setting->help = 'Das Anmeldedatum kann sich bei Statusänderungen ändern. Die Anmeldereihenfolge entspricht, wann die Belegung zum Kurs erstellt wurde und bleibt gleich.';
$setting->subGroup = $subGroup;
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_RADIO);
$setting->config->items = array(
  'idauf' => 'aufsteigend',
  'idab' => 'absteigend'
);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'sorttnasc';
$setting->description = 'Sortierung der Teilnehmer - nach Firmennamen';
$setting->help = 'Sortiert die Teilnehmer nach den Namen der eingetragenen Firmen.';
$setting->subGroup = $subGroup;
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_RADIO);
$setting->config->items = array(
  'firmennameauf' => 'aufsteigend',
  'firmennameab' => 'absteigend'
);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'meldeBenachrichtigungsMailAnPlanMa';
$setting->description = 'Nachricht an den planenden Mitarbeiter des Kurses versenden';
$setting->help = 'Wenn keine E-Mail an den planenden, verwaltenden oder verantwortenden Mitarbeiter gesendet wird, '
  . 'erfolgt der Versand an die E-Mail-Adresse der Schulungseinrichtung.';
$setting->subGroup = 'Einstellungen für das Ummelden bzw. Weitermelden';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'meldeBenachrichtigungsMailAnVerwMa';
$setting->description = 'Nachricht an den verwaltenden Mitarbeiter des Kurses versenden';
$setting->help = 'Wenn keine E-Mail an den planenden, verwaltenden oder verantwortenden Mitarbeiter gesendet wird, '
  . 'erfolgt der Versand an die E-Mail-Adresse der Schulungseinrichtung.';
$setting->subGroup = 'Einstellungen für das Ummelden bzw. Weitermelden';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'meldeBenachrichtigungsMailAnVerantwMa';
$setting->description = 'Nachricht an den verantwortenden Mitarbeiter des Kurses versenden';
$setting->help = 'Wenn keine E-Mail an den planenden, verwaltenden oder verantwortenden Mitarbeiter gesendet wird, '
  . 'erfolgt der Versand an die E-Mail-Adresse der Schulungseinrichtung.';
$setting->subGroup = 'Einstellungen für das Ummelden bzw. Weitermelden';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'meldeImmerBenachrichtigungsMail';
$setting->description = 'Beim Weitermelden bzw. automatischen Ummelden immer eine Nachricht versenden';
$setting->help = 'Ansonsten wird im Direkt- oder DMZ-Betrieb beim Weitermelden bzw. beim erfolgreichen '
                 . 'Ummelden (d.h. automatischen Ummelden) keine Benachrichtigung versendet.';
$setting->subGroup = 'Einstellungen für das Ummelden bzw. Weitermelden';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);


$setting = new Setting();
$setting->name = 'weitermeldenKursAuswaehlen';
$setting->description = 'Beim Weitermelden kann der Zielkurs frei gewählt werden';
$setting->help = 'Falls nicht gesetzt, wird der Weitermelde-Button nur angeboten, wenn zum Kurs ein Folgekurs eingetragen ist.'
                 . ' Die Weitermeldung erfolgt dann immer zum Folgekurs.';
$setting->subGroup = 'Einstellungen für das Ummelden bzw. Weitermelden';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'weitermeldenSendInfoMail';
$setting->description = 'Beim Weitermelden eine Bestätigungs-E-Mail an Teilnehmer versenden (Vorlage sicht-6-145.sgt)';
$setting->subGroup = 'Einstellungen für das Ummelden bzw. Weitermelden';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'vhsEmailTool8Section242';
$setting->description = 'Ziel-E-Mail-Adresse für Um-/Weitermelden und Stornierungen sowie Statusänderungen von Belegungen';
$setting->help = 'Ist das Feld leer, wird die Nachricht an die E-Mail-Adresse gesendet, die unter <a href="?action=settings&hardlink=file_system_schulungseinrichtung">Einstellungen / System / Daten der Einrichtung / Ziel für E-Mails aus den KuferTools an die Schulungseinrichtung</a> angegeben ist.';
$setting->subGroup = 'Einstellungen für das Ummelden bzw. Weitermelden';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_TEXTNORMAL);
$setting->config->size = 64 + 1 + 255; 
$setting->config->maxLength = 64 + 1 + 255; 
$setting->config->allowNegative = false;
array_push($settingsArray, $setting);

$subGroup = 'Sammel-E-Mail';

$setting = new Setting();
$setting->name = 'sendMail2Ma';
$setting->description = 'Kopie von E-Mails an die Teilnehmer auch an den Mitarbeiter versenden';
$setting->help = 'Beim Versenden von Sammel E-Mails an die Teilnehmer wird damit zusätzlich eine Nachricht an die E-Mail Adresse des Mitarbeiters gesendet. <strong>Achtung:</strong> '
        . 'Diese Einstellung wird auch für den Dozentenreiter - im Admin unter KuferTools/ Mitarbeiter/ Kursplanung/ Reiter /Reiter Dozenten - übernommen.';
$setting->subGroup = $subGroup;
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'emailSammelKopieAnEinrichtung';
$setting->description = 'Kopie von E-Mails an die Teilnehmer auch an die Einrichtung versenden';
$setting->help = 'Beim Versenden von Sammel E-Mails an die Teilnehmer wird damit zusätzlich eine Nachricht an die E-Mail Adresse der Einrichtung gesendet.';
$setting->subGroup = $subGroup;
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

if (\AllgSettingsAPI::getAllgSettings()->dmzEnabled) {
  $setting = new Setting();
  $setting->name = 'storeSammelEMailToTeilnehmer';
  $setting->description = 'Kopie von E-Mails in Dokumentenverwaltung des Teilnehmers speichern';
  $setting->help = 'Beim Versenden von Sammel E-Mails an die Teilnehmer wird damit zusätzlich die Nachricht in der Dokumentenverwaltung des Teilnehmers gespeichert.';
  $setting->subGroup = $subGroup;
  $setting->toolId = $toolId;
  $setting->config->loadConfiguration(SC_CHECKBOX);
  array_push($settingsArray, $setting);
}

$setting = new Setting();
$setting->name = 'emailAnTeilnehmerSenderMultiple';
$setting->description = 'Absender E-Mail auswählbar aus den E-Mails des Mitarbeiters';
$setting->help = 'Die MitarberInnen können aus ihren 3 E-Mails aussuchen welche als Absender bzw. Reply-To Adresse verwendet werden soll. '
  . 'Die ausgewählte Absenderadresse wird allerdings nur verwendet, wenn unter KuferTools / Einstellungen / Allgemein / E-Mail-Einstellungen bei Mitarbeiter an Teilnehmer bzw. Mitarbeiter an Dozent der der Haken "Absender an Person" gesetzt ist.';
$setting->subGroup = $subGroup;
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'emailAnTeilnehmerShowEMail';
$setting->description = 'E-Mail der Teilnehmer bei E-Mail-Versand anzeigen';
$setting->subGroup = $subGroup;
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'sendSms2MaTabTn';
$setting->description = 'Kopie der SMS an die Teilnehmer auch an den Mitarbeiter versenden';
$setting->help = 'Beim Versenden einer Sammel SMS an die Teilnehmer wird damit zusätzlich eine SMS an den Mitarbeiter gesendet.';
$setting->subGroup = 'Sammel-SMS';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'writeNachlassGrund2IntBemerkung';
$setting->description = 'Nachlassgrund in interne Bemerkung schreiben';
$setting->help = 'Ist dieser Haken gesetzt, so wird der Nachlassgrund in die interne Bemerkung zur Belegung eingetragen. Er wird an die bisher bestehenden '
                 . 'Einträge angehängt.';
$setting->subGroup = 'Einstellungen für das Bearbeiten der Nachlassdaten';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'stornoMinTNanzahlPruefen';
$setting->description = 'Bei einer Abmeldung wird überprüft, ob die Mindestteilnehmerzahl unterschritten wird';
$setting->help = 'Diese Einstellung gilt sowohl für die Abmeldung im Teilnehmer-Reiter der Kursdetails als auch unter Übersicht der belegten Kurse in den Teilnehmerdetails.';
$setting->subGroup = 'Automatische Stornierung';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'stornoEmailAnHauptteilnehmer';
$setting->description = 'Bei automatischer Stornierung E-Mail an Hauptteilnehmer senden';
$setting->help = 'Mit dieser Einstellung bekommt der Hauptteilnehmer (z.B. Firma) eine E-Mail mit der Information das der Teilnehmer storniert wurde.';
$setting->subGroup = 'Automatische Stornierung';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'stornoShowAustrittFeld';
$setting->description = 'Bei der Abmeldung das Eingabefeld für das Austrittsdatum anzeigen';
$setting->help = 'Das Feld Austritt wird bei Kursen mit fortlaufenden Gebühren immer angezeigt. Diese Einstellung gilt sowohl für die Abmeldung im Teilnehmer-Reiter der Kursdetails als auch unter Übersicht der belegten Kurse in den Teilnehmerdetails.';
$setting->subGroup = 'Automatische Stornierung';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->description = 'In den Mitarbeitertools können die Mitarbeiter Teilnehmer von Kursen abmelden. Diese Funktion befindet sich sowohl im 
  Teilnehmer-Reiter der Kursdetails wie auch bei der Übersicht der belegten Kurse in den Teilnehmerdetails.<br />
Im aktuellen Reiter, dem Teilnehmer-Reiter der Kursdetails, können ein oder mehrere Teilnehmer ausgewählt werden und mit dem Button "Abmelden" zum Kurs 
storniert werden. Mit dem Klick auf "Abmelden" öffnet sich ein Dialogfenster, in dem die ausgewählten Teilnehmer aufgelistet werden und zu jedem betroffenen 
Teilnehmer ein Stornogrund angegeben werden kann. Mit Klick auf "Stornieren" werden die Abmeldungen der Teilnehmer versendet.<br />
Die Stornierung kann nur unter folgenden Bedingungen automatisch durchgeführt werden:<br />
- Direktbetrieb oder DMZ-Betrieb.<br />
- Es sprechen keine Gründe gegen eine Stornierung.<br /><br />

Im Replikatbetrieb oder wenn Gründe gegen eine Stornierung sprechen, wird eine E-Mail an die Einrichtung bzw. an den bearbeitenden Mitarbeiter des Kurses mit 
dem Stornowunsch gesendet. Folgende Gründe sprechen gegen eine automatische Stornierung:<br />
- Der Teilnehmer ist nicht mit einem der Status A, I, P, U oder W im Kurs<br />
- Es wurden bereits Rechnungen gedruckt oder Zahlungen getätigt<br />
- Der Teilnehmer ist Teil einer Mehrfach- oder Firmenanmeldung<br />
- Zum Teilnehmer sind Kinder im Kurs eingetragen<br />
- Die minimale Teilnehmeranzahl wird durch die Stornierung unterschritten<br /><br />

<b>ACHTUNG:</b> Beim Stornieren in den Mitarbeitertools wird - genauso wie in KuferSQL - für die Teilnehmer auf der Warteliste kein Platz reserviert und sie 
werden auch NICHT benachrichtigt.';
$setting->help = '';
$setting->subGroup = 'Informationen zum Stornieren von Belegungen';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_INFOTEXT);
array_push($settingsArray, $setting);

if (DBWorkBASysSettings::isInnsbruckStadt()) {
  $setting = new Setting();
  $setting->name = 'tnr_maennlich_innsbruck';
  $setting->description = 'Männlich aus Innsbruck';
  $setting->subGroup = 'Stellvertreter-Teilnehmer für Großveranstaltungen';
  $setting->toolId = $toolId;
  $setting->config->loadConfiguration(SC_INPUTNUMERIC);
  array_push($settingsArray, $setting);

  $setting = new Setting();
  $setting->name = 'tnr_maennlich_auswaerts';
  $setting->description = 'Männlich von Auswärts';
  $setting->subGroup = 'Stellvertreter-Teilnehmer für Großveranstaltungen';
  $setting->toolId = $toolId;
  $setting->config->loadConfiguration(SC_INPUTNUMERIC);
  array_push($settingsArray, $setting);

  $setting = new Setting();
  $setting->name = 'tnr_weiblich_innsbruck';
  $setting->description = 'Weiblich aus Innsbruck';
  $setting->subGroup = 'Stellvertreter-Teilnehmer für Großveranstaltungen';
  $setting->toolId = $toolId;
  $setting->config->loadConfiguration(SC_INPUTNUMERIC);
  array_push($settingsArray, $setting);

  $setting = new Setting();
  $setting->name = 'tnr_weiblich_auswaerts';
  $setting->description = 'Weiblich von Auswärts';
  $setting->subGroup = 'Stellvertreter-Teilnehmer für Großveranstaltungen';
  $setting->toolId = $toolId;
  $setting->config->loadConfiguration(SC_INPUTNUMERIC);
  array_push($settingsArray, $setting);

  $setting = new Setting();
  $setting->name = 'zahlung_info';
  $setting->description = 'Standard-Zahlungsinformationen:<br /><br />Platzhalter: [BETRAG], [ZAHLDATUM], [BIC], [IBAN]';
  $setting->subGroup = 'Einstellungen für das Akzeptieren von Anmeldungen';
  $setting->toolId = $toolId;
  $setting->config->loadConfiguration(SC_TEXTBOX);
  $setting->config->size = 10;
  $setting->config->maxLength = 1000;
  array_push($settingsArray, $setting);
}



$setting = new Setting();
$setting->name = 'reiterTeilnehmerButtonExportName';
$setting->description = 'Beschriftung des Buttons Export zu Tabellenkalkulationsprogramm';
$setting->subGroup = 'Button Beschriftungen';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_INPUTNORMAL);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'reiterTeilnehmerButtonBelegungenBearbeiten';
$setting->description = 'Beschriftung des Buttons Belegungen bearbeiten';
$setting->subGroup = 'Button Beschriftungen';
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_INPUTNORMAL);
array_push($settingsArray, $setting);