119 lines
4.2 KiB
PHP
119 lines
4.2 KiB
PHP
<?php
|
|
|
|
namespace HermannTelser\Zuladungsliste\PunkteZuweisung;
|
|
|
|
use ForceUTF8\Encoding;
|
|
use TYPO3\CMS\Core\Database\ConnectionPool;
|
|
use TYPO3\CMS\Core\Utility\GeneralUtility;
|
|
use HermannTelser\Zuladungsliste\Utilities\Message;
|
|
use TYPO3\CMS\Core\Database\Query\Restriction\DeletedRestriction;
|
|
use HermannTelser\Zuladungsliste\Utilities\Resources;
|
|
|
|
/***
|
|
*
|
|
* 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.
|
|
*
|
|
*
|
|
* Copyright notice
|
|
*
|
|
* (c) 2017 - 2022 Hermann Telser <hermann.telser@gmail.com>
|
|
*¨
|
|
* All rights reserved
|
|
* ************************************************************* */
|
|
|
|
class Preise
|
|
{
|
|
/**
|
|
* @return void
|
|
*/
|
|
public static function laden()
|
|
{
|
|
$kriteriumid = GeneralUtility::_GP('kriteriumid');
|
|
$wettbewerbid = GeneralUtility::_GP('wettbewerbid');
|
|
|
|
$user = $GLOBALS['TSFE']->fe_user->user;
|
|
|
|
// $punktestatus = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows("uid_punkte, tstamp_zuordnung, tstamp_aktivierung", "tx_zuladungsliste_wettbewerbe_architekten_mm",
|
|
// "uid_wettbewerbe=$wettbewerb_id AND uid_user=$user_id AND uid_punkte>0", "", "", "", "uid_punkte");
|
|
|
|
|
|
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('tx_zuladungsliste_wettbewerbe_architekten_mm');
|
|
$queryBuilder
|
|
->select('uid_punkte', 'tstamp_zuordnung', 'tstamp_aktivierung')
|
|
->from('tx_zuladungsliste_wettbewerbe_architekten_mm')
|
|
->where(
|
|
$queryBuilder->expr()->eq('uid_user', (int) $user['uid']),
|
|
$queryBuilder->expr()->gt('uid_punkte', 0),
|
|
$queryBuilder->expr()->eq('uid_wettbewerbe', (int) $wettbewerbid)
|
|
)
|
|
->orderBy('uid_punkte');
|
|
$res = $queryBuilder->execute()->fetchAll();
|
|
|
|
$punktestatus = [];
|
|
$closed=false;
|
|
foreach ($res as $key => $value) {
|
|
$punktestatus[$value['uid_punkte']] = $value;
|
|
if ($value["tstamp_aktivierung"]>0) {
|
|
$closed=true;
|
|
}
|
|
}
|
|
|
|
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('tx_zuladungsliste_domain_model_punkte');
|
|
$queryBuilder
|
|
->select(
|
|
'tx_zuladungsliste_domain_model_punkte.uid',
|
|
'tx_zuladungsliste_domain_model_punkte.bezeichnung',
|
|
'b.sorting',
|
|
'b.punkte',
|
|
'b.uid_punkte'
|
|
)
|
|
->from('tx_zuladungsliste_domain_model_punkte')
|
|
->leftJoin(
|
|
'tx_zuladungsliste_domain_model_punkte',
|
|
'tx_zuladungsliste_punkte_kriterien_mm',
|
|
'b',
|
|
$queryBuilder->expr()->eq(
|
|
'b.uid_punkte',
|
|
$queryBuilder->quoteIdentifier('tx_zuladungsliste_domain_model_punkte.uid')
|
|
)
|
|
)
|
|
->where(
|
|
$queryBuilder->expr()->eq('b.uid_kriterien', (int) $kriteriumid)
|
|
);
|
|
$_punkte_kriterien = $queryBuilder->execute()->fetchAll();
|
|
|
|
// echo $queryBuilder->getSQL();
|
|
$_return = [];
|
|
foreach ($_punkte_kriterien as $key => $value) {
|
|
$value["sorting"] = (int)$value["sorting"];
|
|
$value["status"] = 0;
|
|
$value["tstamp_zuordnung"] = "";
|
|
$value["tstamp_aktivierung"] = "";
|
|
|
|
$punkteId = $value["uid_punkte"];
|
|
if (isset($punktestatus[$punkteId])) {
|
|
$tmp = $punktestatus[$punkteId];
|
|
|
|
if ($tmp["tstamp_zuordnung"]>0) {
|
|
$value["tstamp_zuordnung"] = date("d. M. Y", $tmp["tstamp_zuordnung"]);
|
|
$value["status"] = 1;
|
|
}
|
|
if ($tmp["tstamp_aktivierung"]>0) {
|
|
$value["tstamp_aktivierung"] = date("d. M. Y", $tmp["tstamp_aktivierung"]);
|
|
}
|
|
}
|
|
if ($closed) {
|
|
$value["status"] = 2;
|
|
}
|
|
$_return[] = $value;
|
|
}
|
|
|
|
header('Content-Type: application/json');
|
|
echo json_encode($_return);
|
|
exit();
|
|
}
|
|
}
|