<?php
/**
 * @copyright (c) Kufer Software GmbH, Loisachstrasse 4, D-84453 Mühldorf
 */


class PageKontaktKursAnTeilnehmer extends PageKontakt
{
  
  protected $_kontakt;
  protected $_kurs;
  protected $_errorMessage;
  protected $_isMultipartFormdata;
  protected $showInfoBox;

  
  public function __construct(
    $pPageTitle,
    $pPageId,
    $pTool,
    $pUeberschrift,
    $pBetreff,
    $pInhaltLabel,
    $pKurs,
    $pKontakt,
    $pShowInfoBox = array(),
    $pErrorMessage = ''
  ) {
    parent::__construct($pPageTitle, $pPageId, $pTool, $pUeberschrift, $pBetreff, $pInhaltLabel);
    $this->_kurs = $pKurs;
    
    $this->_kontakt = $pKontakt;
    $this->_isMultipartFormdata = true;
    $this->_errorMessage = $pErrorMessage;
    
    
    $this->showInfoBox = $pShowInfoBox;
  }

  
  protected function setInitJSFileExtSettings()
  {
    $this->initJSFileExtSettings = true;
  }

  
  protected function _getSonstigenFormularinhalt()
  {
    $result = $this->_getErrorMessage();
    $result .= '<h3>E-Mail senden an: </h3>';

    $showWarningBox = false;
    $tmpResult = '';
    
    foreach ($this->_kontakt as $kontakt) {
      
      $checked = 'checked';
      $disabled = '';
      $dozent4html = new CleanDatamodulForHtml($kontakt);
      if ($kontakt->getVarValueEx('email', 'kommunikation') == '') {
        $checked = '';
        $disabled = ' disabled="disabled"';
        $showWarningBox = true;
      }
      $tmpResult .= '<input id="tn_' . $dozent4html->id . '"   type="checkbox"  value="' . $dozent4html->id . '" name="teilnehmer[]" '
                  . $checked . $disabled . '>' . "\n";

      $tmpResult .= $dozent4html->namevorname . BR_WT;
    }

    
    $mail2Einrichntung = isset($this->showInfoBox['mail2Einrichtung']) ? ($this->showInfoBox['mail2Einrichtung']) : '';
    $mail2Dozent = isset($this->showInfoBox['mail2Dozent']) ? ($this->showInfoBox['mail2Dozent']) : '';
    $mail2Ma = isset($this->showInfoBox['mail2Ma']) ? ($this->showInfoBox['mail2Ma']) : '';
    
    if ($showWarningBox || $mail2Einrichntung || $mail2Dozent || $mail2Ma) {
      
      $result .= '<div>';
      $result .= '<div class="adressaten floatleft">' . $tmpResult . '</div>';

      
      $result .= '<div class="adressaten_info hinweisbox">';
      
      if ($showWarningBox) {
        $result .= HTMLOperations::getWarningBox('Es kann zu einem oder mehreren Teilnehmern keine E-Mail verschickt werden, '
                . 'da keine E-Mail Adresse vorhanden ist.', 'Warnung', 'in_background');
      }

      
      $hinweis = '';
      if ($mail2Einrichntung) {
        $hinweis .= '- Eine Kopie der E-Mail an die Teilnehmer wird an die Schulungseinrichtung verschickt.' . BR_WT;
      }
      if ($mail2Dozent || $mail2Ma) {
        $hinweis .= '- Eine Kopie der E-Mail an die Teilnehmer wird an Sie verschickt.';
      }
      if ($hinweis !== '') {
        $result .= HTMLOperations::getInfoBox($hinweis, 'Achtung', 'in_background');
      }

      $result .= '</div>' . "\n";
    } else {
      $result .= '<div>';
      $result .= '<div class="adressaten">' . $tmpResult . '</div>';
    }

    $result .= '</div>';

    return $result;
  }

  protected function _getErrorMessage()
  {
    $errormsg = '';
    if (!empty($this->_errorMessage)) {
      $errormsg .= HTMLOperations::getAlertBox($this->_errorMessage, 'Fehler');
    }

    return $errormsg;
  }

  
  protected function _getAttachments()
  {
    $zentralsettings = ToolSettingsAPI::getToolSettings(0);
    $fileSize = ConstantOperations::getMaxFileSize4Upload($zentralsettings->uploadmaxsize);
    $maxGroesseProDatei = MathOperations::getBytesUmrechnung($fileSize);

    $fileSizeAllerDateien = ConstantOperations::getMaxFileSize4Upload(5 * ($zentralsettings->uploadmaxsize));
    $maxGroesseAllerDateien = MathOperations::getBytesUmrechnung($fileSizeAllerDateien);

    $anhang = '<br /><h3>Anhänge:</h3><p><i>Die maximale Größe pro Datei ist ' . CleanOperations::cleanStringForHtml($maxGroesseProDatei) . ', die maximale Größe aller Dateien darf nicht ' . CleanOperations::cleanStringForHtml($maxGroesseAllerDateien) . ' überschreiten.</i></p><br />';
    
    $anhang .= '<div class="anhaenge">' . "\n";
    $anhang .= '<div>'
                . '<label for="anhang1id" class="anhang_label" title="Bitte hier Ihre erste Datei auswählen">Datei 1:</label>'
                . '<input id="anhang1id" class="anhangclass" type="file" name="anhang1">'
                . '<span class="anhang_groesse1"></span>'
               . '</div>'

               . '<div>'
                . '<label for="anhang2id" class="anhang_label" title="Bitte hier Ihre 2.te Datei auswählen">Datei 2:</label>'
                . '<input id="anhang2id" class="anhangclass" type="file" name="anhang2">'
                . '<span class="anhang_groesse2"></span>'
               . '</div>'

               . '<div>'
                . '<label for="anhang3id" class="anhang_label" title="Bitte hier Ihre 3.te Datei auswählen">Datei 3:</label>'
                . '<input id="anhang3id" class="anhangclass" type="file" name="anhang3">'
                . '<span class="anhang_groesse3"></span>'
               . '</div>'

               . '<div>'
                . '<label for="anhang4id" class="anhang_label" title="Bitte hier Ihre 4.te Datei auswählen">Datei 4:</label>'
                . '<input id="anhang4id" class="anhangclass" type="file" name="anhang4">'
                . '<span class="anhang_groesse4"></span>'
              . '</div>'

               . '<div>'
                . '<label for="anhang5id" class="anhang_label" title="Bitte hier Ihre 5.te Datei auswählen">Datei 5:</label>'
                . '<input id="anhang5id" class="anhangclass" type="file" name="anhang5">'
                . '<span class="anhang_groesse5"></span>'
               . '</div>';

    $anhang .= '<div class = "summe_groesse"></div>';
    $anhang .= '<br />';
    $anhang .= '</div>' . "\n";

    return $anhang;
  }

  
  public function getJSDeclarations()
  {
    $zentralsettings = ToolSettingsAPI::getToolSettings(0);
    $result = parent::getJSDeclarations();
    
    $result .= JsOperations::getDeclarationString('KuferTools.Kontakt.Art', 'Nachricht');
    $result .= JsOperations::getDeclarationInt('KuferTools.Kontakt.MaxGroesseProUploadDateien', ConstantOperations::getMaxFileSize4Upload(($zentralsettings->uploadmaxsize)));
    $result .= JsOperations::getDeclarationInt('KuferTools.Kontakt.MaxGesamtGroesseAllerUploadDateien', ConstantOperations::getMaxFileSize4Upload(5 * ($zentralsettings->uploadmaxsize)));

    return $result;
  }
}