67 lines
2.6 KiB
PHP
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','');
|
|
}
|
|
}
|
|
}
|