first commit
This commit is contained in:
commit
e81864e683
2984 files changed
+267797
No files matched your search
@@ -0,0 +1,118 @@
|
||||
<?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();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,170 @@
|
||||
<?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 PunkteZuweisen
|
||||
{
|
||||
/**
|
||||
* @return void
|
||||
*/
|
||||
public static function setzen()
|
||||
{
|
||||
$user = $GLOBALS['TSFE']->fe_user->user;
|
||||
|
||||
$debug = 1;
|
||||
|
||||
$kriteriumid = GeneralUtility::_GP('kriteriumid');
|
||||
$wettbewerbid = GeneralUtility::_GP('wettbewerbid');
|
||||
|
||||
$arr = json_decode(GeneralUtility::_GP('data'), true);
|
||||
$zuweisung_uid_punkte = (int) $arr["uid_punkte"];
|
||||
|
||||
if (!is_numeric($zuweisung_uid_punkte)) {
|
||||
if ($debug) {
|
||||
Message::note("zuweisung_uid_punkte fehlt");
|
||||
}
|
||||
exit;
|
||||
}
|
||||
if (!is_numeric($kriteriumid)) {
|
||||
if ($debug) {
|
||||
Message::note("kriteriumid fehlt");
|
||||
}
|
||||
exit;
|
||||
}
|
||||
if (!is_numeric($wettbewerbid)) {
|
||||
if ($debug) {
|
||||
Message::note("wettbewerbid fehlt");
|
||||
}
|
||||
exit;
|
||||
}
|
||||
|
||||
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('tx_zuladungsliste_wettbewerbe_architekten_mm');
|
||||
$queryBuilder
|
||||
->select('uid', 'uid_wettbewerbe', 'uid_user', 'uid_punkte', 'sorting', 'tstamp', 'crdate', 'tstamp_zuordnung', 'tstamp_aktivierung')
|
||||
->from('tx_zuladungsliste_wettbewerbe_architekten_mm')
|
||||
->where(
|
||||
$queryBuilder->expr()->eq('uid_user', (int) $user['uid']),
|
||||
$queryBuilder->expr()->eq('uid_wettbewerbe', (int) $wettbewerbid)
|
||||
)
|
||||
->orderBy('uid_punkte');
|
||||
$active_punkte = $queryBuilder->execute()->fetchAll();
|
||||
|
||||
// echo $queryBuilder->getSQL();
|
||||
//
|
||||
// print_r($active_punkte);
|
||||
//
|
||||
// exit;
|
||||
|
||||
$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)
|
||||
);
|
||||
$kriterien = $queryBuilder->execute()->fetchAll();
|
||||
|
||||
//Kontrolle if uid_punkte existiert in den kriterien für diesen wettbewerb
|
||||
$stopping = true;
|
||||
foreach ($kriterien as $key => $value) {
|
||||
if ($value["uid_punkte"] == $zuweisung_uid_punkte) {
|
||||
$stopping = false;
|
||||
}
|
||||
}
|
||||
if ($stopping) {
|
||||
if ($debug) {
|
||||
Message::note("uid_punkte existiert nicht in den kriterien für diesen wettbewerb");
|
||||
}
|
||||
exit;
|
||||
}
|
||||
|
||||
if (count($active_punkte)) {
|
||||
if ($active_punkte[0]["uid_punkte"]==$zuweisung_uid_punkte) {
|
||||
|
||||
// PUNKTE ZUWEISUNG VOM BENUTZER GELÖSCHT
|
||||
|
||||
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('tx_zuladungsliste_wettbewerbe_architekten_mm');
|
||||
$queryBuilder
|
||||
->delete('tx_zuladungsliste_wettbewerbe_architekten_mm')
|
||||
->where(
|
||||
$queryBuilder->expr()->eq('uid_user', (int) $user['uid']),
|
||||
$queryBuilder->expr()->eq('uid_wettbewerbe', (int) $wettbewerbid)
|
||||
)
|
||||
->execute();
|
||||
} else {
|
||||
|
||||
// UPDATE PUNKTE
|
||||
|
||||
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('tx_zuladungsliste_wettbewerbe_architekten_mm');
|
||||
$queryBuilder->update('tx_zuladungsliste_wettbewerbe_architekten_mm')
|
||||
->where(
|
||||
$queryBuilder->expr()->eq('uid_user', (int) $user['uid']),
|
||||
$queryBuilder->expr()->eq('uid_wettbewerbe', (int) $wettbewerbid)
|
||||
)
|
||||
->set('tstamp', (int) time())
|
||||
->set('tstamp_zuordnung', (int) time())
|
||||
->set('uid_punkte', (int) $zuweisung_uid_punkte)
|
||||
->execute();
|
||||
}
|
||||
} else {
|
||||
|
||||
// PUNKTE NEU ZUGETEILT
|
||||
|
||||
$insertArray = array();
|
||||
$insertArray['crdate'] = time();
|
||||
$insertArray['pid'] = WETTBEWERBE_PID;
|
||||
$insertArray['tstamp_zuordnung'] = time();
|
||||
$insertArray['uid_punkte'] = $zuweisung_uid_punkte;
|
||||
$insertArray['uid_wettbewerbe'] = $wettbewerbid;
|
||||
$insertArray['uid_user'] = $user['uid'];
|
||||
|
||||
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('tx_zuladungsliste_wettbewerbe_architekten_mm');
|
||||
$queryBuilder
|
||||
->insert('tx_zuladungsliste_wettbewerbe_architekten_mm')
|
||||
->values($insertArray)
|
||||
->execute();
|
||||
}
|
||||
|
||||
// echo $queryBuilder->getSQL();
|
||||
|
||||
echo 1;
|
||||
exit;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,94 @@
|
||||
<?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 PunkteZuweisungen
|
||||
{
|
||||
/**
|
||||
* @return void
|
||||
*/
|
||||
public static function laden()
|
||||
{
|
||||
$user = $GLOBALS['TSFE']->fe_user->user;
|
||||
|
||||
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('tx_zuladungsliste_domain_model_wettbewerbe');
|
||||
// $queryBuilder->getRestrictions()->removeAll()->add(GeneralUtility::makeInstance(DeletedRestriction::class));
|
||||
$queryBuilder
|
||||
->select('uid', 'wettbewerb', 'bundesland', 'kriteriumid', 'entscheidungstermin', 'abgabetermin')
|
||||
->from('tx_zuladungsliste_domain_model_wettbewerbe');
|
||||
$_wettbewerbe = $queryBuilder->execute()->fetchAll();
|
||||
|
||||
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('tx_zuladungsliste_wettbewerbe_architekten_mm');
|
||||
// $queryBuilder->getRestrictions()->removeAll()->add(GeneralUtility::makeInstance(DeletedRestriction::class));
|
||||
$queryBuilder
|
||||
->select('uid_wettbewerbe', 'tstamp_zuordnung', 'tstamp_aktivierung')
|
||||
->from('tx_zuladungsliste_wettbewerbe_architekten_mm')
|
||||
->where($queryBuilder->expr()->eq('uid_user', (int) $user['uid']));
|
||||
$res = $queryBuilder->execute()->fetchAll();
|
||||
$punktestatus = [];
|
||||
foreach ($res as $key => $value) {
|
||||
$punktestatus[$value['uid_wettbewerbe']] = $value;
|
||||
}
|
||||
|
||||
$bundeslaender = Resources::bundeslaender();
|
||||
$bundeslaender = array_flip($bundeslaender);
|
||||
|
||||
$_return = [];
|
||||
foreach ($_wettbewerbe as $key => $value) {
|
||||
$value["bundeslandid"] = $bundeslaender[$value["bundesland"]];
|
||||
$year = date('Y', strtotime($value["entscheidungstermin"]));
|
||||
|
||||
if (strtotime($value["entscheidungstermin"]) > 0) {
|
||||
$value["jahr"] = (int) $year;
|
||||
} else {
|
||||
$value["jahr"] = (int) date('Y', strtotime($value["abgabetermin"]));
|
||||
}
|
||||
|
||||
unset($value["entscheidungstermin"]);
|
||||
unset($value["abgabetermin"]);
|
||||
|
||||
$wettbewerbeId = $value["uid"];
|
||||
|
||||
$value["status"] = 0;
|
||||
if (isset($punktestatus[$wettbewerbeId])) {
|
||||
$tmp = $punktestatus[$wettbewerbeId];
|
||||
|
||||
if ($tmp["tstamp_zuordnung"]>0) {
|
||||
$value["status"] = 1;
|
||||
}
|
||||
|
||||
if ($tmp["tstamp_aktivierung"]>0) {
|
||||
$value["status"] = 2;
|
||||
}
|
||||
}
|
||||
|
||||
$_return[] = $value;
|
||||
}
|
||||
|
||||
header('Content-Type: application/json');
|
||||
echo json_encode($_return);
|
||||
exit();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
namespace HermannTelser\Zuladungsliste\PunkteZuweisung;
|
||||
|
||||
use HermannTelser\Zuladungsliste\Utilities\Message;
|
||||
use ForceUTF8\Encoding;
|
||||
|
||||
/***
|
||||
*
|
||||
* 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 _PunkteZuweisungController
|
||||
{
|
||||
public function __construct($xaction)
|
||||
{
|
||||
switch ($xaction) {
|
||||
case 'lade_punktezuweisungen':
|
||||
PunkteZuweisungen::laden();
|
||||
break;
|
||||
case 'lade_preise':
|
||||
Preise::laden();
|
||||
break;
|
||||
case 'setze_punktezuweisungen':
|
||||
PunkteZuweisen::setzen();
|
||||
break;
|
||||
default:
|
||||
Message::error(__FILE__, __LINE__, 'no xaction switch defined');
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user