, 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; } }