219 lines
11 KiB
PHP
Executable File
219 lines
11 KiB
PHP
Executable File
<?php
|
|
|
|
namespace HermannTelser\Zuladungsliste\Backend;
|
|
|
|
use TYPO3\CMS\Core\Utility\GeneralUtility;
|
|
use TYPO3\CMS\Core\Database\ConnectionPool;
|
|
use HermannTelser\Zuladungsliste\Backend\FixUser;
|
|
|
|
/**
|
|
* 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 Labels
|
|
{
|
|
public function loadKriterien(&$parameters, $parentObject)
|
|
{
|
|
$record = \TYPO3\CMS\Backend\Utility\BackendUtility::getRecord($parameters['table'], $parameters['row']['uid']);
|
|
$newTitle = $record['bezeichnung'];
|
|
|
|
$record = \TYPO3\CMS\Backend\Utility\BackendUtility::getRecord('tx_zuladungsliste_domain_model_sektionstage', $record['sektinstagid'], "rwcode,bezeichnung,stichtag,kammernid");
|
|
$parameters['title'] = $record['rwcode'] . ': ' . $newTitle;
|
|
// $parameters['title'] = $record['rwcode'] . ': ' . $newTitle . ' (' . $record['bezeichnung'] . ' vom ' . date("d. M. y", strtotime($record['stichtag'])) . ')';
|
|
}
|
|
|
|
public function loadSektionstag(&$parameters, $parentObject)
|
|
{
|
|
$record = \TYPO3\CMS\Backend\Utility\BackendUtility::getRecord($parameters['table'], $parameters['row']['uid']);
|
|
$newTitle = $record['bezeichnung'];
|
|
$newTitle .= ' (vom ' . date("d. M. y", strtotime($record['stichtag'])) . ')';
|
|
$parameters['title'] = $newTitle;
|
|
}
|
|
|
|
public function loadArchitekten(&$parameters, $parentObject)
|
|
{
|
|
$record = \TYPO3\CMS\Backend\Utility\BackendUtility::getRecord($parameters['table'], $parameters['row']['uid']);
|
|
|
|
$uid = $parameters["row"]['uid'];
|
|
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('tx_zuladungsliste_konto_aufloesung_mm');
|
|
$count = $queryBuilder
|
|
->count('uid')
|
|
->from('tx_zuladungsliste_konto_aufloesung_mm')
|
|
->where(
|
|
$queryBuilder->expr()->eq('uid_empfaenger', $queryBuilder->createNamedParameter($uid, \PDO::PARAM_INT))
|
|
)->execute()
|
|
->fetchColumn(0);
|
|
|
|
$company = $record['company']!=" " ? $record['company'] : '';
|
|
if ($count) {
|
|
$parameters['title'] = $company . ' [EMPFÄNGER]';
|
|
} elseif ($record["kontoaufloesung_active"]>0) {
|
|
$parameters['title'] = $company . "\n [".$record["kontoaufloesung_active"]." AUFGELÖST]";
|
|
} else {
|
|
$parameters['title'] = $company;
|
|
}
|
|
|
|
FixUser::set();
|
|
}
|
|
|
|
public function loadKriterienPunkte(&$parameters)
|
|
{
|
|
$kriterien_label = '';
|
|
if (isset($parameters['options']['tx_zuladungsliste_punkte_kriterien_mm']) && is_array($parameters['options']['tx_zuladungsliste_punkte_kriterien_mm'])) {
|
|
$kriterien_id = $parameters['row']['uid_kriterien'];
|
|
$record = \TYPO3\CMS\Backend\Utility\BackendUtility::getRecord('tx_zuladungsliste_domain_model_kriterien', $kriterien_id);
|
|
$kriterien_label = $record['bezeichnung'];
|
|
|
|
$punkte_id = $parameters['row']['uid_punkte'][0];
|
|
$item = \TYPO3\CMS\Backend\Utility\BackendUtility::getRecord('tx_zuladungsliste_domain_model_punkte', $punkte_id);
|
|
$kriterien_label .= '<br><b>' . $item['bezeichnung'] . '</b>';
|
|
|
|
//\TYPO3\CMS\Core\Utility\DebugUtility::debug($parameters['row']['uid_punkte'][0]);
|
|
|
|
if ($parameters['row']['punkte']==1) {
|
|
$kriterien_label .= '<br><span style="color:#3399ff; font-weight:bold;">' . $parameters['row']['punkte'] . ' Punkt';
|
|
} else {
|
|
$kriterien_label .= '<br><span style="color:#3399ff; font-weight:bold;">' . $parameters['row']['punkte'] . ' Punkte';
|
|
}
|
|
} else {
|
|
$kriterien_label = '[Fehler!]';
|
|
}
|
|
$parameters['title'] = $kriterien_label;
|
|
}
|
|
|
|
public function loadPunkteVerteilungs(&$parameters)
|
|
{
|
|
$parameters['title'] = "ERROR";
|
|
if (isset($parameters['options']['tx_zuladungsliste_konto_aufloesung_mm']) && is_array($parameters['options']['tx_zuladungsliste_konto_aufloesung_mm'])) {
|
|
$uid_empfaenger = $parameters['row']['uid_empfaenger'][0];
|
|
|
|
//\TYPO3\CMS\Core\Utility\DebugUtility::debug($uid_empfaenger);
|
|
|
|
$prozente = $parameters['row']['prozente'];
|
|
|
|
$record = \TYPO3\CMS\Backend\Utility\BackendUtility::getRecord('fe_users', $uid_empfaenger);
|
|
|
|
$colorclass = "zuladungsliste-kammern-".$record["kammernid"];
|
|
|
|
$parameters['title'] = '<span class="'.$colorclass.'">' . $record['name'];
|
|
$parameters['title'] .= " <b>(" .$prozente. "%) </b></span>";
|
|
}
|
|
}
|
|
|
|
public function loadWettbewerbArchitekten(&$parameters)
|
|
{
|
|
if (isset($parameters['options']['tx_zuladungsliste_wettbewerbe_architekten_mm']) && is_array($parameters['options']['tx_zuladungsliste_wettbewerbe_architekten_mm'])) {
|
|
if (is_array($parameters['row']['uid_wettbewerbe'])) {
|
|
$wettbewerbe_id = (int)$parameters['row']['uid_wettbewerbe'][0];
|
|
} else {
|
|
$wettbewerbe_id = (int)$parameters['row']['uid_wettbewerbe'];
|
|
}
|
|
|
|
if (is_array($parameters['row']['tstamp_zuordnung'])) {
|
|
$tstamp_zuordnung = (int)$parameters['row']['tstamp_zuordnung'][0];
|
|
} else {
|
|
$tstamp_zuordnung =(int)$parameters['row']['tstamp_zuordnung'];
|
|
}
|
|
|
|
if (is_array($parameters['row']['tstamp_aktivierung'])) {
|
|
$tstamp_aktivierung = (int)$parameters['row']['tstamp_aktivierung'][0];
|
|
} else {
|
|
$tstamp_aktivierung = (int)$parameters['row']['tstamp_aktivierung'];
|
|
}
|
|
|
|
|
|
if (is_array($parameters['row']['uid_user'])) {
|
|
$user_id = (int)$parameters['row']['uid_user'][0];
|
|
} else {
|
|
$user_id = (int)$parameters['row']['uid_user'];
|
|
}
|
|
|
|
if (is_array($parameters['row']['uid_punkte'])) {
|
|
$punkte_id = (int)$parameters['row']['uid_punkte'][0];
|
|
} else {
|
|
$punkte_id = (int)$parameters['row']['uid_punkte'];
|
|
}
|
|
|
|
// echo json_encode($parameters);
|
|
|
|
// \TYPO3\CMS\Core\Utility\DebugUtility::debug(implode(", ",array_keys($parameters["row"])));
|
|
// \TYPO3\CMS\Core\Utility\DebugUtility::debug(implode(", ",$parameters["row"]));
|
|
// \TYPO3\CMS\Core\Utility\DebugUtility::debug($parameters["row"]["uid_user"],"uid_user 1: ");
|
|
// \TYPO3\CMS\Core\Utility\DebugUtility::debug($user_id,"uid_user 2: ");
|
|
// \TYPO3\CMS\Core\Utility\DebugUtility::debug(implode(", ",array_keys($parameters["options"])));
|
|
// \TYPO3\CMS\Core\Utility\DebugUtility::debug($wettbewerbe_id,$punkte_id);
|
|
|
|
if (isset($wettbewerbe_id)) {
|
|
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('tx_zuladungsliste_domain_model_wettbewerbe');
|
|
$record = $queryBuilder
|
|
->select('kriteriumid', 'wettbewerb')
|
|
->from('tx_zuladungsliste_domain_model_wettbewerbe')
|
|
->where(
|
|
$queryBuilder->expr()->eq('uid', $queryBuilder->createNamedParameter($wettbewerbe_id, \PDO::PARAM_INT))
|
|
)->execute();
|
|
|
|
while ($row = $record->fetch()) {
|
|
$kriterien_id = $row['kriteriumid'];
|
|
$wettbewerb_label = $row['wettbewerb'];
|
|
}
|
|
|
|
// \TYPO3\CMS\Core\Utility\DebugUtility::debug($record);
|
|
// return;
|
|
// $record = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows("kriteriumid,wettbewerb", "tx_zuladungsliste_domain_model_wettbewerbe", "uid=$wettbewerbe_id");
|
|
|
|
|
|
$parameters['row']['uid'] = strpos($parameters['row']['uid'], "NEW")!==false ? "Neuer Eintrag Bitte Sichern" : $parameters['row']['uid'];
|
|
|
|
if ($user_id) {
|
|
$record = \TYPO3\CMS\Backend\Utility\BackendUtility::getRecord('fe_users', $user_id);
|
|
$wettbewerb_label .= '</b><br><span style="color:#3399ff; font-weight:bold;">' . $record['company'] . '</span>';
|
|
}
|
|
if ($punkte_id) {
|
|
$tstamp_zuordnung = $tstamp_zuordnung ? date("d. M. Y", $tstamp_zuordnung) : " ";
|
|
$tstamp_aktivierung = $tstamp_aktivierung ? date("d. M. Y", $tstamp_aktivierung) : " ";
|
|
|
|
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('tx_zuladungsliste_domain_model_punkte');
|
|
$record = $queryBuilder
|
|
->select('tx_zuladungsliste_domain_model_punkte.bezeichnung', 'k.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)),
|
|
$queryBuilder->expr()->eq('k.uid_punkte', $queryBuilder->createNamedParameter($punkte_id, \PDO::PARAM_INT))
|
|
)
|
|
->execute();
|
|
|
|
while ($row = $record->fetch()) {
|
|
$punkte = $row['punkte']==0 ? "Keine " : $row['punkte'];
|
|
$bezeichnung = $row['bezeichnung'];
|
|
}
|
|
|
|
$wettbewerb_label .= '</b><br><span style="color:#800; font-weight:bold;">' . $bezeichnung .' (' . $punkte;
|
|
$wettbewerb_label .= $punkte==1 ? ' Punkt)</span>' : ' Punkte)</span>';
|
|
|
|
if ($punkte!=0) {
|
|
$wettbewerb_label .= '<br><span class="be_punktestatus"><span>Zugeordnet am:</span>' . $tstamp_zuordnung .'</span>';
|
|
$wettbewerb_label .= '<br><span class="be_punktestatus"><span>Freigeschaltet am:</span>' . $tstamp_aktivierung .'</span>';
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
$wettbewerb_label = '[Fehler!]';
|
|
}
|
|
|
|
$parameters['title'] = '<b>' . $wettbewerb_label . '</b><br><span style="color:#3399ff; font-weight:bold;">' . $kriterium_label . '</span>';
|
|
}
|
|
}
|