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