From fcbda4c09368f8c5187f15b8366ae7fdaa6800b5 Mon Sep 17 00:00:00 2001 From: Daniel Siepmann Date: Wed, 23 Nov 2022 09:59:55 +0000 Subject: [PATCH] Add default routing --- .../Service/DestinationDataImportService.php | 62 ++------- .../DestinationDataImportService/Slugger.php | 128 ++++++++++++++++++ .../Slugger/Date.php | 71 ++++++++++ .../Slugger/Event.php | 42 ++++++ .../Slugger/Registry.php | 53 ++++++++ .../Slugger/SluggerType.php | 50 +++++++ Configuration/Routing.yaml | 26 ++++ Configuration/Services.php | 24 ++++ .../TCA/tx_events_domain_model_date.php | 19 ++- Documentation/Changelog/3.0.0.rst | 9 +- .../Language/de.locallang_csh_date.xlf | 4 + .../Private/Language/locallang_csh_date.xlf | 3 + .../ImportDoesntBreakWithLongFileTitle.csv | 4 +- ...rtDoesntEndUpInEndlessDateCreationTest.csv | 4 +- .../ImportsAllConfigurationTest.csv | 122 ++++++++--------- .../Assertions/ImportsExampleAsExpected.csv | 86 ++++++------ .../ImportsWithoutCategoryIfNotProvided.csv | 8 +- .../ImportsWithoutLocationIfNotProvided.csv | 4 +- .../ImportsWithoutRegionIfNotProvided.csv | 8 +- ext_tables.sql | 72 ++++------ phpstan.neon | 2 + 21 files changed, 585 insertions(+), 216 deletions(-) create mode 100644 Classes/Service/DestinationDataImportService/Slugger.php create mode 100644 Classes/Service/DestinationDataImportService/Slugger/Date.php create mode 100644 Classes/Service/DestinationDataImportService/Slugger/Event.php create mode 100644 Classes/Service/DestinationDataImportService/Slugger/Registry.php create mode 100644 Classes/Service/DestinationDataImportService/Slugger/SluggerType.php create mode 100644 Configuration/Routing.yaml create mode 100644 Configuration/Services.php diff --git a/Classes/Service/DestinationDataImportService.php b/Classes/Service/DestinationDataImportService.php index f0b44fb..75558ed 100644 --- a/Classes/Service/DestinationDataImportService.php +++ b/Classes/Service/DestinationDataImportService.php @@ -32,6 +32,7 @@ use Wrm\Events\Service\DestinationDataImportService\CategoriesAssignment\Import use Wrm\Events\Service\DestinationDataImportService\DataFetcher; use Wrm\Events\Service\DestinationDataImportService\DatesFactory; use Wrm\Events\Service\DestinationDataImportService\LocationAssignment; +use Wrm\Events\Service\DestinationDataImportService\Slugger; class DestinationDataImportService { @@ -105,6 +106,11 @@ class DestinationDataImportService */ private $locationAssignment; + /** + * @var Slugger + */ + private $slugger; + /** * ImportService constructor. * @param EventRepository $eventRepository @@ -117,6 +123,7 @@ class DestinationDataImportService * @param DataFetcher $dataFetcher * @param CategoriesAssignment $categoriesAssignment * @param LocationAssignment $locationAssignment + * @param Slugger $slugger */ public function __construct( EventRepository $eventRepository, @@ -129,7 +136,8 @@ class DestinationDataImportService DataFetcher $dataFetcher, DatesFactory $datesFactory, CategoriesAssignment $categoriesAssignment, - LocationAssignment $locationAssignment + LocationAssignment $locationAssignment, + Slugger $slugger ) { $this->eventRepository = $eventRepository; $this->organizerRepository = $organizerRepository; @@ -142,6 +150,7 @@ class DestinationDataImportService $this->datesFactory = $datesFactory; $this->categoriesAssignment = $categoriesAssignment; $this->locationAssignment = $locationAssignment; + $this->slugger = $slugger; } public function import( @@ -261,7 +270,11 @@ class DestinationDataImportService $this->eventRepository->update($this->tmpCurrentEvent); $this->persistenceManager->persistAll(); } - $this->doSlugUpdate(); + + $this->logger->info('Update slugs'); + $this->slugger->update('tx_events_domain_model_event'); + $this->slugger->update('tx_events_domain_model_date'); + $this->logger->info('Finished import'); return 0; } @@ -578,51 +591,6 @@ class DestinationDataImportService return false; } - private function doSlugUpdate(): void - { - $this->logger->info('Update slugs'); - - $slugHelper = GeneralUtility::makeInstance( - SlugHelper::class, - 'tx_events_domain_model_event', - 'slug', - $GLOBALS['TCA']['tx_events_domain_model_event']['columns']['slug']['config'] - ); - - $connection = GeneralUtility::makeInstance(ConnectionPool::class) - ->getConnectionForTable('tx_events_domain_model_event'); - $queryBuilder = $connection->createQueryBuilder(); - $queryBuilder->getRestrictions()->removeAll(); - - $statement = $queryBuilder->select('uid', 'global_id') - ->from('tx_events_domain_model_event') - ->where( - $queryBuilder->expr()->orX( - $queryBuilder->expr()->eq('slug', $queryBuilder->createNamedParameter('', \PDO::PARAM_STR)), - $queryBuilder->expr()->isNull('slug') - ) - ) - ->execute(); - - while ($record = $statement->fetch()) { - if (is_array($record) === false) { - continue; - } - - $queryBuilder = $connection->createQueryBuilder(); - $queryBuilder->update('tx_events_domain_model_event') - ->where( - $queryBuilder->expr()->eq( - 'uid', - $queryBuilder->createNamedParameter($record['uid'], \PDO::PARAM_INT) - ) - ) - ->set('slug', $slugHelper->sanitize((string)$record['global_id'])); - $queryBuilder->getSQL(); - $queryBuilder->execute(); - } - } - /** * Fetch the boolean value for requested attribute. * diff --git a/Classes/Service/DestinationDataImportService/Slugger.php b/Classes/Service/DestinationDataImportService/Slugger.php new file mode 100644 index 0000000..af43309 --- /dev/null +++ b/Classes/Service/DestinationDataImportService/Slugger.php @@ -0,0 +1,128 @@ + + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA. + */ + +namespace Wrm\Events\Service\DestinationDataImportService; + +use TYPO3\CMS\Core\Database\ConnectionPool; +use TYPO3\CMS\Core\Database\Query\QueryBuilder; +use TYPO3\CMS\Core\DataHandling\SlugHelper; +use TYPO3\CMS\Core\Utility\GeneralUtility; +use Wrm\Events\Service\DestinationDataImportService\Slugger\Registry; +use Wrm\Events\Service\DestinationDataImportService\Slugger\SluggerType; + +class Slugger +{ + /** + * @var Registry + */ + private $registry; + + /** + * @var ConnectionPool + */ + private $connectionPool; + + public function __construct( + Registry $registry, + ConnectionPool $connectionPool + ) { + $this->registry = $registry; + $this->connectionPool = $connectionPool; + } + + public function update(string $tableName): void + { + $sluggerType = $this->registry->get($tableName); + foreach ($this->getRecords($sluggerType) as $record) { + $this->updateRecord($sluggerType, $record); + } + } + + /** + * @return \Generator + */ + private function getRecords(SluggerType $sluggerType): \Generator + { + $tableName = $sluggerType->getSupportedTableName(); + $slugColumn = $sluggerType->getSlugColumn(); + $queryBuilder = $this->getQueryBuilder($tableName); + + $statement = $queryBuilder->select('*') + ->from($tableName) + ->where( + $queryBuilder->expr()->orX( + $queryBuilder->expr()->eq($slugColumn, $queryBuilder->createNamedParameter('', \PDO::PARAM_STR)), + $queryBuilder->expr()->isNull($slugColumn) + ) + ) + ->execute(); + + while ($record = $statement->fetch()) { + if (is_array($record) === false) { + continue; + } + + yield $record; + } + } + + private function updateRecord(SluggerType $sluggerType, array $record): void + { + $tableName = $sluggerType->getSupportedTableName(); + $record = $sluggerType->prepareRecordForSlugGeneration($record); + $slug = $this->getSlugHelper($sluggerType)->generate($record, (int) $record['pid']); + + $queryBuilder = $this->getQueryBuilder($tableName); + $queryBuilder->update($tableName) + ->where( + $queryBuilder->expr()->eq( + 'uid', + $queryBuilder->createNamedParameter($record['uid'], \PDO::PARAM_INT) + ) + ) + ->set($sluggerType->getSlugColumn(), $slug); + $queryBuilder->execute(); + } + + private function getSlugHelper( + SluggerType $sluggerType + ): SlugHelper { + $tableName = $sluggerType->getSupportedTableName(); + $column = $sluggerType->getSlugColumn(); + + return GeneralUtility::makeInstance( + SlugHelper::class, + $tableName, + $column, + $GLOBALS['TCA'][$tableName]['columns'][$column]['config'] + ); + } + + private function getQueryBuilder( + string $tableName + ): QueryBuilder { + $queryBuilder = $this->connectionPool->getQueryBuilderForTable($tableName); + $queryBuilder->getRestrictions()->removeAll(); + return $queryBuilder; + } +} diff --git a/Classes/Service/DestinationDataImportService/Slugger/Date.php b/Classes/Service/DestinationDataImportService/Slugger/Date.php new file mode 100644 index 0000000..5114bae --- /dev/null +++ b/Classes/Service/DestinationDataImportService/Slugger/Date.php @@ -0,0 +1,71 @@ + + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA. + */ + +namespace Wrm\Events\Service\DestinationDataImportService\Slugger; + +use TYPO3\CMS\Core\Database\ConnectionPool; + +class Date implements SluggerType +{ + /** + * @var ConnectionPool + */ + private $connectionPool; + + public function __construct( + ConnectionPool $connectionPool + ) { + $this->connectionPool = $connectionPool; + } + + public function prepareRecordForSlugGeneration(array $record): array + { + $record['event-title'] = $this->getEventTitle((int) $record['event']); + $record['start'] = (new \DateTimeImmutable('@' . $record['start']))->format('Y-m-d'); + return $record; + } + + public function getSlugColumn(): string + { + return 'slug'; + } + + public function getSupportedTableName(): string + { + return 'tx_events_domain_model_date'; + } + + private function getEventTitle(int $eventUid): string + { + $qb = $this->connectionPool->getQueryBuilderForTable('tx_events_domain_model_event'); + $qb->select('title'); + $qb->from('tx_events_domain_model_event'); + $qb->where($qb->expr()->eq('uid', $eventUid)); + $title = $qb->execute()->fetchOne(); + if (is_string($title)) { + return $title; + } + + return ''; + } +} diff --git a/Classes/Service/DestinationDataImportService/Slugger/Event.php b/Classes/Service/DestinationDataImportService/Slugger/Event.php new file mode 100644 index 0000000..def7944 --- /dev/null +++ b/Classes/Service/DestinationDataImportService/Slugger/Event.php @@ -0,0 +1,42 @@ + + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA. + */ + +namespace Wrm\Events\Service\DestinationDataImportService\Slugger; + +class Event implements SluggerType +{ + public function prepareRecordForSlugGeneration(array $record): array + { + return $record; + } + + public function getSlugColumn(): string + { + return 'slug'; + } + + public function getSupportedTableName(): string + { + return 'tx_events_domain_model_event'; + } +} diff --git a/Classes/Service/DestinationDataImportService/Slugger/Registry.php b/Classes/Service/DestinationDataImportService/Slugger/Registry.php new file mode 100644 index 0000000..416a002 --- /dev/null +++ b/Classes/Service/DestinationDataImportService/Slugger/Registry.php @@ -0,0 +1,53 @@ + + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA. + */ + +namespace Wrm\Events\Service\DestinationDataImportService\Slugger; + +class Registry +{ + /** + * @var SluggerType[] + */ + private $sluggers = []; + + public function get(string $tableName): SluggerType + { + if (!isset($this->sluggers[$tableName])) { + throw new \Exception( + sprintf( + 'No slugger registered for table "%s", only for tables: "%s".', + $tableName, + implode(', ', array_keys($this->sluggers)) + ), + 1669190459 + ); + } + + return $this->sluggers[$tableName]; + } + + public function add(SluggerType $slugger): void + { + $this->sluggers[$slugger->getSupportedTableName()] = $slugger; + } +} diff --git a/Classes/Service/DestinationDataImportService/Slugger/SluggerType.php b/Classes/Service/DestinationDataImportService/Slugger/SluggerType.php new file mode 100644 index 0000000..1b1f8cf --- /dev/null +++ b/Classes/Service/DestinationDataImportService/Slugger/SluggerType.php @@ -0,0 +1,50 @@ + + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA. + */ + +namespace Wrm\Events\Service\DestinationDataImportService\Slugger; + +/** + * Defines a slugger for a specific type, e.g. event or date. + */ +interface SluggerType +{ + /** + * Adjust record prior to slug generation. + * + * That way fields used by the generation can be populated. + * + * @param string[] $record + * @return string[] + */ + public function prepareRecordForSlugGeneration(array $record): array; + + /** + * Defines the name of the database column that's holding the slug. + */ + public function getSlugColumn(): string; + + /** + * Returns the name of the database table that is supported. + */ + public function getSupportedTableName(): string; +} diff --git a/Configuration/Routing.yaml b/Configuration/Routing.yaml new file mode 100644 index 0000000..48fb177 --- /dev/null +++ b/Configuration/Routing.yaml @@ -0,0 +1,26 @@ +routeEnhancers: + EventsDateShow: + type: Extbase + extension: Events + plugin: DateShow + defaultController: 'Date::show' + routes: + - + routePath: '/{date}' + _controller: 'Date::show' + aspects: + date: + type: PersistedAliasMapper + tableName: tx_events_domain_model_date + routeFieldName: slug + EventsPagination: + type: Plugin + namespace: 'events_search' + routePath: '/{localizedPage}-{currentPage}' + aspects: + localizedPage: + type: LocaleModifier + default: 'page' + localeMap: + - locale: 'de*' + value: 'seite' diff --git a/Configuration/Services.php b/Configuration/Services.php new file mode 100644 index 0000000..6e76670 --- /dev/null +++ b/Configuration/Services.php @@ -0,0 +1,24 @@ +registerForAutoconfiguration(SluggerType::class)->addTag('tx_events.slugger_type'); + $containerBuilder->addCompilerPass(new class() implements CompilerPassInterface { + public function process(ContainerBuilder $container): void + { + $registry = $container->getDefinition(Registry::class); + foreach (array_keys($container->findTaggedServiceIds('tx_events.slugger_type')) as $serviceId) { + $registry->addMethodCall('add', [$container->getDefinition($serviceId)]); + } + } + }); +}; diff --git a/Configuration/TCA/tx_events_domain_model_date.php b/Configuration/TCA/tx_events_domain_model_date.php index c580c15..c69b9ec 100644 --- a/Configuration/TCA/tx_events_domain_model_date.php +++ b/Configuration/TCA/tx_events_domain_model_date.php @@ -23,7 +23,7 @@ return [ 'iconfile' => 'EXT:events/Resources/Public/Icons/tx_events_domain_model_date.svg' ], 'types' => [ - '1' => ['showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, start, end, canceled, postponed_date, canceled_link, event, --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access, starttime, endtime'], + '1' => ['showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, start, end, canceled, postponed_date, canceled_link, slug, event, --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access, starttime, endtime'], ], 'columns' => [ 'sys_language_uid' => [ @@ -199,7 +199,22 @@ return [ ], ], ], - + 'slug' => [ + 'exclude' => true, + 'label' => 'LLL:EXT:events/Resources/Private/Language/locallang_csh_date.xlf:tx_events_domain_model_date.slug', + 'config' => [ + 'type' => 'slug', + 'size' => 50, + 'generatorOptions' => [ + 'fields' => ['event-title', 'start', 'uid'], + 'fieldSeparator' => '-', + 'prefixParentPageSlug' => false, + ], + 'fallbackCharacter' => '-', + 'eval' => 'uniqueInSite', + 'default' => '', + ], + ], 'event' => array( 'exclude' => 1, 'label' => 'LLL:EXT:events/Resources/Private/Language/locallang_csh_date.xlf:tx_events_domain_model_date.event', diff --git a/Documentation/Changelog/3.0.0.rst b/Documentation/Changelog/3.0.0.rst index 1077aef..182f018 100644 --- a/Documentation/Changelog/3.0.0.rst +++ b/Documentation/Changelog/3.0.0.rst @@ -48,7 +48,14 @@ and use new commands to import those configurations. Features -------- -Nothing +* Provide routing + + The extension now provides a basic routing. + This can either be imported or used as an example. + + Date also has a slug field now. + + Relates: #10179 Fixes ----- diff --git a/Resources/Private/Language/de.locallang_csh_date.xlf b/Resources/Private/Language/de.locallang_csh_date.xlf index 07c6257..81526a6 100644 --- a/Resources/Private/Language/de.locallang_csh_date.xlf +++ b/Resources/Private/Language/de.locallang_csh_date.xlf @@ -43,6 +43,10 @@ Link regarding cancellation Link bezüglich Absage + + Slug + URL-Segment + Associated event Verknüpfte Veranstaltungen diff --git a/Resources/Private/Language/locallang_csh_date.xlf b/Resources/Private/Language/locallang_csh_date.xlf index b6ad683..ffbc1c3 100644 --- a/Resources/Private/Language/locallang_csh_date.xlf +++ b/Resources/Private/Language/locallang_csh_date.xlf @@ -33,6 +33,9 @@ Link regarding cancellation + + Slug + Associated event diff --git a/Tests/Functional/Import/DestinationDataTest/Assertions/ImportDoesntBreakWithLongFileTitle.csv b/Tests/Functional/Import/DestinationDataTest/Assertions/ImportDoesntBreakWithLongFileTitle.csv index 34cc6eb..415f55f 100644 --- a/Tests/Functional/Import/DestinationDataTest/Assertions/ImportDoesntBreakWithLongFileTitle.csv +++ b/Tests/Functional/Import/DestinationDataTest/Assertions/ImportDoesntBreakWithLongFileTitle.csv @@ -2,8 +2,8 @@ ,"uid","pid","cruser_id","deleted","hidden","starttime","endtime","sys_language_uid","l10n_parent","t3ver_oid","t3ver_wsid","t3ver_state","t3ver_stage","name","street","district","city","zip","phone","web","email" ,"1","2","0","0","0","0","0","-1","0","0","0","0","0","Schillerhaus Rudolstadt","Schillerstraße 25",,"Rudolstadt","07407","+ 49 3672 / 486470","http://schillerhaus.rudolstadt.de","schillerhaus@rudolstadt.de" "tx_events_domain_model_event",,,,,,,,,,,,,,,,,,,,, -,"uid","pid","cruser_id","deleted","hidden","starttime","endtime","sys_language_uid","l10n_parent","t3ver_oid","t3ver_wsid","t3ver_state","t3ver_stage","title","subtitle","global_id","slug","highlight","teaser","dates", -,"1","2","0","0","0","0","0","-1","0","0","0","0","0","Allerlei Weihnachtliches (Heute mit Johannes Geißer)",,"e_100347853","e-100347853","0",,"1", +,"uid","pid","cruser_id","deleted","hidden","starttime","endtime","sys_language_uid","l10n_parent","t3ver_oid","t3ver_wsid","t3ver_state","t3ver_stage","title","subtitle","global_id","highlight","teaser","dates",, +,"1","2","0","0","0","0","0","-1","0","0","0","0","0","Allerlei Weihnachtliches (Heute mit Johannes Geißer)",,"e_100347853","0",,"1",, "tx_events_domain_model_date",,,,,,,,,,,,,,,,,,,,, ,"uid","pid","cruser_id","hidden","starttime","endtime","sys_language_uid","l10n_parent","t3ver_oid","t3ver_wsid","t3ver_state","event","start","end","canceled","postponed_date","canceled_link",,,, ,"1","2","0","0","0","0",-1,0,"0","0","0","1","4101372000","4101377400","no","0",,,,, diff --git a/Tests/Functional/Import/DestinationDataTest/Assertions/ImportDoesntEndUpInEndlessDateCreationTest.csv b/Tests/Functional/Import/DestinationDataTest/Assertions/ImportDoesntEndUpInEndlessDateCreationTest.csv index afc2b19..c3912c1 100644 --- a/Tests/Functional/Import/DestinationDataTest/Assertions/ImportDoesntEndUpInEndlessDateCreationTest.csv +++ b/Tests/Functional/Import/DestinationDataTest/Assertions/ImportDoesntEndUpInEndlessDateCreationTest.csv @@ -2,8 +2,8 @@ ,"uid","pid","cruser_id","deleted","hidden","starttime","endtime","sys_language_uid","l10n_parent","t3ver_oid","t3ver_wsid","t3ver_state","t3ver_stage","name","street","district","city","zip","phone","web","email" ,"1","2","0","0","0","0","0","-1","0","0","0","0","0","Schillerhaus Rudolstadt","Schillerstraße 25",,"Rudolstadt","07407","+ 49 3672 / 486470","http://schillerhaus.rudolstadt.de","schillerhaus@rudolstadt.de" "tx_events_domain_model_event",,,,,,,,,,,,,,,,,,,,, -,"uid","pid","cruser_id","deleted","hidden","starttime","endtime","sys_language_uid","l10n_parent","t3ver_oid","t3ver_wsid","t3ver_state","t3ver_stage","title","subtitle","global_id","slug","highlight","teaser","dates", -,"1","2","0","0","0","0","0","-1","0","0","0","0","0","Allerlei Weihnachtliches (Heute mit Johannes Geißer)",,"e_100347853","e-100347853","0",,"2", +,"uid","pid","cruser_id","deleted","hidden","starttime","endtime","sys_language_uid","l10n_parent","t3ver_oid","t3ver_wsid","t3ver_state","t3ver_stage","title","subtitle","global_id","highlight","teaser","dates",, +,"1","2","0","0","0","0","0","-1","0","0","0","0","0","Allerlei Weihnachtliches (Heute mit Johannes Geißer)",,"e_100347853","0",,"2",, "tx_events_domain_model_date",,,,,,,,,,,,,,,,,,,,, ,"uid","pid","cruser_id","hidden","starttime","endtime","sys_language_uid","l10n_parent","t3ver_oid","t3ver_wsid","t3ver_state","event","start","end","canceled","postponed_date","canceled_link",,,, ,"1","2","0","0","0","0",-1,0,"0","0","0","1",1656748800,1656770400,"no","0",,,,, diff --git a/Tests/Functional/Import/DestinationDataTest/Assertions/ImportsAllConfigurationTest.csv b/Tests/Functional/Import/DestinationDataTest/Assertions/ImportsAllConfigurationTest.csv index c452381..52bd014 100644 --- a/Tests/Functional/Import/DestinationDataTest/Assertions/ImportsAllConfigurationTest.csv +++ b/Tests/Functional/Import/DestinationDataTest/Assertions/ImportsAllConfigurationTest.csv @@ -1,61 +1,61 @@ -"tx_events_domain_model_organizer",,,,,,,,,,,,,,,,,,,,,,,,,,, -,"uid","pid","cruser_id","deleted","hidden","starttime","endtime","sys_language_uid","l10n_parent","t3ver_oid","t3ver_wsid","t3ver_state","t3ver_stage","name","street","district","city","zip","phone","web","email",,,,,, -,"1","2","0","0","0","0","0","-1","0","0","0","0","0","Schillerhaus Rudolstadt","Schillerstraße 25",,"Rudolstadt","07407","+ 49 3672 / 486470","http://schillerhaus.rudolstadt.de","schillerhaus@rudolstadt.de",,,,,, -,"2","2","0","0","0","0","0","-1","0","0","0","0","0","Stadtbibliothek Rudolstadt","Schulplatz 13",,"Rudolstadt","07407","0 36 72 - 48 64 20","http://www.stadtbibliothek-rudolstadt.de ","stadtbibliothek@rudolstadt.de",,,,,, -,"3","2","0","0","0","0","0","-1","0","0","0","0","0","Lutherkirche","Caspar-Schulte-Straße",,"Rudolstadt","07407","03672 - 48 96 13",,,,,,,, -,"4","3","0","0","0","0","0","-1","0","0","0","0","0","Schillerhaus Rudolstadt","Schillerstraße 25",,"Rudolstadt","07407","+ 49 3672 / 486470","http://schillerhaus.rudolstadt.de","schillerhaus@rudolstadt.de",,,,,, -,"5","3","0","0","0","0","0","-1","0","0","0","0","0","Stadtbibliothek Rudolstadt","Schulplatz 13",,"Rudolstadt","07407","0 36 72 - 48 64 20","http://www.stadtbibliothek-rudolstadt.de ","stadtbibliothek@rudolstadt.de",,,,,, -,"6","3","0","0","0","0","0","-1","0","0","0","0","0","Lutherkirche","Caspar-Schulte-Straße",,"Rudolstadt","07407","03672 - 48 96 13",,,,,,,, -"tx_events_domain_model_event",,,,,,,,,,,,,,,,,,,,,,,,,,, -,"uid","pid","cruser_id","deleted","hidden","starttime","endtime","sys_language_uid","l10n_parent","t3ver_oid","t3ver_wsid","t3ver_state","t3ver_stage","title","subtitle","global_id","slug","highlight","teaser","images","categories","pages","dates","organizer","partner","region","references_events" -,"1","2","0","0","0","0","0","-1","0","0","0","0","0","Allerlei Weihnachtliches (Heute mit Johannes Geißer)",,"e_100347853","e-100347853","0",,"1","1",,"1","1",,"1", -,"2","2","0","0","0","0","0","-1","0","0","0","0","0","Tüftlerzeit",,"e_100354481","e-100354481","0",,"1","1",,"4","2",,"1", -,"3","2","0","0","0","0","0","-1","0","0","0","0","0","Adventliche Orgelmusik (Orgel: KMD Frank Bettenhausen)",,"e_100350503","e-100350503","0",,"1","2",,"8","3",,"1", -,"4","3","0","0","0","0","0","-1","0","0","0","0","0","Allerlei Weihnachtliches (Heute mit Johannes Geißer)",,"e_100347853","e-100347853","0",,"1","1",,"1","4",,"1", -,"5","3","0","0","0","0","0","-1","0","0","0","0","0","Tüftlerzeit",,"e_100354481","e-100354481","0",,"1","1",,"4","5",,"1", -,"6","3","0","0","0","0","0","-1","0","0","0","0","0","Adventliche Orgelmusik (Orgel: KMD Frank Bettenhausen)",,"e_100350503","e-100350503","0",,"1","2",,"8","6",,"1", -"tx_events_domain_model_date",,,,,,,,,,,,,,,,,,,,,,,,,,, -,"uid","pid","cruser_id","hidden","starttime","endtime","sys_language_uid","l10n_parent","t3ver_oid","t3ver_wsid","t3ver_state","event","start","end","canceled","postponed_date","canceled_link",,,,,,,,,, -,"1","2","0","0","0","0",-1,0,"0","0","0","1","1671458400","1671463800","no","0",,,,,,,,,,, -,"2","2","0","0","0","0",-1,0,"0","0","0","2","1671199200","1671204600","no","0",,,,,,,,,,, -,"3","2","0","0","0","0",-1,0,"0","0","0","2",1648803600,1648810800,"no","0",,,,,,,,,,, -,"4","2","0","0","0","0",-1,0,"0","0","0","2",1648890000,1648897200,"no","0",,,,,,,,,,, -,"5","2","0","0","0","0",-1,0,"0","0","0","2","1645106400","1645113600","no","0",,,,,,,,,,, -,"6","2","0","0","0","0",-1,0,"0","0","0","3","1669917600","1669921200","no","0",,,,,,,,,,, -,"7","2","0","0","0","0",-1,0,"0","0","0","3","1667642400","1667649600","no","0",,,,,,,,,,, -,"8","2","0","0","0","0",-1,0,"0","0","0","3","1668247200","1668254400","no","0",,,,,,,,,,, -,"9","2","0","0","0","0",-1,0,"0","0","0","3","1668852000","1668859200","no","0",,,,,,,,,,, -,"10","2","0","0","0","0",-1,0,"0","0","0","3","1667728800","1667736000","no","0",,,,,,,,,,, -,"11","2","0","0","0","0",-1,0,"0","0","0","3","1668333600","1668340800","no","0",,,,,,,,,,, -,"12","2","0","0","0","0",-1,0,"0","0","0","3","1668938400","1668945600","no","0",,,,,,,,,,, -,"13","2","0","0","0","0",-1,0,"0","0","0","3","1671732000","1671735600","no","0",,,,,,,,,,, -,"14","3","0","0","0","0",-1,0,"0","0","0","4","1671458400","1671463800","no","0",,,,,,,,,,, -,"15","3","0","0","0","0",-1,0,"0","0","0","5","1671199200","1671204600","no","0",,,,,,,,,,, -,"16","3","0","0","0","0",-1,0,"0","0","0","5",1648803600,1648810800,"no","0",,,,,,,,,,, -,"17","3","0","0","0","0",-1,0,"0","0","0","5",1648890000,1648897200,"no","0",,,,,,,,,,, -,"18","3","0","0","0","0",-1,0,"0","0","0","5","1645106400","1645113600","no","0",,,,,,,,,,, -,"19","3","0","0","0","0",-1,0,"0","0","0","6","1669917600","1669921200","no","0",,,,,,,,,,, -,"20","3","0","0","0","0",-1,0,"0","0","0","6","1667642400","1667649600","no","0",,,,,,,,,,, -,"21","3","0","0","0","0",-1,0,"0","0","0","6","1668247200","1668254400","no","0",,,,,,,,,,, -,"22","3","0","0","0","0",-1,0,"0","0","0","6","1668852000","1668859200","no","0",,,,,,,,,,, -,"23","3","0","0","0","0",-1,0,"0","0","0","6","1667728800","1667736000","no","0",,,,,,,,,,, -,"24","3","0","0","0","0",-1,0,"0","0","0","6","1668333600","1668340800","no","0",,,,,,,,,,, -,"25","3","0","0","0","0",-1,0,"0","0","0","6","1668938400","1668945600","no","0",,,,,,,,,,, -,"26","3","0","0","0","0",-1,0,"0","0","0","6","1671732000","1671735600","no","0",,,,,,,,,,, -"sys_category",,,,,,,,,,,,,,,,,,,,,,,,,,, -,"uid","pid","cruser_id","hidden","starttime","endtime","sys_language_uid","l10n_parent","title","items","parent",,,,,,,,,,,,,,,, -,1,2,0,0,0,0,0,0,"Top Category",0,0,,,,,,,,,,,,,,,, -,2,2,0,0,0,0,0,0,"Event Category Parent",0,1,,,,,,,,,,,,,,,, -,3,2,0,0,0,0,0,0,"Weihnachten",0,2,,,,,,,,,,,,,,,, -,4,2,0,0,0,0,0,0,"Kinder",0,2,,,,,,,,,,,,,,,, -,5,2,0,0,0,0,0,0,"Konzerte, Festivals, Show & Tanz",0,2,,,,,,,,,,,,,,,, -"sys_category_record_mm",,,,,,,,,,,,,,,,,,,,,,,,,,, -,"uid_local","uid_foreign","tablenames","fieldname",,,,,,,,,,,,,,,,,,,,,,, -,3,1,"tx_events_domain_model_event","categories",,,,,,,,,,,,,,,,,,,,,,, -,4,2,"tx_events_domain_model_event","categories",,,,,,,,,,,,,,,,,,,,,,, -,5,3,"tx_events_domain_model_event","categories",,,,,,,,,,,,,,,,,,,,,,, -,3,3,"tx_events_domain_model_event","categories",,,,,,,,,,,,,,,,,,,,,,, -,3,4,"tx_events_domain_model_event","categories",,,,,,,,,,,,,,,,,,,,,,, -,4,5,"tx_events_domain_model_event","categories",,,,,,,,,,,,,,,,,,,,,,, -,5,6,"tx_events_domain_model_event","categories",,,,,,,,,,,,,,,,,,,,,,, -,3,6,"tx_events_domain_model_event","categories",,,,,,,,,,,,,,,,,,,,,,, +"tx_events_domain_model_organizer",,,,,,,,,,,,,,,,,,,,,,,,,, +,"uid","pid","cruser_id","deleted","hidden","starttime","endtime","sys_language_uid","l10n_parent","t3ver_oid","t3ver_wsid","t3ver_state","t3ver_stage","name","street","district","city","zip","phone","web","email",,,,, +,"1","2","0","0","0","0","0","-1","0","0","0","0","0","Schillerhaus Rudolstadt","Schillerstraße 25",,"Rudolstadt","07407","+ 49 3672 / 486470","http://schillerhaus.rudolstadt.de","schillerhaus@rudolstadt.de",,,,, +,"2","2","0","0","0","0","0","-1","0","0","0","0","0","Stadtbibliothek Rudolstadt","Schulplatz 13",,"Rudolstadt","07407","0 36 72 - 48 64 20","http://www.stadtbibliothek-rudolstadt.de ","stadtbibliothek@rudolstadt.de",,,,, +,"3","2","0","0","0","0","0","-1","0","0","0","0","0","Lutherkirche","Caspar-Schulte-Straße",,"Rudolstadt","07407","03672 - 48 96 13",,,,,,, +,"4","3","0","0","0","0","0","-1","0","0","0","0","0","Schillerhaus Rudolstadt","Schillerstraße 25",,"Rudolstadt","07407","+ 49 3672 / 486470","http://schillerhaus.rudolstadt.de","schillerhaus@rudolstadt.de",,,,, +,"5","3","0","0","0","0","0","-1","0","0","0","0","0","Stadtbibliothek Rudolstadt","Schulplatz 13",,"Rudolstadt","07407","0 36 72 - 48 64 20","http://www.stadtbibliothek-rudolstadt.de ","stadtbibliothek@rudolstadt.de",,,,, +,"6","3","0","0","0","0","0","-1","0","0","0","0","0","Lutherkirche","Caspar-Schulte-Straße",,"Rudolstadt","07407","03672 - 48 96 13",,,,,,, +"tx_events_domain_model_event",,,,,,,,,,,,,,,,,,,,,,,,,, +,"uid","pid","cruser_id","deleted","hidden","starttime","endtime","sys_language_uid","l10n_parent","t3ver_oid","t3ver_wsid","t3ver_state","t3ver_stage","title","subtitle","global_id","highlight","teaser","images","categories","pages","dates","organizer","partner","region","references_events" +,"1","2","0","0","0","0","0","-1","0","0","0","0","0","Allerlei Weihnachtliches (Heute mit Johannes Geißer)",,"e_100347853","0",,"1","1",,"1","1",,"1", +,"2","2","0","0","0","0","0","-1","0","0","0","0","0","Tüftlerzeit",,"e_100354481","0",,"1","1",,"4","2",,"1", +,"3","2","0","0","0","0","0","-1","0","0","0","0","0","Adventliche Orgelmusik (Orgel: KMD Frank Bettenhausen)",,"e_100350503","0",,"1","2",,"8","3",,"1", +,"4","3","0","0","0","0","0","-1","0","0","0","0","0","Allerlei Weihnachtliches (Heute mit Johannes Geißer)",,"e_100347853","0",,"1","1",,"1","4",,"1", +,"5","3","0","0","0","0","0","-1","0","0","0","0","0","Tüftlerzeit",,"e_100354481","0",,"1","1",,"4","5",,"1", +,"6","3","0","0","0","0","0","-1","0","0","0","0","0","Adventliche Orgelmusik (Orgel: KMD Frank Bettenhausen)",,"e_100350503","0",,"1","2",,"8","6",,"1", +"tx_events_domain_model_date",,,,,,,,,,,,,,,,,,,,,,,,,, +,"uid","pid","cruser_id","hidden","starttime","endtime","sys_language_uid","l10n_parent","t3ver_oid","t3ver_wsid","t3ver_state","event","start","end","canceled","postponed_date","canceled_link",,,,,,,,, +,"1","2","0","0","0","0",-1,0,"0","0","0","1","1671458400","1671463800","no","0",,,,,,,,,, +,"2","2","0","0","0","0",-1,0,"0","0","0","2","1671199200","1671204600","no","0",,,,,,,,,, +,"3","2","0","0","0","0",-1,0,"0","0","0","2",1648803600,1648810800,"no","0",,,,,,,,,, +,"4","2","0","0","0","0",-1,0,"0","0","0","2",1648890000,1648897200,"no","0",,,,,,,,,, +,"5","2","0","0","0","0",-1,0,"0","0","0","2","1645106400","1645113600","no","0",,,,,,,,,, +,"6","2","0","0","0","0",-1,0,"0","0","0","3","1669917600","1669921200","no","0",,,,,,,,,, +,"7","2","0","0","0","0",-1,0,"0","0","0","3","1667642400","1667649600","no","0",,,,,,,,,, +,"8","2","0","0","0","0",-1,0,"0","0","0","3","1668247200","1668254400","no","0",,,,,,,,,, +,"9","2","0","0","0","0",-1,0,"0","0","0","3","1668852000","1668859200","no","0",,,,,,,,,, +,"10","2","0","0","0","0",-1,0,"0","0","0","3","1667728800","1667736000","no","0",,,,,,,,,, +,"11","2","0","0","0","0",-1,0,"0","0","0","3","1668333600","1668340800","no","0",,,,,,,,,, +,"12","2","0","0","0","0",-1,0,"0","0","0","3","1668938400","1668945600","no","0",,,,,,,,,, +,"13","2","0","0","0","0",-1,0,"0","0","0","3","1671732000","1671735600","no","0",,,,,,,,,, +,"14","3","0","0","0","0",-1,0,"0","0","0","4","1671458400","1671463800","no","0",,,,,,,,,, +,"15","3","0","0","0","0",-1,0,"0","0","0","5","1671199200","1671204600","no","0",,,,,,,,,, +,"16","3","0","0","0","0",-1,0,"0","0","0","5",1648803600,1648810800,"no","0",,,,,,,,,, +,"17","3","0","0","0","0",-1,0,"0","0","0","5",1648890000,1648897200,"no","0",,,,,,,,,, +,"18","3","0","0","0","0",-1,0,"0","0","0","5","1645106400","1645113600","no","0",,,,,,,,,, +,"19","3","0","0","0","0",-1,0,"0","0","0","6","1669917600","1669921200","no","0",,,,,,,,,, +,"20","3","0","0","0","0",-1,0,"0","0","0","6","1667642400","1667649600","no","0",,,,,,,,,, +,"21","3","0","0","0","0",-1,0,"0","0","0","6","1668247200","1668254400","no","0",,,,,,,,,, +,"22","3","0","0","0","0",-1,0,"0","0","0","6","1668852000","1668859200","no","0",,,,,,,,,, +,"23","3","0","0","0","0",-1,0,"0","0","0","6","1667728800","1667736000","no","0",,,,,,,,,, +,"24","3","0","0","0","0",-1,0,"0","0","0","6","1668333600","1668340800","no","0",,,,,,,,,, +,"25","3","0","0","0","0",-1,0,"0","0","0","6","1668938400","1668945600","no","0",,,,,,,,,, +,"26","3","0","0","0","0",-1,0,"0","0","0","6","1671732000","1671735600","no","0",,,,,,,,,, +"sys_category",,,,,,,,,,,,,,,,,,,,,,,,,, +,"uid","pid","cruser_id","hidden","starttime","endtime","sys_language_uid","l10n_parent","title","items","parent",,,,,,,,,,,,,,, +,1,2,0,0,0,0,0,0,"Top Category",0,0,,,,,,,,,,,,,,, +,2,2,0,0,0,0,0,0,"Event Category Parent",0,1,,,,,,,,,,,,,,, +,3,2,0,0,0,0,0,0,"Weihnachten",0,2,,,,,,,,,,,,,,, +,4,2,0,0,0,0,0,0,"Kinder",0,2,,,,,,,,,,,,,,, +,5,2,0,0,0,0,0,0,"Konzerte, Festivals, Show & Tanz",0,2,,,,,,,,,,,,,,, +"sys_category_record_mm",,,,,,,,,,,,,,,,,,,,,,,,,, +,"uid_local","uid_foreign","tablenames","fieldname",,,,,,,,,,,,,,,,,,,,,, +,3,1,"tx_events_domain_model_event","categories",,,,,,,,,,,,,,,,,,,,,, +,4,2,"tx_events_domain_model_event","categories",,,,,,,,,,,,,,,,,,,,,, +,5,3,"tx_events_domain_model_event","categories",,,,,,,,,,,,,,,,,,,,,, +,3,3,"tx_events_domain_model_event","categories",,,,,,,,,,,,,,,,,,,,,, +,3,4,"tx_events_domain_model_event","categories",,,,,,,,,,,,,,,,,,,,,, +,4,5,"tx_events_domain_model_event","categories",,,,,,,,,,,,,,,,,,,,,, +,5,6,"tx_events_domain_model_event","categories",,,,,,,,,,,,,,,,,,,,,, +,3,6,"tx_events_domain_model_event","categories",,,,,,,,,,,,,,,,,,,,,, diff --git a/Tests/Functional/Import/DestinationDataTest/Assertions/ImportsExampleAsExpected.csv b/Tests/Functional/Import/DestinationDataTest/Assertions/ImportsExampleAsExpected.csv index 650b87f..772714a 100644 --- a/Tests/Functional/Import/DestinationDataTest/Assertions/ImportsExampleAsExpected.csv +++ b/Tests/Functional/Import/DestinationDataTest/Assertions/ImportsExampleAsExpected.csv @@ -1,51 +1,51 @@ -"tx_events_domain_model_organizer",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -,"uid","pid","cruser_id","deleted","hidden","starttime","endtime","sys_language_uid","l10n_parent","t3ver_oid","t3ver_wsid","t3ver_state","t3ver_stage","name","street","district","city","zip","phone","web","email",,,,,,,,,,,,,, -,"1","2","0","0","0","0","0","-1","0","0","0","0","0","Schillerhaus Rudolstadt","Schillerstraße 25",,"Rudolstadt","07407","+ 49 3672 / 486470","http://schillerhaus.rudolstadt.de","schillerhaus@rudolstadt.de",,,,,,,,,,,,,, -,"2","2","0","0","0","0","0","-1","0","0","0","0","0","Stadtbibliothek Rudolstadt","Schulplatz 13",,"Rudolstadt","07407","0 36 72 - 48 64 20","http://www.stadtbibliothek-rudolstadt.de ","stadtbibliothek@rudolstadt.de",,,,,,,,,,,,,, -,"3","2","0","0","0","0","0","-1","0","0","0","0","0","Lutherkirche","Caspar-Schulte-Straße",,"Rudolstadt","07407","03672 - 48 96 13",,,,,,,,,,,,,,,, -"tx_events_domain_model_event",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -,"uid","pid","cruser_id","deleted","hidden","starttime","endtime","sys_language_uid","l10n_parent","t3ver_oid","t3ver_wsid","t3ver_state","t3ver_stage","title","subtitle","global_id","slug","highlight","teaser","details","price_info","web","ticket","facebook","youtube","instagram","images","categories","pages","dates","organizer","partner","region","references_events","location" +"tx_events_domain_model_organizer",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +,"uid","pid","cruser_id","deleted","hidden","starttime","endtime","sys_language_uid","l10n_parent","t3ver_oid","t3ver_wsid","t3ver_state","t3ver_stage","name","street","district","city","zip","phone","web","email",,,,,,,,,,,,,,, +,"1","2","0","0","0","0","0","-1","0","0","0","0","0","Schillerhaus Rudolstadt","Schillerstraße 25",,"Rudolstadt","07407","+ 49 3672 / 486470","http://schillerhaus.rudolstadt.de","schillerhaus@rudolstadt.de",,,,,,,,,,,,,,, +,"2","2","0","0","0","0","0","-1","0","0","0","0","0","Stadtbibliothek Rudolstadt","Schulplatz 13",,"Rudolstadt","07407","0 36 72 - 48 64 20","http://www.stadtbibliothek-rudolstadt.de ","stadtbibliothek@rudolstadt.de",,,,,,,,,,,,,,, +,"3","2","0","0","0","0","0","-1","0","0","0","0","0","Lutherkirche","Caspar-Schulte-Straße",,"Rudolstadt","07407","03672 - 48 96 13",,,,,,,,,,,,,,,,, +"tx_events_domain_model_event",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +,"uid","pid","cruser_id","deleted","hidden","starttime","endtime","sys_language_uid","l10n_parent","t3ver_oid","t3ver_wsid","t3ver_state","t3ver_stage","title","subtitle","global_id","slug","highlight","teaser","details","price_info","web","ticket","facebook","youtube","instagram","images","categories","pages","dates","organizer","partner","region","references_events","location","slug" ,"1","2","0","0","0","0","0","-1","0","0","0","0","0","Allerlei Weihnachtliches (Heute mit Johannes Geißer)",,"e_100347853","e-100347853","0",,"Die Lichter sind entzündet, die Plätzchen duften, man rückt endlich wieder näher zusammen und lauscht den Geschichten. Vier Schauspieler*innen unseres Theaters überraschen mit ihren weihnachtlichen Texten, die sie für uns ausgewählt haben. Dazu plaudern sie über persönliche Anekdoten und erinnern sich an ihre schönsten und verrücktesten Weihnachtsfeste. Und da der Genuss in der Vorweihnachtszeit nicht fehlen darf, wird an jedem Adventssonntag eine andere weihnachtliche Spezialität serviert. Eintritt: 10 € (inkl. Gedeck mit weihnachtlicher Schillerlocke) Um Voranmeldung unter 03672-486470 oder schillerhaus@rudolstadt.de wird gebeten. -Es gilt die 2G-PLUS-Regel.",,"http://www.schillerhaus.rudolstadt.de/",,,,,"1","1",,"1","1",,"1",,1 +Es gilt die 2G-PLUS-Regel.",,"http://www.schillerhaus.rudolstadt.de/",,,,,"1","1",,"1","1",,"1",,1,"allerlei-weihnachtliches-heute-mit-johannes-geisser" ,"2","2","0","0","0","0","0","-1","0","0","0","0","0","Tüftlerzeit",,"e_100354481","e-100354481","0",,"Die Tüftlerzeit wird dieses Mal ein weihnachtliches Angebot bereithalten. Alle kleinen Tüftler dürfen gespannt sein. Voranmeldung über: kinderbibliothek@rudolstadt.de oder 03672-486420 -Bitte beachten Sie die derzeit geltenden Zugangsregeln.",,"http://www.stadtbibliothek-rudolstadt.de/",,,,,"1","1",,"4","2",,"1",,2 +Bitte beachten Sie die derzeit geltenden Zugangsregeln.",,"http://www.stadtbibliothek-rudolstadt.de/",,,,,"1","1",,"4","2",,"1",,2,"tueftlerzeit" ,"3","2","0","0","0","0","0","-1","0","0","0","0","0","Adventliche Orgelmusik (Orgel: KMD Frank Bettenhausen)",,"e_100350503","e-100350503","0",,"Immer mittwochs in der Adventszeit spielt Frank Bettenhausen solo und zusammen mit anderen Musikern auf der Steinmeyerorgel aus dem Jahr 1906. Bekannte Adventslieder, barocke und romantische Kompositionen stehen neben besinnlichen Texten von Pfarrer Johannes-Martin Weiss. -Es gilt die 2G-PLUS-Regel.",,,,,,,"1","2",,"8","3",,"1",,3 -"tx_events_domain_model_date",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -,"uid","pid","cruser_id","hidden","starttime","endtime","sys_language_uid","l10n_parent","t3ver_oid","t3ver_wsid","t3ver_state","event","start","end","canceled","postponed_date","canceled_link",,,,,,,,,,,,,,,,,, -,"1","2","0","0","0","0",-1,0,"0","0","0","1","1671458400","1671463800","no","0",,,,,,,,,,,,,,,,,,, -,"2","2","0","0","0","0",-1,0,"0","0","0","2","1671199200","1671204600","no","0",,,,,,,,,,,,,,,,,,, -,"3","2","0","0","0","0",-1,0,"0","0","0","2",1648803600,1648810800,"no","0",,,,,,,,,,,,,,,,,,, -,"4","2","0","0","0","0",-1,0,"0","0","0","2",1648890000,1648897200,"no","0",,,,,,,,,,,,,,,,,,, -,"5","2","0","0","0","0",-1,0,"0","0","0","2","1645106400","1645113600","no","0",,,,,,,,,,,,,,,,,,, -,"6","2","0","0","0","0",-1,0,"0","0","0","3","1669917600","1669921200","no","0",,,,,,,,,,,,,,,,,,, -,"7","2","0","0","0","0",-1,0,"0","0","0","3","1667642400","1667649600","no","0",,,,,,,,,,,,,,,,,,, -,"8","2","0","0","0","0",-1,0,"0","0","0","3","1668247200","1668254400","no","0",,,,,,,,,,,,,,,,,,, -,"9","2","0","0","0","0",-1,0,"0","0","0","3","1668852000","1668859200","no","0",,,,,,,,,,,,,,,,,,, -,"10","2","0","0","0","0",-1,0,"0","0","0","3","1667728800","1667736000","no","0",,,,,,,,,,,,,,,,,,, -,"11","2","0","0","0","0",-1,0,"0","0","0","3","1668333600","1668340800","no","0",,,,,,,,,,,,,,,,,,, -,"12","2","0","0","0","0",-1,0,"0","0","0","3","1668938400","1668945600","no","0",,,,,,,,,,,,,,,,,,, -,"13","2","0","0","0","0",-1,0,"0","0","0","3","1671732000","1671735600","no","0",,,,,,,,,,,,,,,,,,, -"tx_events_domain_model_location",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -,"uid","pid","cruser_id","hidden","starttime","endtime","sys_language_uid","l10n_parent","t3ver_oid","t3ver_wsid","t3ver_state","name","street","district","city","zip","country","latitude","longitude","phone",,,,,,,,,,,,,,, -,"1","2","0","0","0","0",-1,0,"0","0","0","Schillerhaus Rudolstadt","Schillerstraße 25",,"Rudolstadt","07407","Deutschland","50.720971023259","11.335229873657","+ 49 3672 / 486470",,,,,,,,,,,,,,, -,"2","2","0","0","0","0",-1,0,"0","0","0","Stadtbibliothek Rudolstadt","Schulplatz 13",,"Rudolstadt","07407","Deutschland","50.720835175056","11.342568397522","0 36 72 - 48 64 20",,,,,,,,,,,,,,, -,"3","2","0","0","0","0",-1,0,"0","0","0","Lutherkirche","Caspar-Schulte-Straße",,"Rudolstadt","07407","Deutschland","50.718688721183","11.327333450317","03672 - 48 96 13",,,,,,,,,,,,,,, -"sys_category",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -,"uid","pid","cruser_id","hidden","starttime","endtime","sys_language_uid","l10n_parent","title","items","parent",,,,,,,,,,,,,,,,,,,,,,,, -,1,2,0,0,0,0,0,0,"Top Category",0,0,,,,,,,,,,,,,,,,,,,,,,,, -,2,2,0,0,0,0,0,0,"Event Category Parent",0,1,,,,,,,,,,,,,,,,,,,,,,,, -,3,2,0,0,0,0,0,0,"Weihnachten",0,2,,,,,,,,,,,,,,,,,,,,,,,, -,4,2,0,0,0,0,0,0,"Kinder",0,2,,,,,,,,,,,,,,,,,,,,,,,, -,5,2,0,0,0,0,0,0,"Konzerte, Festivals, Show & Tanz",0,2,,,,,,,,,,,,,,,,,,,,,,,, -"sys_category_record_mm",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -,"uid_local","uid_foreign","tablenames","fieldname",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -,3,1,"tx_events_domain_model_event","categories",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -,4,2,"tx_events_domain_model_event","categories",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -,5,3,"tx_events_domain_model_event","categories",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -,3,3,"tx_events_domain_model_event","categories",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Es gilt die 2G-PLUS-Regel.",,,,,,,"1","2",,"8","3",,"1",,3,"adventliche-orgelmusik-orgel-kmd-frank-bettenhausen" +"tx_events_domain_model_date",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +,"uid","pid","cruser_id","hidden","starttime","endtime","sys_language_uid","l10n_parent","t3ver_oid","t3ver_wsid","t3ver_state","event","start","end","canceled","postponed_date","canceled_link","slug",,,,,,,,,,,,,,,,,, +,"1","2","0","0","0","0",-1,0,"0","0","0","1","1671458400","1671463800","no","0",,"allerlei-weihnachtliches-heute-mit-johannes-geisser-2022-12-19-1",,,,,,,,,,,,,,,,,, +,"2","2","0","0","0","0",-1,0,"0","0","0","2","1671199200","1671204600","no","0",,"tueftlerzeit-2022-12-16-2",,,,,,,,,,,,,,,,,, +,"3","2","0","0","0","0",-1,0,"0","0","0","2",1648803600,1648810800,"no","0",,"tueftlerzeit-2022-04-01-3",,,,,,,,,,,,,,,,,, +,"4","2","0","0","0","0",-1,0,"0","0","0","2",1648890000,1648897200,"no","0",,"tueftlerzeit-2022-04-02-4",,,,,,,,,,,,,,,,,, +,"5","2","0","0","0","0",-1,0,"0","0","0","2","1645106400","1645113600","no","0",,"tueftlerzeit-2022-02-17-5",,,,,,,,,,,,,,,,,, +,"6","2","0","0","0","0",-1,0,"0","0","0","3","1669917600","1669921200","no","0",,"adventliche-orgelmusik-orgel-kmd-frank-bettenhausen-2022-12-01-6",,,,,,,,,,,,,,,,,, +,"7","2","0","0","0","0",-1,0,"0","0","0","3","1667642400","1667649600","no","0",,"adventliche-orgelmusik-orgel-kmd-frank-bettenhausen-2022-11-05-7",,,,,,,,,,,,,,,,,, +,"8","2","0","0","0","0",-1,0,"0","0","0","3","1668247200","1668254400","no","0",,"adventliche-orgelmusik-orgel-kmd-frank-bettenhausen-2022-11-12-8",,,,,,,,,,,,,,,,,, +,"9","2","0","0","0","0",-1,0,"0","0","0","3","1668852000","1668859200","no","0",,"adventliche-orgelmusik-orgel-kmd-frank-bettenhausen-2022-11-19-9",,,,,,,,,,,,,,,,,, +,"10","2","0","0","0","0",-1,0,"0","0","0","3","1667728800","1667736000","no","0",,"adventliche-orgelmusik-orgel-kmd-frank-bettenhausen-2022-11-06-10",,,,,,,,,,,,,,,,,, +,"11","2","0","0","0","0",-1,0,"0","0","0","3","1668333600","1668340800","no","0",,"adventliche-orgelmusik-orgel-kmd-frank-bettenhausen-2022-11-13-11",,,,,,,,,,,,,,,,,, +,"12","2","0","0","0","0",-1,0,"0","0","0","3","1668938400","1668945600","no","0",,"adventliche-orgelmusik-orgel-kmd-frank-bettenhausen-2022-11-20-12",,,,,,,,,,,,,,,,,, +,"13","2","0","0","0","0",-1,0,"0","0","0","3","1671732000","1671735600","no","0",,"adventliche-orgelmusik-orgel-kmd-frank-bettenhausen-2022-12-22-13",,,,,,,,,,,,,,,,,, +"tx_events_domain_model_location",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +,"uid","pid","cruser_id","hidden","starttime","endtime","sys_language_uid","l10n_parent","t3ver_oid","t3ver_wsid","t3ver_state","name","street","district","city","zip","country","latitude","longitude","phone",,,,,,,,,,,,,,,, +,"1","2","0","0","0","0",-1,0,"0","0","0","Schillerhaus Rudolstadt","Schillerstraße 25",,"Rudolstadt","07407","Deutschland","50.720971023259","11.335229873657","+ 49 3672 / 486470",,,,,,,,,,,,,,,, +,"2","2","0","0","0","0",-1,0,"0","0","0","Stadtbibliothek Rudolstadt","Schulplatz 13",,"Rudolstadt","07407","Deutschland","50.720835175056","11.342568397522","0 36 72 - 48 64 20",,,,,,,,,,,,,,,, +,"3","2","0","0","0","0",-1,0,"0","0","0","Lutherkirche","Caspar-Schulte-Straße",,"Rudolstadt","07407","Deutschland","50.718688721183","11.327333450317","03672 - 48 96 13",,,,,,,,,,,,,,,, +"sys_category",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +,"uid","pid","cruser_id","hidden","starttime","endtime","sys_language_uid","l10n_parent","title","items","parent",,,,,,,,,,,,,,,,,,,,,,,,, +,1,2,0,0,0,0,0,0,"Top Category",0,0,,,,,,,,,,,,,,,,,,,,,,,,, +,2,2,0,0,0,0,0,0,"Event Category Parent",0,1,,,,,,,,,,,,,,,,,,,,,,,,, +,3,2,0,0,0,0,0,0,"Weihnachten",0,2,,,,,,,,,,,,,,,,,,,,,,,,, +,4,2,0,0,0,0,0,0,"Kinder",0,2,,,,,,,,,,,,,,,,,,,,,,,,, +,5,2,0,0,0,0,0,0,"Konzerte, Festivals, Show & Tanz",0,2,,,,,,,,,,,,,,,,,,,,,,,,, +"sys_category_record_mm",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +,"uid_local","uid_foreign","tablenames","fieldname",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +,3,1,"tx_events_domain_model_event","categories",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +,4,2,"tx_events_domain_model_event","categories",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +,5,3,"tx_events_domain_model_event","categories",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +,3,3,"tx_events_domain_model_event","categories",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, diff --git a/Tests/Functional/Import/DestinationDataTest/Assertions/ImportsWithoutCategoryIfNotProvided.csv b/Tests/Functional/Import/DestinationDataTest/Assertions/ImportsWithoutCategoryIfNotProvided.csv index 09c5122..d7634be 100644 --- a/Tests/Functional/Import/DestinationDataTest/Assertions/ImportsWithoutCategoryIfNotProvided.csv +++ b/Tests/Functional/Import/DestinationDataTest/Assertions/ImportsWithoutCategoryIfNotProvided.csv @@ -4,7 +4,7 @@ ,"2","2","0","0","0","0","0","-1","0","0","0","0","0","Stadtbibliothek Rudolstadt","Schulplatz 13",,"Rudolstadt","07407","0 36 72 - 48 64 20","http://www.stadtbibliothek-rudolstadt.de ","stadtbibliothek@rudolstadt.de" ,"3","2","0","0","0","0","0","-1","0","0","0","0","0","Lutherkirche","Caspar-Schulte-Straße",,"Rudolstadt","07407","03672 - 48 96 13",, "tx_events_domain_model_event",,,,,,,,,,,,,,,,,,,,, -,"uid","pid","cruser_id","deleted","hidden","starttime","endtime","sys_language_uid","l10n_parent","t3ver_oid","t3ver_wsid","t3ver_state","t3ver_stage","title","subtitle","global_id","slug","highlight","teaser","categories", -,"1","2","0","0","0","0","0","-1","0","0","0","0","0","Allerlei Weihnachtliches (Heute mit Johannes Geißer)",,"e_100347853","e-100347853","0",,"0", -,"2","2","0","0","0","0","0","-1","0","0","0","0","0","Tüftlerzeit",,"e_100354481","e-100354481","0",,"0", -,"3","2","0","0","0","0","0","-1","0","0","0","0","0","Adventliche Orgelmusik (Orgel: KMD Frank Bettenhausen)",,"e_100350503","e-100350503","0",,"0", +,"uid","pid","cruser_id","deleted","hidden","starttime","endtime","sys_language_uid","l10n_parent","t3ver_oid","t3ver_wsid","t3ver_state","t3ver_stage","title","subtitle","global_id","highlight","teaser","categories",, +,"1","2","0","0","0","0","0","-1","0","0","0","0","0","Allerlei Weihnachtliches (Heute mit Johannes Geißer)",,"e_100347853","0",,"0",, +,"2","2","0","0","0","0","0","-1","0","0","0","0","0","Tüftlerzeit",,"e_100354481","0",,"0",, +,"3","2","0","0","0","0","0","-1","0","0","0","0","0","Adventliche Orgelmusik (Orgel: KMD Frank Bettenhausen)",,"e_100350503","0",,"0",, diff --git a/Tests/Functional/Import/DestinationDataTest/Assertions/ImportsWithoutLocationIfNotProvided.csv b/Tests/Functional/Import/DestinationDataTest/Assertions/ImportsWithoutLocationIfNotProvided.csv index 9bab3d0..334ef94 100644 --- a/Tests/Functional/Import/DestinationDataTest/Assertions/ImportsWithoutLocationIfNotProvided.csv +++ b/Tests/Functional/Import/DestinationDataTest/Assertions/ImportsWithoutLocationIfNotProvided.csv @@ -2,5 +2,5 @@ ,"uid","pid","cruser_id","deleted","hidden","starttime","endtime","sys_language_uid","l10n_parent","t3ver_oid","t3ver_wsid","t3ver_state","t3ver_stage","name","street","district","city","zip","phone","web","email" ,"1","2","0","0","0","0","0","-1","0","0","0","0","0","Schillerhaus Rudolstadt","Schillerstraße 25",,"Rudolstadt","07407","+ 49 3672 / 486470","http://schillerhaus.rudolstadt.de","schillerhaus@rudolstadt.de" "tx_events_domain_model_event",,,,,,,,,,,,,,,,,,,,, -,"uid","pid","cruser_id","deleted","hidden","starttime","endtime","sys_language_uid","l10n_parent","t3ver_oid","t3ver_wsid","t3ver_state","t3ver_stage","title","subtitle","global_id","slug","highlight","teaser","region", -,"1","2","0","0","0","0","0","-1","0","0","0","0","0","Allerlei Weihnachtliches (Heute mit Johannes Geißer)",,"e_100347853","e-100347853","0",,"0", +,"uid","pid","cruser_id","deleted","hidden","starttime","endtime","sys_language_uid","l10n_parent","t3ver_oid","t3ver_wsid","t3ver_state","t3ver_stage","title","subtitle","global_id","highlight","teaser","region",, +,"1","2","0","0","0","0","0","-1","0","0","0","0","0","Allerlei Weihnachtliches (Heute mit Johannes Geißer)",,"e_100347853","0",,"0",, diff --git a/Tests/Functional/Import/DestinationDataTest/Assertions/ImportsWithoutRegionIfNotProvided.csv b/Tests/Functional/Import/DestinationDataTest/Assertions/ImportsWithoutRegionIfNotProvided.csv index f37493f..359aaf8 100644 --- a/Tests/Functional/Import/DestinationDataTest/Assertions/ImportsWithoutRegionIfNotProvided.csv +++ b/Tests/Functional/Import/DestinationDataTest/Assertions/ImportsWithoutRegionIfNotProvided.csv @@ -4,7 +4,7 @@ ,"2","2","0","0","0","0","0","-1","0","0","0","0","0","Stadtbibliothek Rudolstadt","Schulplatz 13",,"Rudolstadt","07407","0 36 72 - 48 64 20","http://www.stadtbibliothek-rudolstadt.de ","stadtbibliothek@rudolstadt.de" ,"3","2","0","0","0","0","0","-1","0","0","0","0","0","Lutherkirche","Caspar-Schulte-Straße",,"Rudolstadt","07407","03672 - 48 96 13",, "tx_events_domain_model_event",,,,,,,,,,,,,,,,,,,,, -,"uid","pid","cruser_id","deleted","hidden","starttime","endtime","sys_language_uid","l10n_parent","t3ver_oid","t3ver_wsid","t3ver_state","t3ver_stage","title","subtitle","global_id","slug","highlight","teaser","region", -,"1","2","0","0","0","0","0","-1","0","0","0","0","0","Allerlei Weihnachtliches (Heute mit Johannes Geißer)",,"e_100347853","e-100347853","0",,"0", -,"2","2","0","0","0","0","0","-1","0","0","0","0","0","Tüftlerzeit",,"e_100354481","e-100354481","0",,"0", -,"3","2","0","0","0","0","0","-1","0","0","0","0","0","Adventliche Orgelmusik (Orgel: KMD Frank Bettenhausen)",,"e_100350503","e-100350503","0",,"0", +,"uid","pid","cruser_id","deleted","hidden","starttime","endtime","sys_language_uid","l10n_parent","t3ver_oid","t3ver_wsid","t3ver_state","t3ver_stage","title","subtitle","global_id","highlight","teaser","region",, +,"1","2","0","0","0","0","0","-1","0","0","0","0","0","Allerlei Weihnachtliches (Heute mit Johannes Geißer)",,"e_100347853","0",,"0",, +,"2","2","0","0","0","0","0","-1","0","0","0","0","0","Tüftlerzeit",,"e_100354481","0",,"0",, +,"3","2","0","0","0","0","0","-1","0","0","0","0","0","Adventliche Orgelmusik (Orgel: KMD Frank Bettenhausen)",,"e_100350503","0",,"0",, diff --git a/ext_tables.sql b/ext_tables.sql index fff8dd3..ec09240 100644 --- a/ext_tables.sql +++ b/ext_tables.sql @@ -1,39 +1,31 @@ -# -# Table structure for table 'tx_events_domain_model_event' -# CREATE TABLE tx_events_domain_model_event ( - - title varchar(255) DEFAULT '' NOT NULL, - subtitle text, - global_id varchar(255) DEFAULT '' NOT NULL, - slug varchar(255) DEFAULT '' NOT NULL, - highlight smallint(5) unsigned DEFAULT '0' NOT NULL, - teaser text, - details text, - price_info text, - web varchar(255) DEFAULT '' NOT NULL, - ticket text, - facebook varchar(255) DEFAULT '' NOT NULL, - youtube varchar(255) DEFAULT '' NOT NULL, - instagram varchar(255) DEFAULT '' NOT NULL, - images int(11) unsigned NOT NULL default '0', - categories int(11) DEFAULT '0' NOT NULL, - features int(11) DEFAULT '0' NOT NULL, - pages text, - dates int(11) unsigned DEFAULT '0' NOT NULL, - organizer int(11) unsigned DEFAULT '0', - location int(11) unsigned DEFAULT '0', - partner text, - region int(11) unsigned DEFAULT '0', - references_events text, + title varchar(255) DEFAULT '' NOT NULL, + subtitle text, + global_id varchar(255) DEFAULT '' NOT NULL, + slug varchar(255) DEFAULT '' NOT NULL, + highlight smallint(5) unsigned DEFAULT '0' NOT NULL, + teaser text, + details text, + price_info text, + web varchar(255) DEFAULT '' NOT NULL, + ticket text, + facebook varchar(255) DEFAULT '' NOT NULL, + youtube varchar(255) DEFAULT '' NOT NULL, + instagram varchar(255) DEFAULT '' NOT NULL, + images int(11) unsigned NOT NULL default '0', + categories int(11) DEFAULT '0' NOT NULL, + features int(11) DEFAULT '0' NOT NULL, + pages text, + dates int(11) unsigned DEFAULT '0' NOT NULL, + organizer int(11) unsigned DEFAULT '0', + location int(11) unsigned DEFAULT '0', + partner text, + region int(11) unsigned DEFAULT '0', + references_events text, KEY dataHandler (l10n_parent, t3ver_oid, deleted, t3ver_wsid, t3ver_state) ); -# -# Table structure for table 'tx_events_domain_model_organizer' -# CREATE TABLE tx_events_domain_model_organizer ( - name varchar(255) DEFAULT '' NOT NULL, street varchar(255) DEFAULT '' NOT NULL, district varchar(255) DEFAULT '' NOT NULL, @@ -46,11 +38,7 @@ CREATE TABLE tx_events_domain_model_organizer ( KEY dataHandler (l10n_parent, sys_language_uid, deleted) ); -# -# Table structure for table 'tx_events_domain_model_partner' -# CREATE TABLE tx_events_domain_model_partner ( - title varchar(255) DEFAULT '' NOT NULL, link varchar(255) DEFAULT '' NOT NULL, images int(11) unsigned NOT NULL default '0', @@ -58,36 +46,24 @@ CREATE TABLE tx_events_domain_model_partner ( KEY dataHandler (l10n_parent, sys_language_uid, deleted) ); -# -# Table structure for table 'tx_events_domain_model_date' -# CREATE TABLE tx_events_domain_model_date ( event int(11) unsigned DEFAULT '0' NOT NULL, start int(11) DEFAULT NULL, end int(11) DEFAULT NULL, canceled varchar(255) DEFAULT 'no' NOT NULL, + slug varchar(255) DEFAULT '' NOT NULL, KEY event (event), KEY dataHandler (event, t3ver_wsid, pid) ); -# -# Table structure for table 'tx_events_domain_model_region' -# CREATE TABLE tx_events_domain_model_region ( - title varchar(255) DEFAULT '' NOT NULL, - ); -# -# Table structure for table 'tx_events_domain_model_date' -# CREATE TABLE tx_events_domain_model_date ( - event int(11) unsigned DEFAULT '0' NOT NULL, postponed_date int(11) unsigned DEFAULT '0' NOT NULL, canceled_link varchar(1024) DEFAULT '' NOT NULL, - ); CREATE TABLE tx_events_domain_model_import ( diff --git a/phpstan.neon b/phpstan.neon index bf54a06..b3e4507 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -16,4 +16,6 @@ parameters: - "#^Cannot call method fetchColumn\\(\\) on Doctrine\\\\DBAL\\\\Result\\|int\\.$#" - "#^Cannot call method fetch\\(\\) on Doctrine\\\\DBAL\\\\Driver\\\\ResultStatement\\|int\\.$#" - "#^Cannot call method fetch\\(\\) on Doctrine\\\\DBAL\\\\Result\\|int\\.$#" + - "#^Cannot call method fetchOne\\(\\) on Doctrine\\\\DBAL\\\\Driver\\\\ResultStatement\\|int\\.$#" + - "#^Cannot call method fetchOne\\(\\) on Doctrine\\\\DBAL\\\\Result\\|int\\.$#" - "#^Parameter \\#1 \\.\\.\\.\\$predicates of method TYPO3\\\\CMS\\\\Core\\\\Database\\\\Query\\\\QueryBuilder\\:\\:where\\(\\) expects array\\\\|Doctrine\\\\DBAL\\\\Query\\\\Expression\\\\CompositeExpression, string given\\.$#"