Files
dotter_t3/packages/watten/Classes/Hooks/DataHandler.php
T
2026-10-18 17:49:22 +02:00

76 lines
2.3 KiB
PHP

<?php
namespace HermannTelser\Watten\Hooks;
/**
* This file is part of the "news" Extension for TYPO3 CMS.
*
* For the full copyright and license information, please read the
* LICENSE.txt file that was distributed with this source code.
*/
use TYPO3\CMS\Backend\Utility\BackendUtility as BackendUtilityCore;
use TYPO3\CMS\Core\SingletonInterface;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Core\Database\ConnectionPool;
use TYPO3\CMS\Core\Session\SessionManager;
/**
* Hook into tcemain which is used to show preview of news item
*/
class DataHandler implements SingletonInterface
{
/**
* Prevent saving of a news record if the editor doesn't have access to all categories of the news record
*
* @param array $fieldArray
* @param string $table
* @param int $id
* @param $parentObject \TYPO3\CMS\Core\DataHandling\DataHandler
*
* @return void
*/
public function processDatamap_preProcessFieldArray(&$fieldArray, $table, $id, $parentObject): void
{
if ($table === 'tx_watten_domain_model_ergebnisse') {
// print_r($fieldArray);
// print_r($table);
// print_r($id);
$tmp = [];
$tmp[] = $fieldArray['s1'];
$tmp[] = $fieldArray['s2'];
$tmp[] = $fieldArray['v1'];
$tmp[] = $fieldArray['v2'];
$tmp = array_unique($tmp);
if (\array_sum($tmp) < 4) {
$parentObject->log(
$table,
$id,
2,
0,
1,
"Sichern des Eintrags misslang. Grund: Athleten müssen vollständig ausgefüllt werden.",
1,
[$table]
);
// unset table to prevent saving
$table = '';
} elseif (\count($tmp) != 4) {
$parentObject->log(
$table,
$id,
2,
0,
1,
"Sichern des Eintrags misslang. Grund: Athleten dürfen nicht doppelt vorkommen.",
1,
[$table]
);
// unset table to prevent saving
$table = '';
}
}
}
}