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

namespace Kufer\KuferTools\Allgemein\Aktuelles\Utils;

use Kufer\KuferTools\Basis\UseCase\ToolUseCase as ToolUseCase;

class NewsHelper
{
  
  public static function getFachbereiche()
  {
    $user = ToolUseCase::getUser();
    $dbwDozFachbereich = new \DBWorkDozFachbereich(1, true);
    if ($user->isAdmin()) {
      return $dbwDozFachbereich->getFachbereichAll();
    } elseif ($user->dnr > 0) {
      return $dbwDozFachbereich->getFachbereichByDNr($user->dnr);
    } else {
      return array();
    }
  }

  
  public static function showFachbereiche()
  {
    $user = ToolUseCase::getUser();

    return $user->isAdmin() || $user->dnr > 0;
  }

  
  public static function getBenutzergruppen()
  {
    $benAry = array();
    $user = ToolUseCase::getUser();
    $isAdmin = $user->isAdmin();
    if ($isAdmin || $user->ben > 0) {
      $benAry[] = \KURZ_MITARBEITER;
    }
    if ($isAdmin || $user->dnr > 0) {
      $benAry[] = \KURZ_DOZENT;
    }
    if ($isAdmin || $user->tnr > 0) {
      $benAry[] = \KURZ_TEILNEHMER;
    }
    if ($isAdmin || $user->anr > 0) {
      $benAry[] = \KURZ_HAUSMEISTER;
    }

    return $benAry;
  }

  
  public static function getFachbereichOptionen($pFachbereiche, $pSelectedValue, $pShowOptionAlleFachbereiche = true)
  {
    $result = '';
    if ($pShowOptionAlleFachbereiche) {
      $result .= \HTMLOperations::createOptionTag('-Alle Fachbereiche-', '-1', $pSelectedValue == '-1');
    }
    $result .= \HTMLOperations::createOptionTag('Allgemeines für alle Fachb.', '0', $pSelectedValue == '0');
    foreach ($pFachbereiche as $fachbereich) {
      $result .= \HTMLOperations::createOptionTag($fachbereich->text, $fachbereich->kennz, $pSelectedValue == $fachbereich->kennz);
    }

    return $result;
  }

  
  public static function getBenutzergruppenOptionen($pBenutzerGruppen, $pSelectedValues, $pShowOptionAlleBenGruppen = true)
  {
    $result = '';
    if ($pShowOptionAlleBenGruppen) {
      $result .= \HTMLOperations::createOptionTag('-Alle Benutzergruppen-', '-1', in_array('-1', $pSelectedValues));
    }
    $result .= \HTMLOperations::createOptionTag('Allgemeine Infos', '0', in_array('0', $pSelectedValues));

    foreach ($pBenutzerGruppen as $benutzerGruppe) {
      $value = '';
      $text = '';
      switch ($benutzerGruppe) {
        case \KURZ_MITARBEITER:
          $value = 1;
          $text = 'Mitarbeiter';
          break;
        case \KURZ_DOZENT:
          $value = 2;
          $text = 'Dozenten';
          break;
        case \KURZ_TEILNEHMER:
          $value = 3;
          $text = 'Teilnehmer';
          break;
        case \KURZ_HAUSMEISTER:
          $value = 4;
          $text = 'Hausmeister';
          break;
        default:
          continue 2; 
      }
      $result .= \HTMLOperations::createOptionTag($text, $value, in_array($value, $pSelectedValues));
    }

    return $result;
  }
}