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

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

class WssFieldKursRouteGoogleMaps extends \Kufer\Web\KuferTools\Utils\WssField\WssField
{
  protected function getValue($datamodulWert, $isFormular = false)
  {
    
    $eingeloggterNutzer = \SessionOperations::getCurrentWebToolsPerson();

    $tools = new \Tools();
    $mitarbeiter = $tools->getCurrentBenutzerObject();
    if (!$mitarbeiter) {
      $nutzerStrasse = $eingeloggterNutzer->getVarValue('strasse');
      $nutzerStadt = $eingeloggterNutzer->getVarValue('ort');
    } else { 
      if ($eingeloggterNutzer->aussenstelle != '') { 
        $aussenst = $this->getAussenstelle($eingeloggterNutzer->aussenstelle);
        $nutzerStrasse = $aussenst->strasse;
        $nutzerStadt = $aussenst->ort;
      } else { 
        $mitarbeiterAdresse = \BASysSettingsAPI::getBASysSettings();
        $nutzerStrasse = $mitarbeiterAdresse->getVarValue('vhsstrasse');
        $nutzerStadt = $mitarbeiterAdresse->getVarValue('vhsort');
      }
    }
    $kursOrt = $datamodulWert->getVarValueEx('ort', $this->datamodulColumn->datamodul);

    if ($kursOrt != '') {
      $dbwKursort = new \DBWorkKursorte(1, true);
      $kursOrtObj = $dbwKursort->getKursortbymktext($kursOrt);
      $link = $kursOrtObj->getLinkFuerRoute($nutzerStrasse, $nutzerStadt);

      return '<a href="' . $link . '" target="_blank"><i class="fa fa-map-marker" aria-hidden="true" style="font-size: 1.2em;"></i>' . ' ' . $kursOrt . '</a>';
    }

    return '';
  }

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

  private function getAussenstelle($pAussenstBez)
  {
    $aussenstObj = new \DBWorkHLAussenstellen(1, true);
    $aussenst = $aussenstObj->getAussenstelleByBezeichner($pAussenstBez);

    return $aussenst ?? new \Aussenstelle();
  }
}