Files
2026-10-06 19:40:28 +02:00

67 lines
2.6 KiB
PHP

<?php
namespace HermannTelser\Zuladungsliste\Backend;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Core\Database\ConnectionPool;
/**
* Generate additional label for category records
* including the title of the parent category
*
* @$parameters array $params
* @return void
*
*
* \TYPO3\CMS\Core\Utility\DebugUtility::debug($wettbewerbeid);
*
*/
class Selecting
{
public function loadPunkte(&$parameters)
{
if (isset($parameters['row']['uid_wettbewerbe'][0])) {
$wettbewerbe_id = isset($parameters['row']['uid_wettbewerbe'][0]) ? $parameters['row']['uid_wettbewerbe'][0] : $parameters['row']['uid_wettbewerbe'];
}
if ($wettbewerbe_id!=0) {
$parameters["items"][] = array('Bitte zuordnen','');
$record = \TYPO3\CMS\Backend\Utility\BackendUtility::getRecord('tx_zuladungsliste_domain_model_wettbewerbe', $wettbewerbe_id);
$kriterien_id = $record['kriteriumid'];
if ($kriterien_id!=0) {
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('tx_zuladungsliste_domain_model_punkte');
$resource = $queryBuilder
->select('tx_zuladungsliste_domain_model_punkte.bezeichnung', 'tx_zuladungsliste_domain_model_punkte.uid', 'k.punkte')
->from('tx_zuladungsliste_domain_model_punkte')
->join(
'tx_zuladungsliste_domain_model_punkte',
'tx_zuladungsliste_punkte_kriterien_mm',
'k',
$queryBuilder->expr()->eq('k.uid_punkte', $queryBuilder->quoteIdentifier('tx_zuladungsliste_domain_model_punkte.uid'))
)
->where(
$queryBuilder->expr()->eq('k.uid_kriterien', $queryBuilder->createNamedParameter($kriterien_id, \PDO::PARAM_INT))
)
->orderBy('tx_zuladungsliste_domain_model_punkte.sorting')
->execute()
->fetchAll();
foreach ($resource as $key => $row) {
if ($row['punkte']==0) {
$parameters["items"][] = array($row['bezeichnung'].' (Keine Punkte Zugeordnet)', $row['uid']);
} else {
$parameters["items"][] = array($row['bezeichnung'].' ('.$row['punkte'].' Punkte)', $row['uid']);
}
}
} else {
$parameters["items"][] = array('Punkte für Kriterium fehlen','');
}
} else {
$parameters["items"][] = array('Wettbewerb auswählen und speichern','');
}
}
}