76 lines
2.6 KiB
PHP
76 lines
2.6 KiB
PHP
<?php
|
|
|
|
namespace HermannTelser\Zuladungsliste\Berechnung;
|
|
|
|
use HermannTelser\Zuladungsliste\Utilities\Message;
|
|
|
|
/***
|
|
*
|
|
* This file is part of the "Zuladungsliste Steiermark" Extension for TYPO3 CMS.
|
|
*
|
|
* For the full copyright and license information, please read the
|
|
* LICENSE.txt file that was distributed with this source code.
|
|
*
|
|
* (c) 2019 Hermann Telser <hermann.telser@gmail.com>, NUH-Odds GmbH
|
|
*
|
|
***/
|
|
|
|
class Neueinsteiger
|
|
{
|
|
/**
|
|
* @param mixed $_liste
|
|
* @param mixed $user_objekt
|
|
*
|
|
* @return void
|
|
*/
|
|
public static function load($_liste, $user_objekt)
|
|
{
|
|
if (_Berechnung::$debug) {
|
|
Message::debug(__FILE__, __LINE__, 'Load NeueinsteigerPunkt');
|
|
}
|
|
|
|
if ('0000-00-00' == $user_objekt['vereidigung']) {
|
|
$_liste['auswertung']['neueinsteigerpunkt']['punkte'] = 0;
|
|
$_liste['auswertung']['neueinsteigerpunkt']['kommentar'] = 'Kein Vereidigungsdatum verfügbar';
|
|
|
|
return $_liste;
|
|
}
|
|
|
|
$vereidigung = strtotime($user_objekt['vereidigung']);
|
|
$_sektionstag = Sektionstage::filter($vereidigung);
|
|
|
|
$datetime1 = new \DateTime();
|
|
if (0 != _Berechnung::$_config['berechne_bis']) {
|
|
$datetime1->setTimestamp(_Berechnung::$_config['berechne_bis']);
|
|
}
|
|
$datetime2 = new \DateTime($user_objekt['vereidigung']);
|
|
|
|
$interval = $datetime1->diff($datetime2);
|
|
$monate_seit_vereidigung = $interval->m + ($interval->y * 12);
|
|
|
|
if ($monate_seit_vereidigung > $_sektionstag['neueinsteiger']) {
|
|
$_liste['auswertung']['neueinsteigerpunkt']['punkte'] = 0;
|
|
$_liste['auswertung']['neueinsteigerpunkt']['kommentar'] = 'Neueinsteigerpunkt ist verfallen. Vereidigung '.$user_objekt['vereidigung'];
|
|
|
|
return $_liste;
|
|
}
|
|
|
|
$jahre_seit_vereidigung = $interval->y;
|
|
|
|
if ($jahre_seit_vereidigung < 5) {
|
|
$neueinsteigerpunkt = 5 - $jahre_seit_vereidigung;
|
|
$datetime2->modify('+5 year');
|
|
|
|
$_liste['auswertung']['neueinsteigerpunkt']['punkte'] = $neueinsteigerpunkt;
|
|
$_liste['punkte'] = $_liste['punkte'] + $neueinsteigerpunkt;
|
|
$_liste['auswertung']['neueinsteigerpunkt']['kommentar'] = 'Neueinsteigerpunkt Vereidigung '.$user_objekt['vereidigung'];
|
|
$_liste['auswertung']['neueinsteigerpunkt']['gueltig_bis'] = $datetime2->format('Y-m-d');
|
|
} else {
|
|
$_liste['auswertung']['neueinsteigerpunkt']['punkte'] = 0;
|
|
$_liste['auswertung']['neueinsteigerpunkt']['kommentar'] = 'Neueinsteigerpunkt ist verfallen. Vereidigung '.$user_objekt['vereidigung'];
|
|
}
|
|
|
|
return $_liste;
|
|
}
|
|
}
|