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

namespace Kufer\Web\KuferTools\Utils\WssField\Belegung;

class WssFieldBelegungKontoInhaber extends \Kufer\Web\KuferTools\Utils\WssField\WssField
{
  protected function getValue($datamodulWert, $isFormular = false)
  {
    if (\System::isKuferSql5()) {
      if (\is_null($datamodulWert->getVarValueEx('id', 'belegung'))) {
        return $this->htmlEncode('');
      }

      $tnNamenMitNummern = \Kufer\Web\KuferTools\Utils\BelegungHandler\AbweichendeZahler4Belegung::getAbweichendeZahlerNamenMitNummer($datamodulWert->getDatamodulByName('belegung'));
      if (empty($tnNamenMitNummern)) {
        return $this->htmlEncode('');
      }

      if (\count($tnNamenMitNummern) == 1) {
        return $this->htmlEncode($tnNamenMitNummern[0]);
      }

      return '<ul class="wss_list">'
            . ((new \Kufer\Web\Classes\Stream\ArrayStream($tnNamenMitNummern))
                ->map(function($notEncodedStr) {
                  return $this->htmlEncode($notEncodedStr);
                })
                ->map(static function($tnNameMitNummern) { 
                  return '<li style="white-space: nowrap;">' . $tnNameMitNummern . '</li>';
                })
                ->reduce(\FunctionOperations::concat(), ''))
            . '</ul>';
    } else {
      return $this->htmlEncode(parent::getValue($datamodulWert, $isFormular));
    }
  }

  protected function encodeValue($value)
  {
    return $value;
  }
}