-
Notifications
You must be signed in to change notification settings - Fork 42
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Release 2.3.0-beta1 New features: - Added schema manager including migrations. - Search index population has been rewritten. - Insert tag handling has been rewritten. - Sub-headline in input screens can be manually defined. - It is now possible to add an URL-fragment to the sorting links list elements and modules. - Sorting links in the list templates can now be generated via methods from within the template. - Support for native routing (Since Contao 4.10) is now officially supported - including priority handling. - Session handling has been moved from Contao Session to Symfony session - this reduces the amount of needed Cookies. - Invariant attributes are not hidden for variant items anymore but shown as read only instead. - Attribute settings in input screens now allow to select a widget template for backend and frontend-editing. - Listing in Backend can now be grouped by calender week. - Translation handling has been converted from legacy language arrays (as known from TYPOlight days) and contao-community-alliance/translator to usage of the symfony/translator where possible. - The backend routes have been changed to use custom controllers. This removes the requirement to define access rights in multiple places. Now only the rights in MetaModels have to be defined. Fixes: - Locale handling has been adjusted to Contao. - Child MetaModels can now also handle variants. - Many micro-fixes Various: - The check pipeline has been switched from phpcq 1.3 to phpcq 2.0. - The whole codebase has been improved to fix found issues.
- Loading branch information
Showing
647 changed files
with
20,552 additions
and
17,380 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
{ | ||
"symbol-whitelist": [ | ||
"array", "bool", "false", "int", "null", "self", "static", "parent", "string", "true", "void", "mixed", | ||
"Contao\\ManagerBundle\\ContaoManagerBundle", | ||
"Contao\\ManagerPlugin\\Bundle\\BundlePluginInterface", | ||
"Contao\\ManagerPlugin\\Bundle\\Config\\BundleConfig", | ||
"Contao\\ManagerPlugin\\Bundle\\Parser\\ParserInterface", | ||
"Contao\\ManagerPlugin\\Routing\\RoutingPluginInterface", | ||
"Doctrine\\Bundle\\DoctrineBundle\\DoctrineBundle", | ||
"Knp\\Menu\\FactoryInterface", | ||
"Knp\\Menu\\ItemInterface", | ||
"Symfony\\Bundle\\FrameworkBundle\\Translation\\Translator", | ||
"Symfony\\Contracts\\Cache\\CacheInterface", | ||
"tl_user_group" | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,52 +1,74 @@ | ||
name: MetaModels core | ||
|
||
on: | ||
push: | ||
branches-ignore: | ||
- '**-translation' | ||
pull_request: | ||
push: | ||
branches: | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
name: 'PHP: ${{ matrix.php }} Contao: ${{ matrix.contao }}' | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
php: [7.4] | ||
contao: [~4.9.0] | ||
php: [ '8.1', '8.2' ] | ||
contao: [ '~4.13.0' ] | ||
phpcq_install: [ 'update' ] | ||
output: [ '-o github-action -o default' ] | ||
|
||
steps: | ||
- name: PHP ${{ matrix.php }} ${{ matrix.contao }} Pull source | ||
- name: Pull source | ||
uses: actions/checkout@v3 | ||
with: | ||
fetch-depth: 0 | ||
|
||
# see https://github.com/shivammathur/setup-php | ||
- name: PHP ${{ matrix.php }} ${{ matrix.contao }} Setup PHP. | ||
- name: Setup PHP with PECL extension | ||
uses: shivammathur/setup-php@v2 | ||
with: | ||
php-version: ${{ matrix.php }} | ||
coverage: none | ||
|
||
- name: PHP ${{ matrix.php }} ${{ matrix.contao }} Cache composer cache directory | ||
# setup caches | ||
- name: Cache composer cache directory | ||
uses: actions/cache@v3 | ||
env: | ||
cache-name: composer-cache-dir | ||
with: | ||
path: ~/.cache/composer | ||
key: ${{ runner.os }}-build-${{ env.cache-name }} | ||
key: ${{ runner.os }}-${{ matrix.php }}-build-${{ env.cache-name }} | ||
|
||
- name: PHP ${{ matrix.php }} ${{ matrix.contao }} Cache vendor directory | ||
- name: Cache vendor directory | ||
uses: actions/cache@v3 | ||
env: | ||
cache-name: composer-vendor | ||
cache-name: vendor | ||
with: | ||
path: vendor | ||
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/composer.lock') }} | ||
key: ${{ runner.os }}-${{ matrix.php }}-${{ matrix.contao }}-build-${{ env.cache-name }}-${{ hashFiles('**/composer.lock') }} | ||
restore-keys: | | ||
${{ runner.os }}-build-${{ env.cache-name }}- | ||
${{ runner.os }}-${{ matrix.php }}-${{ matrix.contao }}-build-${{ env.cache-name }}- | ||
- name: PHP ${{ matrix.php }} ${{ matrix.contao }} Install composer dependencies | ||
run: composer update --prefer-dist --no-interaction --no-suggest | ||
- name: Cache phpcq directory | ||
uses: actions/cache@v3 | ||
env: | ||
cache-name: phpcq | ||
with: | ||
path: .phpcq | ||
key: ${{ runner.os }}-${{ matrix.php }}-build-${{ env.cache-name }}-${{ hashFiles('**/.phpcq.lock') }} | ||
restore-keys: | | ||
${{ runner.os }}-${{ matrix.php }}-build-${{ env.cache-name }}- | ||
# install dependencies and tools | ||
- name: Install composer dependencies | ||
run: | | ||
composer require contao/core-bundle ${{ matrix.contao }} --no-update | ||
composer install | ||
- name: Install phpcq toolchain | ||
run: ./vendor/bin/phpcq ${{ matrix.phpcq_install }} -v | ||
|
||
- name: PHP ${{ matrix.php }} ${{ matrix.contao }} Run tests | ||
run: ant -keep-going | ||
# run tests | ||
- name: Run tests | ||
run: ./vendor/bin/phpcq run -v ${{ matrix.output }} | ||
|
||
- name: Upload build directory to artifact | ||
uses: actions/upload-artifact@v3 | ||
if: ${{ success() }} || ${{ failure() }} | ||
with: | ||
name: phpcq-builds-php-${{ matrix.php }}-${{ matrix.contao }} | ||
path: .phpcq/build/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
{"plugins":{"phpunit":{"api-version":"1.0.0","version":"1.0.0.0","type":"php-file","url":"https://phpcq.github.io/repository/plugin/phpunit/phpunit-1.0.0.0.php","signature":null,"requirements":{"php":{"php":"^7.3 || ^8.0"},"tool":{"phpunit":"^6.0 || ^7.0 || ^8.0 || ^9.0"}},"checksum":{"type":"sha-512","value":"c73f15658e3ba62665f09492ec91c3a6a715760bfaa88473a987538439fff442540148e086e46a6aa18ce55a3ea2fbf76caaa581384cb84a38859fcc609ae7e4"},"tools":{"phpunit":{"version":"9.6.19","url":"https://phar.phpunit.de/phpunit-9.6.19.phar","requirements":{"php":{"php":">=7.3","ext-dom":"*","ext-json":"*","ext-libxml":"*","ext-mbstring":"*","ext-xml":"*","ext-xmlwriter":"*"}},"checksum":{"type":"sha-256","value":"f30c21743f4fbea14ad8ab8f47673f9067117262dafa147fcb182e75fbc1c249"},"signature":"https://phar.phpunit.de/phpunit-9.6.19.phar.asc"}},"composerLock":null},"psalm":{"api-version":"1.0.0","version":"1.2.0.0","type":"php-file","url":"https://phpcq.github.io/repository/plugin/psalm/psalm-1.2.0.0.php","signature":null,"requirements":{"php":{"php":"^7.4 || ^8.0","ext-dom":"*"},"tool":{"psalm":"^3.0 || ^4.0 || ^5.0"}},"checksum":{"type":"sha-512","value":"4a550c9226d7bca582d7c10bd87cce01190c96398936b1613421640c83df62ed1c6e0d44c1b39635414ea8cf4a892a6458d27590793238add24e7cb5547e6ffd"},"tools":{"psalm":{"version":"5.24.0","url":"https://github.com/vimeo/psalm/releases/download/5.24.0/psalm.phar","requirements":{"php":{"php":"^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0","ext-SimpleXML":"*","ext-ctype":"*","ext-dom":"*","ext-json":"*","ext-libxml":"*","ext-mbstring":"*","ext-tokenizer":"*"}},"checksum":null,"signature":"https://github.com/vimeo/psalm/releases/download/5.24.0/psalm.phar.asc"}},"composerLock":null},"composer-require-checker":{"api-version":"1.0.0","version":"1.1.1.0","type":"php-file","url":"https://phpcq.github.io/repository/plugin/composer-require-checker/composer-require-checker-1.1.1.0.php","signature":null,"requirements":{"php":{"php":"^7.4 || ^8.0"},"tool":{"composer-require-checker":"^3.8 || ^4.0"}},"checksum":{"type":"sha-512","value":"d5415bddfe024c5749d894034583882aee4e5c3e1087815d9fdd81cb5e71630f631a0e35de0ff84b97fbbf738c16ece5f83bd8c00695913eb846aa6f04577dc2"},"tools":{"composer-require-checker":{"version":"4.7.1","url":"https://github.com/maglnet/ComposerRequireChecker/releases/download/4.7.1/composer-require-checker.phar","requirements":{"php":{"php":"~8.1.0 || ~8.2.0 || ~8.3.0","ext-phar":"*"}},"checksum":null,"signature":"https://github.com/maglnet/ComposerRequireChecker/releases/download/4.7.1/composer-require-checker.phar.asc"}},"composerLock":null},"phpmd":{"api-version":"1.0.0","version":"1.0.2.0","type":"php-file","url":"https://phpcq.github.io/repository/plugin/phpmd/phpmd-1.0.2.0.php","signature":null,"requirements":{"php":{"php":"^7.3 || ^8.0","ext-dom":"*"},"tool":{"phpmd":"^2.6.1"}},"checksum":{"type":"sha-512","value":"f22280a6dec8dbdd2ec1d83b294f23237fe32c34f4a298e52038e0a7a0074d541635b2b488b1a6098a42d8418a6cd8eb804406ea82b91e362be2b5d11a0915b0"},"tools":{"phpmd":{"version":"2.15.0","url":"https://github.com/phpmd/phpmd/releases/download/2.15.0/phpmd.phar","requirements":{"php":{"php":">=5.3.9","ext-xml":"*"}},"checksum":null,"signature":"https://github.com/phpmd/phpmd/releases/download/2.15.0/phpmd.phar.asc"}},"composerLock":null},"phpcpd":{"api-version":"1.0.0","version":"1.1.1.0","type":"php-file","url":"https://phpcq.github.io/repository/plugin/phpcpd/phpcpd-1.1.1.0.php","signature":null,"requirements":{"php":{"php":"^7.3 || ^8.0","ext-dom":"*"},"tool":{"phpcpd":"^6.0"}},"checksum":{"type":"sha-512","value":"1189ce0bf3fade4cb4241f1d96f915ef8fc7651f4450dc79fdf464ee3d6be3009316f0d423ce2d4af9d76ad50807b7fdf4d77bfa6d9ee2c91d6eda32ea214433"},"tools":{"phpcpd":{"version":"6.0.3","url":"https://phar.phpunit.de/phpcpd-6.0.3.phar","requirements":{"php":{"php":">=7.3","ext-dom":"*"}},"checksum":{"type":"sha-256","value":"2cbaea7cfda1bb4299d863eb075e977c3f49055dd16d88529fae5150d48a84cb"},"signature":"https://phar.phpunit.de/phpcpd-6.0.3.phar.asc"}},"composerLock":null},"phploc":{"api-version":"1.0.0","version":"1.0.0.0","type":"php-file","url":"https://phpcq.github.io/repository/plugin/phploc/phploc-1.0.0.0.php","signature":null,"requirements":{"php":{"php":"^7.3 || ^8.0","ext-dom":"*","ext-json":"*"},"tool":{"phploc":"^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0"}},"checksum":{"type":"sha-512","value":"f67b02d494796adf553cb3dd13ec06c1cb8e53c799954061749424251379541637538199afb3afa3c7a01cabd1cb6f1c53eb621f015dff9644c6c7cbf10c56d1"},"tools":{"phploc":{"version":"7.0.2","url":"https://phar.phpunit.de/phploc-7.0.2.phar","requirements":{"php":{"php":">=7.3","ext-dom":"*","ext-json":"*"}},"checksum":{"type":"sha-256","value":"3d59778ec86faf25fd00e3a329b2f9ad4a3c751ca91601ea7dab70f887b0bf46"},"signature":"https://phar.phpunit.de/phploc-7.0.2.phar.asc"}},"composerLock":null},"phpcs":{"api-version":"1.0.0","version":"1.2.0.0","type":"php-file","url":"https://phpcq.github.io/repository/plugin/phpcs/phpcs-1.2.0.0.php","signature":null,"requirements":{"php":{"php":"^7.3 || ^8.0","ext-dom":"*"},"tool":{"phpcs":"^3.0 || ^2.0","phpcbf":"^3.0 || ^2.0"}},"checksum":{"type":"sha-512","value":"b6ed00306e76068a6af5e3b1dec837724f9e1900ef1049ce88e7ce195b0583524ca33a73613fba13244307a7ca853b6ddaa14ded69f651c3f184ac130bd1aaad"},"tools":{"phpcs":{"version":"3.9.2","url":"https://github.com/PHPCSStandards/PHP_CodeSniffer/releases/download/3.9.2/phpcs.phar","requirements":{"php":{"php":">=5.4.0","ext-simplexml":"*","ext-tokenizer":"*","ext-xmlwriter":"*"}},"checksum":null,"signature":"https://github.com/PHPCSStandards/PHP_CodeSniffer/releases/download/3.9.2/phpcs.phar.asc"},"phpcbf":{"version":"3.9.2","url":"https://github.com/PHPCSStandards/PHP_CodeSniffer/releases/download/3.9.2/phpcbf.phar","requirements":{"php":{"php":">=5.4.0","ext-simplexml":"*","ext-tokenizer":"*","ext-xmlwriter":"*"}},"checksum":null,"signature":"https://github.com/PHPCSStandards/PHP_CodeSniffer/releases/download/3.9.2/phpcbf.phar.asc"}},"composerLock":null},"composer-normalize":{"api-version":"1.0.0","version":"1.1.1.0","type":"php-file","url":"https://phpcq.github.io/repository/plugin/composer-normalize/composer-normalize-1.1.1.0.php","signature":null,"requirements":{"php":{"php":"^7.3 || ^8.0","ext-json":"*"},"tool":{"composer-normalize":"^2.1"}},"checksum":{"type":"sha-512","value":"d9abda440b85d501c58abf9c81bf76f417594b397129215ffa8b777e9bb5e5eda37d7661d661db3c8d11c24f20345bc6fbe56f013b3b9435d459d2b94f086e0f"},"tools":{"composer-normalize":{"version":"2.42.0","url":"https://github.com/ergebnis/composer-normalize/releases/download/2.42.0/composer-normalize.phar","requirements":{"php":{"php":"~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0","ext-json":"*"}},"checksum":null,"signature":"https://github.com/ergebnis/composer-normalize/releases/download/2.42.0/composer-normalize.phar.asc"}},"composerLock":null}},"tools":[]} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,111 @@ | ||
phpcq: | ||
repositories: | ||
- https://phpcq.github.io/repository/repository.json | ||
directories: | ||
- src | ||
- tests | ||
artifact: .phpcq/build | ||
composer: | ||
autodiscover: false | ||
|
||
plugins: | ||
phpunit: | ||
version: ^1.0 | ||
signed: false | ||
psalm: | ||
version: ^1.0 | ||
signed: false | ||
composer-require-checker: | ||
version: ^1.0 | ||
signed: false | ||
phpmd: | ||
version: ^1.0 | ||
signed: false | ||
phpcpd: | ||
version: ^1.1 | ||
signed: false | ||
phploc: | ||
version: ^1.0 | ||
signed: false | ||
phpcs: | ||
version: ^1.0 | ||
signed: false | ||
composer-normalize: | ||
version: ^1.0 | ||
signed: false | ||
trusted-keys: | ||
# composer-require-checker | ||
- 033E5F8D801A2F8D | ||
# sb@sebastian-bergmann.de | ||
- 4AA394086372C20A | ||
# psalm | ||
- 8A03EA3B385DBAA1 | ||
- 12CE0F1D262429A5 | ||
# magl@magll.net | ||
- D2CCAC42F6295E7D | ||
# PHP_CodeSniffer | ||
- 31C7E470E2138192 | ||
# Composer normalize | ||
- C00543248C87FB13 | ||
# phpmd | ||
- A4E55EA12C7C085C | ||
|
||
tasks: | ||
fix: | ||
- composer-normalize-fix | ||
- phpcbf | ||
|
||
verify: | ||
- composer-require-checker | ||
- composer-normalize | ||
|
||
analyze: | ||
- phploc | ||
- phpcpd | ||
- phpmd | ||
- phpcs | ||
- psalm | ||
- phpunit | ||
|
||
default: | ||
- verify | ||
- analyze | ||
|
||
phpcpd: | ||
plugin: phpcpd | ||
config: | ||
exclude: | ||
- tests | ||
- src/CoreBundle/EventListener/DcGeneral/DefinitionBuilder | ||
- src/CoreBundle/Resources/contao/dca | ||
|
||
phpmd: | ||
plugin: phpmd | ||
config: | ||
ruleset: | ||
- ./.phpmd.xml | ||
|
||
composer-require-checker: | ||
plugin: composer-require-checker | ||
config: | ||
config_file: '.composer-require-checker.json' | ||
|
||
phpcs: | ||
plugin: phpcs | ||
config: &phpcs-config | ||
standard: PSR12 | ||
excluded: | ||
- '*/CoreBundle/Resources/contao/dca/*' | ||
- '*/CoreBundle/Resources/contao/languages/*' | ||
- '*/CoreBundle/Resources/public/*' | ||
|
||
phpcbf: | ||
plugin: phpcs | ||
config: | ||
<<: *phpcs-config | ||
fix: true | ||
|
||
composer-normalize-fix: | ||
plugin: composer-normalize | ||
config: | ||
dry_run: false |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
<?xml version="1.0"?> | ||
<ruleset name="PHPMD rule set" | ||
xmlns="http://pmd.sf.net/ruleset/1.0.0" | ||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd" | ||
xsi:noNamespaceSchemaLocation=" http://pmd.sf.net/ruleset_xml_schema.xsd"> | ||
<description> | ||
PHPMD rule set | ||
</description> | ||
|
||
<rule ref="rulesets/codesize.xml"/> | ||
<rule ref="rulesets/controversial.xml"> | ||
<exclude name="CamelCaseVariableName"/> | ||
</rule> | ||
<rule ref="rulesets/controversial.xml/CamelCaseVariableName"> | ||
<properties> | ||
<property name="allow-underscore" value="true"/> | ||
</properties> | ||
</rule> | ||
<rule ref="rulesets/design.xml"/> | ||
<rule ref="rulesets/naming.xml"> | ||
<exclude name="ShortVariable" /> | ||
</rule> | ||
<rule ref="rulesets/naming.xml/ShortVariable"> | ||
<properties> | ||
<property name="exceptions" value="id" /> | ||
</properties> | ||
</rule> | ||
<rule ref="rulesets/unusedcode.xml"> | ||
<exclude name="UnusedLocalVariable"/> | ||
</rule> | ||
<rule ref="rulesets/unusedcode.xml/UnusedLocalVariable"> | ||
<properties> | ||
<property name="allow-unused-foreach-variables" value="true"/> | ||
</properties> | ||
</rule> | ||
</ruleset> |
Oops, something went wrong.