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


class Aktuelles extends Datamodul
{
  
  public $titel;

  
  public $inhalt;

  
  public $erstell_datetime;

  
  public $autor_id;

  
  public $benutzergruppe;

  
  public $letzter_bearbeiter;

  
  public $letzte_bearbeitung_datetime;

  
  public $gueltigBis;

  public $bezirk;

  public $dnr_privatnachricht;

  
  public function setValue2Var($var, $val)
  {
    switch ($var) {
      default:
        $this->{$var} = $val;
        break;
    }
  }

  public function getTyp($pFieldName)
  {
    switch (StringOperations::strtolower($pFieldName)) {
      default:
        return parent::getTyp($pFieldName);
      case 'gueltigbis':
        return \DatamodulVarType::TYPE_DATE;
      case 'autor_id':
        return \DatamodulVarType::TYPE_INT;
      case 'erstelldatum':
      case 'letzter_bearbeitung_datum':
      case 'erstell_datetime':
      case 'letzte_bearbeitung_datetime':
        return \DatamodulVarType::TYPE_DATETIME;
    }
  }

  public function getVarValue($name)
  {
    switch ($name) {
      case 'letzte_bearbeitung_date':
        return DateTimeOperations::getDateFromDatetimeStr($this->letzte_bearbeitung_datetime);
      case 'erstell_date':
        return DateTimeOperations::getDateFromDatetimeStr($this->erstell_datetime);
      case 'letzte_bearbeitung_time':
        return DateTimeOperations::getTimeStr($this->letzte_bearbeitung_datetime);
      case 'erstell_time':
        return DateTimeOperations::getTimeStr($this->erstell_datetime);
      default:
        return parent::getVarValue($name);
    }
  }

  public function getUserGroupNameList()
  {
    if (!isset($this->benutzergruppe)) {
      return '';
    }
    $usergrpary = explode(',', $this->benutzergruppe);
    $usergrpnames = array();
    foreach ($usergrpary as $usergrpid) {
      switch ($usergrpid) {
        case 0:
          $usergrpnames[] = 'Allgemeine Infos';
          break;
        case 1:
          $usergrpnames[] = 'Mitarbeiter';
          break;
        case 2:
          $usergrpnames[] = 'Dozenten';
          break;
        case 3:
          $usergrpnames[] = 'Teilnehmer';
          break;
        case 4:
          $usergrpnames[] = 'Hausmeister';
          break;
      }
    }

    return implode(', ', $usergrpnames);
  }

  public function getAutorIdentifier(): \Kufer\Web\Classes\Identifier\Identifier
  {
    return \Kufer\Web\Classes\Identifier\Identifier::fromId($this->autor_id);
  }
}