Streamline CGL (#21)

Use php-cs-fixer as within other extensions.
Use same configuration.
Apply configuration
This commit is contained in:
Daniel Siepmann 2023-06-07 08:56:42 +02:00 committed by GitHub
parent d6d3330bd3
commit d4a11436c6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
53 changed files with 269 additions and 264 deletions

View file

@ -65,21 +65,20 @@ jobs:
runs-on: ubuntu-latest
needs:
- php-linting
- xml-linting
steps:
- uses: actions/checkout@v3
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: "8.2"
php-version: "8.1"
tools: composer:v2
- name: Install dependencies
run: composer install --prefer-dist --no-progress --no-suggest
- name: Coding Guideline
run: ./vendor/bin/ecs check --no-progress-bar --clear-cache
run: ./vendor/bin/php-cs-fixer fix
code-quality:
runs-on: ubuntu-latest

63
.php-cs-fixer.dist.php Normal file
View file

@ -0,0 +1,63 @@
<?php
$finder = (new PhpCsFixer\Finder())
->ignoreVCSIgnored(true)
->in(realpath(__DIR__))
;
return (new \PhpCsFixer\Config())
->setRiskyAllowed(true)
->setRules([
'@DoctrineAnnotation' => true,
'@PSR2' => true,
'array_syntax' => ['syntax' => 'short'],
'blank_line_after_opening_tag' => true,
'braces' => ['allow_single_line_closure' => true],
'cast_spaces' => ['space' => 'none'],
'compact_nullable_typehint' => true,
'concat_space' => ['spacing' => 'one'],
'declare_equal_normalize' => ['space' => 'none'],
'dir_constant' => true,
'function_to_constant' => ['functions' => ['get_called_class', 'get_class', 'get_class_this', 'php_sapi_name', 'phpversion', 'pi']],
'function_typehint_space' => true,
'lowercase_cast' => true,
'method_argument_space' => ['on_multiline' => 'ensure_fully_multiline'],
'modernize_strpos' => true,
'modernize_types_casting' => true,
'native_function_casing' => true,
'new_with_braces' => true,
'no_alias_functions' => true,
'no_blank_lines_after_phpdoc' => true,
'no_empty_phpdoc' => true,
'no_empty_statement' => true,
'no_extra_blank_lines' => true,
'no_leading_import_slash' => true,
'no_leading_namespace_whitespace' => true,
'no_null_property_initialization' => true,
'no_short_bool_cast' => true,
'no_singleline_whitespace_before_semicolons' => true,
'no_superfluous_elseif' => true,
'no_trailing_comma_in_singleline_array' => true,
'no_unneeded_control_parentheses' => true,
'no_unused_imports' => true,
'no_useless_else' => true,
'no_whitespace_in_blank_line' => true,
'ordered_imports' => true,
'php_unit_construct' => ['assertions' => ['assertEquals', 'assertSame', 'assertNotEquals', 'assertNotSame']],
'php_unit_mock_short_will_return' => true,
'php_unit_test_case_static_method_calls' => ['call_type' => 'self'],
'phpdoc_no_access' => true,
'phpdoc_no_package' => true,
'phpdoc_scalar' => true,
'phpdoc_trim' => true,
'phpdoc_types' => true,
'phpdoc_types_order' => ['null_adjustment' => 'always_last', 'sort_algorithm' => 'none'],
'return_type_declaration' => ['space_before' => 'none'],
'single_quote' => true,
'single_line_comment_style' => ['comment_types' => ['hash']],
'single_trait_insert_per_statement' => true,
'trailing_comma_in_multiline' => ['elements' => ['arrays']],
'whitespace_after_comma_in_array' => true,
'yoda_style' => ['equal' => false, 'identical' => false, 'less_and_greater' => false],
])
->setFinder($finder)
;

View file

@ -42,9 +42,9 @@ use Wrm\Events\Events\Controller\DateListVariables;
class PageCacheTimeout implements SingletonInterface
{
/**
* @var null|DateTimeImmutable
* @var DateTimeImmutable|null
*/
private $timeout = null;
private $timeout;
/**
* @var FrontendInterface

View file

@ -3,7 +3,6 @@
namespace Wrm\Events\Command;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use TYPO3\CMS\Core\Core\Bootstrap;

View file

@ -3,12 +3,9 @@
namespace Wrm\Events\Controller;
use TYPO3\CMS\Core\EventDispatcher\EventDispatcher;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Extbase\Annotation as Extbase;
use TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface;
use TYPO3\CMS\Extbase\Service\ExtensionService;
use Wrm\Events\Domain\Model\Date;
use Wrm\Events\Domain\Model\Dto\DateDemand;
use Wrm\Events\Domain\Model\Dto\DateDemandFactory;
use Wrm\Events\Domain\Repository\CategoryRepository;
use Wrm\Events\Domain\Repository\DateRepository;
@ -176,7 +173,7 @@ class DateController extends AbstractController
'parameter' => 't3://page?uid=current',
'additionalParams' => '&' . http_build_query([
$namespace => [
'search' => array_filter($this->request->getArgument('search'))
'search' => array_filter($this->request->getArgument('search')),
],
]),
]));

View file

@ -3,7 +3,6 @@
namespace Wrm\Events\Controller;
use TYPO3\CMS\Extbase\Annotation as Extbase;
use Wrm\Events\Domain\Model\Dto\EventDemand;
use Wrm\Events\Domain\Model\Dto\EventDemandFactory;
use Wrm\Events\Domain\Model\Event;
use Wrm\Events\Domain\Repository\EventRepository;

View file

@ -12,32 +12,32 @@ class Date extends AbstractEntity
/**
* @var \DateTime
*/
protected $start = null;
protected $start;
/**
* @var \DateTime
*/
protected $end = null;
protected $end;
/**
* @var string
*/
protected $canceled = "no";
protected $canceled = 'no';
/**
* @var null|Date
* @var Date|null
*/
protected $postponedDate;
/**
* @var null|Date
* @var Date|null
*/
protected $originalDate;
/**
* @var \Wrm\Events\Domain\Model\Event
*/
protected $event = null;
protected $event;
/**
* @var string

View file

@ -67,14 +67,14 @@ class DateDemand
protected $limit = '';
/**
* @var null|\DateTimeImmutable
* @var \DateTimeImmutable|null
*/
protected $startObject = null;
protected $startObject;
/**
* @var null|\DateTimeImmutable
* @var \DateTimeImmutable|null
*/
protected $endObject = null;
protected $endObject;
/**
* Use midnight as "start".

View file

@ -2,8 +2,6 @@
namespace Wrm\Events\Domain\Model\Dto;
use Wrm\Events\Domain\Model\Region;
class EventDemand
{
/**

View file

@ -5,9 +5,7 @@ namespace Wrm\Events\Domain\Model;
use TYPO3\CMS\Extbase\Annotation as Extbase;
use TYPO3\CMS\Extbase\Domain\Model\FileReference;
use TYPO3\CMS\Extbase\DomainObject\AbstractEntity;
use TYPO3\CMS\Extbase\Object\ObjectManager;
use TYPO3\CMS\Extbase\Persistence\ObjectStorage;
use Wrm\Events\Domain\Repository\DateRepository;
use Wrm\Events\Service\DataProcessingForModels;
class Event extends AbstractEntity
@ -93,17 +91,17 @@ class Event extends AbstractEntity
/**
* @var Location|null
*/
protected $location = null;
protected $location;
/**
* @var Organizer|null
*/
protected $organizer = null;
protected $organizer;
/**
* @var Region|null
*/
protected $region = null;
protected $region;
/**
* @var string
@ -138,7 +136,7 @@ class Event extends AbstractEntity
/**
* @var DataProcessingForModels
*/
protected $dataProcessing = null;
protected $dataProcessing;
public function __construct()
{

View file

@ -40,7 +40,7 @@ class Partner extends AbstractEntity
/**
* @var ObjectStorage<FileReference>
*/
protected $images = null;
protected $images;
public function getTitle(): string
{

View file

@ -24,7 +24,6 @@ namespace Wrm\Events\Domain\Repository;
*/
use TYPO3\CMS\Core\Database\ConnectionPool;
use TYPO3\CMS\Core\Database\Query\QueryBuilder;
use TYPO3\CMS\Extbase\Domain\Model\Category;
use TYPO3\CMS\Extbase\Persistence\Generic\Mapper\DataMapper;
use TYPO3\CMS\Extbase\Persistence\Repository;
@ -108,7 +107,7 @@ class CategoryRepository extends Repository
$query->matching($query->logicalAnd([
$query->equals('parent', $parentCategory),
$query->equals('title', $title)
$query->equals('title', $title),
]));
$query->setLimit(1);

View file

@ -10,7 +10,6 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Extbase\Persistence\Generic\Qom\ConstraintInterface;
use TYPO3\CMS\Extbase\Persistence\Generic\QueryResult;
use TYPO3\CMS\Extbase\Persistence\QueryInterface;
use TYPO3\CMS\Extbase\Persistence\QueryResultInterface;
use TYPO3\CMS\Extbase\Persistence\Repository;
use UnexpectedValueException;
use Wrm\Events\Domain\Model\Dto\DateDemand;
@ -98,7 +97,7 @@ class DateRepository extends Repository
$constraints['nowAndFuture'] = $query->logicalOr([
$query->greaterThanOrEqual('start', $now),
$query->greaterThanOrEqual('end', $now)
$query->greaterThanOrEqual('end', $now),
]);
} elseif ($demand->shouldShowUpcoming()) {
$now = $this->getNow();
@ -107,8 +106,8 @@ class DateRepository extends Repository
$query->greaterThan('start', $now),
$query->logicalOr([
$query->equals('end', 0),
$query->greaterThan('end', $now)
])
$query->greaterThan('end', $now),
]),
]);
}

View file

@ -1,6 +1,5 @@
<?php
namespace Wrm\Events\Events\Controller;
use TYPO3\CMS\Core\Pagination\PaginationInterface;

View file

@ -23,7 +23,6 @@ namespace Wrm\Events\Service\Cleanup;
use TYPO3\CMS\Core\Database\Connection;
use TYPO3\CMS\Core\Database\ConnectionPool;
use TYPO3\CMS\Core\Database\Query\QueryBuilder;
class Database
{

View file

@ -23,7 +23,6 @@ namespace Wrm\Events\Service\Cleanup;
use TYPO3\CMS\Core\Database\Connection;
use TYPO3\CMS\Core\Database\ConnectionPool;
use TYPO3\CMS\Core\Database\Query\QueryBuilder;
use TYPO3\CMS\Core\Resource\StorageRepository;
class Files

View file

@ -3,28 +3,20 @@
namespace Wrm\Events\Service;
use Exception;
use TYPO3\CMS\Core\Database\ConnectionPool;
use TYPO3\CMS\Core\DataHandling\DataHandler;
use TYPO3\CMS\Core\DataHandling\SlugHelper;
use TYPO3\CMS\Core\Log\Logger;
use TYPO3\CMS\Core\Log\LogManager;
use TYPO3\CMS\Core\Resource\Exception\FolderDoesNotExistException;
use TYPO3\CMS\Core\Resource\File;
use TYPO3\CMS\Core\Resource\Index\MetaDataRepository;
use TYPO3\CMS\Core\Resource\ResourceStorage;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Extbase\Configuration\ConfigurationManager;
use TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface;
use TYPO3\CMS\Extbase\Object\ObjectManager;
use TYPO3\CMS\Extbase\Persistence\Generic\PersistenceManager;
use TYPO3\CMS\Extbase\Persistence\ObjectStorage;
use Wrm\Events\Domain\Model\Category;
use Wrm\Events\Domain\Model\Date;
use Wrm\Events\Domain\Model\Event;
use Wrm\Events\Domain\Model\Import;
use Wrm\Events\Domain\Model\Organizer;
use Wrm\Events\Domain\Model\Region;
use Wrm\Events\Domain\Repository\CategoryRepository;
use Wrm\Events\Domain\Repository\DateRepository;
use Wrm\Events\Domain\Repository\EventRepository;
use Wrm\Events\Domain\Repository\OrganizerRepository;
@ -329,7 +321,7 @@ class DestinationDataImportService
private function setOrganizer(array $addresses): void
{
foreach ($addresses as $address) {
if ($address['rel'] == "organizer") {
if ($address['rel'] == 'organizer') {
$tmpOrganizer = $this->organizerRepository->findOneByName($address['name']);
if ($tmpOrganizer) {
$this->tmpCurrentEvent->setOrganizer($tmpOrganizer);
@ -357,13 +349,13 @@ class DestinationDataImportService
private function setSocial(array $media): void
{
foreach ($media as $link) {
if ($link['rel'] == "socialmedia" && $link['value'] == "Facebook") {
if ($link['rel'] == 'socialmedia' && $link['value'] == 'Facebook') {
$this->tmpCurrentEvent->setFacebook($link['url']);
}
if ($link['rel'] == "socialmedia" && $link['value'] == "YouTube") {
if ($link['rel'] == 'socialmedia' && $link['value'] == 'YouTube') {
$this->tmpCurrentEvent->setYouTube($link['url']);
}
if ($link['rel'] == "socialmedia" && $link['value'] == "Instagram") {
if ($link['rel'] == 'socialmedia' && $link['value'] == 'Instagram') {
$this->tmpCurrentEvent->setInstagram($link['url']);
}
}
@ -422,13 +414,13 @@ class DestinationDataImportService
continue;
}
if ($text['rel'] == "details" && $text['type'] == "text/plain") {
if ($text['rel'] == 'details' && $text['type'] == 'text/plain') {
$this->tmpCurrentEvent->setDetails(str_replace("\n\n", "\n", $text['value']));
}
if ($text['rel'] == "teaser" && $text['type'] == "text/plain") {
if ($text['rel'] == 'teaser' && $text['type'] == 'text/plain') {
$this->tmpCurrentEvent->setTeaser(str_replace("\n\n", "\n", $text['value']));
}
if ($text['rel'] == "PRICE_INFO" && $text['type'] == "text/plain") {
if ($text['rel'] == 'PRICE_INFO' && $text['type'] == 'text/plain') {
$this->tmpCurrentEvent->setPriceInfo(str_replace("\n\n", "\n", $text['value']));
}
}
@ -461,7 +453,7 @@ class DestinationDataImportService
private function setAssets(array $assets): void
{
$this->logger->info("Set assets");
$this->logger->info('Set assets');
$allowedMimeTypes = [
'image/jpeg',
@ -473,7 +465,7 @@ class DestinationDataImportService
foreach ($assets as $media_object) {
if (
$media_object['rel'] == "default"
$media_object['rel'] == 'default'
&& in_array($media_object['type'], $allowedMimeTypes)
) {
$fileUrl = urldecode($media_object['url']);
@ -523,7 +515,7 @@ class DestinationDataImportService
[
'title' => $this->getShortenedString($media_object['value'], 100),
'description' => $media_object['description'] ?? '',
'alternative' => 'DD Import'
'alternative' => 'DD Import',
]
);
$this->createFileRelations(
@ -576,23 +568,23 @@ class DestinationDataImportService
): bool {
$newId = 'NEW1234';
$data = array();
$data['sys_file_reference'][$newId] = array(
$data = [];
$data['sys_file_reference'][$newId] = [
'table_local' => 'sys_file',
'uid_local' => $uid_local,
'tablenames' => $tablenames,
'uid_foreign' => $uid_foreign,
'fieldname' => $fieldname,
'pid' => $storagePid
);
$data[$tablenames][$uid_foreign] = array(
'pid' => $storagePid,
$fieldname => $newId
);
];
$data[$tablenames][$uid_foreign] = [
'pid' => $storagePid,
$fieldname => $newId,
];
$dataHandler = $this->objectManager->get(DataHandler::class);
$dataHandler->start($data, array());
$dataHandler->start($data, []);
$dataHandler->process_datamap();
if (count($dataHandler->errorLog) === 0) {

View file

@ -1,6 +1,5 @@
<?php
namespace Wrm\Events\Service\DestinationDataImportService;
use TYPO3\CMS\Extbase\Persistence\ObjectStorage;

View file

@ -40,7 +40,7 @@ class UrlFactory
'mode' => $this->settings['restMode'] ?? '',
'limit' => $this->settings['restLimit'] ?? '',
'template' => $this->settings['restTemplate'] ?? '',
'q' => $import->getSearchQuery()
'q' => $import->getSearchQuery(),
];
$parameter = array_filter($parameter);

View file

@ -10,7 +10,7 @@
'fieldConfiguration' => [
'minitems' => 0,
'multiple' => true,
]
],
]
);
@ -23,7 +23,7 @@
'fieldConfiguration' => [
'minitems' => 0,
'multiple' => true,
]
],
]
);
})('events', 'tx_events_domain_model_event');

View file

@ -20,7 +20,7 @@ return [
'endtime' => 'endtime',
],
'searchFields' => '',
'iconfile' => 'EXT:events/Resources/Public/Icons/tx_events_domain_model_date.svg'
'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, slug, event, --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access, starttime, endtime'],
@ -37,8 +37,8 @@ return [
[
'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.allLanguages',
-1,
'flags-multiple'
]
'flags-multiple',
],
],
'default' => 0,
],
@ -80,8 +80,8 @@ return [
[
0 => '',
1 => '',
'invertStateDisplay' => true
]
'invertStateDisplay' => true,
],
],
],
],
@ -94,8 +94,8 @@ return [
'eval' => 'datetime,int',
'default' => 0,
'behaviour' => [
'allowLanguageSynchronization' => true
]
'allowLanguageSynchronization' => true,
],
],
],
'endtime' => [
@ -107,11 +107,11 @@ return [
'eval' => 'datetime,int',
'default' => 0,
'range' => [
'upper' => mktime(0, 0, 0, 1, 1, 2038)
'upper' => mktime(0, 0, 0, 1, 1, 2038),
],
'behaviour' => [
'allowLanguageSynchronization' => true
]
'allowLanguageSynchronization' => true,
],
],
],
@ -215,10 +215,10 @@ return [
'default' => '',
],
],
'event' => array(
'event' => [
'exclude' => 1,
'label' => 'LLL:EXT:events/Resources/Private/Language/locallang_csh_date.xlf:tx_events_domain_model_date.event',
'config' => array(
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'foreign_table' => 'tx_events_domain_model_event',
@ -226,7 +226,7 @@ return [
'minitems' => 0,
'maxitems' => 1,
'readOnly' => 1,
)
)
],
],
],
];

View file

@ -24,7 +24,7 @@ return [
'endtime' => 'endtime',
],
'searchFields' => 'title,subtitle,global_id,teaser',
'iconfile' => 'EXT:events/Resources/Public/Icons/tx_events_domain_model_event.svg'
'iconfile' => 'EXT:events/Resources/Public/Icons/tx_events_domain_model_event.svg',
],
'types' => [
'1' => [
@ -64,7 +64,7 @@ return [
instagram,
--div--;' . $l10nPathFE . ':tabs.access,
starttime,
endtime'
endtime',
],
],
@ -80,8 +80,8 @@ return [
[
$l10nPathGeneral . ':LGL.allLanguages',
-1,
'flags-multiple'
]
'flags-multiple',
],
],
'default' => 0,
],
@ -123,8 +123,8 @@ return [
[
0 => '',
1 => '',
'invertStateDisplay' => true
]
'invertStateDisplay' => true,
],
],
],
],
@ -137,8 +137,8 @@ return [
'eval' => 'datetime,int',
'default' => 0,
'behaviour' => [
'allowLanguageSynchronization' => true
]
'allowLanguageSynchronization' => true,
],
],
],
'endtime' => [
@ -150,11 +150,11 @@ return [
'eval' => 'datetime,int',
'default' => 0,
'range' => [
'upper' => mktime(0, 0, 0, 1, 1, 2038)
'upper' => mktime(0, 0, 0, 1, 1, 2038),
],
'behaviour' => [
'allowLanguageSynchronization' => true
]
'allowLanguageSynchronization' => true,
],
],
],
@ -165,8 +165,8 @@ return [
'type' => 'text',
'cols' => 40,
'rows' => 2,
'eval' => 'trim'
]
'eval' => 'trim',
],
],
'subtitle' => [
'exclude' => true,
@ -175,8 +175,8 @@ return [
'type' => 'text',
'cols' => 40,
'rows' => 2,
'eval' => 'trim'
]
'eval' => 'trim',
],
],
'global_id' => [
'exclude' => true,
@ -184,7 +184,7 @@ return [
'config' => [
'type' => 'input',
'size' => 30,
'eval' => 'trim'
'eval' => 'trim',
],
],
'slug' => [
@ -210,11 +210,11 @@ return [
'type' => 'check',
'items' => [
'1' => [
'0' => $l10nPathLang . ':labels.enabled'
]
'0' => $l10nPathLang . ':labels.enabled',
],
],
'default' => 0,
]
],
],
'teaser' => [
'exclude' => true,
@ -223,8 +223,8 @@ return [
'type' => 'text',
'cols' => 30,
'rows' => 5,
'eval' => 'trim'
]
'eval' => 'trim',
],
],
'details' => [
'exclude' => true,
@ -250,8 +250,8 @@ return [
'type' => 'text',
'cols' => 40,
'rows' => 15,
'eval' => 'trim'
]
'eval' => 'trim',
],
],
'web' => [
'exclude' => true,
@ -259,7 +259,7 @@ return [
'config' => [
'type' => 'input',
'size' => 30,
'eval' => 'trim'
'eval' => 'trim',
],
],
'ticket' => [
@ -280,7 +280,7 @@ return [
'config' => [
'type' => 'input',
'size' => 30,
'eval' => 'trim'
'eval' => 'trim',
],
],
'youtube' => [
@ -289,7 +289,7 @@ return [
'config' => [
'type' => 'input',
'size' => 30,
'eval' => 'trim'
'eval' => 'trim',
],
],
'instagram' => [
@ -298,7 +298,7 @@ return [
'config' => [
'type' => 'input',
'size' => 30,
'eval' => 'trim'
'eval' => 'trim',
],
],
'images' => [
@ -323,35 +323,35 @@ return [
'0' => [
'showitem' => '
--palette--;' . $l10nPathFE . ':sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
--palette--;;filePalette',
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
'showitem' => '
--palette--;' . $l10nPathFE . ':sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
--palette--;;filePalette',
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
'showitem' => '
--palette--;' . $l10nPathFE . ':sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
--palette--;;filePalette',
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
'showitem' => '
--palette--;' . $l10nPathFE . ':sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
--palette--;;filePalette',
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
'showitem' => '
--palette--;' . $l10nPathFE . ':sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
--palette--;;filePalette',
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
'showitem' => '
--palette--;' . $l10nPathFE . ':sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
]
--palette--;;filePalette',
],
'maxitems' => 8
],
'maxitems' => 8,
],
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
),
@ -386,7 +386,7 @@ return [
'collapseAll' => 1,
'useSortable' => 0,
'expandSingle' => 1,
'enabledControls' => array(
'enabledControls' => [
'info' => false,
'new' => true,
'dragdrop' => true,
@ -394,7 +394,7 @@ return [
'hide' => false,
'delete' => true,
'localize' => false,
),
],
'levelLinksPosition' => 'top',
'showPossibleLocalizationRecords' => false,
'showRemovedLocalizationRecords' => false,

View file

@ -14,29 +14,29 @@ return [
'disabled' => 'hidden',
],
'searchFields' => 'title',
'iconfile' => 'EXT:events/Resources/Public/Icons/tx_events_domain_model_import.svg'
'iconfile' => 'EXT:events/Resources/Public/Icons/tx_events_domain_model_import.svg',
],
'types' => [
'1' => [
'showitem' => 'title, hidden, --div--;LLL:EXT:events/Resources/Private/Language/locallang_csh_import.xlf:tx_events_domain_model_import.div.typo3, --palette--;;typo3_storage, --palette--;;categories, --palette--;;features,--palette--;;relations, --div--;LLL:EXT:events/Resources/Private/Language/locallang_csh_import.xlf:tx_events_domain_model_import.div.rest, rest_experience, rest_search_query'
'showitem' => 'title, hidden, --div--;LLL:EXT:events/Resources/Private/Language/locallang_csh_import.xlf:tx_events_domain_model_import.div.typo3, --palette--;;typo3_storage, --palette--;;categories, --palette--;;features,--palette--;;relations, --div--;LLL:EXT:events/Resources/Private/Language/locallang_csh_import.xlf:tx_events_domain_model_import.div.rest, rest_experience, rest_search_query',
],
],
'palettes' => [
'typo3_storage' => [
'label' => 'LLL:EXT:events/Resources/Private/Language/locallang_csh_import.xlf:tx_events_domain_model_import.palette.typo3_storage',
'showitem' => 'storage_pid, files_folder'
'showitem' => 'storage_pid, files_folder',
],
'categories' => [
'label' => 'LLL:EXT:events/Resources/Private/Language/locallang_csh_import.xlf:tx_events_domain_model_import.palette.categories',
'showitem' => 'category_parent, categories_pid'
'showitem' => 'category_parent, categories_pid',
],
'features' => [
'label' => 'LLL:EXT:events/Resources/Private/Language/locallang_csh_import.xlf:tx_events_domain_model_import.palette.features',
'showitem' => 'features_parent, features_pid, '
'showitem' => 'features_parent, features_pid, ',
],
'relations' => [
'label' => 'LLL:EXT:events/Resources/Private/Language/locallang_csh_import.xlf:tx_events_domain_model_import.palette.relations',
'showitem' => 'region'
'showitem' => 'region',
],
],
'columns' => [
@ -50,8 +50,8 @@ return [
[
0 => '',
1 => '',
'invertStateDisplay' => true
]
'invertStateDisplay' => true,
],
],
],
],

View file

@ -21,7 +21,7 @@ return [
'endtime' => 'endtime',
],
'searchFields' => 'name',
'iconfile' => 'EXT:events/Resources/Public/Icons/tx_events_domain_model_location.svg'
'iconfile' => 'EXT:events/Resources/Public/Icons/tx_events_domain_model_location.svg',
],
'types' => [
'1' => [
@ -43,7 +43,7 @@ return [
longitude,
--div--;' . $l10nPath . ':tabs.access,
starttime,
endtime'
endtime',
],
],
'columns' => [
@ -58,8 +58,8 @@ return [
[
$l10nPathGeneral . ':LGL.allLanguages',
-1,
'flags-multiple'
]
'flags-multiple',
],
],
'default' => 0,
],
@ -101,8 +101,8 @@ return [
[
0 => '',
1 => '',
'invertStateDisplay' => true
]
'invertStateDisplay' => true,
],
],
],
],
@ -115,8 +115,8 @@ return [
'eval' => 'datetime,int',
'default' => 0,
'behaviour' => [
'allowLanguageSynchronization' => true
]
'allowLanguageSynchronization' => true,
],
],
],
'endtime' => [
@ -128,11 +128,11 @@ return [
'eval' => 'datetime,int',
'default' => 0,
'range' => [
'upper' => mktime(0, 0, 0, 1, 1, 2038)
'upper' => mktime(0, 0, 0, 1, 1, 2038),
],
'behaviour' => [
'allowLanguageSynchronization' => true
]
'allowLanguageSynchronization' => true,
],
],
],
@ -143,7 +143,7 @@ return [
'config' => [
'type' => 'input',
'size' => 30,
'eval' => 'trim'
'eval' => 'trim',
],
],
'name' => [
@ -152,7 +152,7 @@ return [
'config' => [
'type' => 'input',
'size' => 30,
'eval' => 'trim'
'eval' => 'trim',
],
],
'street' => [
@ -161,7 +161,7 @@ return [
'config' => [
'type' => 'input',
'size' => 30,
'eval' => 'trim'
'eval' => 'trim',
],
],
'district' => [
@ -170,7 +170,7 @@ return [
'config' => [
'type' => 'input',
'size' => 30,
'eval' => 'trim'
'eval' => 'trim',
],
],
'city' => [
@ -179,7 +179,7 @@ return [
'config' => [
'type' => 'input',
'size' => 30,
'eval' => 'trim'
'eval' => 'trim',
],
],
'zip' => [
@ -188,7 +188,7 @@ return [
'config' => [
'type' => 'input',
'size' => 30,
'eval' => 'trim'
'eval' => 'trim',
],
],
'country' => [
@ -197,7 +197,7 @@ return [
'config' => [
'type' => 'input',
'size' => 30,
'eval' => 'trim'
'eval' => 'trim',
],
],
'phone' => [
@ -206,7 +206,7 @@ return [
'config' => [
'type' => 'input',
'size' => 30,
'eval' => 'trim'
'eval' => 'trim',
],
],
'latitude' => [
@ -215,7 +215,7 @@ return [
'config' => [
'type' => 'input',
'size' => 30,
'eval' => 'trim'
'eval' => 'trim',
],
],
'longitude' => [
@ -224,7 +224,7 @@ return [
'config' => [
'type' => 'input',
'size' => 30,
'eval' => 'trim'
'eval' => 'trim',
],
],
],

View file

@ -18,7 +18,7 @@ return [
'endtime' => 'endtime',
],
'searchFields' => 'name,street,district,city,zip,phone,web,email',
'iconfile' => 'EXT:events/Resources/Public/Icons/tx_events_domain_model_organizer.svg'
'iconfile' => 'EXT:events/Resources/Public/Icons/tx_events_domain_model_organizer.svg',
],
'types' => [
'1' => ['showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, name, street, district, city, zip, phone, web, email, --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access, starttime, endtime'],
@ -35,8 +35,8 @@ return [
[
'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.allLanguages',
-1,
'flags-multiple'
]
'flags-multiple',
],
],
'default' => 0,
],
@ -78,8 +78,8 @@ return [
[
0 => '',
1 => '',
'invertStateDisplay' => true
]
'invertStateDisplay' => true,
],
],
],
],
@ -92,8 +92,8 @@ return [
'eval' => 'datetime,int',
'default' => 0,
'behaviour' => [
'allowLanguageSynchronization' => true
]
'allowLanguageSynchronization' => true,
],
],
],
'endtime' => [
@ -105,11 +105,11 @@ return [
'eval' => 'datetime,int',
'default' => 0,
'range' => [
'upper' => mktime(0, 0, 0, 1, 1, 2038)
'upper' => mktime(0, 0, 0, 1, 1, 2038),
],
'behaviour' => [
'allowLanguageSynchronization' => true
]
'allowLanguageSynchronization' => true,
],
],
],
@ -119,7 +119,7 @@ return [
'config' => [
'type' => 'input',
'size' => 30,
'eval' => 'trim'
'eval' => 'trim',
],
],
'street' => [
@ -128,7 +128,7 @@ return [
'config' => [
'type' => 'input',
'size' => 30,
'eval' => 'trim'
'eval' => 'trim',
],
],
'district' => [
@ -137,7 +137,7 @@ return [
'config' => [
'type' => 'input',
'size' => 30,
'eval' => 'trim'
'eval' => 'trim',
],
],
'city' => [
@ -146,7 +146,7 @@ return [
'config' => [
'type' => 'input',
'size' => 30,
'eval' => 'trim'
'eval' => 'trim',
],
],
'zip' => [
@ -155,7 +155,7 @@ return [
'config' => [
'type' => 'input',
'size' => 30,
'eval' => 'trim'
'eval' => 'trim',
],
],
'phone' => [
@ -164,7 +164,7 @@ return [
'config' => [
'type' => 'input',
'size' => 30,
'eval' => 'trim'
'eval' => 'trim',
],
],
'web' => [
@ -173,7 +173,7 @@ return [
'config' => [
'type' => 'input',
'size' => 30,
'eval' => 'trim'
'eval' => 'trim',
],
],
'email' => [
@ -182,7 +182,7 @@ return [
'config' => [
'type' => 'input',
'size' => 30,
'eval' => 'trim'
'eval' => 'trim',
],
],

View file

@ -16,7 +16,7 @@ return [
'disabled' => 'hidden',
],
'searchFields' => 'title',
'iconfile' => 'EXT:events/Resources/Public/Icons/tx_events_domain_model_partner.svg'
'iconfile' => 'EXT:events/Resources/Public/Icons/tx_events_domain_model_partner.svg',
],
'types' => [
'1' => ['showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, title, link, images, --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access'],
@ -33,8 +33,8 @@ return [
[
'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.allLanguages',
-1,
'flags-multiple'
]
'flags-multiple',
],
],
'default' => 0,
],
@ -76,8 +76,8 @@ return [
[
0 => '',
1 => '',
'invertStateDisplay' => true
]
'invertStateDisplay' => true,
],
],
],
],
@ -88,8 +88,8 @@ return [
'config' => [
'type' => 'input',
'size' => 30,
'eval' => 'trim'
]
'eval' => 'trim',
],
],
'link' => [
'exclude' => true,
@ -108,7 +108,7 @@ return [
'label' => 'LLL:EXT:events/Resources/Private/Language/locallang_csh_partner.xlf:tx_events_domain_model_partner.images',
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig('images', [
'appearance' => [
'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference'
'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference',
],
// custom configuration for displaying fields in the overlay/reference table
// to use the imageoverlayPalette instead of the basicoverlayPalette
@ -117,16 +117,16 @@ return [
'0' => [
'showitem' => '
--palette--;;imageoverlayPalette,
--palette--;;filePalette'
--palette--;;filePalette',
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
'showitem' => '
--palette--;;imageoverlayPalette,
--palette--;;filePalette'
--palette--;;filePalette',
],
],
],
], $GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext'])
], $GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']),
],
],
];

View file

@ -18,7 +18,7 @@ return [
'endtime' => 'endtime',
],
'searchFields' => 'title',
'iconfile' => 'EXT:events/Resources/Public/Icons/tx_events_domain_model_region.svg'
'iconfile' => 'EXT:events/Resources/Public/Icons/tx_events_domain_model_region.svg',
],
'types' => [
'1' => ['showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, title, --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access, starttime, endtime'],
@ -35,8 +35,8 @@ return [
[
'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.allLanguages',
-1,
'flags-multiple'
]
'flags-multiple',
],
],
'default' => 0,
],
@ -78,8 +78,8 @@ return [
[
0 => '',
1 => '',
'invertStateDisplay' => true
]
'invertStateDisplay' => true,
],
],
],
],
@ -92,8 +92,8 @@ return [
'eval' => 'datetime,int',
'default' => 0,
'behaviour' => [
'allowLanguageSynchronization' => true
]
'allowLanguageSynchronization' => true,
],
],
],
'endtime' => [
@ -105,11 +105,11 @@ return [
'eval' => 'datetime,int',
'default' => 0,
'range' => [
'upper' => mktime(0, 0, 0, 1, 1, 2038)
'upper' => mktime(0, 0, 0, 1, 1, 2038),
],
'behaviour' => [
'allowLanguageSynchronization' => true
]
'allowLanguageSynchronization' => true,
],
],
],
@ -119,7 +119,7 @@ return [
'config' => [
'type' => 'input',
'size' => 30,
'eval' => 'trim'
'eval' => 'trim',
],
],

View file

@ -3,8 +3,8 @@
namespace Wrm\Events\Tests;
use GuzzleHttp\Client;
use GuzzleHttp\HandlerStack;
use GuzzleHttp\Handler\MockHandler;
use GuzzleHttp\HandlerStack;
use GuzzleHttp\Middleware;
use GuzzleHttp\Psr7\Response;

View file

@ -27,9 +27,7 @@ use Codappix\Typo3PhpDatasets\PhpDataSet;
use DateTimeImmutable;
use DateTimeZone;
use Psr\Http\Message\ResponseInterface;
use TYPO3\CMS\Core\TypoScript\TemplateService;
use TYPO3\TestingFramework\Core\Functional\Framework\Frontend\InternalRequest;
use TYPO3\TestingFramework\Core\Functional\Framework\Frontend\Internal\TypoScriptInstruction;
/**
* @covers \Wrm\Events\Caching\PageCacheTimeout
@ -251,7 +249,7 @@ class CacheTest extends AbstractTestCase
$this->setUpFrontendRootPage(1, array_merge_recursive($this->getTypoScriptFiles(), [
'setup' => [
'EXT:events/Tests/Functional/Frontend/Fixtures/TypoScript/CachingMidnight.typoscript'
'EXT:events/Tests/Functional/Frontend/Fixtures/TypoScript/CachingMidnight.typoscript',
],
]));
@ -291,7 +289,7 @@ class CacheTest extends AbstractTestCase
'setup' => [
'EXT:fluid_styled_content/Configuration/TypoScript/setup.typoscript',
'EXT:events/Configuration/TypoScript/setup.typoscript',
'EXT:events/Tests/Functional/Frontend/Fixtures/TypoScript/Rendering.typoscript'
'EXT:events/Tests/Functional/Frontend/Fixtures/TypoScript/Rendering.typoscript',
],
];
}
@ -310,7 +308,7 @@ class CacheTest extends AbstractTestCase
],
],
],
]))
])),
]);
return $request;

View file

@ -55,7 +55,7 @@ class DatesTest extends AbstractTestCase
'setup' => [
'EXT:fluid_styled_content/Configuration/TypoScript/setup.typoscript',
'EXT:events/Configuration/TypoScript/setup.typoscript',
'EXT:events/Tests/Functional/Frontend/Fixtures/TypoScript/Rendering.typoscript'
'EXT:events/Tests/Functional/Frontend/Fixtures/TypoScript/Rendering.typoscript',
],
]);
}
@ -192,7 +192,7 @@ class DatesTest extends AbstractTestCase
],
],
],
])
]),
]);
$response = $this->executeFrontendRequest($request);

View file

@ -36,7 +36,7 @@ class FilterTest extends AbstractTestCase
'setup' => [
'EXT:fluid_styled_content/Configuration/TypoScript/setup.typoscript',
'EXT:events/Configuration/TypoScript/setup.typoscript',
'EXT:events/Tests/Functional/Frontend/Fixtures/TypoScript/Rendering.typoscript'
'EXT:events/Tests/Functional/Frontend/Fixtures/TypoScript/Rendering.typoscript',
],
]);
}

View file

@ -3,8 +3,6 @@
namespace Wrm\Events\Tests\Functional\Import\DestinationDataTest;
use GuzzleHttp\Psr7\Response;
use TYPO3\CMS\Core\Context\Context;
use TYPO3\CMS\Core\Context\DateTimeAspect;
use TYPO3\CMS\Core\Utility\GeneralUtility;
class ImportDoesntEndUpInEndlessDateCreationTest extends AbstractTest

View file

@ -3,8 +3,6 @@
namespace Wrm\Events\Tests\Functional\Import\DestinationDataTest;
use GuzzleHttp\Psr7\Response;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use Wrm\Events\Command\ImportDestinationDataViaConfigruationCommand;
/**
* @testdox DestinationData import
@ -26,7 +24,6 @@ class ImportsFeaturesTest extends AbstractTest
]);
$tester = $this->executeCommand();
$this->assertCSVDataSet('EXT:events/Tests/Functional/Import/DestinationDataTest/Assertions/ImportsFeaturesAddsNewFeatures.csv');
self::assertFileEquals(
__DIR__ . '/Assertions/EmptyLogFile.txt',

View file

@ -3,7 +3,6 @@
namespace Wrm\Events\Tests\Functional\Import\DestinationDataTest;
use GuzzleHttp\Psr7\Response;
use Wrm\Events\Command\ImportDestinationDataViaConfigruationCommand;
/**
* @testdox DestinationData import

View file

@ -4,7 +4,6 @@ namespace Wrm\Events\Tests\Functional\Import\DestinationDataTest;
use GuzzleHttp\Psr7\Response;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use Wrm\Events\Command\ImportDestinationDataViaConfigruationCommand;
/**
* @testdox Import of configuration

View file

@ -3,7 +3,6 @@
namespace Wrm\Events\Tests\Functional\Import\DestinationDataTest;
use GuzzleHttp\Psr7\Response;
use Wrm\Events\Command\ImportDestinationDataViaConfigruationCommand;
/**
* @testdox DestinationData import

View file

@ -64,7 +64,6 @@ class ImportsWithoutCategoryIfNotProvidedTest extends AbstractTest
);
$this->assertCSVDataSet('EXT:events/Tests/Functional/Import/DestinationDataTest/Assertions/ImportsWithoutCategoryIfNotProvided.csv');
$importedFiles = GeneralUtility::getFilesInDir($fileImportPath);
self::assertIsArray($importedFiles, 'Failed to retrieve imported files from filesystem.');
self::assertSame(

View file

@ -58,7 +58,6 @@ class ImportsWithoutRegionIfNotProvidedTest extends AbstractTest
);
$this->assertCSVDataSet('EXT:events/Tests/Functional/Import/DestinationDataTest/Assertions/ImportsWithoutRegionIfNotProvided.csv');
$importedFiles = GeneralUtility::getFilesInDir($fileImportPath);
self::assertIsArray($importedFiles, 'Failed to retrieve imported files from filesystem.');
self::assertSame(

View file

@ -27,7 +27,6 @@ use PHPUnit\Framework\TestCase;
use TYPO3\CMS\Core\TypoScript\TypoScriptService;
use Wrm\Events\Domain\Model\Dto\DateDemand;
use Wrm\Events\Domain\Model\Dto\DateDemandFactory;
use Wrm\Events\Tests\ProphecyTrait;
/**
* @covers \Wrm\Events\Domain\Model\Dto\DateDemandFactory

View file

@ -23,9 +23,9 @@ declare(strict_types=1);
namespace Wrm\Events\Tests\Unit\Domain\Model\Dto;
use PHPUnit\Framework\TestCase;
use Wrm\Events\Domain\Model\Dto\EventDemand;
use Wrm\Events\Domain\Model\Dto\EventDemandFactory;
use PHPUnit\Framework\TestCase;
/**
* @covers \Wrm\Events\Domain\Model\Dto\EventDemandFactory

View file

@ -2,10 +2,10 @@
namespace Wrm\Events\Tests\Unit\Domain\Model;
use PHPUnit\Framework\TestCase;
use TYPO3\CMS\Core\Resource\Folder;
use Wrm\Events\Domain\Model\Category;
use Wrm\Events\Domain\Model\Import;
use PHPUnit\Framework\TestCase;
use Wrm\Events\Domain\Model\Region;
use Wrm\Events\Tests\ProphecyTrait;

View file

@ -4,12 +4,11 @@ declare(strict_types=1);
namespace Wrm\Events\Tests\Unit\Service\DestinationDataImportService;
use PHPUnit\Framework\MockObject\Stub;
use PHPUnit\Framework\TestCase;
use TYPO3\CMS\Core\Context\Context;
use TYPO3\CMS\Core\Context\DateTimeAspect;
use TYPO3\CMS\Core\Log\LogManager;
use TYPO3\CMS\Core\Log\Logger;
use TYPO3\CMS\Core\Log\LogManager;
use TYPO3\CMS\Extbase\Configuration\ConfigurationManager;
use Wrm\Events\Domain\Model\Date;
use Wrm\Events\Service\DestinationDataImportService\DatesFactory;
@ -116,7 +115,7 @@ class DatesFactoryTest extends TestCase
'end' => '2023-01-06T15:00:00+01:00',
'tz' => 'Europe/Berlin',
'freq' => 'Weekly',
'interval' => 1
'interval' => 1,
]], false);
self::assertInstanceOf(\Generator::class, $result);

View file

@ -47,6 +47,7 @@
},
"require-dev": {
"codappix/typo3-php-datasets": "^1.2",
"friendsofphp/php-cs-fixer": "^3.4",
"guzzlehttp/guzzle": "^6.3 || ^7.3",
"jangregor/phpstan-prophecy": "1.0.0",
"phpspec/prophecy-phpunit": "^1.0 || ^2.0",
@ -55,7 +56,6 @@
"phpstan/phpstan-phpunit": "1.1.1",
"saschaegerer/phpstan-typo3": "1.1.2",
"squizlabs/php_codesniffer": "^3.5",
"symplify/easy-coding-standard": "^9.4",
"typo3/cms-backend": "^10.4 || ^11.5",
"typo3/cms-fluid-styled-content": "^10.4 || ^11.5",
"typo3/testing-framework": "^6.14"

20
ecs.php
View file

@ -1,20 +0,0 @@
<?php
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use Symplify\EasyCodingStandard\ValueObject\Option;
use Symplify\EasyCodingStandard\ValueObject\Set\SetList;
return static function (ContainerConfigurator $containerConfigurator): void {
$containerConfigurator->import(SetList::PSR_12);
$parameters = $containerConfigurator->parameters();
$parameters->set(Option::PATHS, [
__DIR__ . '/Classes',
__DIR__ . '/Configuration',
__DIR__ . '/ecs.php',
__DIR__ . '/ext_emconf.php',
__DIR__ . '/ext_localconf.php',
__DIR__ . '/ext_tables.php',
]);
};

View file

@ -13,7 +13,7 @@ let
memory_limit = 4G
'';
};
inherit(pkgs.php82Packages) composer;
inherit(php.packages) composer;
projectInstall = pkgs.writeShellApplication {
name = "project-install";
@ -74,7 +74,7 @@ let
];
text = ''
./vendor/bin/ecs check --no-progress-bar --clear-cache
PHP_CS_FIXER_IGNORE_ENV=1 ./vendor/bin/php-cs-fixer fix --dry-run --diff
'';
};
@ -86,7 +86,7 @@ let
];
text = ''
./vendor/bin/ecs check --fix --no-progress-bar --clear-cache
PHP_CS_FIXER_IGNORE_ENV=1 ./vendor/bin/php-cs-fixer fix
'';
};