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


class DataMenuLoginKinderAnhandBeziehungUebersicht extends DataMenuMain
{
  public function __construct($urlparameter)
  {
    parent::__construct($urlparameter);
    $this->exportadapter = new ExpTeilnehmer();
    $this->exportadapter->export->initiate();
  }

  public function getSight($sightid = 587)
  {
    parent::getSight($sightid);
  }

  public function mainmenu()
  {
    $stammhoererTnr = SessionOperations::getVarValueWk('w_tnr', 0);
    if (is_numeric($stammhoererTnr) && $stammhoererTnr > 0) {
      $xsrf = Xsrf::checkAndUseXsrfFromGet('WbDeleteKind', $this->urlparameter->tnrkind);
      if ($this->urlparameter->action == 'loescheKind' && $xsrf == Xsrf::KEY_OK) {
        $this->deleteKind($this->urlparameter->tnrkind);
      }

      parent::mainmenu();
    } else {
      $this->getsight();
      $this->getdataarraynocolumn();
      echo "<div class='hauptseite'>\n";
      echo $this->shownocolumn();
      echo '</div>';
    }
  }

  public function getdataarraybody()
  {
    $tnr = SessionOperations::getVarValueWk('w_tnr');

    $dbwTeilnehmer = new DBWorkTeilnehmer(1, true);
    $kinder = $dbwTeilnehmer->getKinderAnhandBeziehung($tnr);

    $this->dataarraybody = $kinder;
  }

  private function deleteKind($kindTnr)
  {
    $beziehungZuKind = $this->getBeziehungZuKind($kindTnr);

    if (is_numeric($beziehungZuKind->id) && $beziehungZuKind->id > 0) {
      $success = BeziehungAPI::deleteBeziehung($beziehungZuKind->id);
      if ($success) {
        $this->addStatus('Der Eintrag zu Ihrem Kind wurde erfolgreich gelöscht.', 'success');
      } else {
        $this->addStatus('Beim Löschen des Eintrags Ihres Kindes ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut, oder weden sich direkt an uns.', 'error');
      }
    } else {
      $this->addStatus('Der Eintrag zu Ihrem Kind wurde nicht gefunden, und konnte daher nicht gelöscht werden.', 'error');
    }
  }

  private function getBeziehungZuKind($tnrKind)
  {
    $dbwBeziehung = new DBWorkBeziehung(1, true);
    $tnr = SessionOperations::getVarValueWk('w_tnr');

    return $dbwBeziehung->getBeziehungElternteilZuKind($tnr, $tnrKind);
  }

  
  private function addStatus($pMessage, $pStatus = 'neutral') 
  {
    $cssClass = 'wbl_status wbl_' . $pStatus;
    $message = '<div class="' . $cssClass . '">' . $pMessage . '</div>';
    $this->exportadapter->addSightInfo('status', $message);
  }
}