<?php

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

class MatAusgInteresseCheck
{
  public function getDatamenu($pUrlparameter)
  {
    SessionOperations::getTeilnehmerFromRequest2Session('tedit', 'matinteresse');
    $editedMa = SessionOperations::getTeilnehmerFromSession('matinteresse')[0];

    if ($editedMa != null) {
      $fehlerArray = $this->checkEingaben($editedMa);
      if (count($fehlerArray) == 0) {
        SessionOperations::setVarValueIntern('materialInteresseCheckValid', true);

        return new DataMenuMatAusgInteresseKontrolle($pUrlparameter);
      } else {
        SessionOperations::setVarValueIntern('materialInteresseCheckValid', false);

        return new DataMenuMatAusgInteresseEingabe($pUrlparameter, $this->getFehlermeldung($fehlerArray));
      }
    }

    return new DataMenuMatAusgInteresseEingabe($pUrlparameter);
  }

  private function checkEingaben($editedMa)
  {
    $sight = SightsAPI::getSight(731);
    $checkma = new WBAnmeldungCheckDatamodul();

    $checkma->vorlage = $sight->body;
    $checkma->exportAdapter = $this->getExpTeiln();
    $checkma->setDatamodul($editedMa);

    
    $checkma->check('tedit');

    return array_merge($checkma->pflichtfeldFehlerArray, $checkma->formatFehlerArray);
  }

  private function getExpTeiln()
  {
    $expteiln = new \ExpTeilnehmerRekursiv();
    $expteiln->export->expCalculation->enforceParamForValueTeilnehmerEdit = true;
    $expteiln->export->expCalculation->isDataBinding = false;

    return $expteiln;
  }

  private function getFehlermeldung($fehlerArray)
  {
    $isBootstrap = KW_BOOTSTRAP && !SessionOperations::isKuferTools();
    $return = '<div class="';
    if ($isBootstrap) {
      $return .= 'alert alert-danger ';
    }
    $return .= 'warnung-pflicht-wrapper"><p class="warnung-pflicht-text">Bitte überprüfen Sie die rot markierten Datenfelder auf Vollständigkeit und Format:</p><ul class="warnung-pflicht-feld-ul';
    if ($isBootstrap) {
      $return .= ' row';
    }
    $return .= '">';
    foreach ($fehlerArray as $meldung) {
      if ($meldung != '') {
        $return .= '<li class="warnung-pflicht-feld-li warnung-pflicht-feld-leer';
        if ($isBootstrap) {
          $return .= ' col-sm-4';
        }
        $return .= '">' . CleanOperations::cleanStringContainingHtml($meldung) . '</li>';
      }
    }

    $return .= '</ul></div>';

    return $return;
  }
}