Skip to content
Snippets Groups Projects
Commit 75c3db29 authored by Tim Wagner's avatar Tim Wagner
Browse files

[BUGFIX] Check flexform setting type in PluginRenderer

parent 1929e587
No related branches found
No related tags found
No related merge requests found
...@@ -25,6 +25,7 @@ use TYPO3\CMS\Backend\View\PageLayoutView; ...@@ -25,6 +25,7 @@ use TYPO3\CMS\Backend\View\PageLayoutView;
use TYPO3\CMS\Backend\View\PageLayoutViewDrawItemHookInterface; use TYPO3\CMS\Backend\View\PageLayoutViewDrawItemHookInterface;
use TYPO3\CMS\Core\Localization\LanguageService; use TYPO3\CMS\Core\Localization\LanguageService;
use TYPO3\CMS\Core\Utility\GeneralUtility; use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Extbase\Persistence\Generic\Backend;
use TYPO3\CMS\Fluid\View\StandaloneView; use TYPO3\CMS\Fluid\View\StandaloneView;
/** /**
...@@ -90,14 +91,16 @@ class PluginRenderer implements PageLayoutViewDrawItemHookInterface { ...@@ -90,14 +91,16 @@ class PluginRenderer implements PageLayoutViewDrawItemHookInterface {
$row['pi_flexform'], 'T3DataStructure' $row['pi_flexform'], 'T3DataStructure'
)['data']['main']['lDEF']; )['data']['main']['lDEF'];
$categories = $pluginConfiguration['settings.categories']['vDEF'];
$tags = $pluginConfiguration['settings.tags']['vDEF'];
$templateData = [ $templateData = [
'limit' => $pluginConfiguration['settings.limit']['vDEF'], 'limit' => $pluginConfiguration['settings.limit']['vDEF'],
'categories' => $this->addFieldContentsToRecordIdList( 'categories' => is_string($categories) ? $this->addFieldContentsToRecordIdList(
'pages', $pluginConfiguration['settings.categories']['vDEF'] ?? '' 'pages', $categories
), ) : '',
'tags' => $this->addFieldContentsToRecordIdList( 'tags' => is_string($tags) ? $this->addFieldContentsToRecordIdList(
'sys_category', $pluginConfiguration['settings.tags']['vDEF'] ?? '' 'sys_category', $tags
), ) : '',
'starttime' => $pluginConfiguration['settings.starttime']['vDEF'], 'starttime' => $pluginConfiguration['settings.starttime']['vDEF'],
'endtime' => $pluginConfiguration['settings.endtime']['vDEF'], 'endtime' => $pluginConfiguration['settings.endtime']['vDEF'],
'sortBy' => $pluginConfiguration['settings.sortBy']['vDEF'] 'sortBy' => $pluginConfiguration['settings.sortBy']['vDEF']
...@@ -121,14 +124,14 @@ class PluginRenderer implements PageLayoutViewDrawItemHookInterface { ...@@ -121,14 +124,14 @@ class PluginRenderer implements PageLayoutViewDrawItemHookInterface {
$row['pi_flexform'], 'T3DataStructure' $row['pi_flexform'], 'T3DataStructure'
)['data']['main']['lDEF']; )['data']['main']['lDEF'];
$categories = $pluginConfiguration['settings.categories']['vDEF'];
$tags = $pluginConfiguration['settings.tags']['vDEF'];
$templateData = [ $templateData = [
'newsLimitPerPage' => $pluginConfiguration['settings.newsLimitPerPage']['vDEF'], 'newsLimitPerPage' => $pluginConfiguration['settings.newsLimitPerPage']['vDEF'],
'categories' => $this->addFieldContentsToRecordIdList( 'categories' => is_string($categories) ? $this->addFieldContentsToRecordIdList(
'pages', $pluginConfiguration['settings.categories']['vDEF'] 'pages', $categories
), ) : '',
'tags' => $this->addFieldContentsToRecordIdList( 'tags' => is_string($tags) ? $this->addFieldContentsToRecordIdList('sys_category', $tags) : '',
'sys_category', $pluginConfiguration['settings.tags']['vDEF']
),
'starttime' => $pluginConfiguration['settings.starttime']['vDEF'], 'starttime' => $pluginConfiguration['settings.starttime']['vDEF'],
'endtime' => $pluginConfiguration['settings.endtime']['vDEF'], 'endtime' => $pluginConfiguration['settings.endtime']['vDEF'],
'sortBy' => $pluginConfiguration['settings.sortBy']['vDEF'], 'sortBy' => $pluginConfiguration['settings.sortBy']['vDEF'],
...@@ -153,22 +156,21 @@ class PluginRenderer implements PageLayoutViewDrawItemHookInterface { ...@@ -153,22 +156,21 @@ class PluginRenderer implements PageLayoutViewDrawItemHookInterface {
$row['pi_flexform'], 'T3DataStructure' $row['pi_flexform'], 'T3DataStructure'
)['data']['main']['lDEF']; )['data']['main']['lDEF'];
$newsAuthors = $pluginConfiguration['settings.newsAuthors']['vDEF'];
$templateData = [ $templateData = [
'showDetails' => $pluginConfiguration['settings.showDetails']['vDEF'], 'showDetails' => $pluginConfiguration['settings.showDetails']['vDEF'],
'newsAuthors' => $this->addFieldContentsToRecordIdList( 'newsAuthors' => is_string($newsAuthors) ? $this->addFieldContentsToRecordIdList(
'tx_sgnews_domain_model_author', 'tx_sgnews_domain_model_author',$newsAuthors,'name'
$pluginConfiguration['settings.newsAuthors']['vDEF'], ) : ''
'name'
)
]; ];
$backendUtility = GeneralUtility::makeInstance(BackendUtility::class); // Not using addFieldContentsToRecordIdList to avoid repetitive imploding and exploding.
$excludedNewsIds = GeneralUtility::intExplode( $excludedNewsIds = GeneralUtility::intExplode(
',', $pluginConfiguration['settings.excludedNews']['vDEF'], TRUE ',', $pluginConfiguration['settings.excludedNews']['vDEF'], TRUE
); );
$excludedNewsListWithTitles = []; $excludedNewsListWithTitles = [];
foreach ($excludedNewsIds as $excludedNewsId) { foreach ($excludedNewsIds as $excludedNewsId) {
$excludedNewsListWithTitles[] = $backendUtility::getRecord( $excludedNewsListWithTitles[] = BackendUtility::getRecord(
'pages', $excludedNewsId, 'title' 'pages', $excludedNewsId, 'title'
)['title'] . ' [' . $excludedNewsId . ']'; )['title'] . ' [' . $excludedNewsId . ']';
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment