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

class DataMenuLoginWeitermeldung extends DataMenuMainTopLeft
{
  private $api;

  public function __construct($urlparameter)
  {
    $originalkursNr = PostOperations::getVarValue('originalkurs');
    $this->api = new StammhoererWeitermeldungApi($originalkursNr);
    parent::__construct($urlparameter);
  }

  public function mainmenu()
  {
    $this->prepareMainmenu();
    if ($this->toolsettings->showClickpfad) {
      echo $this->getClickPath();
    }
    echo '<div class="hauptseite">' . "\n" . $this->getContentAnker();

    if (GetOperations::getVarValue('kontrolle') == 1) {
      $this->kontrolle();
    } else {
      $this->bestaetigung();
    }
    echo "</div>\n\n";
  }

  

  private function kontrolle()
  {
    $this->getsight(735);
    if ($this->checkVoraussetzungen()) {
      $this->headerAusgeben();
      $this->bodyAusgebenKontrolle();
      $this->footerAusgeben();
    }
  }

  private function bestaetigung()
  {
    $this->getsight(695);
    if ($this->checkVoraussetzungen()) {
      SessionOperations::setVarValueIntern('loginweitermeldung', PostOperations::getVarValue('originalkurs')); 
      $erfolgreich = $this->api->weitermelden();
      $this->headerAusgeben();
      $this->bodyAusgebenBestaetigung($erfolgreich);
      $this->footerAusgeben();
    }
  }

  private function checkVoraussetzungen()
  {
    if (SessionOperations::getVarValueWk('w_tnr') <= 0) {
      $this->shownocolumn();
    }   
    elseif (PostOperations::getVarValue('originalkurs') == ''
              || (GetOperations::getVarValue('kontrolle') != 1 && SessionOperations::getVarValueIntern('loginweitermeldung') != '')) {
      $this->shownodata();
    } else {
      return true;
    }

    return false;
  }

  private function headerAusgeben()
  {
    $this->dataarrayheader = SessionOperations::getTeilnehmerFromSession();
    $this->exportadapter = new ExpTeilnehmer();
    $this->showheader();
  }

  private function bodyAusgebenBestaetigung($pErfolgreich = false)
  {
    $this->bodyAusgeben('weitermeldung_erfolgreich', $pErfolgreich);
  }

  private function bodyAusgebenKontrolle()
  {
    $this->bodyAusgeben('originalkursid', PostOperations::getVarValue('originalkurs'));
  }

  private function bodyAusgeben($pSightInfoName, $pSightInfoValue)
  {
    $this->exportadapter = new ExpKurse();
    $this->dataarraybody = array($this->api->getFolgekurs());
    $this->exportadapter->setSightInfo($pSightInfoName, $pSightInfoValue);
    $this->exportadapter->setSightInfo('anmeldestatus', $this->api->getAnmeldestatus());
    $this->showbody();
  }

  private function footerAusgeben()
  {
    $this->exportadapter = new ExpKurse();
    $this->dataarrayfooter = array($this->api->getFolgekurs());
    $this->showfooter();
  }

  public function getsight($pSightId = 695)
  {
    parent::getsight($pSightId);
  }

  
  public function statusmenu($pPHP53DummyParam = '')
  {
    $tagnameFuerStatusmeldung = $this->getTagnameFuerStatusmeldung();
    $beginTag = '';
    $endTag = '';
    if ($tagnameFuerStatusmeldung != '') {
      $beginTag = "   <$tagnameFuerStatusmeldung class='statusmeldung'>";
      $endTag = "</$tagnameFuerStatusmeldung>";
    }
    if ($this->status1 == '' && $this->status2 == '') {
      return;
    }
    echo "  <div class='hauptseite_status'>\n";
    if ($this->status1 != '') {
      echo "   <h2 class='statusadresse'>" . $this->addfstring->getfilledStr($this->status1, BR) . "</h2>\n";
    }
    echo $beginTag . $this->addfstring->getfilledStr(CleanOperations::cleanStringContainingHtml($this->status2), BR) . $endTag . "\n";
    echo "  </div>\n\n";
  }

  public function getClickPath($pName = 'Weitermeldung')
  {
    if (trim($this->toolsettings->clickKundenLoginMeineKurse) !== '') {
      $pName = CleanOperations::cleanStringForHtml(stripslashes(trim($this->toolsettings->clickKundenLoginMeineKurse)));
    }

    $this->clickpfad = '';
    DataMenuMainTopLeft::getClickPath();

    $this->clickpfad .= '<div class="hauptseite_clickpfad"><span class="clickpfad">' . "\n";
    if ($this->toolsettings->titleKursBereich != '') {
      $this->clickpfad .= '<span class="clickadresse"> ' . CleanOperations::cleanStringForHtml(stripslashes($this->toolsettings->titleKursBereich)) . ' </span>' . PHP_EOL;
      $this->clickpfad .= '<span class="trennzeichen"> ' . CleanOperations::cleanStringContainingHtml($this->toolsettings->trennzeichenKategorie) . ' </span>' . PHP_EOL;
    }

    $name = 'Weitermeldung in einen Folgekurs';
    $this->clickpfad .= $this->getClickPathStep($this->urlparameter->getEmptyStreamWith(
      array('kathaupt'),
      array('424')
    ), $name . ' öffnen', $name);

    if ($this->toolsettings->titleKursBereich != '') {
      $this->clickpfad .= '<span class="clickadresse"> ' . $pName . ' </span>' . PHP_EOL;
    }

    $this->clickpfad .= "</span></div>\n";

    return $this->clickpfad;
  }
}