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

$sortId = 2;

$toolId = \ToolsAPI::TOOL_KURSUEBERSICHT_DOZ;


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

$settingsArray = array();

$subGroup = 'E-Mail Versand beim Absenden der Honorarabrechnung';

$setting = new Setting();
$setting->name = 'vertragEMailAnPlanendenMa';
$setting->description = 'E-Mail bei Absenden an planenden Mitarbeiter';
$setting->subGroup = $subGroup;
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'vertragEMailAnVerwaltendenMa';
$setting->description = 'E-Mail bei Absenden an verwaltenden Mitarbeiter';
$setting->subGroup = $subGroup;
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'vertragEMailAnVerantwortendenMa';
$setting->description = 'E-Mail bei Absenden an verantwortenden Mitarbeiter';
$setting->subGroup = $subGroup;
$setting->toolId = $toolId;
if (\DBWorkBASysSettings::isMeppenVHS()) {
  $setting->help = 'Wenn in KuferSQL im Kursstamm auf der 1. Seite die Einstellung "Honorarabrechnung (KuferTools) muss vom verantwortenden '
    . 'Mitarbeiter bestätigt werden" aktiviert ist, dann wird die E-Mail automatisch an den verantwortenden Mitarbeiter gesendet.';
  $setting->config->loadConfiguration(SC_INFOTEXT);
} else {
  $setting->config->loadConfiguration(SC_CHECKBOX);
}
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'vertragEMailAnEinrichtung';
$setting->description = 'E-Mail bei Absenden an die Einrichtung';
$setting->subGroup = $subGroup;
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_CHECKBOX);
array_push($settingsArray, $setting);

$setting = new Setting();
$setting->name = 'vertragEMailEinrichtungAlternative';
$setting->description = 'Ziel-E-Mail-Adresse';
$setting->help = 'Wenn der E-Mail-Versand weder an den planenden/verwaltenden/verantwortenden Mitarbeiter noch an die Einrichtung erfolgt, '
  . 'erfolgt der Versand an die angegebene E-Mail Adresse. 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 = $subGroup;
$setting->toolId = $toolId;
$setting->config->loadConfiguration(SC_INPUTNORMAL);
array_push($settingsArray, $setting);

if (\DBWorkBASysSettings::isNeussVhs()) {
  $setting = new Setting();
  $setting->name = 'honorarabrechnungTerminart';
  $setting->description = 'Terminart für einzutragenden Termin';
  $setting->subGroup = $subGroup;
  $setting->toolId = $toolId;
  $setting->config->loadConfiguration(SC_SELECTBOX);
  $setting->config->items = array('' => \CleanOperations::cleanStringForHtml('-- Bitte auswählen --'));
  foreach (\Kufer\Web\Classes\Db\DBWorkHLTerminArten::getDefaultInstance()->getTerminArten() as $terminArt) {
    $setting->config->items[$terminArt->kennz]
      = \CleanOperations::cleanStringForHtml($terminArt->kennz . ' - ' . $terminArt->text);
  }

  array_push($settingsArray, $setting);
}

if (\DBWorkBASysSettings::isMoenchengladBildungswerk() && \DBWorkHLMandant::getDefaultInstance()->existsByFilter(\Kufer\Web\Classes\dbfilter\HLMandantenSQLFilter::create())) {
  $setting = new Setting();
  $setting->name = 'moenchengladBildungswerkCheckAnwesenheiten';
  $setting->description = 'Anwesenheiten folgender Mandanten prüfen';
  $setting->subGroup = $subGroup;
  $setting->toolId = $toolId;
  $setting->config->loadConfiguration(SC_MULTISELECT);
  $setting->config->separator = ':';

  $items = (new \Kufer\Web\Classes\Stream\ArrayStream(\DBWorkHLMandant::getDefaultInstance()->getAll()))
    ->map(static function(\HLMandant $mandant): \Kufer\Web\Classes\Addfunctions\Pair {
      return new \Kufer\Web\Classes\Addfunctions\Pair($mandant->id, \CleanOperations::cleanStringForHtml($mandant->name));
    })
    ->toKeyValueArrayFromPairs();

  $setting->config->items = $items;
  array_push($settingsArray, $setting);
}