123 lines
4.7 KiB
PHP
123 lines
4.7 KiB
PHP
<?php
|
|
|
|
namespace HermannTelser\Zuladungsliste\Zuteilungen;
|
|
|
|
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;
|
|
|
|
/***
|
|
*
|
|
* 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 ZuteilungNeu
|
|
{
|
|
/**
|
|
* @return void
|
|
*/
|
|
public static function zuteilen()
|
|
{
|
|
$user = $GLOBALS['TSFE']->fe_user->user;
|
|
|
|
/********************************************************
|
|
* VARS
|
|
********************************************************/
|
|
$kammernid = GeneralUtility::_GP("kammernid");
|
|
if (!is_numeric($kammernid)) {
|
|
exit;
|
|
}
|
|
$wettbewerb_uid = GeneralUtility::_GP("wettbewerb_uid");
|
|
if (!is_numeric($wettbewerb_uid)) {
|
|
exit;
|
|
}
|
|
$next = GeneralUtility::_GP("next");
|
|
if (!is_numeric($next)) {
|
|
exit;
|
|
}
|
|
|
|
/********************************************************
|
|
* NEXT
|
|
********************************************************/
|
|
$arr = Zuteilungen::laden($returnAsArray = true);
|
|
$next_array = Zuteilungen::filterNaechsten($arr, $next);
|
|
|
|
/********************************************************
|
|
* punkte uid with 0 punkte
|
|
* Platzhalter für Zuteilung
|
|
* bei gewinn erden punkte später zugeteilt
|
|
********************************************************/
|
|
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('tx_zuladungsliste_punkte_kriterien_mm');
|
|
$queryBuilder
|
|
->select(
|
|
'a.uid',
|
|
'a.bezeichnung',
|
|
)->from('tx_zuladungsliste_punkte_kriterien_mm')
|
|
->join(
|
|
'tx_zuladungsliste_punkte_kriterien_mm',
|
|
'tx_zuladungsliste_domain_model_punkte',
|
|
'a',
|
|
$queryBuilder->expr()->eq('a.uid', $queryBuilder->quoteIdentifier('tx_zuladungsliste_punkte_kriterien_mm.uid_punkte'))
|
|
)
|
|
->where($queryBuilder->expr()->eq('tx_zuladungsliste_punkte_kriterien_mm.punkte', 0));
|
|
// Message::note($queryBuilder->getSQL());
|
|
$zuweisung_uid_punkte = $queryBuilder->execute()->fetchOne();
|
|
|
|
$insert_array = [];
|
|
$insert_array['tstamp'] = time();
|
|
$insert_array['crdate'] = time();
|
|
$insert_array['pid'] = WETTBEWERBE_PID;
|
|
$insert_array['uid_user'] = $user['uid']; // Ersteller
|
|
$insert_array['uid_wettbewerbe'] = $wettbewerb_uid;
|
|
$insert_array['anzahl_architekten'] = $next;
|
|
|
|
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('tx_zuladungsliste_zuteilungen');
|
|
$queryBuilder->insert('tx_zuladungsliste_zuteilungen')->values($insert_array)->execute();
|
|
$uid_zuteilungen_user = $queryBuilder->getConnection()->lastInsertId();
|
|
|
|
foreach ($next_array as $key => $value) {
|
|
if ($value["ersatz"]==0) {
|
|
$insert_array = array();
|
|
$insert_array['crdate'] = time();
|
|
$insert_array['pid'] = WETTBEWERBE_PID;
|
|
$insert_array['tstamp_zuordnung'] = time();
|
|
$insert_array['tstamp_aktivierung'] = time();
|
|
$insert_array['uid_punkte'] = $zuweisung_uid_punkte;
|
|
$insert_array['uid_wettbewerbe'] = $wettbewerb_uid;
|
|
$insert_array['uid_user'] = $value["user_id"]; // Architekten
|
|
$queryBuilder
|
|
->insert('tx_zuladungsliste_wettbewerbe_architekten_mm')
|
|
->values($insert_array)
|
|
->execute();
|
|
}
|
|
$insert_array = array();
|
|
$insert_array['tstamp'] = time();
|
|
$insert_array['crdate'] = time();
|
|
$insert_array['pid'] = WETTBEWERBE_PID;
|
|
$insert_array['uid_zuteilungen_user'] = $uid_zuteilungen_user;
|
|
$insert_array['user_id'] = $value["user_id"]; // Architekten
|
|
$insert_array['position'] = $key+1;
|
|
$insert_array['ersatz'] = $value["ersatz"];
|
|
$queryBuilder
|
|
->insert('tx_zuladungsliste_zuteilungen_user')
|
|
->values($insert_array)
|
|
->execute();
|
|
}
|
|
sleep(1);
|
|
echo $uid_zuteilungen_user;
|
|
exit;
|
|
}
|
|
}
|