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

namespace Kufer\KuferTools\Utils\WssField;

class WssFieldAllgemeinKommunikationen extends WssField
{
  private $typ;
  private $kommunikationsArten;

  public function __construct($datamodulColumn, $typ, $kommunikationsArten)
  {
    parent::__construct($datamodulColumn);
    $this->typ = $typ;
    $this->kommunikationsArten = $kommunikationsArten;
  }

  public function getValue($datamodulWert, $isFormular = false)
  {
    $nr = $datamodulWert->getVarValueEx('id', $this->getDatamodulName());

    $dbwKommunikation = new \DBWorkKommunikation($this->typ, 1, true);
    $kommunikationen = $dbwKommunikation->getKommunikationByNrTypArten($nr, $this->typ, $this->kommunikationsArten);

    $doppelt[] = array();

    $result = '<ul class="wss_list">';
    foreach ($kommunikationen as $kommunikation) {
      $wert = trim($kommunikation->wert);
      if ($wert != '' && !in_array($wert, $doppelt)) {
        $result .= '<li>' . $wert . '</li>';
        $doppelt[] = $wert;
      }
    }
    $result .= '</ul>';

    return $result;
  }

  protected function encodeValue($value)
  {
    return $this->purifyHtml($value);
  }
}