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

namespace Kufer\KuferTools\Utils\Mitarbeiter;


class MitarbeiterInnsbruckStadt
{
  public static function sindAGB_akzeptiert($refreshCache = false)
  {
    if (\SessionOperations::isCurrentUserMitveranstalter()) {
      $user = self::getPerson($refreshCache);
      if (isset($user->agb_bestaetigen)) {
        if (empty($user->agb_bestaetigen)) {
          return false;
        }
        $dbwHlGrundSys = \DBWorkHLGrundSys::getDefaultInstance(1, true);
        $beginFerienzug = $dbwHlGrundSys->getFeldWert('BeginnAnmeldephaseFerienzug');

        return !\DateTimeOperations::isDateBefore(\DateTimeOperations::getDateFromDatetimeStr($user->agb_bestaetigen), $beginFerienzug);
      }
    }

    return true;
  }

  private static function getPerson($refreshCache = false)
  {
    static $result = null;
    if ($refreshCache || is_null($result)) {
      $dbwBenutzer = new \DBWorkBASysUser(1, true);
      $user = \SessionOperations::getCurrentWebToolsUser();
      if (!$user->isEmpty() && is_numeric($user->ben)) {
        $result = $dbwBenutzer->getBasysUser($user->ben);
      }
    }

    return $result;
  }
}