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

namespace Kufer\Web\KuferTools\Ausgaben\SammelEMail\AnTeilnehmer;

use Kufer\Web\Classes\ExportAdapter\ExpAdditionalVariables;

class SammelEMailView extends \Kufer\Web\KuferTools\Ausgaben\SammelEMail\SammelEMailView
{
  public function getTemplatePathRelative()
  {
    
    
    return 'basis/kursdetails/detailsreiter/sammelemail_teilnehmer.sgt';
  }

  protected function getBodyDataModulArray()
  {
    return $this->viewModel->belegungen;
  }

  protected function getBodyExportAdapter()
  {
    return new ExpAdditionalVariables(
      new \ExportBelegung(),
      array(
        'showEMail' => $this->viewModel->showEMail ?? false
      )
    );
  }

  protected function getDefaultExportAdapter()
  {
    $result = parent::getDefaultExportAdapter();
    assert($result instanceof ExpAdditionalVariables);

    return $result
      ->addVariable('maxGroesseProDatei', $this->viewModel->maxGroesseProDatei)
      ->addVariable('maxGroesseAllerDateien', $this->viewModel->maxGroesseAllerDateien)
      ->addVariable('emailInhalt', $this->viewModel->emailInhalt)
      ->addVariable('saveTeilnehmer', $this->viewModel->saveTeilnehmer);
  }

  protected function getFooterDataModulArray()
  {
    $this->viewModel->kurs->maxGroesseProDatei = $this->viewModel->maxGroesseProDatei;
    $this->viewModel->kurs->maxGroesseAllerDateien = $this->viewModel->maxGroesseAllerDateien;
    $this->viewModel->kurs->emailInhalt = $this->viewModel->emailInhalt;

    return array($this->viewModel->kurs);
  }

  protected function getHeaderDataModulArray()
  {
    $result = parent::getHeaderDataModulArray()[0];
    $result->saveTeilnehmer = $this->viewModel->saveTeilnehmer;

    return array($result);
  }
}

class SammelEMailViewModel
{
  
  public $belegungen;
  
  public $kurs;
  public $maxGroesseProDatei;
  public $maxGroesseAllerDateien;
  public $sendMail2Einrichtung;
  public $sendMail2PlanendenMitarbeiter;
  public $sendMail2VerwaltendenMitarbeiter;
  public $sendMail2VerantwortendenMitarbeiter;
  public $sendMail2Dozent;
  public $emailInhalt;
  public $saveTeilnehmer;
  public $showEMail;
}