| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- <?php
- namespace Meramo\Speedbase\Hooks;
- use Meramo\Speedbase\Controller\SimpleController;
- use TYPO3\CMS\Core\DataHandling\DataHandler;
- use TYPO3\CMS\Core\Utility\GeneralUtility;
- class TermsDataHandler
- {
- public function processDatamap_afterDatabaseOperations($status, $table, $id, $fieldArray, DataHandler $dataHandler)
- {
- if ($table === 'tt_content') {
- // Get the CType for the content element
- $cType = $dataHandler->datamap[$table][$id]['CType'] ?? null;
- if ($cType === 'speedbase') {
- // $fieldArray contains the updated field values of the content element
- // $fieldArray contains the updated field values of the content element
- if ($fieldArray['tx_speedbase_chatbotterms']){
- $termsList = [];
- // list of terms in input field got changed
- $termsList['tx_speedbase_chatbotterms'] = $fieldArray['tx_speedbase_chatbotterms'];
- } else {
- // list of terms in input field got not changed just saved
- $termsList = $dataHandler->recordInfo($table, $id, 'tx_speedbase_chatbotterms');
- }
- if (!$termsList){
- die('ohne Hände keine Kekse - das Feld "Begriffe" darf nicht leer sein!');
- }
- if ($fieldArray['tx_speedbase_chatbottermscategory']){
- $category = [];
- // category in content element got changed
- $category['tx_speedbase_chatbottermscategory'] = $fieldArray['tx_speedbase_chatbottermscategory'];
- } else {
- // category in content element got not changed just saved
- $category = $dataHandler->recordInfo($table, $id, 'tx_speedbase_chatbottermscategory');
- }
- if ($fieldArray['tx_speedbase_chatbottermstype']){
- $type = [];
- // type in content element got changed
- $type['tx_speedbase_chatbottermstype'] = $fieldArray['tx_speedbase_chatbottermstype'];
- } else {
- // type in content element got not changed just saved
- $type = $dataHandler->recordInfo($table, $id, 'tx_speedbase_chatbottermstype');
- }
- if ($fieldArray['tx_speedbase_chatbottermsurl']){
- $url = [];
- // url in content element got changed
- $url['tx_speedbase_chatbottermsurl'] = $fieldArray['tx_speedbase_chatbottermsurl'];
- } else {
- // url in content element got not changed just saved
- $url = $dataHandler->recordInfo($table, $id, 'tx_speedbase_chatbottermsurl');
- }
- $controller = GeneralUtility::makeInstance(SimpleController::class);
- $controller->persistDataToDBAction($termsList['tx_speedbase_chatbotterms'], $category['tx_speedbase_chatbottermscategory'], $type['tx_speedbase_chatbottermstype'], $url['tx_speedbase_chatbottermsurl']);
- }
- }
- }
- }
|