first commit
This commit is contained in:
commit
e81864e683
2984 files changed
+267797
No files matched your search
@@ -0,0 +1,95 @@
|
||||
<?php
|
||||
|
||||
namespace HermannTelser\Zuladungsliste\Berechnung;
|
||||
|
||||
use TYPO3\CMS\Core\Utility\GeneralUtility;
|
||||
use TYPO3\CMS\Core\Database\ConnectionPool;
|
||||
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 Sondersperrungen
|
||||
{
|
||||
/**
|
||||
* @return void
|
||||
*/
|
||||
public static function load()
|
||||
{
|
||||
// _Berechnung::$debug = 1;
|
||||
|
||||
if (_Berechnung::$debug) {
|
||||
Message::debug(
|
||||
__FILE__,
|
||||
__LINE__,
|
||||
"Load ListeBerechnung"
|
||||
);
|
||||
}
|
||||
|
||||
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('tx_zuladungsliste_domain_model_extrasperrung');
|
||||
$statement = $queryBuilder
|
||||
->select('tx_zuladungsliste_domain_model_extrasperrung.begruendung', 'tx_zuladungsliste_domain_model_extrasperrung.sperrzeitbis', 'b.uid_user', 'c.company')
|
||||
->from('tx_zuladungsliste_domain_model_extrasperrung')
|
||||
->join(
|
||||
'tx_zuladungsliste_domain_model_extrasperrung',
|
||||
'tx_zuladungsliste_extrasperrung_user_mm',
|
||||
'b',
|
||||
$queryBuilder->expr()->eq('b.uid_extrasperrung', $queryBuilder->quoteIdentifier('tx_zuladungsliste_domain_model_extrasperrung.uid'))
|
||||
)
|
||||
->join(
|
||||
'b',
|
||||
'fe_users',
|
||||
'c',
|
||||
$queryBuilder->expr()->eq('c.uid', $queryBuilder->quoteIdentifier('b.uid_user'))
|
||||
)
|
||||
->where(
|
||||
$queryBuilder->expr()->eq('c.kammernid', _Berechnung::$_config['kammernid'])
|
||||
)->execute()->fetchAll();
|
||||
|
||||
if (_Berechnung::$debug) {
|
||||
Message::note($queryBuilder->getSQL());
|
||||
}
|
||||
|
||||
$_sondersperrungen = [];
|
||||
foreach ($statement as $key => $value) {
|
||||
$uid_user = $value['uid_user'];
|
||||
$value['sperrzeitbis_timestamp'] = strtotime($value['sperrzeitbis']);
|
||||
$_sondersperrungen[$uid_user][] = $value;
|
||||
}
|
||||
|
||||
_Berechnung::$_data['sondersperrungen'] = $_sondersperrungen;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return void
|
||||
*/
|
||||
public static function filter($_liste, $user_objekt)
|
||||
{
|
||||
|
||||
$_liste["auswertung"]["sondersperrungen"]["gesperrt"]=0;
|
||||
$_liste["auswertung"]["sondersperrungen"]["gesperrt_bis"]=0;
|
||||
$user_id = $user_objekt["uid"];
|
||||
if (isset(_Berechnung::$_data['sondersperrungen'][$user_id])) {
|
||||
foreach (_Berechnung::$_data['sondersperrungen'][$user_id] as $key => $value_sperrung) {
|
||||
if (_Berechnung::$_config['berechne_bis'] < $value_sperrung["sperrzeitbis_timestamp"]) {
|
||||
$return["gesperrt_bis"] = $value_sperrung["sperrzeitbis_timestamp"];
|
||||
}
|
||||
$_liste["auswertung"]["sondersperrungen"]["gesperrt"] = 1;
|
||||
$_liste["auswertung"]["sondersperrungen"]["gesperrt_bis"] = $value_sperrung["sperrzeitbis"];
|
||||
$_liste["auswertung"]["sondersperrungen"]["kommentar"] = $value_sperrung["begruendung"];
|
||||
|
||||
$_liste["gesperrt_bis"] = $value_sperrung["sperrzeitbis"];
|
||||
$_liste["nominiert"] = 0;
|
||||
}
|
||||
}
|
||||
return $_liste;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user