|
|
|
@@ -2,15 +2,8 @@
|
|
|
|
|
|
|
|
|
|
namespace HermannTelser\Zuladungsliste\Berechnung;
|
|
|
|
|
|
|
|
|
|
set_time_limit(0);
|
|
|
|
|
ini_set('max_execution_time', '600'); // 600 seconds = 10 minutes
|
|
|
|
|
|
|
|
|
|
use TYPO3\CMS\Core\Utility\GeneralUtility;
|
|
|
|
|
use TYPO3\CMS\Frontend\Utility\EidUtility;
|
|
|
|
|
|
|
|
|
|
use HermannTelser\Zuladungsliste\Utilities\Message;
|
|
|
|
|
use HermannTelser\Zuladungsliste\Kammer\KammerById;
|
|
|
|
|
|
|
|
|
|
/***
|
|
|
|
|
*
|
|
|
|
|
* This file is part of the "NuhOdds Comparatore" Extension for TYPO3 CMS.
|
|
|
|
@@ -25,8 +18,11 @@ use HermannTelser\Zuladungsliste\Kammer\KammerById;
|
|
|
|
|
class _Berechnung
|
|
|
|
|
{
|
|
|
|
|
public static $_return = [];
|
|
|
|
|
|
|
|
|
|
public static $_data = [];
|
|
|
|
|
|
|
|
|
|
public static $_config = [];
|
|
|
|
|
|
|
|
|
|
public static $debug = 0;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@@ -54,11 +50,12 @@ class _Berechnung
|
|
|
|
|
|
|
|
|
|
// self::$_config['berechne_bis'] = 1707748093;
|
|
|
|
|
|
|
|
|
|
if(self::$_config['berechne_bis'])
|
|
|
|
|
if (self::$_config['berechne_bis']) {
|
|
|
|
|
_Berechnung::$_config['berechne_bis_datum'] = date('Y-m-d', _Berechnung::$_config['berechne_bis']);
|
|
|
|
|
else
|
|
|
|
|
} else {
|
|
|
|
|
_Berechnung::$_config['berechne_bis_datum'] = date('Y-m-d');
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @return string
|
|
|
|
@@ -85,20 +82,19 @@ class _Berechnung
|
|
|
|
|
|
|
|
|
|
foreach (self::$_data['architekten'] as $key => $user_objekt) {
|
|
|
|
|
$_liste = [];
|
|
|
|
|
$_liste["id"] = $user_objekt["uid"];
|
|
|
|
|
$_liste["disable"] = $user_objekt["disable"];
|
|
|
|
|
$_liste["user_id"] = $user_objekt["uid"];
|
|
|
|
|
$_liste["company"] = $user_objekt["company"];
|
|
|
|
|
$_liste["name"] = $user_objekt["name"];
|
|
|
|
|
$_liste['id'] = $user_objekt['uid'];
|
|
|
|
|
$_liste['disable'] = $user_objekt['disable'];
|
|
|
|
|
$_liste['user_id'] = $user_objekt['uid'];
|
|
|
|
|
$_liste['company'] = $user_objekt['company'];
|
|
|
|
|
$_liste['name'] = $user_objekt['name'];
|
|
|
|
|
// $_liste["last_name"] = $user_objekt["last_name"];
|
|
|
|
|
// $_liste["vereidigung"] = $user_objekt["vereidigung"];
|
|
|
|
|
$_liste["kontoaufloesung"] = $user_objekt["kontoaufloesung"];
|
|
|
|
|
$_liste["kontoaufloesung_active"] = $user_objekt["kontoaufloesung_active"];
|
|
|
|
|
$_liste['kontoaufloesung'] = $user_objekt['kontoaufloesung'];
|
|
|
|
|
$_liste['kontoaufloesung_active'] = $user_objekt['kontoaufloesung_active'];
|
|
|
|
|
// $_liste["nameorder"] = $_liste["last_name"]!="" ? $_liste["last_name"] : $_liste["company"];
|
|
|
|
|
|
|
|
|
|
$_liste["punkte"] = 0;
|
|
|
|
|
$_liste["auswertung"] = [];
|
|
|
|
|
|
|
|
|
|
$_liste['punkte'] = 0;
|
|
|
|
|
$_liste['auswertung'] = [];
|
|
|
|
|
|
|
|
|
|
// WETTBEWERBE ERFOLGSPUNKTE
|
|
|
|
|
$_liste = Erfolgspunkte::load_user($_liste, $user_objekt);
|
|
|
|
@@ -115,32 +111,29 @@ class _Berechnung
|
|
|
|
|
// SOLIDARITÄTSERKLÄRUNG
|
|
|
|
|
$_liste = Solidaritaetserklaerung::filter($_liste, $user_objekt);
|
|
|
|
|
|
|
|
|
|
$_liste['aeltestes_entscheidungs_datum'] = isset($_liste['auswertung']['wettbewerbe'][0]) ? $_liste['auswertung']['wettbewerbe'][0]['entscheidungstermin'] : 0;
|
|
|
|
|
|
|
|
|
|
$_liste["aeltestes_entscheidungs_datum"] = isset($_liste["auswertung"]["wettbewerbe"][0]) ? $_liste["auswertung"]["wettbewerbe"][0]["entscheidungstermin"] : 0;
|
|
|
|
|
|
|
|
|
|
if ($user_objekt["vereidigung"]) {
|
|
|
|
|
$vereidigung = strtotime($user_objekt["vereidigung"]);
|
|
|
|
|
if ($user_objekt['vereidigung']) {
|
|
|
|
|
$vereidigung = strtotime($user_objekt['vereidigung']);
|
|
|
|
|
}
|
|
|
|
|
if ($_liste["aeltestes_entscheidungs_datum"] != 0) {
|
|
|
|
|
$aeltestes_entscheidungs_datum = strtotime($_liste["aeltestes_entscheidungs_datum"]);
|
|
|
|
|
if ($_liste['aeltestes_entscheidungs_datum'] != 0) {
|
|
|
|
|
$aeltestes_entscheidungs_datum = strtotime($_liste['aeltestes_entscheidungs_datum']);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ($_liste["punkte"] == 0) {
|
|
|
|
|
$_liste["nominiert"] = 0;
|
|
|
|
|
if ($_liste['punkte'] == 0) {
|
|
|
|
|
$_liste['nominiert'] = 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ($_liste["punkte"] == 0) {
|
|
|
|
|
$_liste["sortdatum"] = 100000000;
|
|
|
|
|
if ($_liste['punkte'] == 0) {
|
|
|
|
|
$_liste['sortdatum'] = 100000000;
|
|
|
|
|
} elseif (isset($vereidigung) and isset($aeltestes_entscheidungs_datum)) {
|
|
|
|
|
$_liste["sortdatum"] = $aeltestes_entscheidungs_datum < $vereidigung ? $aeltestes_entscheidungs_datum : $vereidigung;
|
|
|
|
|
$_liste['sortdatum'] = $aeltestes_entscheidungs_datum < $vereidigung ? $aeltestes_entscheidungs_datum : $vereidigung;
|
|
|
|
|
} elseif (isset($vereidigung)) {
|
|
|
|
|
$_liste["sortdatum"] = $vereidigung;
|
|
|
|
|
$_liste['sortdatum'] = $vereidigung;
|
|
|
|
|
} elseif (isset($aeltestes_entscheidungs_datum)) {
|
|
|
|
|
$_liste["sortdatum"] = $aeltestes_entscheidungs_datum;
|
|
|
|
|
$_liste['sortdatum'] = $aeltestes_entscheidungs_datum;
|
|
|
|
|
} else {
|
|
|
|
|
$_liste["sortdatum"] = 100000000;
|
|
|
|
|
$_liste['sortdatum'] = 100000000;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// if($user_objekt["uid"]==353){
|
|
|
|
@@ -151,7 +144,6 @@ class _Berechnung
|
|
|
|
|
self::$_data['liste'][] = $_liste;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (is_array(self::$_data['liste'])) {
|
|
|
|
|
|
|
|
|
|
AufloesungPunkteVerteilung::manage();
|
|
|
|
@@ -190,33 +182,33 @@ class _Berechnung
|
|
|
|
|
$pos = 1;
|
|
|
|
|
$rang = 1;
|
|
|
|
|
foreach (self::$_data['liste'] as $key => $value) {
|
|
|
|
|
if ($value["disable"] == 0) {
|
|
|
|
|
$value["rang"] = $rang;
|
|
|
|
|
if ($value['disable'] == 0) {
|
|
|
|
|
$value['rang'] = $rang;
|
|
|
|
|
$rang++;
|
|
|
|
|
|
|
|
|
|
$sperre_wettbewerbe = $value["auswertung"]["wettbewerbe"]["gesperrt_bis"];
|
|
|
|
|
$sperre_sondersperrungen = $value["auswertung"]["sondersperrungen"]['data']["gesperrt_bis"];
|
|
|
|
|
$sperre_wettbewerbe = $value['auswertung']['wettbewerbe']['gesperrt_bis'];
|
|
|
|
|
$sperre_sondersperrungen = $value['auswertung']['sondersperrungen']['data']['gesperrt_bis'];
|
|
|
|
|
|
|
|
|
|
$sperre_wettbewerbe = str_replace(". ", "-", $sperre_wettbewerbe);
|
|
|
|
|
$sperre_wettbewerbe = str_replace('. ', '-', $sperre_wettbewerbe);
|
|
|
|
|
if (strtotime($sperre_wettbewerbe) > self::$_config['berechne_bis']) {
|
|
|
|
|
$value["gesperrt_bis"] = $sperre_wettbewerbe;
|
|
|
|
|
$value['gesperrt_bis'] = $sperre_wettbewerbe;
|
|
|
|
|
}
|
|
|
|
|
if (strtotime($sperre_sondersperrungen) > self::$_config['berechne_bis']) {
|
|
|
|
|
$value["gesperrt_bis"] = $sperre_sondersperrungen;
|
|
|
|
|
$value['gesperrt_bis'] = $sperre_sondersperrungen;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$value["punkte"] = (float) $value["punkte"];
|
|
|
|
|
if ($value["nominiert"] == 1 and $value["punkte"] > 0) {
|
|
|
|
|
$value["pos"] = $pos;
|
|
|
|
|
$value['punkte'] = (float) $value['punkte'];
|
|
|
|
|
if ($value['nominiert'] == 1 and $value['punkte'] > 0) {
|
|
|
|
|
$value['pos'] = $pos;
|
|
|
|
|
$pos++;
|
|
|
|
|
} else {
|
|
|
|
|
$value["pos"] = 0;
|
|
|
|
|
$value['pos'] = 0;
|
|
|
|
|
}
|
|
|
|
|
// unset($value["auswertung"]);
|
|
|
|
|
unset($value["nameorder"]);
|
|
|
|
|
unset($value["aeltestes_entscheidungs_datum"]);
|
|
|
|
|
unset($value["last_name"]);
|
|
|
|
|
unset($value["vereidigung"]);
|
|
|
|
|
unset($value['nameorder']);
|
|
|
|
|
unset($value['aeltestes_entscheidungs_datum']);
|
|
|
|
|
unset($value['last_name']);
|
|
|
|
|
unset($value['vereidigung']);
|
|
|
|
|
|
|
|
|
|
$arr[] = $value;
|
|
|
|
|
}
|
|
|
|
@@ -241,39 +233,39 @@ class _Berechnung
|
|
|
|
|
|
|
|
|
|
self::$_data['liste'] = [];
|
|
|
|
|
foreach ($arr as $key => $value) {
|
|
|
|
|
$pos = $value["pos"];
|
|
|
|
|
$pos = $value['pos'];
|
|
|
|
|
if ($pos == 1) {
|
|
|
|
|
$value["n1"] = 1;
|
|
|
|
|
$value["n2"] = 1;
|
|
|
|
|
$value["n3"] = 1;
|
|
|
|
|
$value["n4"] = 1;
|
|
|
|
|
$value["n5"] = 1;
|
|
|
|
|
$value["n6"] = 1;
|
|
|
|
|
$value['n1'] = 1;
|
|
|
|
|
$value['n2'] = 1;
|
|
|
|
|
$value['n3'] = 1;
|
|
|
|
|
$value['n4'] = 1;
|
|
|
|
|
$value['n5'] = 1;
|
|
|
|
|
$value['n6'] = 1;
|
|
|
|
|
} elseif ($pos > 1) {
|
|
|
|
|
$value["n2"] = ($pos == $zwei) ? 1 : 0;
|
|
|
|
|
$value["n3"] = ($pos == $drei || $pos == $drei * 2) ? 1 : 0;
|
|
|
|
|
$value["n4"] = ($pos == 2 || $pos == $drei || $pos == $drei * 2) ? 1 : 0;
|
|
|
|
|
$value["n5"] = ($pos == 2 || $pos == $drei || $pos == $drei + 1 || $pos == $drei * 2) ? 1 : 0;
|
|
|
|
|
$value["n6"] = ($pos == 2 || $pos == $drei || $pos == $drei + 1 || $pos == $drei * 2 || $pos == $drei * 2 + 1) ? 1 : 0;
|
|
|
|
|
$value['n2'] = ($pos == $zwei) ? 1 : 0;
|
|
|
|
|
$value['n3'] = ($pos == $drei || $pos == $drei * 2) ? 1 : 0;
|
|
|
|
|
$value['n4'] = ($pos == 2 || $pos == $drei || $pos == $drei * 2) ? 1 : 0;
|
|
|
|
|
$value['n5'] = ($pos == 2 || $pos == $drei || $pos == $drei + 1 || $pos == $drei * 2) ? 1 : 0;
|
|
|
|
|
$value['n6'] = ($pos == 2 || $pos == $drei || $pos == $drei + 1 || $pos == $drei * 2 || $pos == $drei * 2 + 1) ? 1 : 0;
|
|
|
|
|
// $value["n4"] = $pos==$vier || $pos==$vier*2 || $pos==$vier*3?1:0;
|
|
|
|
|
// $value["n5"] = $pos==$fuenf || $pos==$fuenf*2 || $pos==$fuenf*3 || $pos==$fuenf*4?1:0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ($pos == 2) {
|
|
|
|
|
$value["e1"] = 1;
|
|
|
|
|
$value["e2"] = 1;
|
|
|
|
|
$value["e3"] = 1;
|
|
|
|
|
$value['e1'] = 1;
|
|
|
|
|
$value['e2'] = 1;
|
|
|
|
|
$value['e3'] = 1;
|
|
|
|
|
}
|
|
|
|
|
if ($pos == 3) {
|
|
|
|
|
$value["e4"] = 1;
|
|
|
|
|
$value["e5"] = 1;
|
|
|
|
|
$value["e6"] = 1;
|
|
|
|
|
$value['e4'] = 1;
|
|
|
|
|
$value['e5'] = 1;
|
|
|
|
|
$value['e6'] = 1;
|
|
|
|
|
} elseif ($pos > 3) {
|
|
|
|
|
$value["e2"] = ($pos == $zwei + 1) ? 1 : 0;
|
|
|
|
|
$value["e3"] = ($pos == $drei + 1 || $pos == $drei * 2 + 1) ? 1 : 0;
|
|
|
|
|
$value["e4"] = ($pos == 4 || $pos == $drei + 1 || $pos == $drei * 2 + 1) ? 1 : 0;
|
|
|
|
|
$value["e5"] = ($pos == 4 || $pos == $drei + 2 || $pos == $drei + 3 || $pos == $drei * 2 + 1) ? 1 : 0;
|
|
|
|
|
$value["e6"] = ($pos == 4 || $pos == $drei + 2 || $pos == $drei + 3 || $pos == $drei * 2 + 2 || $pos == $drei * 2 + 3) ? 1 : 0;
|
|
|
|
|
$value['e2'] = ($pos == $zwei + 1) ? 1 : 0;
|
|
|
|
|
$value['e3'] = ($pos == $drei + 1 || $pos == $drei * 2 + 1) ? 1 : 0;
|
|
|
|
|
$value['e4'] = ($pos == 4 || $pos == $drei + 1 || $pos == $drei * 2 + 1) ? 1 : 0;
|
|
|
|
|
$value['e5'] = ($pos == 4 || $pos == $drei + 2 || $pos == $drei + 3 || $pos == $drei * 2 + 1) ? 1 : 0;
|
|
|
|
|
$value['e6'] = ($pos == 4 || $pos == $drei + 2 || $pos == $drei + 3 || $pos == $drei * 2 + 2 || $pos == $drei * 2 + 3) ? 1 : 0;
|
|
|
|
|
// e6 condition needs controll todo
|
|
|
|
|
}
|
|
|
|
|
self::$_data['liste'][] = $value;
|
|
|
|
|