diff --git a/.gitignore b/.gitignore index 0be8d6e..8ae93d6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,12 +1,25 @@ *.bak *.old -~* +*.swp *~ +~* +.DS_Store +Thumbs.db +/.idea/ +/.vscode/ /nbproject/ + +/vendor/ /typo3_src/ /typo3/ /index.php + /var/ /typo3temp/ /typo3conf/ext/cartedalegare -/_temp_/ \ No newline at end of file +/_temp_/ + +/typo3conf/ext/ +/typo3conf/PackageStates.php +/typo3conf/autoload/ +/typo3conf/l10n/ \ No newline at end of file diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..481b708 --- /dev/null +++ b/composer.json @@ -0,0 +1,57 @@ +{ + "name": "catbird/cdl-typo3-app", + "description": "Carte da legare - TYPO3 Webapp", + "homepage": "https://www.catbird.it/", + "authors": [ + { + "name": "Matteo Gallo", + "email": "matteogal@gmail.com", + "role": "Developer" + } + ], + "license": "GPL-2.0-or-later", + "repositories": [ + { + "type": "path", + "url": "../t3ext/cartedalegare", + "options": { + "symlink": true + } + } + ], + "require": { + "typo3/cms-core": "11.5.41", + "typo3/cms-extbase": "11.5.41", + "typo3/cms-fluid": "11.5.41", + "typo3/cms-frontend": "11.5.41", + "typo3/cms-install": "11.5.41", + "typo3/cms-rte-ckeditor": "11.5.41", + "typo3/cms-setup": "11.5.41", + "catbird/cartedalegare": "@dev", + "t3brightside/youtubevideo": "2.1.1", + "sjbr/static-info-tables": "11.5.3", + "sjbr/sr-freecap": "11.5.2", + "t3brightside/paginatedprocessors": "1.5.1", + "georgringer/numbered-pagination": "2.0.0", + "georgringer/news": "9.4.0", + "sgalinski/lfeditor": "7.1.10", + "dirkpersky/typo3-dp_cookieconsent": "11.6.3", + "friendsoftypo3/tt-address": "8.1.1", + "sjbr/sr-feuser-register": "11.5.4", + "bobosch/ods-osm": "4.2.2", + "minifranske/fs-media-gallery": "3.0.2", + "t3brightside/embedassets": "1.3.0" + }, + "config": { + "allow-plugins": { + "typo3/cms-composer-installers": true, + "typo3/class-alias-loader": true + }, + "vendor-dir": "vendor" + }, + "extra": { + "typo3/cms": { + "web-dir": "." + } + } +} diff --git a/typo3conf/ext/ods_osm/composer.lock b/composer.lock similarity index 75% rename from typo3conf/ext/ods_osm/composer.lock rename to composer.lock index bce2282..e153d9a 100644 --- a/typo3conf/ext/ods_osm/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "f6889dbce9c710b986c31bb71e4f5a29", + "content-hash": "34f4c0fd1d696e1a452d7cff7d80a09a", "packages": [ { "name": "bacon/bacon-qr-code", @@ -60,6 +60,127 @@ }, "time": "2022-12-07T17:46:57+00:00" }, + { + "name": "bobosch/ods-osm", + "version": "v4.2.2", + "source": { + "type": "git", + "url": "https://github.com/bobosch/ods_osm.git", + "reference": "a9ab59a224b296f2c4c3134a9c4914d0877ad0e2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/bobosch/ods_osm/zipball/a9ab59a224b296f2c4c3134a9c4914d0877ad0e2", + "reference": "a9ab59a224b296f2c4c3134a9c4914d0877ad0e2", + "shasum": "" + }, + "require": { + "typo3/cms-core": "^11.5 || ^12.4", + "wgirhad/geophp": "^3.0" + }, + "require-dev": { + "friendsoftypo3/tt-address": "^8.0", + "helhum/typo3-console": "^7.0 || ^8.0", + "typo3/cms-backend": "^11.5.6 || ^12.4", + "typo3/cms-extbase": "^11.5.6 || ^12.4", + "typo3/cms-extensionmanager": "^11.5.6 || ^12.4", + "typo3/cms-filelist": "^11.5.6 || ^12.4", + "typo3/cms-fluid": "^11.5.6 || ^12.4", + "typo3/cms-fluid-styled-content": "^11.5.6 || ^12.4", + "typo3/cms-frontend": "^11.5.6 || ^12.4", + "typo3/cms-install": "^11.5.6 || ^12.4", + "typo3/cms-lowlevel": "^11.5.6 || ^12.4", + "typo3/cms-setup": "^11.5.6 || ^12.4", + "typo3/cms-tstemplate": "^11.5.6 || ^12.4" + }, + "suggest": { + "friendsoftypo3/tt-address": "^8.0", + "lochmueller/calendarize": "^12.4" + }, + "type": "typo3-cms-extension", + "extra": { + "typo3/cms": { + "web-dir": ".Build/public", + "extension-key": "ods_osm" + } + }, + "autoload": { + "psr-4": { + "Bobosch\\OdsOsm\\": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "Robert Heel", + "email": "typo3@bobosch.de", + "role": "Developer" + }, + { + "name": "Alexander Bigga", + "email": "alexander@bigga.de", + "role": "Developer" + } + ], + "description": "Add an interactive OpenStreetMap map to your website. Can also show other OpenLayers compatible maps.", + "homepage": "https://github.com/bobosch/ods_osm", + "keywords": [ + "OpenStreetMap", + "osm", + "typo3" + ], + "support": { + "issues": "https://github.com/bobosch/ods_osm/issues", + "source": "https://github.com/bobosch/ods_osm/tree/v4.2.2" + }, + "time": "2024-05-02T21:57:08+00:00" + }, + { + "name": "catbird/cartedalegare", + "version": "dev-porting_v11_to_v14", + "dist": { + "type": "path", + "url": "../t3ext/cartedalegare", + "reference": "df7c7b87cd0fb29cabee2523e045d0a9b58cdefa" + }, + "require": { + "typo3/cms-core": "^11.5" + }, + "type": "typo3-cms-extension", + "extra": { + "typo3/cms": { + "extension-key": "cartedalegare" + } + }, + "autoload": { + "psr-4": { + "Cartedalegare\\": "Classes/" + } + }, + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "Matteo Gallo", + "email": "matteogal@gmail.com", + "role": "Developer" + } + ], + "description": "Carte da legare Extension. Statistical graphs and data searches.", + "homepage": "https://www.catbird.it/", + "keywords": [ + "Carte da legare", + "TYPO3 CMS" + ], + "transport-options": { + "symlink": true, + "relative": true + } + }, { "name": "christian-riesen/base32", "version": "1.6.0", @@ -121,23 +242,23 @@ }, { "name": "dasprid/enum", - "version": "1.0.5", + "version": "1.0.7", "source": { "type": "git", "url": "https://github.com/DASPRiD/Enum.git", - "reference": "6faf451159fb8ba4126b925ed2d78acfce0dc016" + "reference": "b5874fa9ed0043116c72162ec7f4fb50e02e7cce" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/DASPRiD/Enum/zipball/6faf451159fb8ba4126b925ed2d78acfce0dc016", - "reference": "6faf451159fb8ba4126b925ed2d78acfce0dc016", + "url": "https://api.github.com/repos/DASPRiD/Enum/zipball/b5874fa9ed0043116c72162ec7f4fb50e02e7cce", + "reference": "b5874fa9ed0043116c72162ec7f4fb50e02e7cce", "shasum": "" }, "require": { "php": ">=7.1 <9.0" }, "require-dev": { - "phpunit/phpunit": "^7 | ^8 | ^9", + "phpunit/phpunit": "^7 || ^8 || ^9 || ^10 || ^11", "squizlabs/php_codesniffer": "*" }, "type": "library", @@ -165,22 +286,92 @@ ], "support": { "issues": "https://github.com/DASPRiD/Enum/issues", - "source": "https://github.com/DASPRiD/Enum/tree/1.0.5" + "source": "https://github.com/DASPRiD/Enum/tree/1.0.7" }, - "time": "2023-08-25T16:18:39+00:00" + "time": "2025-09-16T12:23:56+00:00" }, { - "name": "doctrine/annotations", - "version": "1.14.3", + "name": "dirkpersky/typo3-dp_cookieconsent", + "version": "11.6.3", "source": { "type": "git", - "url": "https://github.com/doctrine/annotations.git", - "reference": "fb0d71a7393298a7b232cbf4c8b1f73f3ec3d5af" + "url": "https://github.com/DirkPersky/typo3-dp_cookieconsent.git", + "reference": "a1dcc34d3d6c5ec9ee0adb7a8c79fade001636d1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/fb0d71a7393298a7b232cbf4c8b1f73f3ec3d5af", - "reference": "fb0d71a7393298a7b232cbf4c8b1f73f3ec3d5af", + "url": "https://api.github.com/repos/DirkPersky/typo3-dp_cookieconsent/zipball/a1dcc34d3d6c5ec9ee0adb7a8c79fade001636d1", + "reference": "a1dcc34d3d6c5ec9ee0adb7a8c79fade001636d1", + "shasum": "" + }, + "require": { + "typo3/cms-core": "^10.4.0||^11.5.0||dev-master" + }, + "replace": { + "typo3-ter/dp_cookieconsent": "self.version" + }, + "type": "typo3-cms-extension", + "extra": { + "typo3/cms": { + "web-dir": ".Build/Web", + "extension-key": "dp_cookieconsent", + "cms-package-dir": "{$vendor-dir}/typo3/cms" + } + }, + "autoload": { + "psr-4": { + "DirkPersky\\DpCookieconsent\\": "Classes" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "AGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Dirk Persky", + "homepage": "http://dp-wired.de", + "role": "Developer" + } + ], + "description": "Enable a cookie consent box. Let you visitors control the usage of cookies and load script or content after a consent. (ePrivacy, TTDSG)", + "homepage": "https://github.com/DirkPersky/typo3-dp_cookieconsent", + "keywords": [ + "consent", + "cookie", + "cookieconsent", + "dsgvo", + "ePrivacy", + "typo3" + ], + "support": { + "issues": "https://github.com/DirkPersky/typo3-dp_cookieconsent/issues", + "source": "https://github.com/DirkPersky/typo3-dp_cookieconsent/tree/11.6.3" + }, + "funding": [ + { + "url": "https://www.paypal.com/paypalme/dirkpersky", + "type": "custom" + }, + { + "url": "https://github.com/DirkPersky", + "type": "github" + } + ], + "time": "2022-06-20T16:05:21+00:00" + }, + { + "name": "doctrine/annotations", + "version": "1.14.4", + "source": { + "type": "git", + "url": "https://github.com/doctrine/annotations.git", + "reference": "253dca476f70808a5aeed3a47cc2cc88c5cab915" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/253dca476f70808a5aeed3a47cc2cc88c5cab915", + "reference": "253dca476f70808a5aeed3a47cc2cc88c5cab915", "shasum": "" }, "require": { @@ -191,11 +382,11 @@ }, "require-dev": { "doctrine/cache": "^1.11 || ^2.0", - "doctrine/coding-standard": "^9 || ^10", - "phpstan/phpstan": "~1.4.10 || ^1.8.0", + "doctrine/coding-standard": "^9 || ^12", + "phpstan/phpstan": "~1.4.10 || ^1.10.28", "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "symfony/cache": "^4.4 || ^5.4 || ^6", - "vimeo/psalm": "^4.10" + "symfony/cache": "^4.4 || ^5.4 || ^6.4 || ^7", + "vimeo/psalm": "^4.30 || ^5.14" }, "suggest": { "php": "PHP 8.0 or higher comes with attributes, a native replacement for annotations" @@ -241,9 +432,10 @@ ], "support": { "issues": "https://github.com/doctrine/annotations/issues", - "source": "https://github.com/doctrine/annotations/tree/1.14.3" + "source": "https://github.com/doctrine/annotations/tree/1.14.4" }, - "time": "2023-02-01T09:20:38+00:00" + "abandoned": true, + "time": "2024-09-05T10:15:52+00:00" }, { "name": "doctrine/cache", @@ -336,6 +528,7 @@ "type": "tidelift" } ], + "abandoned": true, "time": "2022-05-20T20:07:39+00:00" }, { @@ -449,29 +642,30 @@ }, { "name": "doctrine/deprecations", - "version": "1.1.3", + "version": "1.1.6", "source": { "type": "git", "url": "https://github.com/doctrine/deprecations.git", - "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab" + "reference": "d4fe3e6fd9bb9e72557a19674f44d8ac7db4c6ca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab", - "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/d4fe3e6fd9bb9e72557a19674f44d8ac7db4c6ca", + "reference": "d4fe3e6fd9bb9e72557a19674f44d8ac7db4c6ca", "shasum": "" }, "require": { "php": "^7.1 || ^8.0" }, + "conflict": { + "phpunit/phpunit": "<=7.5 || >=14" + }, "require-dev": { - "doctrine/coding-standard": "^9", - "phpstan/phpstan": "1.4.10 || 1.10.15", - "phpstan/phpstan-phpunit": "^1.0", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "psalm/plugin-phpunit": "0.18.4", - "psr/log": "^1 || ^2 || ^3", - "vimeo/psalm": "4.30.0 || 5.12.0" + "doctrine/coding-standard": "^9 || ^12 || ^14", + "phpstan/phpstan": "1.4.10 || 2.1.30", + "phpstan/phpstan-phpunit": "^1.0 || ^2", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6 || ^10.5 || ^11.5 || ^12.4 || ^13.0", + "psr/log": "^1 || ^2 || ^3" }, "suggest": { "psr/log": "Allows logging deprecations via PSR-3 logger implementation" @@ -479,7 +673,7 @@ "type": "library", "autoload": { "psr-4": { - "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations" + "Doctrine\\Deprecations\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -490,9 +684,9 @@ "homepage": "https://www.doctrine-project.org/", "support": { "issues": "https://github.com/doctrine/deprecations/issues", - "source": "https://github.com/doctrine/deprecations/tree/1.1.3" + "source": "https://github.com/doctrine/deprecations/tree/1.1.6" }, - "time": "2024-01-30T19:34:25+00:00" + "time": "2026-02-07T07:09:04+00:00" }, { "name": "doctrine/event-manager", @@ -801,25 +995,25 @@ }, { "name": "enshrined/svg-sanitize", - "version": "0.15.4", + "version": "0.18.0", "source": { "type": "git", "url": "https://github.com/darylldoyle/svg-sanitizer.git", - "reference": "e50b83a2f1f296ca61394fe88fbfe3e896a84cf4" + "reference": "6a2c069dab3843ca4d887ff09c972fc7033888d0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/darylldoyle/svg-sanitizer/zipball/e50b83a2f1f296ca61394fe88fbfe3e896a84cf4", - "reference": "e50b83a2f1f296ca61394fe88fbfe3e896a84cf4", + "url": "https://api.github.com/repos/darylldoyle/svg-sanitizer/zipball/6a2c069dab3843ca4d887ff09c972fc7033888d0", + "reference": "6a2c069dab3843ca4d887ff09c972fc7033888d0", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", - "php": "^7.0 || ^8.0" + "php": "^5.6 || ^7.0 || ^8.0" }, "require-dev": { - "phpunit/phpunit": "^6.5 || ^8.5" + "phpunit/phpunit": "^5.7 || ^6.5 || ^8.5" }, "type": "library", "autoload": { @@ -840,31 +1034,250 @@ "description": "An SVG sanitizer for PHP", "support": { "issues": "https://github.com/darylldoyle/svg-sanitizer/issues", - "source": "https://github.com/darylldoyle/svg-sanitizer/tree/0.15.4" + "source": "https://github.com/darylldoyle/svg-sanitizer/tree/0.18.0" }, - "time": "2022-02-21T09:13:59+00:00" + "time": "2024-02-22T17:51:05+00:00" }, { - "name": "guzzlehttp/guzzle", - "version": "7.8.1", + "name": "friendsoftypo3/tt-address", + "version": "8.1.1", "source": { "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "41042bc7ab002487b876a0683fc8dce04ddce104" + "url": "https://github.com/FriendsOfTYPO3/tt_address.git", + "reference": "bd62c49fb38985f0e4ab95faf43084a17ac01395" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/41042bc7ab002487b876a0683fc8dce04ddce104", - "reference": "41042bc7ab002487b876a0683fc8dce04ddce104", + "url": "https://api.github.com/repos/FriendsOfTYPO3/tt_address/zipball/bd62c49fb38985f0e4ab95faf43084a17ac01395", + "reference": "bd62c49fb38985f0e4ab95faf43084a17ac01395", + "shasum": "" + }, + "require": { + "php": ">=7.4", + "symfony/console": "^5.4 || ^6.0 || ^7.0", + "typo3/cms-core": "^11.5 || ^12.4" + }, + "replace": { + "typo3-ter/tt-address": "self.version" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.1", + "phpspec/prophecy-phpunit": "^2.0", + "phpunit/phpunit": "^9.6.15", + "sbuerk/typo3-cmscomposerinstallers-testingframework-bridge": "^0.0.1", + "typo3/cms-extensionmanager": "^11.5 || ^12", + "typo3/cms-install": "^11.5 || ^12" + }, + "type": "typo3-cms-extension", + "extra": { + "typo3/cms": { + "app-dir": ".Build", + "web-dir": ".Build/public", + "extension-key": "tt_address" + } + }, + "autoload": { + "psr-4": { + "FriendsOfTYPO3\\TtAddress\\": "Classes" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "tt_address Development Team", + "role": "Developer" + } + ], + "description": "Displays a list of addresses from an address table on the page.", + "homepage": "https://extensions.typo3.org/extension/tt_address", + "keywords": [ + "addresses", + "extension", + "typo3" + ], + "support": { + "docs": "https://docs.typo3.org/p/friendsoftypo3/tt-address/main/en-us/", + "issues": "https://github.com/FriendsOfTYPO3/tt_address/issues", + "source": "https://github.com/FriendsOfTYPO3/tt_address" + }, + "time": "2024-07-10T08:41:43+00:00" + }, + { + "name": "georgringer/news", + "version": "9.4.0", + "source": { + "type": "git", + "url": "https://github.com/georgringer/news.git", + "reference": "dbecd7289de6554c06b733de7c8337c52cb3a130" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/georgringer/news/zipball/dbecd7289de6554c06b733de7c8337c52cb3a130", + "reference": "dbecd7289de6554c06b733de7c8337c52cb3a130", + "shasum": "" + }, + "require": { + "typo3/cms-core": "^10.4 || ^11" + }, + "conflict": { + "symfony/finder": "2.7.44 || 2.8.37 || 3.4.7 || 4.0.7" + }, + "replace": { + "typo3-ter/news": "self.version" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.1", + "typo3/cms-install": "^10.4 || ^11" + }, + "suggest": { + "georgringer/numbered-pagination": "Improved pagination API", + "reelworx/rx-shariff": "GDPR compliant social sharing" + }, + "type": "typo3-cms-extension", + "extra": { + "typo3/cms": { + "app-dir": ".Build", + "web-dir": ".Build/public", + "extension-key": "news" + } + }, + "autoload": { + "psr-4": { + "GeorgRinger\\News\\": "Classes" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "Georg Ringer", + "role": "Developer" + } + ], + "description": "Versatile news system based on Extbase & Fluid and using the latest technologies provided by TYPO3 CMS.", + "homepage": "https://extensions.typo3.org/extension/news", + "keywords": [ + "article", + "extension", + "news", + "typo3" + ], + "support": { + "docs": "https://docs.typo3.org/p/georgringer/news/main/en-us/", + "issues": "https://github.com/georgringer/news/issues", + "source": "https://github.com/georgringer/news" + }, + "funding": [ + { + "url": "https://www.paypal.me/GeorgRinger/10", + "type": "custom" + }, + { + "url": "https://www.patreon.com/georgringer", + "type": "patreon" + } + ], + "time": "2022-04-26T17:07:12+00:00" + }, + { + "name": "georgringer/numbered-pagination", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/georgringer/numbered_pagination.git", + "reference": "ac7277a088dbfd0a35b8c4477bb0943e2fae0099" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/georgringer/numbered_pagination/zipball/ac7277a088dbfd0a35b8c4477bb0943e2fae0099", + "reference": "ac7277a088dbfd0a35b8c4477bb0943e2fae0099", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "typo3/cms-core": "^9 || ^10 || ^11 || ^12" + }, + "replace": { + "typo3-ter/numbered-pagination": "self.version" + }, + "type": "typo3-cms-extension", + "extra": { + "typo3/cms": { + "extension-key": "numbered_pagination" + } + }, + "autoload": { + "psr-4": { + "GeorgRinger\\NumberedPagination\\": "Classes" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "Georg Ringer", + "role": "Developer" + } + ], + "description": "Improved pagination for TYPO3", + "homepage": "https://github.com/georgringer/numbered_pagination", + "keywords": [ + "pagination", + "typo3" + ], + "support": { + "issues": "https://github.com/georgringer/numbered_pagination/issues", + "source": "https://github.com/georgringer/numbered_pagination/tree/2.0.0" + }, + "funding": [ + { + "url": "https://paypal.me/GeorgRinger/10", + "type": "custom" + }, + { + "url": "https://www.amazon.de/hz/wishlist/ls/8F573K08TSDG", + "type": "custom" + }, + { + "url": "https://github.com/georgringer", + "type": "github" + }, + { + "url": "https://www.patreon.com/georgringer", + "type": "patreon" + } + ], + "time": "2023-10-05T09:11:20+00:00" + }, + { + "name": "guzzlehttp/guzzle", + "version": "7.13.1", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "55901a76dfd2006a0cc012b9e3c5b487f796478d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/55901a76dfd2006a0cc012b9e3c5b487f796478d", + "reference": "55901a76dfd2006a0cc012b9e3c5b487f796478d", "shasum": "" }, "require": { "ext-json": "*", - "guzzlehttp/promises": "^1.5.3 || ^2.0.1", - "guzzlehttp/psr7": "^1.9.1 || ^2.5.1", + "guzzlehttp/promises": "^2.5", + "guzzlehttp/psr7": "^2.12.3", "php": "^7.2.5 || ^8.0", "psr/http-client": "^1.0", - "symfony/deprecation-contracts": "^2.2 || ^3.0" + "symfony/deprecation-contracts": "^2.5 || ^3.0", + "symfony/polyfill-php80": "^1.25" }, "provide": { "psr/http-client-implementation": "1.0" @@ -872,9 +1285,10 @@ "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", "ext-curl": "*", - "php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999", + "guzzle/client-integration-tests": "3.0.2", + "guzzlehttp/test-server": "^0.6", "php-http/message-factory": "^1.1", - "phpunit/phpunit": "^8.5.36 || ^9.6.15", + "phpunit/phpunit": "^8.5.52 || ^9.6.34", "psr/log": "^1.1 || ^2.0 || ^3.0" }, "suggest": { @@ -952,7 +1366,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.8.1" + "source": "https://github.com/guzzle/guzzle/tree/7.13.1" }, "funding": [ { @@ -968,28 +1382,29 @@ "type": "tidelift" } ], - "time": "2023-12-03T20:35:24+00:00" + "time": "2026-06-29T20:14:18+00:00" }, { "name": "guzzlehttp/promises", - "version": "2.0.2", + "version": "2.5.0", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223" + "reference": "4360e982f87f5f258bf872d094647791db2f4c8e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/bbff78d96034045e58e13dedd6ad91b5d1253223", - "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223", + "url": "https://api.github.com/repos/guzzle/promises/zipball/4360e982f87f5f258bf872d094647791db2f4c8e", + "reference": "4360e982f87f5f258bf872d094647791db2f4c8e", "shasum": "" }, "require": { - "php": "^7.2.5 || ^8.0" + "php": "^7.2.5 || ^8.0", + "symfony/deprecation-contracts": "^2.5 || ^3.0" }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.36 || ^9.6.15" + "phpunit/phpunit": "^8.5.52 || ^9.6.34" }, "type": "library", "extra": { @@ -1035,7 +1450,7 @@ ], "support": { "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/2.0.2" + "source": "https://github.com/guzzle/promises/tree/2.5.0" }, "funding": [ { @@ -1051,27 +1466,29 @@ "type": "tidelift" } ], - "time": "2023-12-03T20:19:20+00:00" + "time": "2026-06-02T12:23:43+00:00" }, { "name": "guzzlehttp/psr7", - "version": "2.6.2", + "version": "2.12.3", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221" + "reference": "7ec62dc3f44aa218487dbed81a9bf9bc647be55d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/45b30f99ac27b5ca93cb4831afe16285f57b8221", - "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/7ec62dc3f44aa218487dbed81a9bf9bc647be55d", + "reference": "7ec62dc3f44aa218487dbed81a9bf9bc647be55d", "shasum": "" }, "require": { "php": "^7.2.5 || ^8.0", "psr/http-factory": "^1.0", "psr/http-message": "^1.1 || ^2.0", - "ralouphie/getallheaders": "^3.0" + "ralouphie/getallheaders": "^3.0", + "symfony/deprecation-contracts": "^2.5 || ^3.0", + "symfony/polyfill-php80": "^1.25" }, "provide": { "psr/http-factory-implementation": "1.0", @@ -1079,8 +1496,9 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "http-interop/http-factory-tests": "^0.9", - "phpunit/phpunit": "^8.5.36 || ^9.6.15" + "http-interop/http-factory-tests": "1.1.0", + "jshttp/mime-db": "1.54.0.1", + "phpunit/phpunit": "^8.5.52 || ^9.6.34" }, "suggest": { "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" @@ -1151,7 +1569,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.6.2" + "source": "https://github.com/guzzle/psr7/tree/2.12.3" }, "funding": [ { @@ -1167,33 +1585,33 @@ "type": "tidelift" } ], - "time": "2023-12-03T20:05:35+00:00" + "time": "2026-06-23T15:21:08+00:00" }, { "name": "lolli42/finediff", - "version": "1.0.3", + "version": "1.1.2", "source": { "type": "git", "url": "https://github.com/lolli42/FineDiff.git", - "reference": "8d535de757062fed8412833f5eede7064595ca5b" + "reference": "38a03ca581ee72d7b20bbb1d89d47c5ecf8b11ba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/lolli42/FineDiff/zipball/8d535de757062fed8412833f5eede7064595ca5b", - "reference": "8d535de757062fed8412833f5eede7064595ca5b", + "url": "https://api.github.com/repos/lolli42/FineDiff/zipball/38a03ca581ee72d7b20bbb1d89d47c5ecf8b11ba", + "reference": "38a03ca581ee72d7b20bbb1d89d47c5ecf8b11ba", "shasum": "" }, "require": { - "php": ">=7.2.0", - "symfony/polyfill-mbstring": "^1.23" + "ext-mbstring": "*", + "php": ">=8.2" }, "replace": { "cogpowered/finediff": "*" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^3.4", - "phpstan/phpstan": "^1.9.14", - "phpunit/phpunit": "^8.5.33 || ^9.6.11 || ^10.3.2" + "friendsofphp/php-cs-fixer": "^3.89.1", + "phpstan/phpstan": "^2.1.31", + "phpunit/phpunit": "^11.5.43 || ^12.4.2" }, "type": "library", "autoload": { @@ -1230,22 +1648,22 @@ ], "support": { "issues": "https://github.com/lolli42/FineDiff/issues", - "source": "https://github.com/lolli42/FineDiff/tree/1.0.3" + "source": "https://github.com/lolli42/FineDiff/tree/1.1.2" }, - "time": "2024-02-06T13:56:20+00:00" + "time": "2025-10-31T12:28:27+00:00" }, { "name": "masterminds/html5", - "version": "2.9.0", + "version": "2.10.1", "source": { "type": "git", "url": "https://github.com/Masterminds/html5-php.git", - "reference": "f5ac2c0b0a2eefca70b2ce32a5809992227e75a6" + "reference": "fd5018f6815fff903946d0564977b44ce8010e29" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/f5ac2c0b0a2eefca70b2ce32a5809992227e75a6", - "reference": "f5ac2c0b0a2eefca70b2ce32a5809992227e75a6", + "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/fd5018f6815fff903946d0564977b44ce8010e29", + "reference": "fd5018f6815fff903946d0564977b44ce8010e29", "shasum": "" }, "require": { @@ -1253,7 +1671,7 @@ "php": ">=5.3.0" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7 || ^8 || ^9" + "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7 || ^8 || ^9 || ^10" }, "type": "library", "extra": { @@ -1297,22 +1715,207 @@ ], "support": { "issues": "https://github.com/Masterminds/html5-php/issues", - "source": "https://github.com/Masterminds/html5-php/tree/2.9.0" + "source": "https://github.com/Masterminds/html5-php/tree/2.10.1" }, - "time": "2024-03-31T07:05:07+00:00" + "time": "2026-06-23T18:43:15+00:00" }, { - "name": "nikic/php-parser", - "version": "v4.19.1", + "name": "matthiasmullie/minify", + "version": "1.3.75", "source": { "type": "git", - "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "4e1b88d21c69391150ace211e9eaf05810858d0b" + "url": "https://github.com/matthiasmullie/minify.git", + "reference": "76ba4a5f555fd7bf4aa408af608e991569076671" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/4e1b88d21c69391150ace211e9eaf05810858d0b", - "reference": "4e1b88d21c69391150ace211e9eaf05810858d0b", + "url": "https://api.github.com/repos/matthiasmullie/minify/zipball/76ba4a5f555fd7bf4aa408af608e991569076671", + "reference": "76ba4a5f555fd7bf4aa408af608e991569076671", + "shasum": "" + }, + "require": { + "ext-pcre": "*", + "matthiasmullie/path-converter": "~1.1", + "php": ">=5.3.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": ">=2.0", + "matthiasmullie/scrapbook": ">=1.3", + "phpunit/phpunit": ">=4.8" + }, + "suggest": { + "psr/cache-implementation": "Cache implementation to use with Minify::cache" + }, + "bin": [ + "bin/minifycss", + "bin/minifyjs" + ], + "type": "library", + "autoload": { + "psr-4": { + "MatthiasMullie\\Minify\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Matthias Mullie", + "email": "minify@mullie.eu", + "homepage": "https://www.mullie.eu", + "role": "Developer" + } + ], + "description": "CSS & JavaScript minifier, in PHP. Removes whitespace, strips comments, combines files (incl. @import statements and small assets in CSS files), and optimizes/shortens a few common programming patterns.", + "homepage": "https://github.com/matthiasmullie/minify", + "keywords": [ + "JS", + "css", + "javascript", + "minifier", + "minify" + ], + "support": { + "issues": "https://github.com/matthiasmullie/minify/issues", + "source": "https://github.com/matthiasmullie/minify/tree/1.3.75" + }, + "funding": [ + { + "url": "https://github.com/matthiasmullie", + "type": "github" + } + ], + "time": "2025-06-25T09:56:19+00:00" + }, + { + "name": "matthiasmullie/path-converter", + "version": "1.1.3", + "source": { + "type": "git", + "url": "https://github.com/matthiasmullie/path-converter.git", + "reference": "e7d13b2c7e2f2268e1424aaed02085518afa02d9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/matthiasmullie/path-converter/zipball/e7d13b2c7e2f2268e1424aaed02085518afa02d9", + "reference": "e7d13b2c7e2f2268e1424aaed02085518afa02d9", + "shasum": "" + }, + "require": { + "ext-pcre": "*", + "php": ">=5.3.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.8" + }, + "type": "library", + "autoload": { + "psr-4": { + "MatthiasMullie\\PathConverter\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Matthias Mullie", + "email": "pathconverter@mullie.eu", + "homepage": "http://www.mullie.eu", + "role": "Developer" + } + ], + "description": "Relative path converter", + "homepage": "http://github.com/matthiasmullie/path-converter", + "keywords": [ + "converter", + "path", + "paths", + "relative" + ], + "support": { + "issues": "https://github.com/matthiasmullie/path-converter/issues", + "source": "https://github.com/matthiasmullie/path-converter/tree/1.1.3" + }, + "time": "2019-02-05T23:41:09+00:00" + }, + { + "name": "minifranske/fs-media-gallery", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/chrcan/fs_media_gallery.git", + "reference": "e13f324aa177419126e0a9cb55f244275a10d862" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/chrcan/fs_media_gallery/zipball/e13f324aa177419126e0a9cb55f244275a10d862", + "reference": "e13f324aa177419126e0a9cb55f244275a10d862", + "shasum": "" + }, + "require": { + "typo3/cms-core": "^11.4" + }, + "replace": { + "typo3-ter/fs-media-gallery": "self.version" + }, + "suggest": { + "georgringer/numbered-pagination": "^1.0.1" + }, + "type": "typo3-cms-extension", + "extra": { + "typo3/cms": { + "extension-key": "fs_media_gallery" + }, + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "MiniFranske\\FsMediaGallery\\": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0+" + ], + "authors": [ + { + "name": "Frans Saris", + "homepage": "http://minifranske.nl", + "role": "Developer" + } + ], + "description": "A FAL based media gallery for TYPO3. Show your assets from your local or remote storage as a gallery of albums.", + "keywords": [ + "extension", + "gallery", + "images", + "media", + "typo3" + ], + "support": { + "issues": "https://github.com/chrcan/fs_media_gallery/issues", + "source": "https://github.com/chrcan/fs_media_gallery/tree/3.0.2" + }, + "time": "2022-03-11T19:27:37+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v4.19.5", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "51bd93cc741b7fc3d63d20b6bdcd99fdaa359837" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/51bd93cc741b7fc3d63d20b6bdcd99fdaa359837", + "reference": "51bd93cc741b7fc3d63d20b6bdcd99fdaa359837", "shasum": "" }, "require": { @@ -1321,17 +1924,12 @@ }, "require-dev": { "ircmaxell/php-yacc": "^0.0.7", - "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" }, "bin": [ "bin/php-parse" ], "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.9-dev" - } - }, "autoload": { "psr-4": { "PhpParser\\": "lib/PhpParser" @@ -1353,66 +1951,248 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.19.1" + "source": "https://github.com/nikic/PHP-Parser/tree/v4.19.5" }, - "time": "2024-03-17T08:10:35+00:00" + "time": "2025-12-06T11:45:25+00:00" }, { - "name": "phayes/geophp", - "version": "1.2", + "name": "phpdocumentor/reflection-common", + "version": "2.2.0", "source": { "type": "git", - "url": "https://github.com/phayes/geoPHP.git", - "reference": "015404e85b602e0df1f91441f8db0f9e98f7e567" + "url": "https://github.com/phpDocumentor/ReflectionCommon.git", + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phayes/geoPHP/zipball/015404e85b602e0df1f91441f8db0f9e98f7e567", - "reference": "015404e85b602e0df1f91441f8db0f9e98f7e567", - "shasum": "" - }, - "require-dev": { - "phpunit/phpunit": "4.1.*" - }, - "type": "library", - "autoload": { - "classmap": [ - "geoPHP.inc" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2 or New-BSD" - ], - "authors": [ - { - "name": "Patrick Hayes" - } - ], - "description": "GeoPHP is a open-source native PHP library for doing geometry operations. It is written entirely in PHP and can therefore run on shared hosts. It can read and write a wide variety of formats: WKT (including EWKT), WKB (including EWKB), GeoJSON, KML, GPX, GeoRSS). It works with all Simple-Feature geometries (Point, LineString, Polygon, GeometryCollection etc.) and can be used to get centroids, bounding-boxes, area, and a wide variety of other useful information.", - "homepage": "https://github.com/phayes/geoPHP", - "support": { - "issues": "https://github.com/phayes/geoPHP/issues", - "source": "https://github.com/phayes/geoPHP/tree/master" - }, - "time": "2014-12-02T06:11:22+00:00" - }, - { - "name": "psr/cache", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b", + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-2.x": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" + } + ], + "description": "Common reflection classes used by phpdocumentor to reflect the code structure", + "homepage": "http://www.phpdoc.org", + "keywords": [ + "FQSEN", + "phpDocumentor", + "phpdoc", + "reflection", + "static analysis" + ], + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues", + "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x" + }, + "time": "2020-06-27T09:03:43+00:00" + }, + { + "name": "phpdocumentor/reflection-docblock", + "version": "5.6.7", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "31a105931bc8ffa3a123383829772e832fd8d903" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/31a105931bc8ffa3a123383829772e832fd8d903", + "reference": "31a105931bc8ffa3a123383829772e832fd8d903", + "shasum": "" + }, + "require": { + "doctrine/deprecations": "^1.1", + "ext-filter": "*", + "php": "^7.4 || ^8.0", + "phpdocumentor/reflection-common": "^2.2", + "phpdocumentor/type-resolver": "^1.7", + "phpstan/phpdoc-parser": "^1.7|^2.0", + "webmozart/assert": "^1.9.1 || ^2" + }, + "require-dev": { + "mockery/mockery": "~1.3.5 || ~1.6.0", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-mockery": "^1.1", + "phpstan/phpstan-webmozart-assert": "^1.2", + "phpunit/phpunit": "^9.5", + "psalm/phar": "^5.26" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + }, + { + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" + } + ], + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.6.7" + }, + "time": "2026-03-18T20:47:46+00:00" + }, + { + "name": "phpdocumentor/type-resolver", + "version": "1.12.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "92a98ada2b93d9b201a613cb5a33584dde25f195" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/92a98ada2b93d9b201a613cb5a33584dde25f195", + "reference": "92a98ada2b93d9b201a613cb5a33584dde25f195", + "shasum": "" + }, + "require": { + "doctrine/deprecations": "^1.0", + "php": "^7.3 || ^8.0", + "phpdocumentor/reflection-common": "^2.0", + "phpstan/phpdoc-parser": "^1.18|^2.0" + }, + "require-dev": { + "ext-tokenizer": "*", + "phpbench/phpbench": "^1.2", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-phpunit": "^1.1", + "phpunit/phpunit": "^9.5", + "rector/rector": "^0.13.9", + "vimeo/psalm": "^4.25" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-1.x": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", + "support": { + "issues": "https://github.com/phpDocumentor/TypeResolver/issues", + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.12.0" + }, + "time": "2025-11-21T15:09:14+00:00" + }, + { + "name": "phpstan/phpdoc-parser", + "version": "2.3.2", + "source": { + "type": "git", + "url": "https://github.com/phpstan/phpdoc-parser.git", + "reference": "a004701b11273a26cd7955a61d67a7f1e525a45a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/a004701b11273a26cd7955a61d67a7f1e525a45a", + "reference": "a004701b11273a26cd7955a61d67a7f1e525a45a", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "doctrine/annotations": "^2.0", + "nikic/php-parser": "^5.3.0", + "php-parallel-lint/php-parallel-lint": "^1.2", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpstan/phpstan-strict-rules": "^2.0", + "phpunit/phpunit": "^9.6", + "symfony/process": "^5.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "PHPStan\\PhpDocParser\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHPDoc parser with support for nullable, intersection and generic types", + "support": { + "issues": "https://github.com/phpstan/phpdoc-parser/issues", + "source": "https://github.com/phpstan/phpdoc-parser/tree/2.3.2" + }, + "time": "2026-01-25T14:56:51+00:00" + }, + { + "name": "psr/cache", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/cache.git", + "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" }, "type": "library", "extra": { @@ -1432,7 +2212,7 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common interface for caching libraries", @@ -1442,9 +2222,9 @@ "psr-6" ], "support": { - "source": "https://github.com/php-fig/cache/tree/master" + "source": "https://github.com/php-fig/cache/tree/3.0.0" }, - "time": "2016-08-06T20:24:11+00:00" + "time": "2021-02-03T23:26:27+00:00" }, { "name": "psr/container", @@ -1598,20 +2378,20 @@ }, { "name": "psr/http-factory", - "version": "1.0.2", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/php-fig/http-factory.git", - "reference": "e616d01114759c4c489f93b099585439f795fe35" + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35", - "reference": "e616d01114759c4c489f93b099585439f795fe35", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", "shasum": "" }, "require": { - "php": ">=7.0.0", + "php": ">=7.1", "psr/http-message": "^1.0 || ^2.0" }, "type": "library", @@ -1635,7 +2415,7 @@ "homepage": "https://www.php-fig.org/" } ], - "description": "Common interfaces for PSR-7 HTTP message factories", + "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", "keywords": [ "factory", "http", @@ -1647,9 +2427,9 @@ "response" ], "support": { - "source": "https://github.com/php-fig/http-factory/tree/1.0.2" + "source": "https://github.com/php-fig/http-factory" }, - "time": "2023-04-10T20:10:41+00:00" + "time": "2024-04-15T12:06:14+00:00" }, { "name": "psr/http-message", @@ -1911,60 +2691,259 @@ }, "time": "2019-03-08T08:55:37+00:00" }, + { + "name": "sgalinski/lfeditor", + "version": "7.1.10", + "source": { + "type": "git", + "url": "https://gitlab.sgalinski.de/typo3/lfeditor.git", + "reference": "506e7a54aa0c77e166e9677d296693ad82f6a812" + }, + "require": { + "typo3/cms-core": "^10.4 || ^11.5" + }, + "type": "typo3-cms-extension", + "extra": { + "typo3/cms": { + "extension-key": "lfeditor" + } + }, + "autoload": { + "psr-4": { + "SGalinski\\Lfeditor\\": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "description": "Language File Editor", + "homepage": "https://www.sgalinski.de", + "support": { + "issues": "https://gitlab.sgalinski.de/typo3/lfeditor/issues", + "source": "https://gitlab.sgalinski.de/typo3/lfeditor/" + }, + "time": "2023-01-04T18:20:47+00:00" + }, + { + "name": "sjbr/sr-feuser-register", + "version": "v11.5.4", + "source": { + "type": "git", + "url": "https://codeberg.org/sjbr/sr-feuser-register", + "reference": "a30a05d5eb5469c0554a6cddf69738a38900ee77" + }, + "require": { + "sjbr/static-info-tables": "^6.9 || ^11.5", + "typo3/cms-core": "^10.4.21 || ^11.5", + "typo3/cms-felogin": "^10.4.21 || ^11.5" + }, + "replace": { + "typo3-ter/sr-feuser-register": "self.version" + }, + "suggest": { + "directmailteam/direct-mail": "Allows to send newsletters to registered users.", + "sjbr/sr-freecap": "Allows to add a captcha to the registration form." + }, + "type": "typo3-cms-extension", + "extra": { + "typo3/cms": { + "extension-key": "sr_feuser_register" + } + }, + "autoload": { + "psr-4": { + "SJBR\\SrFeuserRegister\\": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "Stanislas Rolland", + "homepage": "https://www.sjbr.ca", + "role": "Developer" + } + ], + "description": "A self-registration variant of Kasper Skårhøj's Front End User Admin extension for TYPO3 CMS.", + "homepage": "https://codeberg.org/sjbr/sr-feuser-register", + "keywords": [ + "fe_users", + "frontend", + "registration", + "typo3", + "user" + ], + "support": { + "issues": "https://codeberg.org/sjbr/sr-feuser-register/issues" + }, + "time": "2022-10-23T15:09:53+00:00" + }, + { + "name": "sjbr/sr-freecap", + "version": "v11.5.2", + "source": { + "type": "git", + "url": "https://codeberg.org/sjbr/sr-freecap", + "reference": "d24fe574e3da54486d3509d12d1cab514978b461" + }, + "require": { + "typo3/cms-core": "^11.5" + }, + "replace": { + "typo3-ter/sr-freecap": "self.version" + }, + "type": "typo3-cms-extension", + "extra": { + "typo3/cms": { + "extension-key": "sr_freecap" + } + }, + "autoload": { + "psr-4": { + "SJBR\\SrFreecap\\": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "Stanislas Rolland", + "homepage": "https://www.sjbr.ca", + "role": "Developer" + } + ], + "description": "A TYPO3 integration of freeCap CAPTCHA.", + "homepage": "https://codeberg.org/sjbr/sr-freecap", + "keywords": [ + "captcha", + "typo3" + ], + "support": { + "issues": "https://codeberg.org/sjbr/sr-freecap/issues" + }, + "time": "2022-11-19T21:58:04+00:00" + }, + { + "name": "sjbr/static-info-tables", + "version": "v11.5.3", + "source": { + "type": "git", + "url": "https://codeberg.org/sjbr/static-info-tables", + "reference": "5c07b63ae7aad9fa668be61bec797b11a898b484" + }, + "require": { + "typo3/cms-backend": ">=11.5, <12.0", + "typo3/cms-core": ">=11.5, <12.0", + "typo3/cms-extbase": ">=11.5, <12.0", + "typo3/cms-extensionmanager": ">=11.5, <12.0", + "typo3/cms-fluid": ">=11.5, <12.0", + "typo3/cms-frontend": ">=11.5, <12.0" + }, + "replace": { + "typo3-ter/static-info-tables": "self.version" + }, + "type": "typo3-cms-extension", + "extra": { + "typo3/cms": { + "extension-key": "static_info_tables" + } + }, + "autoload": { + "psr-4": { + "SJBR\\StaticInfoTables\\": "Classes/" + }, + "exclude-from-classmap": [ + "Classes/Domain/Model/Country", + "Classes/Domain/Model/CountryZone", + "Classes/Domain/Model/Currency", + "Classes/Domain/Model/Language", + "Classes/Domain/Model/Territory" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "Stanislas Rolland", + "homepage": "https://www.sjbr.ca", + "role": "Developer" + }, + { + "name": "René Fritz", + "role": "Developer" + } + ], + "description": "Data and API for countries, languages and currencies for use in TYPO3 CMS.", + "homepage": "https://codeberg.org/sjbr/static-info-tables", + "keywords": [ + "Static Info Tables", + "typo3" + ], + "support": { + "issues": "https://codeberg.org/sjbr/static-info-tables/issues" + }, + "time": "2022-10-11T15:40:28+00:00" + }, { "name": "symfony/cache", - "version": "v5.4.38", + "version": "v6.4.42", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "223c3afac82e003a76931b71d77db408636a0de8" + "reference": "704edf29f1c97ff6e36e248def6ff4a51f765ce1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/223c3afac82e003a76931b71d77db408636a0de8", - "reference": "223c3afac82e003a76931b71d77db408636a0de8", + "url": "https://api.github.com/repos/symfony/cache/zipball/704edf29f1c97ff6e36e248def6ff4a51f765ce1", + "reference": "704edf29f1c97ff6e36e248def6ff4a51f765ce1", "shasum": "" }, "require": { - "php": ">=7.2.5", - "psr/cache": "^1.0|^2.0", + "php": ">=8.1", + "psr/cache": "^2.0|^3.0", "psr/log": "^1.1|^2|^3", - "symfony/cache-contracts": "^1.1.7|^2", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php73": "^1.9", - "symfony/polyfill-php80": "^1.16", - "symfony/service-contracts": "^1.1|^2|^3", - "symfony/var-exporter": "^4.4|^5.0|^6.0" + "symfony/cache-contracts": "^2.5|^3", + "symfony/service-contracts": "^2.5|^3", + "symfony/var-exporter": "^6.3.6|^7.0" }, "conflict": { "doctrine/dbal": "<2.13.1", - "symfony/dependency-injection": "<4.4", - "symfony/http-kernel": "<4.4", - "symfony/var-dumper": "<4.4" + "symfony/dependency-injection": "<5.4", + "symfony/http-kernel": "<5.4", + "symfony/var-dumper": "<5.4" }, "provide": { - "psr/cache-implementation": "1.0|2.0", - "psr/simple-cache-implementation": "1.0|2.0", - "symfony/cache-implementation": "1.0|2.0" + "psr/cache-implementation": "2.0|3.0", + "psr/simple-cache-implementation": "1.0|2.0|3.0", + "symfony/cache-implementation": "1.1|2.0|3.0" }, "require-dev": { "cache/integration-tests": "dev-master", - "doctrine/cache": "^1.6|^2.0", "doctrine/dbal": "^2.13.1|^3|^4", - "predis/predis": "^1.1", - "psr/simple-cache": "^1.0|^2.0", - "symfony/config": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/filesystem": "^4.4|^5.0|^6.0", - "symfony/http-kernel": "^4.4|^5.0|^6.0", - "symfony/messenger": "^4.4|^5.0|^6.0", - "symfony/var-dumper": "^4.4|^5.0|^6.0" + "predis/predis": "^1.1|^2.0", + "psr/simple-cache": "^1.0|^2.0|^3.0", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/filesystem": "^5.4|^6.0|^7.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0", + "symfony/messenger": "^5.4|^6.0|^7.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { "psr-4": { "Symfony\\Component\\Cache\\": "" }, + "classmap": [ + "Traits/ValueWrapper.php" + ], "exclude-from-classmap": [ "/Tests/" ] @@ -1990,7 +2969,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v5.4.38" + "source": "https://github.com/symfony/cache/tree/v6.4.42" }, "funding": [ { @@ -2001,42 +2980,43 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-03-19T09:55:32+00:00" + "time": "2026-06-17T14:17:34+00:00" }, { "name": "symfony/cache-contracts", - "version": "v2.5.3", + "version": "v3.7.1", "source": { "type": "git", "url": "https://github.com/symfony/cache-contracts.git", - "reference": "fee6db04d913094e2fb55ff8e7db5685a8134463" + "reference": "9789738bc19af1106dc54d6afba9a0b467516cf2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/fee6db04d913094e2fb55ff8e7db5685a8134463", - "reference": "fee6db04d913094e2fb55ff8e7db5685a8134463", + "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/9789738bc19af1106dc54d6afba9a0b467516cf2", + "reference": "9789738bc19af1106dc54d6afba9a0b467516cf2", "shasum": "" }, "require": { - "php": ">=7.2.5", - "psr/cache": "^1.0|^2.0|^3.0" - }, - "suggest": { - "symfony/cache-implementation": "" + "php": ">=8.1", + "psr/cache": "^3.0" }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "2.5-dev" - }, "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.7-dev" } }, "autoload": { @@ -2069,7 +3049,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/cache-contracts/tree/v2.5.3" + "source": "https://github.com/symfony/cache-contracts/tree/v3.7.1" }, "funding": [ { @@ -2080,25 +3060,29 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-01-23T13:51:25+00:00" + "time": "2026-06-05T06:23:12+00:00" }, { "name": "symfony/config", - "version": "v5.4.38", + "version": "v5.4.46", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "3dcd47d4bbd9fea4d1210e7a7a0a5ca02d99df14" + "reference": "977c88a02d7d3f16904a81907531b19666a08e78" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/3dcd47d4bbd9fea4d1210e7a7a0a5ca02d99df14", - "reference": "3dcd47d4bbd9fea4d1210e7a7a0a5ca02d99df14", + "url": "https://api.github.com/repos/symfony/config/zipball/977c88a02d7d3f16904a81907531b19666a08e78", + "reference": "977c88a02d7d3f16904a81907531b19666a08e78", "shasum": "" }, "require": { @@ -2148,7 +3132,7 @@ "description": "Helps you find, load, combine, autofill and validate configuration values of any kind", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/config/tree/v5.4.38" + "source": "https://github.com/symfony/config/tree/v5.4.46" }, "funding": [ { @@ -2164,20 +3148,20 @@ "type": "tidelift" } ], - "time": "2024-03-22T10:04:40+00:00" + "time": "2024-10-30T07:58:02+00:00" }, { "name": "symfony/console", - "version": "v5.4.36", + "version": "v5.4.47", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "39f75d9d73d0c11952fdcecf4877b4d0f62a8f6e" + "reference": "c4ba980ca61a9eb18ee6bcc73f28e475852bb1ed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/39f75d9d73d0c11952fdcecf4877b4d0f62a8f6e", - "reference": "39f75d9d73d0c11952fdcecf4877b4d0f62a8f6e", + "url": "https://api.github.com/repos/symfony/console/zipball/c4ba980ca61a9eb18ee6bcc73f28e475852bb1ed", + "reference": "c4ba980ca61a9eb18ee6bcc73f28e475852bb1ed", "shasum": "" }, "require": { @@ -2247,7 +3231,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v5.4.36" + "source": "https://github.com/symfony/console/tree/v5.4.47" }, "funding": [ { @@ -2263,20 +3247,20 @@ "type": "tidelift" } ], - "time": "2024-02-20T16:33:57+00:00" + "time": "2024-11-06T11:30:55+00:00" }, { "name": "symfony/dependency-injection", - "version": "v5.4.38", + "version": "v5.4.48", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "0ba1fa459d284a9398c71afa1cb5d13de025de17" + "reference": "e5ca16dee39ef7d63e552ff0bf0a2526a1142c92" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/0ba1fa459d284a9398c71afa1cb5d13de025de17", - "reference": "0ba1fa459d284a9398c71afa1cb5d13de025de17", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/e5ca16dee39ef7d63e552ff0bf0a2526a1142c92", + "reference": "e5ca16dee39ef7d63e552ff0bf0a2526a1142c92", "shasum": "" }, "require": { @@ -2336,7 +3320,7 @@ "description": "Allows you to standardize and centralize the way objects are constructed in your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dependency-injection/tree/v5.4.38" + "source": "https://github.com/symfony/dependency-injection/tree/v5.4.48" }, "funding": [ { @@ -2352,33 +3336,33 @@ "type": "tidelift" } ], - "time": "2024-03-18T16:56:51+00:00" + "time": "2024-11-20T10:51:57+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v2.5.3", + "version": "v3.7.1", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "80d075412b557d41002320b96a096ca65aa2c98d" + "reference": "f3202fa1b5097b0af062dc978b32ecf63404e31d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/80d075412b557d41002320b96a096ca65aa2c98d", - "reference": "80d075412b557d41002320b96a096ca65aa2c98d", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/f3202fa1b5097b0af062dc978b32ecf63404e31d", + "reference": "f3202fa1b5097b0af062dc978b32ecf63404e31d", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=8.1" }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "2.5-dev" - }, "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.7-dev" } }, "autoload": { @@ -2403,7 +3387,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.3" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.7.1" }, "funding": [ { @@ -2414,53 +3398,52 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2023-01-24T14:02:46+00:00" + "time": "2026-06-05T06:23:12+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v5.4.35", + "version": "v6.4.37", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "7a69a85c7ea5bdd1e875806a99c51a87d3a74b38" + "reference": "2e3bf817ba9347341ab15926700fb6320367c0e1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/7a69a85c7ea5bdd1e875806a99c51a87d3a74b38", - "reference": "7a69a85c7ea5bdd1e875806a99c51a87d3a74b38", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/2e3bf817ba9347341ab15926700fb6320367c0e1", + "reference": "2e3bf817ba9347341ab15926700fb6320367c0e1", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/event-dispatcher-contracts": "^2|^3", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.1", + "symfony/event-dispatcher-contracts": "^2.5|^3" }, "conflict": { - "symfony/dependency-injection": "<4.4" + "symfony/dependency-injection": "<5.4", + "symfony/service-contracts": "<2.5" }, "provide": { "psr/event-dispatcher-implementation": "1.0", - "symfony/event-dispatcher-implementation": "2.0" + "symfony/event-dispatcher-implementation": "2.0|3.0" }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/error-handler": "^4.4|^5.0|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/http-foundation": "^4.4|^5.0|^6.0", - "symfony/service-contracts": "^1.1|^2|^3", - "symfony/stopwatch": "^4.4|^5.0|^6.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/error-handler": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^5.4|^6.0|^7.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/stopwatch": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -2488,7 +3471,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.35" + "source": "https://github.com/symfony/event-dispatcher/tree/v6.4.37" }, "funding": [ { @@ -2499,25 +3482,29 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-01-23T13:51:25+00:00" + "time": "2026-04-13T14:11:12+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v2.5.3", + "version": "v2.5.4", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "540f4c73e87fd0c71ca44a6aa305d024ac68cb73" + "reference": "e0fe3d79b516eb75126ac6fa4cbf19b79b08c99f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/540f4c73e87fd0c71ca44a6aa305d024ac68cb73", - "reference": "540f4c73e87fd0c71ca44a6aa305d024ac68cb73", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/e0fe3d79b516eb75126ac6fa4cbf19b79b08c99f", + "reference": "e0fe3d79b516eb75126ac6fa4cbf19b79b08c99f", "shasum": "" }, "require": { @@ -2529,12 +3516,12 @@ }, "type": "library", "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, "branch-alias": { "dev-main": "2.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -2567,7 +3554,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.5.3" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.5.4" }, "funding": [ { @@ -2583,20 +3570,20 @@ "type": "tidelift" } ], - "time": "2024-01-23T13:51:25+00:00" + "time": "2024-09-25T14:11:13+00:00" }, { "name": "symfony/expression-language", - "version": "v5.4.35", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/expression-language.git", - "reference": "d59441c10a5a73cd9d4d778b8253595a16f6716d" + "reference": "a784b66edc4c151eb05076d04707906ee2c209a9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/expression-language/zipball/d59441c10a5a73cd9d4d778b8253595a16f6716d", - "reference": "d59441c10a5a73cd9d4d778b8253595a16f6716d", + "url": "https://api.github.com/repos/symfony/expression-language/zipball/a784b66edc4c151eb05076d04707906ee2c209a9", + "reference": "a784b66edc4c151eb05076d04707906ee2c209a9", "shasum": "" }, "require": { @@ -2630,7 +3617,7 @@ "description": "Provides an engine that can compile and evaluate expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/expression-language/tree/v5.4.35" + "source": "https://github.com/symfony/expression-language/tree/v5.4.45" }, "funding": [ { @@ -2646,20 +3633,20 @@ "type": "tidelift" } ], - "time": "2024-01-23T13:51:25+00:00" + "time": "2024-10-04T14:55:40+00:00" }, { "name": "symfony/filesystem", - "version": "v5.4.38", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "899330a01056077271e2f614c7b28b0379a671eb" + "reference": "57c8294ed37d4a055b77057827c67f9558c95c54" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/899330a01056077271e2f614c7b28b0379a671eb", - "reference": "899330a01056077271e2f614c7b28b0379a671eb", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/57c8294ed37d4a055b77057827c67f9558c95c54", + "reference": "57c8294ed37d4a055b77057827c67f9558c95c54", "shasum": "" }, "require": { @@ -2668,6 +3655,9 @@ "symfony/polyfill-mbstring": "~1.8", "symfony/polyfill-php80": "^1.16" }, + "require-dev": { + "symfony/process": "^5.4|^6.4" + }, "type": "library", "autoload": { "psr-4": { @@ -2694,7 +3684,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v5.4.38" + "source": "https://github.com/symfony/filesystem/tree/v5.4.45" }, "funding": [ { @@ -2710,20 +3700,20 @@ "type": "tidelift" } ], - "time": "2024-03-21T08:05:07+00:00" + "time": "2024-10-22T13:05:35+00:00" }, { "name": "symfony/finder", - "version": "v5.4.35", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "abe6d6f77d9465fed3cd2d029b29d03b56b56435" + "reference": "63741784cd7b9967975eec610b256eed3ede022b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/abe6d6f77d9465fed3cd2d029b29d03b56b56435", - "reference": "abe6d6f77d9465fed3cd2d029b29d03b56b56435", + "url": "https://api.github.com/repos/symfony/finder/zipball/63741784cd7b9967975eec610b256eed3ede022b", + "reference": "63741784cd7b9967975eec610b256eed3ede022b", "shasum": "" }, "require": { @@ -2757,7 +3747,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v5.4.35" + "source": "https://github.com/symfony/finder/tree/v5.4.45" }, "funding": [ { @@ -2773,20 +3763,20 @@ "type": "tidelift" } ], - "time": "2024-01-23T13:51:25+00:00" + "time": "2024-09-28T13:32:08+00:00" }, { "name": "symfony/http-foundation", - "version": "v5.4.38", + "version": "v5.4.50", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "d8c13d35f68c69e15595fe37fa2c225d11c10f7e" + "reference": "1a0706e8b8041046052ea2695eb8aeee04f97609" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/d8c13d35f68c69e15595fe37fa2c225d11c10f7e", - "reference": "d8c13d35f68c69e15595fe37fa2c225d11c10f7e", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/1a0706e8b8041046052ea2695eb8aeee04f97609", + "reference": "1a0706e8b8041046052ea2695eb8aeee04f97609", "shasum": "" }, "require": { @@ -2796,7 +3786,7 @@ "symfony/polyfill-php80": "^1.16" }, "require-dev": { - "predis/predis": "~1.0", + "predis/predis": "^1.0|^2.0", "symfony/cache": "^4.4|^5.0|^6.0", "symfony/dependency-injection": "^5.4|^6.0", "symfony/expression-language": "^4.4|^5.0|^6.0", @@ -2833,7 +3823,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v5.4.38" + "source": "https://github.com/symfony/http-foundation/tree/v5.4.50" }, "funding": [ { @@ -2844,39 +3834,43 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-03-19T10:19:25+00:00" + "time": "2025-11-03T12:58:48+00:00" }, { "name": "symfony/lock", - "version": "v5.4.38", + "version": "v6.4.42", "source": { "type": "git", "url": "https://github.com/symfony/lock.git", - "reference": "d1a912eaac5a39e2fac19e00055d07890a1b9187" + "reference": "b9e0464c0085b12fb50924f87883421e67917b33" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/lock/zipball/d1a912eaac5a39e2fac19e00055d07890a1b9187", - "reference": "d1a912eaac5a39e2fac19e00055d07890a1b9187", + "url": "https://api.github.com/repos/symfony/lock/zipball/b9e0464c0085b12fb50924f87883421e67917b33", + "reference": "b9e0464c0085b12fb50924f87883421e67917b33", "shasum": "" }, "require": { - "php": ">=7.2.5", + "php": ">=8.1", "psr/log": "^1|^2|^3", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php80": "^1.16" + "symfony/deprecation-contracts": "^2.5|^3" }, "conflict": { - "doctrine/dbal": "<2.13" + "doctrine/dbal": "<2.13.1", + "symfony/cache": "<6.2" }, "require-dev": { - "doctrine/dbal": "^2.13|^3|^4", - "predis/predis": "~1.0" + "doctrine/dbal": "^2.13.1|^3|^4", + "predis/predis": "^1.1|^2.0" }, "type": "library", "autoload": { @@ -2912,7 +3906,7 @@ "semaphore" ], "support": { - "source": "https://github.com/symfony/lock/tree/v5.4.38" + "source": "https://github.com/symfony/lock/tree/v6.4.42" }, "funding": [ { @@ -2923,25 +3917,29 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-03-16T08:39:04+00:00" + "time": "2026-06-16T10:12:24+00:00" }, { "name": "symfony/mailer", - "version": "v5.4.38", + "version": "v5.4.52", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "1d0ef27f1b19b9a0175a0e130d1df3113e5a130e" + "reference": "5b5385bc21c3549a80abc1353ccf8eb0b6861c61" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/1d0ef27f1b19b9a0175a0e130d1df3113e5a130e", - "reference": "1d0ef27f1b19b9a0175a0e130d1df3113e5a130e", + "url": "https://api.github.com/repos/symfony/mailer/zipball/5b5385bc21c3549a80abc1353ccf8eb0b6861c61", + "reference": "5b5385bc21c3549a80abc1353ccf8eb0b6861c61", "shasum": "" }, "require": { @@ -2988,7 +3986,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v5.4.38" + "source": "https://github.com/symfony/mailer/tree/v5.4.52" }, "funding": [ { @@ -2999,25 +3997,29 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-03-19T10:19:25+00:00" + "time": "2026-05-11T06:39:31+00:00" }, { "name": "symfony/mime", - "version": "v5.4.38", + "version": "v5.4.52", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "82fa6be8a0295a3932df871e88fc8c8d77aa71d4" + "reference": "8f89d3a319b92486b0bcc43c0479d19fdb0e2f64" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/82fa6be8a0295a3932df871e88fc8c8d77aa71d4", - "reference": "82fa6be8a0295a3932df871e88fc8c8d77aa71d4", + "url": "https://api.github.com/repos/symfony/mime/zipball/8f89d3a319b92486b0bcc43c0479d19fdb0e2f64", + "reference": "8f89d3a319b92486b0bcc43c0479d19fdb0e2f64", "shasum": "" }, "require": { @@ -3073,7 +4075,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v5.4.38" + "source": "https://github.com/symfony/mime/tree/v5.4.52" }, "funding": [ { @@ -3084,25 +4086,29 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-03-21T07:25:32+00:00" + "time": "2026-05-05T14:35:32+00:00" }, { "name": "symfony/options-resolver", - "version": "v5.4.21", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "4fe5cf6ede71096839f0e4b4444d65dd3a7c1eb9" + "reference": "74e5b6f0db3e8589e6cfd5efb317a1fc2bb52fb6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/4fe5cf6ede71096839f0e4b4444d65dd3a7c1eb9", - "reference": "4fe5cf6ede71096839f0e4b4444d65dd3a7c1eb9", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/74e5b6f0db3e8589e6cfd5efb317a1fc2bb52fb6", + "reference": "74e5b6f0db3e8589e6cfd5efb317a1fc2bb52fb6", "shasum": "" }, "require": { @@ -3142,7 +4148,7 @@ "options" ], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v5.4.21" + "source": "https://github.com/symfony/options-resolver/tree/v5.4.45" }, "funding": [ { @@ -3158,24 +4164,24 @@ "type": "tidelift" } ], - "time": "2023-02-14T08:03:56+00:00" + "time": "2024-09-25T14:11:13+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.29.0", + "version": "v1.37.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4" + "reference": "141046a8f9477948ff284fa65be2095baafb94f2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4", - "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/141046a8f9477948ff284fa65be2095baafb94f2", + "reference": "141046a8f9477948ff284fa65be2095baafb94f2", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "provide": { "ext-ctype": "*" @@ -3186,8 +4192,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -3221,7 +4227,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.37.0" }, "funding": [ { @@ -3232,29 +4238,33 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2026-04-10T16:19:22+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.29.0", + "version": "v1.38.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f" + "reference": "e9247d281d694a5120554d9afaf54e070e88a603" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/32a9da87d7b3245e09ac426c83d334ae9f06f80f", - "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/e9247d281d694a5120554d9afaf54e070e88a603", + "reference": "e9247d281d694a5120554d9afaf54e070e88a603", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "suggest": { "ext-intl": "For best performance" @@ -3262,8 +4272,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -3299,7 +4309,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.38.1" }, "funding": [ { @@ -3310,29 +4320,33 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2026-05-26T05:58:03+00:00" }, { "name": "symfony/polyfill-intl-icu", - "version": "v1.29.0", + "version": "v1.38.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-icu.git", - "reference": "07094a28851a49107f3ab4f9120ca2975a64b6e1" + "reference": "445c90e341fccda10311019cf82ff73bb7343945" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/07094a28851a49107f3ab4f9120ca2975a64b6e1", - "reference": "07094a28851a49107f3ab4f9120ca2975a64b6e1", + "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/445c90e341fccda10311019cf82ff73bb7343945", + "reference": "445c90e341fccda10311019cf82ff73bb7343945", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "suggest": { "ext-intl": "For best performance and support of other locales than \"en\"" @@ -3340,8 +4354,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -3383,7 +4397,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.38.0" }, "funding": [ { @@ -3394,31 +4408,34 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-01-29T20:12:16+00:00" + "time": "2026-05-25T11:52:53+00:00" }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.29.0", + "version": "v1.38.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "a287ed7475f85bf6f61890146edbc932c0fff919" + "reference": "dc21118016c039a66235cf93d96b435ffb282412" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/a287ed7475f85bf6f61890146edbc932c0fff919", - "reference": "a287ed7475f85bf6f61890146edbc932c0fff919", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/dc21118016c039a66235cf93d96b435ffb282412", + "reference": "dc21118016c039a66235cf93d96b435ffb282412", "shasum": "" }, "require": { - "php": ">=7.1", - "symfony/polyfill-intl-normalizer": "^1.10", - "symfony/polyfill-php72": "^1.10" + "php": ">=7.2", + "symfony/polyfill-intl-normalizer": "^1.10" }, "suggest": { "ext-intl": "For best performance" @@ -3426,8 +4443,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -3467,7 +4484,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.38.1" }, "funding": [ { @@ -3478,29 +4495,33 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2026-05-25T15:22:23+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.29.0", + "version": "v1.38.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "bc45c394692b948b4d383a08d7753968bed9a83d" + "reference": "2d446c214bdbe5b71bde5011b060a05fece3ae6b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/bc45c394692b948b4d383a08d7753968bed9a83d", - "reference": "bc45c394692b948b4d383a08d7753968bed9a83d", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/2d446c214bdbe5b71bde5011b060a05fece3ae6b", + "reference": "2d446c214bdbe5b71bde5011b060a05fece3ae6b", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "suggest": { "ext-intl": "For best performance" @@ -3508,8 +4529,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -3548,7 +4569,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.38.0" }, "funding": [ { @@ -3559,29 +4580,34 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2026-05-25T13:48:31+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.29.0", + "version": "v1.38.2", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec" + "reference": "d3d318bad5e7a1bfbd026009c8bfb8d8f99ae6b6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec", - "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/d3d318bad5e7a1bfbd026009c8bfb8d8f99ae6b6", + "reference": "d3d318bad5e7a1bfbd026009c8bfb8d8f99ae6b6", "shasum": "" }, "require": { - "php": ">=7.1" + "ext-iconv": "*", + "php": ">=7.2" }, "provide": { "ext-mbstring": "*" @@ -3592,8 +4618,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -3628,7 +4654,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.38.2" }, "funding": [ { @@ -3640,76 +4666,7 @@ "type": "github" }, { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-01-29T20:11:03+00:00" - }, - { - "name": "symfony/polyfill-php72", - "version": "v1.29.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "861391a8da9a04cbad2d232ddd9e4893220d6e25" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/861391a8da9a04cbad2d232ddd9e4893220d6e25", - "reference": "861391a8da9a04cbad2d232ddd9e4893220d6e25", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php72\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php72/tree/v1.29.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", + "url": "https://github.com/nicolas-grekas", "type": "github" }, { @@ -3717,30 +4674,30 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2026-05-27T06:59:30+00:00" }, { "name": "symfony/polyfill-php73", - "version": "v1.29.0", + "version": "v1.37.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "21bd091060673a1177ae842c0ef8fe30893114d2" + "reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/21bd091060673a1177ae842c0ef8fe30893114d2", - "reference": "21bd091060673a1177ae842c0ef8fe30893114d2", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/0f68c03565dcaaf25a890667542e8bd75fe7e5bb", + "reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -3777,7 +4734,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-php73/tree/v1.37.0" }, "funding": [ { @@ -3788,35 +4745,39 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.29.0", + "version": "v1.37.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b" + "reference": "dfb55726c3a76ea3b6459fcfda1ec2d80a682411" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", - "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/dfb55726c3a76ea3b6459fcfda1ec2d80a682411", + "reference": "dfb55726c3a76ea3b6459fcfda1ec2d80a682411", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -3857,7 +4818,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.37.0" }, "funding": [ { @@ -3868,35 +4829,39 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2026-04-10T16:19:22+00:00" }, { "name": "symfony/polyfill-php81", - "version": "v1.29.0", + "version": "v1.38.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php81.git", - "reference": "c565ad1e63f30e7477fc40738343c62b40bc672d" + "reference": "6bfb9c766cacffbc8e118cb87217d08ed84e5cd7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/c565ad1e63f30e7477fc40738343c62b40bc672d", - "reference": "c565ad1e63f30e7477fc40738343c62b40bc672d", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/6bfb9c766cacffbc8e118cb87217d08ed84e5cd7", + "reference": "6bfb9c766cacffbc8e118cb87217d08ed84e5cd7", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -3933,7 +4898,172 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-php81/tree/v1.38.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-05-26T12:45:58+00:00" + }, + { + "name": "symfony/polyfill-php83", + "version": "v1.38.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php83.git", + "reference": "796a26abb75ce49f3a84433cd81bf1009d73d5f8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/796a26abb75ce49f3a84433cd81bf1009d73d5f8", + "reference": "796a26abb75ce49f3a84433cd81bf1009d73d5f8", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php83\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php83/tree/v1.38.2" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-05-27T06:51:48+00:00" + }, + { + "name": "symfony/property-access", + "version": "v5.4.45", + "source": { + "type": "git", + "url": "https://github.com/symfony/property-access.git", + "reference": "111e7ed617509f1a9139686055d234aad6e388e0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/property-access/zipball/111e7ed617509f1a9139686055d234aad6e388e0", + "reference": "111e7ed617509f1a9139686055d234aad6e388e0", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-php80": "^1.16", + "symfony/property-info": "^5.2|^6.0" + }, + "require-dev": { + "symfony/cache": "^4.4|^5.0|^6.0" + }, + "suggest": { + "psr/cache-implementation": "To cache access methods." + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\PropertyAccess\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides functions to read and write from/to an object or array using a simple string notation", + "homepage": "https://symfony.com", + "keywords": [ + "access", + "array", + "extraction", + "index", + "injection", + "object", + "property", + "property-path", + "reflection" + ], + "support": { + "source": "https://github.com/symfony/property-access/tree/v5.4.45" }, "funding": [ { @@ -3949,20 +5079,111 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-09-25T14:11:13+00:00" }, { - "name": "symfony/rate-limiter", - "version": "v5.4.35", + "name": "symfony/property-info", + "version": "v5.4.48", "source": { "type": "git", - "url": "https://github.com/symfony/rate-limiter.git", - "reference": "9bd24ef2e0948fff4d6741798ba4c7468b75bc8d" + "url": "https://github.com/symfony/property-info.git", + "reference": "a0396295ad585f95fccd690bc6a281e5bd303902" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/rate-limiter/zipball/9bd24ef2e0948fff4d6741798ba4c7468b75bc8d", - "reference": "9bd24ef2e0948fff4d6741798ba4c7468b75bc8d", + "url": "https://api.github.com/repos/symfony/property-info/zipball/a0396295ad585f95fccd690bc6a281e5bd303902", + "reference": "a0396295ad585f95fccd690bc6a281e5bd303902", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-php80": "^1.16", + "symfony/string": "^5.1|^6.0" + }, + "conflict": { + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", + "symfony/dependency-injection": "<4.4" + }, + "require-dev": { + "doctrine/annotations": "^1.10.4|^2", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "phpstan/phpdoc-parser": "^1.0|^2.0", + "symfony/cache": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/serializer": "^4.4|^5.0|^6.0" + }, + "suggest": { + "phpdocumentor/reflection-docblock": "To use the PHPDoc", + "psr/cache-implementation": "To cache results", + "symfony/doctrine-bridge": "To use Doctrine metadata", + "symfony/serializer": "To use Serializer metadata" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\PropertyInfo\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Kévin Dunglas", + "email": "dunglas@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Extracts information about PHP class' properties using metadata of popular sources", + "homepage": "https://symfony.com", + "keywords": [ + "doctrine", + "phpdoc", + "property", + "symfony", + "type", + "validator" + ], + "support": { + "source": "https://github.com/symfony/property-info/tree/v5.4.48" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-11-25T16:14:41+00:00" + }, + { + "name": "symfony/rate-limiter", + "version": "v5.4.47", + "source": { + "type": "git", + "url": "https://github.com/symfony/rate-limiter.git", + "reference": "c902bf796ca6c9656c3cc8185b53afb9acbb7c72" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/rate-limiter/zipball/c902bf796ca6c9656c3cc8185b53afb9acbb7c72", + "reference": "c902bf796ca6c9656c3cc8185b53afb9acbb7c72", "shasum": "" }, "require": { @@ -4003,7 +5224,7 @@ "rate-limiter" ], "support": { - "source": "https://github.com/symfony/rate-limiter/tree/v5.4.35" + "source": "https://github.com/symfony/rate-limiter/tree/v5.4.47" }, "funding": [ { @@ -4019,20 +5240,20 @@ "type": "tidelift" } ], - "time": "2024-01-23T13:51:25+00:00" + "time": "2024-11-07T11:51:21+00:00" }, { "name": "symfony/routing", - "version": "v5.4.38", + "version": "v5.4.53", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "f455f06d4ee7d354d9dcaf7d436532c1f388ee01" + "reference": "f4ca0c533854c26e3b27e981da760807f89e1a42" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/f455f06d4ee7d354d9dcaf7d436532c1f388ee01", - "reference": "f455f06d4ee7d354d9dcaf7d436532c1f388ee01", + "url": "https://api.github.com/repos/symfony/routing/zipball/f4ca0c533854c26e3b27e981da760807f89e1a42", + "reference": "f4ca0c533854c26e3b27e981da760807f89e1a42", "shasum": "" }, "require": { @@ -4093,7 +5314,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v5.4.38" + "source": "https://github.com/symfony/routing/tree/v5.4.53" }, "funding": [ { @@ -4104,25 +5325,29 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-03-18T16:56:51+00:00" + "time": "2026-05-22T19:02:28+00:00" }, { "name": "symfony/service-contracts", - "version": "v2.5.3", + "version": "v2.5.4", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "a2329596ddc8fd568900e3fc76cba42489ecc7f3" + "reference": "f37b419f7aea2e9abf10abd261832cace12e3300" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/a2329596ddc8fd568900e3fc76cba42489ecc7f3", - "reference": "a2329596ddc8fd568900e3fc76cba42489ecc7f3", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f37b419f7aea2e9abf10abd261832cace12e3300", + "reference": "f37b419f7aea2e9abf10abd261832cace12e3300", "shasum": "" }, "require": { @@ -4138,12 +5363,12 @@ }, "type": "library", "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, "branch-alias": { "dev-main": "2.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -4176,7 +5401,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v2.5.3" + "source": "https://github.com/symfony/service-contracts/tree/v2.5.4" }, "funding": [ { @@ -4192,38 +5417,37 @@ "type": "tidelift" } ], - "time": "2023-04-21T15:04:16+00:00" + "time": "2024-09-25T14:11:13+00:00" }, { "name": "symfony/string", - "version": "v5.4.36", + "version": "v6.4.39", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "4e232c83622bd8cd32b794216aa29d0d266d353b" + "reference": "62e3c927de664edadb5bef260987eb047a17a113" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/4e232c83622bd8cd32b794216aa29d0d266d353b", - "reference": "4e232c83622bd8cd32b794216aa29d0d266d353b", + "url": "https://api.github.com/repos/symfony/string/zipball/62e3c927de664edadb5bef260987eb047a17a113", + "reference": "62e3c927de664edadb5bef260987eb047a17a113", "shasum": "" }, "require": { - "php": ">=7.2.5", + "php": ">=8.1", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-intl-grapheme": "~1.0", "symfony/polyfill-intl-normalizer": "~1.0", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "~1.15" + "symfony/polyfill-mbstring": "~1.0" }, "conflict": { - "symfony/translation-contracts": ">=3.0" + "symfony/translation-contracts": "<2.5" }, "require-dev": { - "symfony/error-handler": "^4.4|^5.0|^6.0", - "symfony/http-client": "^4.4|^5.0|^6.0", - "symfony/translation-contracts": "^1.1|^2", - "symfony/var-exporter": "^4.4|^5.0|^6.0" + "symfony/http-client": "^5.4|^6.0|^7.0", + "symfony/intl": "^6.2|^7.0", + "symfony/translation-contracts": "^2.5|^3.0", + "symfony/var-exporter": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -4262,7 +5486,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v5.4.36" + "source": "https://github.com/symfony/string/tree/v6.4.39" }, "funding": [ { @@ -4273,33 +5497,39 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-02-01T08:49:30+00:00" + "time": "2026-05-12T11:44:19+00:00" }, { "name": "symfony/var-exporter", - "version": "v5.4.35", + "version": "v7.4.14", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "abb0a151b62d6b07e816487e20040464af96cae7" + "reference": "0118811b1d59f323bf131250b3fb919febfece28" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/abb0a151b62d6b07e816487e20040464af96cae7", - "reference": "abb0a151b62d6b07e816487e20040464af96cae7", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/0118811b1d59f323bf131250b3fb919febfece28", + "reference": "0118811b1d59f323bf131250b3fb919febfece28", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3" }, "require-dev": { - "symfony/var-dumper": "^4.4.9|^5.0.9|^6.0" + "symfony/property-access": "^6.4|^7.0|^8.0", + "symfony/serializer": "^6.4|^7.0|^8.0", + "symfony/var-dumper": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -4332,10 +5562,12 @@ "export", "hydrate", "instantiate", + "lazy-loading", + "proxy", "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v5.4.35" + "source": "https://github.com/symfony/var-exporter/tree/v7.4.14" }, "funding": [ { @@ -4346,25 +5578,29 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-01-23T13:51:25+00:00" + "time": "2026-06-27T08:41:53+00:00" }, { "name": "symfony/yaml", - "version": "v5.4.35", + "version": "v5.4.53", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "e78db7f5c70a21f0417a31f414c4a95fe76c07e4" + "reference": "ae0bbb46f77ff56591d0a0259c7f458f4b3e1f77" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/e78db7f5c70a21f0417a31f414c4a95fe76c07e4", - "reference": "e78db7f5c70a21f0417a31f414c4a95fe76c07e4", + "url": "https://api.github.com/repos/symfony/yaml/zipball/ae0bbb46f77ff56591d0a0259c7f458f4b3e1f77", + "reference": "ae0bbb46f77ff56591d0a0259c7f458f4b3e1f77", "shasum": "" }, "require": { @@ -4410,7 +5646,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v5.4.35" + "source": "https://github.com/symfony/yaml/tree/v5.4.53" }, "funding": [ { @@ -4421,38 +5657,213 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-01-23T13:51:25+00:00" + "time": "2026-05-20T17:13:41+00:00" }, { - "name": "typo3/class-alias-loader", - "version": "v1.1.4", + "name": "t3brightside/embedassets", + "version": "1.3.0", "source": { "type": "git", - "url": "https://github.com/TYPO3/class-alias-loader.git", - "reference": "f6fc1f5fb04c42195e8e663b43aced4919ef318f" + "url": "https://github.com/t3brightside/embedassets.git", + "reference": "480ec7ff9c22ae3ffc87fdd114c7ffe8cc1e99f1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3/class-alias-loader/zipball/f6fc1f5fb04c42195e8e663b43aced4919ef318f", - "reference": "f6fc1f5fb04c42195e8e663b43aced4919ef318f", + "url": "https://api.github.com/repos/t3brightside/embedassets/zipball/480ec7ff9c22ae3ffc87fdd114c7ffe8cc1e99f1", + "reference": "480ec7ff9c22ae3ffc87fdd114c7ffe8cc1e99f1", "shasum": "" }, "require": { - "composer-plugin-api": "^1.0 || ^2.0", - "php": ">=5.3.7" + "matthiasmullie/minify": "^1.3", + "typo3/cms-fluid": "^11.5 || ^12.4 || ^13.0" + }, + "type": "typo3-cms-extension", + "extra": { + "typo3/cms": { + "extension-key": "embedassets" + } + }, + "autoload": { + "psr-4": { + "Brightside\\Embedassets\\": "Classes" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "Tanel Põld", + "homepage": "https://t3brightside.com", + "role": "Developer" + } + ], + "description": "Fluid viewhelpers for embed and minified CSS/JS", + "homepage": "https://t3brightside.com/", + "keywords": [ + "optimize", + "typo3" + ], + "support": { + "issues": "https://github.com/t3brightside/embedassets/issues", + "source": "https://github.com/t3brightside/embedassets/tree/1.3.0" + }, + "time": "2024-02-07T20:19:51+00:00" + }, + { + "name": "t3brightside/paginatedprocessors", + "version": "1.5.1", + "source": { + "type": "git", + "url": "https://github.com/t3brightside/paginatedprocessors.git", + "reference": "3ea11e6001af3a6bebe797b83a56d7d122d940c9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/t3brightside/paginatedprocessors/zipball/3ea11e6001af3a6bebe797b83a56d7d122d940c9", + "reference": "3ea11e6001af3a6bebe797b83a56d7d122d940c9", + "shasum": "" + }, + "require": { + "t3brightside/embedassets": "^1.2", + "typo3/cms-core": "^11.5 || ^12.4" + }, + "type": "typo3-cms-extension", + "extra": { + "typo3/cms": { + "extension-key": "paginatedprocessors" + } + }, + "autoload": { + "psr-4": { + "Brightside\\Paginatedprocessors\\": "Classes" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "Tanel Põld", + "homepage": "https://t3brightside.com", + "role": "Developer" + } + ], + "description": "Paginated dataprocessors for TYPO3", + "homepage": "https://t3brightside.com", + "keywords": [ + "dataprocessing", + "pagination", + "typo3" + ], + "support": { + "issues": "https://github.com/t3brightside/paginatedprocessors/issues", + "source": "https://github.com/t3brightside/paginatedprocessors/tree/1.5.1" + }, + "funding": [ + { + "url": "https://github.com/t3brightside", + "type": "github" + } + ], + "time": "2023-04-26T12:01:05+00:00" + }, + { + "name": "t3brightside/youtubevideo", + "version": "2.1.1", + "source": { + "type": "git", + "url": "https://github.com/t3brightside/youtubevideo.git", + "reference": "aa828bbf07894e958ee00e5a6279e3078f9b7cd7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/t3brightside/youtubevideo/zipball/aa828bbf07894e958ee00e5a6279e3078f9b7cd7", + "reference": "aa828bbf07894e958ee00e5a6279e3078f9b7cd7", + "shasum": "" + }, + "require": { + "typo3/cms-core": "^10.4 ||^11.5", + "typo3/cms-fluid-styled-content": "^10.4 || ^11.5" + }, + "type": "typo3-cms-extension", + "extra": { + "typo3/cms": { + "extension-key": "youtubevideo" + } + }, + "autoload": { + "psr-4": { + "Brightside\\Youtubevideo\\": "Classes" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "Tanel Põld", + "homepage": "https://t3brightside.com", + "role": "Developer" + } + ], + "description": "TYPO3 CMS extension for YouTube video content with custom cover images, gallery layout and backend previews.", + "homepage": "https://github.com/t3brightside/youtubevideo/", + "keywords": [ + "responsive", + "typo3", + "video", + "youtube" + ], + "support": { + "issues": "https://github.com/t3brightside/youtubevideo/issues", + "source": "https://github.com/t3brightside/youtubevideo/tree/2.1.1" + }, + "funding": [ + { + "url": "https://github.com/t3brightside", + "type": "github" + } + ], + "time": "2022-01-22T21:18:10+00:00" + }, + { + "name": "typo3/class-alias-loader", + "version": "v1.2.2", + "source": { + "type": "git", + "url": "https://github.com/TYPO3/class-alias-loader.git", + "reference": "9e385e64ddf8a1ad354a4d62d4d0f90bce4dcbc2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3/class-alias-loader/zipball/9e385e64ddf8a1ad354a4d62d4d0f90bce4dcbc2", + "reference": "9e385e64ddf8a1ad354a4d62d4d0f90bce4dcbc2", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^2.0", + "php": ">=7.1" }, "replace": { "helhum/class-alias-loader": "*" }, "require-dev": { - "composer/composer": "^1.1@dev || ^2.0@dev", + "composer/composer": "^2.0@dev", "mikey179/vfsstream": "~1.4.0@dev", - "phpunit/phpunit": ">4.8 <9" + "phpunit/phpunit": "^8 || ^9" }, "type": "composer-plugin", "extra": { @@ -4486,22 +5897,96 @@ ], "support": { "issues": "https://github.com/TYPO3/class-alias-loader/issues", - "source": "https://github.com/TYPO3/class-alias-loader/tree/v1.1.4" + "source": "https://github.com/TYPO3/class-alias-loader/tree/v1.2.2" }, - "time": "2022-08-07T14:48:42+00:00" + "time": "2026-04-17T09:41:06+00:00" }, { - "name": "typo3/cms-cli", - "version": "3.1.1", + "name": "typo3/cms-backend", + "version": "v11.5.41", "source": { "type": "git", - "url": "https://github.com/TYPO3/cms-cli.git", - "reference": "d8947732ff5a6dc52829e88cb1c761124475c0e8" + "url": "https://github.com/TYPO3-CMS/backend.git", + "reference": "3731452fa07b013cf96b67b3a826a3403a8f2968" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3/cms-cli/zipball/d8947732ff5a6dc52829e88cb1c761124475c0e8", - "reference": "d8947732ff5a6dc52829e88cb1c761124475c0e8", + "url": "https://api.github.com/repos/TYPO3-CMS/backend/zipball/3731452fa07b013cf96b67b3a826a3403a8f2968", + "reference": "3731452fa07b013cf96b67b3a826a3403a8f2968", + "shasum": "" + }, + "require": { + "psr/event-dispatcher": "^1.0", + "typo3/cms-core": "11.5.41", + "typo3/cms-recordlist": "11.5.41" + }, + "conflict": { + "typo3/cms": "*" + }, + "replace": { + "typo3/cms-about": "self.version", + "typo3/cms-context-help": "self.version", + "typo3/cms-cshmanual": "self.version", + "typo3/cms-func-wizards": "self.version", + "typo3/cms-wizard-crpages": "self.version", + "typo3/cms-wizard-sortpages": "self.version" + }, + "suggest": { + "typo3/cms-install": "To generate url to install tool in environment toolbar" + }, + "type": "typo3-cms-framework", + "extra": { + "typo3/cms": { + "Package": { + "protected": true, + "serviceProvider": "TYPO3\\CMS\\Backend\\ServiceProvider", + "partOfFactoryDefault": true, + "partOfMinimalUsableSystem": true + }, + "extension-key": "backend" + }, + "branch-alias": { + "dev-master": "11.5.x-dev" + } + }, + "autoload": { + "psr-4": { + "TYPO3\\CMS\\Backend\\": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "TYPO3 Core Team", + "email": "typo3cms@typo3.org", + "role": "Developer" + } + ], + "description": "Classes for the TYPO3 backend.", + "homepage": "https://typo3.org", + "support": { + "chat": "https://typo3.org/help", + "docs": "https://docs.typo3.org", + "issues": "https://forge.typo3.org", + "source": "https://github.com/typo3/typo3" + }, + "time": "2024-10-15T08:52:52+00:00" + }, + { + "name": "typo3/cms-cli", + "version": "v3.1.3", + "source": { + "type": "git", + "url": "https://github.com/TYPO3/cms-cli.git", + "reference": "7e26bf51bd8dbd74f86f7c68cb14965c678930f8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3/cms-cli/zipball/7e26bf51bd8dbd74f86f7c68cb14965c678930f8", + "reference": "7e26bf51bd8dbd74f86f7c68cb14965c678930f8", "shasum": "" }, "require": { @@ -4519,22 +6004,22 @@ "homepage": "https://typo3.org", "support": { "issues": "https://github.com/TYPO3/cms-cli/issues", - "source": "https://github.com/TYPO3/cms-cli/tree/3.1.1" + "source": "https://github.com/TYPO3/cms-cli/tree/v3.1.3" }, - "time": "2023-08-15T10:14:53+00:00" + "time": "2025-12-31T13:41:20+00:00" }, { "name": "typo3/cms-composer-installers", - "version": "v3.1.3", + "version": "v3.1.4", "source": { "type": "git", "url": "https://github.com/TYPO3/CmsComposerInstallers.git", - "reference": "613d82075650ba846d287e20941e8a0e04ad0444" + "reference": "29fb214976fe05f39c7d0619ce1d648d59c50a08" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3/CmsComposerInstallers/zipball/613d82075650ba846d287e20941e8a0e04ad0444", - "reference": "613d82075650ba846d287e20941e8a0e04ad0444", + "url": "https://api.github.com/repos/TYPO3/CmsComposerInstallers/zipball/29fb214976fe05f39c7d0619ce1d648d59c50a08", + "reference": "29fb214976fe05f39c7d0619ce1d648d59c50a08", "shasum": "" }, "require": { @@ -4594,22 +6079,22 @@ "support": { "general": "https://typo3.org/support/", "issues": "https://github.com/TYPO3/CmsComposerInstallers/issues", - "source": "https://github.com/TYPO3/CmsComposerInstallers/tree/v3.1.3" + "source": "https://github.com/TYPO3/CmsComposerInstallers/tree/v3.1.4" }, - "time": "2022-08-05T19:06:26+00:00" + "time": "2024-08-13T14:56:37+00:00" }, { "name": "typo3/cms-core", - "version": "v11.5.36", + "version": "v11.5.41", "source": { "type": "git", "url": "https://github.com/TYPO3-CMS/core.git", - "reference": "ac1d0454654d1b754618001b79f06a952124f8ea" + "reference": "1249ec68101f20fd3d5b2e51366da0c005930a12" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/core/zipball/ac1d0454654d1b754618001b79f06a952124f8ea", - "reference": "ac1d0454654d1b754618001b79f06a952124f8ea", + "url": "https://api.github.com/repos/TYPO3-CMS/core/zipball/1249ec68101f20fd3d5b2e51366da0c005930a12", + "reference": "1249ec68101f20fd3d5b2e51366da0c005930a12", "shasum": "" }, "require": { @@ -4622,7 +6107,7 @@ "doctrine/instantiator": "^1.4", "doctrine/lexer": "^1.2.3", "egulias/email-validator": "^3.2.1", - "enshrined/svg-sanitize": "^0.15.4", + "enshrined/svg-sanitize": "^0.18.0", "ext-dom": "*", "ext-json": "*", "ext-libxml": "*", @@ -4661,6 +6146,7 @@ "symfony/polyfill-mbstring": "^1.23.1", "symfony/polyfill-php80": "^1.23.1", "symfony/polyfill-php81": "^1.23", + "symfony/polyfill-php83": "^1.31", "symfony/rate-limiter": "^5.4.8", "symfony/routing": "^5.4", "symfony/yaml": "^5.4", @@ -4696,17 +6182,17 @@ }, "type": "typo3-cms-framework", "extra": { - "branch-alias": { - "dev-master": "11.5.x-dev" - }, "typo3/cms": { "Package": { - "serviceProvider": "TYPO3\\CMS\\Core\\ServiceProvider", "protected": true, + "serviceProvider": "TYPO3\\CMS\\Core\\ServiceProvider", "partOfFactoryDefault": true, "partOfMinimalUsableSystem": true }, "extension-key": "core" + }, + "branch-alias": { + "dev-master": "11.5.x-dev" } }, "autoload": { @@ -4739,20 +6225,645 @@ "issues": "https://forge.typo3.org", "source": "https://github.com/typo3/typo3" }, - "time": "2024-02-20T08:27:39+00:00" + "time": "2024-10-15T08:52:52+00:00" }, { - "name": "typo3/html-sanitizer", - "version": "v2.1.4", + "name": "typo3/cms-extbase", + "version": "v11.5.41", "source": { "type": "git", - "url": "https://github.com/TYPO3/html-sanitizer.git", - "reference": "b8f90717251d968c49dc77f8c1e5912e2fbe0dff" + "url": "https://github.com/TYPO3-CMS/extbase.git", + "reference": "373a6115683261da595f9191bff88c90e962e523" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3/html-sanitizer/zipball/b8f90717251d968c49dc77f8c1e5912e2fbe0dff", - "reference": "b8f90717251d968c49dc77f8c1e5912e2fbe0dff", + "url": "https://api.github.com/repos/TYPO3-CMS/extbase/zipball/373a6115683261da595f9191bff88c90e962e523", + "reference": "373a6115683261da595f9191bff88c90e962e523", + "shasum": "" + }, + "require": { + "phpdocumentor/reflection-docblock": "^5.2", + "phpdocumentor/type-resolver": "^1.4", + "symfony/dependency-injection": "^5.4", + "symfony/property-access": "^5.4", + "symfony/property-info": "^5.4", + "typo3/cms-core": "11.5.41" + }, + "conflict": { + "typo3/cms": "*" + }, + "suggest": { + "typo3/cms-scheduler": "Additional scheduler tasks" + }, + "type": "typo3-cms-framework", + "extra": { + "typo3/cms": { + "Package": { + "protected": true, + "serviceProvider": "TYPO3\\CMS\\Extbase\\ServiceProvider", + "partOfFactoryDefault": true, + "partOfMinimalUsableSystem": true + }, + "extension-key": "extbase" + }, + "branch-alias": { + "dev-master": "11.5.x-dev" + } + }, + "autoload": { + "psr-4": { + "TYPO3\\CMS\\Extbase\\": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "TYPO3 Core Team", + "email": "typo3cms@typo3.org", + "role": "Developer" + } + ], + "description": "A framework to build extensions for TYPO3 CMS.", + "homepage": "https://typo3.org", + "support": { + "chat": "https://typo3.org/help", + "docs": "https://docs.typo3.org", + "issues": "https://forge.typo3.org", + "source": "https://github.com/typo3/typo3" + }, + "time": "2024-10-15T08:52:52+00:00" + }, + { + "name": "typo3/cms-extensionmanager", + "version": "v11.5.41", + "source": { + "type": "git", + "url": "https://github.com/TYPO3-CMS/extensionmanager.git", + "reference": "52045f9740341b39d6b21c408b81e2dbf0c3a163" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3-CMS/extensionmanager/zipball/52045f9740341b39d6b21c408b81e2dbf0c3a163", + "reference": "52045f9740341b39d6b21c408b81e2dbf0c3a163", + "shasum": "" + }, + "require": { + "ext-libxml": "*", + "typo3/cms-core": "11.5.41" + }, + "conflict": { + "typo3/cms": "*" + }, + "type": "typo3-cms-framework", + "extra": { + "typo3/cms": { + "Package": { + "protected": true, + "partOfFactoryDefault": true, + "partOfMinimalUsableSystem": true + }, + "extension-key": "extensionmanager" + }, + "branch-alias": { + "dev-master": "11.5.x-dev" + } + }, + "autoload": { + "psr-4": { + "TYPO3\\CMS\\Extensionmanager\\": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "TYPO3 Core Team", + "email": "typo3cms@typo3.org", + "role": "Developer" + } + ], + "description": "TYPO3 Extension Manager", + "homepage": "https://typo3.org", + "support": { + "chat": "https://typo3.org/help", + "docs": "https://docs.typo3.org", + "issues": "https://forge.typo3.org", + "source": "https://github.com/typo3/typo3" + }, + "time": "2024-10-15T08:52:52+00:00" + }, + { + "name": "typo3/cms-felogin", + "version": "v11.5.41", + "source": { + "type": "git", + "url": "https://github.com/TYPO3-CMS/felogin.git", + "reference": "c2d3896f00b2b8927ece41d54046298967f8e83f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3-CMS/felogin/zipball/c2d3896f00b2b8927ece41d54046298967f8e83f", + "reference": "c2d3896f00b2b8927ece41d54046298967f8e83f", + "shasum": "" + }, + "require": { + "typo3/cms-core": "11.5.41" + }, + "conflict": { + "typo3/cms": "*" + }, + "type": "typo3-cms-framework", + "extra": { + "typo3/cms": { + "Package": { + "partOfFactoryDefault": true + }, + "extension-key": "felogin" + }, + "branch-alias": { + "dev-master": "11.5.x-dev" + } + }, + "autoload": { + "psr-4": { + "TYPO3\\CMS\\FrontendLogin\\": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "TYPO3 Core Team", + "email": "typo3cms@typo3.org", + "role": "Developer" + } + ], + "description": "A template-based plugin to log in Website Users in the Frontend", + "homepage": "https://typo3.org", + "support": { + "chat": "https://typo3.org/help", + "docs": "https://docs.typo3.org/c/typo3/cms-felogin/11.5/en-us", + "issues": "https://forge.typo3.org", + "source": "https://github.com/typo3/typo3" + }, + "time": "2024-10-15T08:52:52+00:00" + }, + { + "name": "typo3/cms-fluid", + "version": "v11.5.41", + "source": { + "type": "git", + "url": "https://github.com/TYPO3-CMS/fluid.git", + "reference": "94e30bbf5a2476fdf5881b11b795849c41393292" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3-CMS/fluid/zipball/94e30bbf5a2476fdf5881b11b795849c41393292", + "reference": "94e30bbf5a2476fdf5881b11b795849c41393292", + "shasum": "" + }, + "require": { + "symfony/dependency-injection": "^5.4", + "typo3/cms-core": "11.5.41", + "typo3/cms-extbase": "11.5.41", + "typo3fluid/fluid": "^2.7.2" + }, + "conflict": { + "typo3/cms": "*" + }, + "type": "typo3-cms-framework", + "extra": { + "typo3/cms": { + "Package": { + "protected": true, + "serviceProvider": "TYPO3\\CMS\\Fluid\\ServiceProvider", + "partOfFactoryDefault": true, + "partOfMinimalUsableSystem": true + }, + "extension-key": "fluid" + }, + "branch-alias": { + "dev-master": "11.5.x-dev" + } + }, + "autoload": { + "psr-4": { + "TYPO3\\CMS\\Fluid\\": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "TYPO3 Core Team", + "email": "typo3cms@typo3.org", + "role": "Developer" + } + ], + "description": "Fluid is a next-generation templating engine which makes the life of extension authors a lot easier!", + "homepage": "https://typo3.org", + "support": { + "chat": "https://typo3.org/help", + "docs": "https://docs.typo3.org/other/typo3/view-helper-reference/main/en-us/", + "issues": "https://forge.typo3.org", + "source": "https://github.com/typo3/typo3" + }, + "time": "2024-10-15T08:52:52+00:00" + }, + { + "name": "typo3/cms-fluid-styled-content", + "version": "v11.5.41", + "source": { + "type": "git", + "url": "https://github.com/TYPO3-CMS/fluid_styled_content.git", + "reference": "1e12ebe6739032dd7705b8a109a246023714b31f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3-CMS/fluid_styled_content/zipball/1e12ebe6739032dd7705b8a109a246023714b31f", + "reference": "1e12ebe6739032dd7705b8a109a246023714b31f", + "shasum": "" + }, + "require": { + "typo3/cms-core": "11.5.41", + "typo3/cms-fluid": "11.5.41", + "typo3/cms-frontend": "11.5.41" + }, + "conflict": { + "typo3/cms": "*" + }, + "type": "typo3-cms-framework", + "extra": { + "typo3/cms": { + "Package": { + "partOfFactoryDefault": true + }, + "extension-key": "fluid_styled_content" + }, + "branch-alias": { + "dev-master": "11.5.x-dev" + } + }, + "autoload": { + "psr-4": { + "TYPO3\\CMS\\FluidStyledContent\\": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "TYPO3 Core Team", + "email": "typo3cms@typo3.org", + "role": "Developer" + } + ], + "description": "A set of common content elements based on Fluid for Frontend output.", + "homepage": "https://typo3.org", + "support": { + "chat": "https://typo3.org/help", + "docs": "https://docs.typo3.org/c/typo3/cms-fluid-styled-content/main/en-us", + "issues": "https://forge.typo3.org", + "source": "https://github.com/typo3/typo3" + }, + "time": "2024-10-15T08:52:52+00:00" + }, + { + "name": "typo3/cms-frontend", + "version": "v11.5.41", + "source": { + "type": "git", + "url": "https://github.com/TYPO3-CMS/frontend.git", + "reference": "6a812823d392fcab40144121db357b61929b2e31" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3-CMS/frontend/zipball/6a812823d392fcab40144121db357b61929b2e31", + "reference": "6a812823d392fcab40144121db357b61929b2e31", + "shasum": "" + }, + "require": { + "ext-libxml": "*", + "symfony/polyfill-mbstring": "^1.23.1", + "typo3/cms-core": "11.5.41" + }, + "conflict": { + "typo3/cms": "*" + }, + "suggest": { + "typo3/cms-adminpanel": "Provides additional information and functionality for backend users in the frontend." + }, + "type": "typo3-cms-framework", + "extra": { + "typo3/cms": { + "Package": { + "protected": true, + "serviceProvider": "TYPO3\\CMS\\Frontend\\ServiceProvider", + "partOfFactoryDefault": true, + "partOfMinimalUsableSystem": true + }, + "extension-key": "frontend" + }, + "branch-alias": { + "dev-master": "11.5.x-dev" + } + }, + "autoload": { + "psr-4": { + "TYPO3\\CMS\\Frontend\\": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "TYPO3 Core Team", + "email": "typo3cms@typo3.org", + "role": "Developer" + } + ], + "description": "Classes for the frontend of TYPO3.", + "homepage": "https://typo3.org", + "support": { + "chat": "https://typo3.org/help", + "docs": "https://docs.typo3.org", + "issues": "https://forge.typo3.org", + "source": "https://github.com/typo3/typo3" + }, + "time": "2024-10-15T08:52:52+00:00" + }, + { + "name": "typo3/cms-install", + "version": "v11.5.41", + "source": { + "type": "git", + "url": "https://github.com/TYPO3-CMS/install.git", + "reference": "7364ae581b33e535b508155dc753ea3bba5a3a7d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3-CMS/install/zipball/7364ae581b33e535b508155dc753ea3bba5a3a7d", + "reference": "7364ae581b33e535b508155dc753ea3bba5a3a7d", + "shasum": "" + }, + "require": { + "doctrine/dbal": "^2.13.8", + "guzzlehttp/promises": "^1.5.2 || ^2.0", + "nikic/php-parser": "^4.13.2", + "symfony/finder": "^5.4", + "symfony/http-foundation": "^5.4", + "typo3/cms-core": "11.5.41", + "typo3/cms-extbase": "11.5.41", + "typo3/cms-fluid": "11.5.41" + }, + "conflict": { + "typo3/cms": "*" + }, + "type": "typo3-cms-framework", + "extra": { + "typo3/cms": { + "Package": { + "protected": true, + "serviceProvider": "TYPO3\\CMS\\Install\\ServiceProvider", + "partOfFactoryDefault": true, + "partOfMinimalUsableSystem": true + }, + "extension-key": "install" + }, + "branch-alias": { + "dev-master": "11.5.x-dev" + } + }, + "autoload": { + "psr-4": { + "TYPO3\\CMS\\Install\\": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "TYPO3 Core Team", + "email": "typo3cms@typo3.org", + "role": "Developer" + } + ], + "description": "The Install Tool mounted as the module Tools>Install in TYPO3.", + "homepage": "https://typo3.org", + "support": { + "chat": "https://typo3.org/help", + "docs": "https://docs.typo3.org", + "issues": "https://forge.typo3.org", + "source": "https://github.com/typo3/typo3" + }, + "time": "2024-10-15T08:52:52+00:00" + }, + { + "name": "typo3/cms-recordlist", + "version": "v11.5.41", + "source": { + "type": "git", + "url": "https://github.com/TYPO3-CMS/recordlist.git", + "reference": "71bd2e22e196e96a93f6c0213de755e0af6d3cb8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3-CMS/recordlist/zipball/71bd2e22e196e96a93f6c0213de755e0af6d3cb8", + "reference": "71bd2e22e196e96a93f6c0213de755e0af6d3cb8", + "shasum": "" + }, + "require": { + "typo3/cms-core": "11.5.41" + }, + "conflict": { + "typo3/cms": "*" + }, + "type": "typo3-cms-framework", + "extra": { + "typo3/cms": { + "Package": { + "protected": true, + "partOfFactoryDefault": true, + "partOfMinimalUsableSystem": true + }, + "extension-key": "recordlist" + }, + "branch-alias": { + "dev-master": "11.5.x-dev" + } + }, + "autoload": { + "psr-4": { + "TYPO3\\CMS\\Recordlist\\": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "TYPO3 Core Team", + "email": "typo3cms@typo3.org", + "role": "Developer" + } + ], + "description": "List of database-records", + "homepage": "https://typo3.org", + "support": { + "chat": "https://typo3.org/help", + "docs": "https://docs.typo3.org", + "issues": "https://forge.typo3.org", + "source": "https://github.com/typo3/typo3" + }, + "time": "2024-10-15T08:52:52+00:00" + }, + { + "name": "typo3/cms-rte-ckeditor", + "version": "v11.5.41", + "source": { + "type": "git", + "url": "https://github.com/TYPO3-CMS/rte_ckeditor.git", + "reference": "d9a7cf09be268dccc7d92fd7ff856c851d4d7cba" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3-CMS/rte_ckeditor/zipball/d9a7cf09be268dccc7d92fd7ff856c851d4d7cba", + "reference": "d9a7cf09be268dccc7d92fd7ff856c851d4d7cba", + "shasum": "" + }, + "require": { + "typo3/cms-core": "11.5.41" + }, + "conflict": { + "typo3/cms": "*" + }, + "suggest": { + "typo3/cms-setup": "*" + }, + "type": "typo3-cms-framework", + "extra": { + "typo3/cms": { + "Package": { + "partOfFactoryDefault": true + }, + "extension-key": "rte_ckeditor" + }, + "branch-alias": { + "dev-master": "11.5.x-dev" + } + }, + "autoload": { + "psr-4": { + "TYPO3\\CMS\\RteCKEditor\\": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "TYPO3 Core Team", + "email": "typo3cms@typo3.org", + "role": "Developer" + } + ], + "description": "Integration of CKEditor as Rich Text Editor.", + "homepage": "https://typo3.org", + "support": { + "chat": "https://typo3.org/help", + "docs": "https://docs.typo3.org/c/typo3/cms-rte-ckeditor/11.5/en-us", + "issues": "https://forge.typo3.org", + "source": "https://github.com/typo3/typo3" + }, + "time": "2024-10-15T08:52:52+00:00" + }, + { + "name": "typo3/cms-setup", + "version": "v11.5.41", + "source": { + "type": "git", + "url": "https://github.com/TYPO3-CMS/setup.git", + "reference": "e6eb22e70b5fa3ad3dc57956df65b0d51b2ba6c3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3-CMS/setup/zipball/e6eb22e70b5fa3ad3dc57956df65b0d51b2ba6c3", + "reference": "e6eb22e70b5fa3ad3dc57956df65b0d51b2ba6c3", + "shasum": "" + }, + "require": { + "typo3/cms-core": "11.5.41" + }, + "conflict": { + "typo3/cms": "*" + }, + "type": "typo3-cms-framework", + "extra": { + "typo3/cms": { + "Package": { + "partOfFactoryDefault": true + }, + "extension-key": "setup" + }, + "branch-alias": { + "dev-master": "11.5.x-dev" + } + }, + "autoload": { + "psr-4": { + "TYPO3\\CMS\\Setup\\": "Classes/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "TYPO3 Core Team", + "email": "typo3cms@typo3.org", + "role": "Developer" + } + ], + "description": "Allows users to edit a limited set of options for their user profile, eg. preferred language and their name and email address.", + "homepage": "https://typo3.org", + "support": { + "chat": "https://typo3.org/help", + "docs": "https://docs.typo3.org", + "issues": "https://forge.typo3.org", + "source": "https://github.com/typo3/typo3" + }, + "time": "2024-10-15T08:52:52+00:00" + }, + { + "name": "typo3/html-sanitizer", + "version": "v2.3.2", + "source": { + "type": "git", + "url": "https://github.com/TYPO3/html-sanitizer.git", + "reference": "8b5d0be44ded457ca993ec9ca93d859941c63764" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TYPO3/html-sanitizer/zipball/8b5d0be44ded457ca993ec9ca93d859941c63764", + "reference": "8b5d0be44ded457ca993ec9ca93d859941c63764", "shasum": "" }, "require": { @@ -4788,27 +6899,27 @@ "description": "HTML sanitizer aiming to provide XSS-safe markup based on explicitly allowed tags, attributes and values.", "support": { "issues": "https://github.com/TYPO3/html-sanitizer/issues", - "source": "https://github.com/TYPO3/html-sanitizer/tree/v2.1.4" + "source": "https://github.com/TYPO3/html-sanitizer/tree/v2.3.2" }, - "time": "2023-11-14T07:41:08+00:00" + "time": "2026-06-08T15:19:36+00:00" }, { "name": "typo3/phar-stream-wrapper", - "version": "v3.1.7", + "version": "v3.1.8", "source": { "type": "git", "url": "https://github.com/TYPO3/phar-stream-wrapper.git", - "reference": "5cc2f04a4e2f5c7e9cc02a3bdf80fae0f3e11a8c" + "reference": "a931b28f422a60052db85c0a84a05a366453b2c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3/phar-stream-wrapper/zipball/5cc2f04a4e2f5c7e9cc02a3bdf80fae0f3e11a8c", - "reference": "5cc2f04a4e2f5c7e9cc02a3bdf80fae0f3e11a8c", + "url": "https://api.github.com/repos/TYPO3/phar-stream-wrapper/zipball/a931b28f422a60052db85c0a84a05a366453b2c0", + "reference": "a931b28f422a60052db85c0a84a05a366453b2c0", "shasum": "" }, "require": { "ext-json": "*", - "php": "^7.0 || ^8.0" + "php": "^7.0 || ~8.0 || ~8.1 || ~8.2 || ~8.3" }, "require-dev": { "ext-xdebug": "*", @@ -4843,9 +6954,9 @@ ], "support": { "issues": "https://github.com/TYPO3/phar-stream-wrapper/issues", - "source": "https://github.com/TYPO3/phar-stream-wrapper/tree/v3.1.7" + "source": "https://github.com/TYPO3/phar-stream-wrapper/tree/v3.1.8" }, - "time": "2021-09-20T19:19:13+00:00" + "time": "2024-12-09T23:06:33+00:00" }, { "name": "typo3/symfony-psr-event-dispatcher-adapter", @@ -4892,31 +7003,33 @@ }, { "name": "typo3fluid/fluid", - "version": "2.7.4", + "version": "2.15.0", "source": { "type": "git", "url": "https://github.com/TYPO3/Fluid.git", - "reference": "24f4494083c8d304680e4c9c38667dff33720dd4" + "reference": "0a8ebdb9bab1510380f18bef6395fbb4754c01b7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3/Fluid/zipball/24f4494083c8d304680e4c9c38667dff33720dd4", - "reference": "24f4494083c8d304680e4c9c38667dff33720dd4", + "url": "https://api.github.com/repos/TYPO3/Fluid/zipball/0a8ebdb9bab1510380f18bef6395fbb4754c01b7", + "reference": "0a8ebdb9bab1510380f18bef6395fbb4754c01b7", "shasum": "" }, "require": { - "php": "^7.2 || ^8.0" + "ext-mbstring": "*", + "php": "^8.1" }, "require-dev": { "ext-json": "*", - "ext-mbstring": "*", - "friendsofphp/php-cs-fixer": "^3.4", - "phpstan/phpstan": "^1.7", - "phpstan/phpstan-phpunit": "^1.1", - "phpunit/phpunit": "^8.5.33 || ^9.5.28 || ^10.0.16" + "ext-simplexml": "*", + "friendsofphp/php-cs-fixer": "^3.59.3", + "phpstan/phpstan": "^1.10.14", + "phpstan/phpstan-phpunit": "^1.3.11", + "phpunit/phpunit": "^10.2.6" }, "suggest": { - "ext-json": "PHP JSON is needed when using JSONVariableProvider: A relatively rare use case" + "ext-json": "PHP JSON is needed when using JSONVariableProvider: A relatively rare use case", + "ext-simplexml": "SimpleXML is required for the XSD schema generator" }, "bin": [ "bin/fluid" @@ -4938,1531 +7051,41 @@ "issues": "https://github.com/TYPO3/Fluid/issues", "source": "https://github.com/TYPO3/Fluid" }, - "time": "2023-03-23T12:04:09+00:00" - } - ], - "packages-dev": [ - { - "name": "friendsoftypo3/tt-address", - "version": "6.1.0", - "source": { - "type": "git", - "url": "https://github.com/FriendsOfTYPO3/tt_address.git", - "reference": "d3453dc5861804b4418c2c7567ab5ff949006406" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/FriendsOfTYPO3/tt_address/zipball/d3453dc5861804b4418c2c7567ab5ff949006406", - "reference": "d3453dc5861804b4418c2c7567ab5ff949006406", - "shasum": "" - }, - "require": { - "php": ">=7.2", - "typo3/cms-core": "^10.4.6 || ^11.5" - }, - "replace": { - "typo3-ter/tt-address": "self.version" - }, - "require-dev": { - "php-coveralls/php-coveralls": "^2.1", - "phpspec/prophecy-phpunit": "^2.0", - "typo3/cms-extensionmanager": "^10.4.6 || ^11.1", - "typo3/cms-install": "^10.4.6 || ^11.1" - }, - "type": "typo3-cms-extension", - "extra": { - "typo3/cms": { - "extension-key": "tt_address", - "app-dir": ".Build", - "web-dir": ".Build/public" - } - }, - "autoload": { - "psr-4": { - "FriendsOfTYPO3\\TtAddress\\": "Classes" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0-or-later" - ], - "authors": [ - { - "name": "tt_address Development Team", - "role": "Developer" - } - ], - "description": "Displays a list of addresses from an address table on the page.", - "homepage": "https://github.com/FriendsOfTYPO3/tt_address", - "keywords": [ - "addresses", - "extension", - "typo3" - ], - "support": { - "issues": "https://github.com/FriendsOfTYPO3/tt_address/issues", - "source": "https://github.com/FriendsOfTYPO3/tt_address/tree/6.1.0" - }, - "time": "2022-03-18T07:20:42+00:00" - }, - { - "name": "helhum/config-loader", - "version": "v0.12.5", - "source": { - "type": "git", - "url": "https://github.com/helhum/config-loader.git", - "reference": "f761ab3fcf888b9d17d679d94b14aca24fe6bfab" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/helhum/config-loader/zipball/f761ab3fcf888b9d17d679d94b14aca24fe6bfab", - "reference": "f761ab3fcf888b9d17d679d94b14aca24fe6bfab", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "require-dev": { - "php-parallel-lint/php-parallel-lint": "^1.2", - "phpunit/phpunit": "^8.5", - "symfony/yaml": "^2.8 || ^3.3 || ^4.0 || ^5.0" - }, - "suggest": { - "ext-yaml": "For improved performance when parsing yaml files you should use the PECL YAML Parser php extension", - "symfony/yaml": "To be able to parse yaml files, you will need symfony/yaml" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Helhum\\ConfigLoader\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0-or-later" - ], - "description": "Generic config loader with context and environment support.", - "support": { - "issues": "https://github.com/helhum/config-loader/issues", - "source": "https://github.com/helhum/config-loader/tree/v0.12.5" - }, - "funding": [ - { - "url": "https://www.paypal.me/helhum/19.99", - "type": "custom" - }, - { - "url": "https://github.com/helhum", - "type": "github" - } - ], - "time": "2022-02-21T15:32:39+00:00" - }, - { - "name": "helhum/php-error-reporting", - "version": "v1.0.1", - "source": { - "type": "git", - "url": "https://github.com/helhum/php-error-reporting.git", - "reference": "c9f1a0b6fedf7e641bce23b65eeeea946a6f7eb9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/helhum/php-error-reporting/zipball/c9f1a0b6fedf7e641bce23b65eeeea946a6f7eb9", - "reference": "c9f1a0b6fedf7e641bce23b65eeeea946a6f7eb9", - "shasum": "" - }, - "require": { - "php": ">=7.4.1" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^3.2", - "phpstan/phpstan": "^1.0", - "phpstan/phpstan-deprecation-rules": "^1.0", - "phpstan/phpstan-doctrine": "^1.0", - "phpstan/phpstan-phpunit": "^1.0", - "phpstan/phpstan-strict-rules": "^1.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "ErrorReporting\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0-or-later" - ], - "authors": [ - { - "name": "Helmut Hummel", - "email": "typo3@helhum.io" - } - ], - "description": "Create ErrorException with clean trace from PHP error handler errors, inspired by Sentry PHP SDK", - "homepage": "https://helhum.io", - "keywords": [ - "error reporting", - "sentry" - ], - "support": { - "issues": "https://github.com/helhum/php-error-reporting", - "source": "https://github.com/helhum/php-error-reporting/tree/v1.0.1" - }, - "time": "2023-01-12T14:49:10+00:00" - }, - { - "name": "helhum/typo3-console", - "version": "v7.1.6", - "source": { - "type": "git", - "url": "https://github.com/TYPO3-Console/TYPO3-Console.git", - "reference": "c7575554b9d2162814093e14ec0820838207307d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/TYPO3-Console/TYPO3-Console/zipball/c7575554b9d2162814093e14ec0820838207307d", - "reference": "c7575554b9d2162814093e14ec0820838207307d", - "shasum": "" - }, - "require": { - "composer-runtime-api": "^2.1", - "helhum/config-loader": ">=0.9 <0.13", - "helhum/php-error-reporting": "^1.0", - "php": ">=7.4.1", - "symfony/console": "^5.0 || ^6.0", - "symfony/process": "^5.0 || ^6.0", - "typo3/cms-backend": "^11.5.3 || dev-main", - "typo3/cms-core": "^11.5.3 || dev-main", - "typo3/cms-extbase": "^11.5.3 || dev-main", - "typo3/cms-extensionmanager": "^11.5.3 || dev-main", - "typo3/cms-fluid": "^11.5.3 || dev-main", - "typo3/cms-frontend": "^11.5.3 || dev-main", - "typo3/cms-install": "^11.5.3 || dev-main" - }, - "replace": { - "typo3-ter/typo3-console": "self.version" - }, - "require-dev": { - "nimut/testing-framework": "^6.0.1", - "php-parallel-lint/php-parallel-lint": "^1.2", - "phpspec/prophecy": "^1.15", - "phpunit/phpunit": "^8.5.18", - "symfony/expression-language": "^5.0 || ^6.0", - "symfony/filesystem": "^5.0 || ^6.0", - "typo3-console/create-reference-command": "@dev", - "typo3-console/sql-command": "@dev", - "typo3/cms-filemetadata": "^11.5.3 || dev-main", - "typo3/cms-recordlist": "^11.5.3 || dev-main", - "typo3/cms-reports": "^11.5.3 || dev-main" - }, - "bin": [ - "typo3cms" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "7.1.x-dev" - }, - "typo3/cms": { - "ignore-as-root": false, - "app-dir": ".Build", - "web-dir": ".Build/public" - } - }, - "autoload": { - "psr-4": { - "Helhum\\Typo3Console\\": [ - "Classes/Console/", - "Classes/Compatibility/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0-or-later" - ], - "authors": [ - { - "name": "Helmut Hummel", - "email": "info@helhum.io", - "homepage": "https://helhum.io", - "role": "Developer" - } - ], - "description": "A reliable and powerful command line interface for TYPO3 CMS", - "homepage": "https://insight.helhum.io/post/104528981610/about-the-beauty-and-power-of-typo3-console", - "keywords": [ - "cli", - "command", - "commandline", - "console", - "typo3" - ], - "support": { - "docs": "https://docs.typo3.org/p/helhum/typo3-console/main/en-us/", - "issues": "https://github.com/TYPO3-Console/TYPO3-Console/issues", - "source": "https://github.com/TYPO3-Console/TYPO3-Console" - }, - "funding": [ - { - "url": "https://www.paypal.me/helhum/19.99", - "type": "custom" - }, - { - "url": "https://github.com/helhum", - "type": "github" - } - ], - "time": "2023-01-12T14:26:00+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "2.2.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b", - "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-2.x": "2.x-dev" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jaap van Otterdijk", - "email": "opensource@ijaap.nl" - } - ], - "description": "Common reflection classes used by phpdocumentor to reflect the code structure", - "homepage": "http://www.phpdoc.org", - "keywords": [ - "FQSEN", - "phpDocumentor", - "phpdoc", - "reflection", - "static analysis" - ], - "support": { - "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues", - "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x" - }, - "time": "2020-06-27T09:03:43+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "5.4.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "298d2febfe79d03fe714eb871d5538da55205b1a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/298d2febfe79d03fe714eb871d5538da55205b1a", - "reference": "298d2febfe79d03fe714eb871d5538da55205b1a", - "shasum": "" - }, - "require": { - "doctrine/deprecations": "^1.1", - "ext-filter": "*", - "php": "^7.4 || ^8.0", - "phpdocumentor/reflection-common": "^2.2", - "phpdocumentor/type-resolver": "^1.7", - "phpstan/phpdoc-parser": "^1.7", - "webmozart/assert": "^1.9.1" - }, - "require-dev": { - "mockery/mockery": "~1.3.5", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan": "^1.8", - "phpstan/phpstan-mockery": "^1.1", - "phpstan/phpstan-webmozart-assert": "^1.2", - "phpunit/phpunit": "^9.5", - "vimeo/psalm": "^5.13" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.x-dev" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "me@mikevanriel.com" - }, - { - "name": "Jaap van Otterdijk", - "email": "opensource@ijaap.nl" - } - ], - "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "support": { - "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", - "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.4.0" - }, - "time": "2024-04-09T21:13:58+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "1.8.2", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "153ae662783729388a584b4361f2545e4d841e3c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/153ae662783729388a584b4361f2545e4d841e3c", - "reference": "153ae662783729388a584b4361f2545e4d841e3c", - "shasum": "" - }, - "require": { - "doctrine/deprecations": "^1.0", - "php": "^7.3 || ^8.0", - "phpdocumentor/reflection-common": "^2.0", - "phpstan/phpdoc-parser": "^1.13" - }, - "require-dev": { - "ext-tokenizer": "*", - "phpbench/phpbench": "^1.2", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan": "^1.8", - "phpstan/phpstan-phpunit": "^1.1", - "phpunit/phpunit": "^9.5", - "rector/rector": "^0.13.9", - "vimeo/psalm": "^4.25" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-1.x": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "me@mikevanriel.com" - } - ], - "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", - "support": { - "issues": "https://github.com/phpDocumentor/TypeResolver/issues", - "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.8.2" - }, - "time": "2024-02-23T11:10:43+00:00" - }, - { - "name": "phpstan/phpdoc-parser", - "version": "1.28.0", - "source": { - "type": "git", - "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "cd06d6b1a1b3c75b0b83f97577869fd85a3cd4fb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/cd06d6b1a1b3c75b0b83f97577869fd85a3cd4fb", - "reference": "cd06d6b1a1b3c75b0b83f97577869fd85a3cd4fb", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "require-dev": { - "doctrine/annotations": "^2.0", - "nikic/php-parser": "^4.15", - "php-parallel-lint/php-parallel-lint": "^1.2", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^1.5", - "phpstan/phpstan-phpunit": "^1.1", - "phpstan/phpstan-strict-rules": "^1.0", - "phpunit/phpunit": "^9.5", - "symfony/process": "^5.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "PHPStan\\PhpDocParser\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "PHPDoc parser with support for nullable, intersection and generic types", - "support": { - "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/1.28.0" - }, - "time": "2024-04-03T18:51:33+00:00" - }, - { - "name": "symfony/process", - "version": "v5.4.36", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "4fdf34004f149cc20b2f51d7d119aa500caad975" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/4fdf34004f149cc20b2f51d7d119aa500caad975", - "reference": "4fdf34004f149cc20b2f51d7d119aa500caad975", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/polyfill-php80": "^1.16" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Process\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Executes commands in sub-processes", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/process/tree/v5.4.36" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-02-12T15:49:53+00:00" - }, - { - "name": "symfony/property-access", - "version": "v5.4.38", - "source": { - "type": "git", - "url": "https://github.com/symfony/property-access.git", - "reference": "b58ea319e56b440b4daaa38201ee63ba9efa44d5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/property-access/zipball/b58ea319e56b440b4daaa38201ee63ba9efa44d5", - "reference": "b58ea319e56b440b4daaa38201ee63ba9efa44d5", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php80": "^1.16", - "symfony/property-info": "^5.2|^6.0" - }, - "require-dev": { - "symfony/cache": "^4.4|^5.0|^6.0" - }, - "suggest": { - "psr/cache-implementation": "To cache access methods." - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\PropertyAccess\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides functions to read and write from/to an object or array using a simple string notation", - "homepage": "https://symfony.com", - "keywords": [ - "access", - "array", - "extraction", - "index", - "injection", - "object", - "property", - "property-path", - "reflection" - ], - "support": { - "source": "https://github.com/symfony/property-access/tree/v5.4.38" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-03-18T16:56:51+00:00" - }, - { - "name": "symfony/property-info", - "version": "v5.4.38", - "source": { - "type": "git", - "url": "https://github.com/symfony/property-info.git", - "reference": "f3e4b84e5a33e655222167894398b671e93322d0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/property-info/zipball/f3e4b84e5a33e655222167894398b671e93322d0", - "reference": "f3e4b84e5a33e655222167894398b671e93322d0", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php80": "^1.16", - "symfony/string": "^5.1|^6.0" - }, - "conflict": { - "phpdocumentor/reflection-docblock": "<3.2.2", - "phpdocumentor/type-resolver": "<1.4.0", - "symfony/dependency-injection": "<4.4" - }, - "require-dev": { - "doctrine/annotations": "^1.10.4|^2", - "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", - "phpstan/phpdoc-parser": "^1.0", - "symfony/cache": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/serializer": "^4.4|^5.0|^6.0" - }, - "suggest": { - "phpdocumentor/reflection-docblock": "To use the PHPDoc", - "psr/cache-implementation": "To cache results", - "symfony/doctrine-bridge": "To use Doctrine metadata", - "symfony/serializer": "To use Serializer metadata" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\PropertyInfo\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Kévin Dunglas", - "email": "dunglas@gmail.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Extracts information about PHP class' properties using metadata of popular sources", - "homepage": "https://symfony.com", - "keywords": [ - "doctrine", - "phpdoc", - "property", - "symfony", - "type", - "validator" - ], - "support": { - "source": "https://github.com/symfony/property-info/tree/v5.4.38" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-03-21T07:26:31+00:00" - }, - { - "name": "typo3/cms-backend", - "version": "v11.5.36", - "source": { - "type": "git", - "url": "https://github.com/TYPO3-CMS/backend.git", - "reference": "10bdd68cc1b35e71779511192219ba35a287b42b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/backend/zipball/10bdd68cc1b35e71779511192219ba35a287b42b", - "reference": "10bdd68cc1b35e71779511192219ba35a287b42b", - "shasum": "" - }, - "require": { - "psr/event-dispatcher": "^1.0", - "typo3/cms-core": "11.5.36", - "typo3/cms-recordlist": "11.5.36" - }, - "conflict": { - "typo3/cms": "*" - }, - "replace": { - "typo3/cms-about": "self.version", - "typo3/cms-context-help": "self.version", - "typo3/cms-cshmanual": "self.version", - "typo3/cms-func-wizards": "self.version", - "typo3/cms-wizard-crpages": "self.version", - "typo3/cms-wizard-sortpages": "self.version" - }, - "suggest": { - "typo3/cms-install": "To generate url to install tool in environment toolbar" - }, - "type": "typo3-cms-framework", - "extra": { - "branch-alias": { - "dev-master": "11.5.x-dev" - }, - "typo3/cms": { - "Package": { - "serviceProvider": "TYPO3\\CMS\\Backend\\ServiceProvider", - "protected": true, - "partOfFactoryDefault": true, - "partOfMinimalUsableSystem": true - }, - "extension-key": "backend" - } - }, - "autoload": { - "psr-4": { - "TYPO3\\CMS\\Backend\\": "Classes/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0-or-later" - ], - "authors": [ - { - "name": "TYPO3 Core Team", - "email": "typo3cms@typo3.org", - "role": "Developer" - } - ], - "description": "Classes for the TYPO3 backend.", - "homepage": "https://typo3.org", - "support": { - "chat": "https://typo3.org/help", - "docs": "https://docs.typo3.org", - "issues": "https://forge.typo3.org", - "source": "https://github.com/typo3/typo3" - }, - "time": "2024-02-20T08:27:39+00:00" - }, - { - "name": "typo3/cms-extbase", - "version": "v11.5.36", - "source": { - "type": "git", - "url": "https://github.com/TYPO3-CMS/extbase.git", - "reference": "e3df04fe8f53fec0dd54b40c40dce1d5859be2dc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/extbase/zipball/e3df04fe8f53fec0dd54b40c40dce1d5859be2dc", - "reference": "e3df04fe8f53fec0dd54b40c40dce1d5859be2dc", - "shasum": "" - }, - "require": { - "phpdocumentor/reflection-docblock": "^5.2", - "phpdocumentor/type-resolver": "^1.4", - "symfony/dependency-injection": "^5.4", - "symfony/property-access": "^5.4", - "symfony/property-info": "^5.4", - "typo3/cms-core": "11.5.36" - }, - "conflict": { - "typo3/cms": "*" - }, - "suggest": { - "typo3/cms-scheduler": "Additional scheduler tasks" - }, - "type": "typo3-cms-framework", - "extra": { - "branch-alias": { - "dev-master": "11.5.x-dev" - }, - "typo3/cms": { - "Package": { - "serviceProvider": "TYPO3\\CMS\\Extbase\\ServiceProvider", - "protected": true, - "partOfFactoryDefault": true, - "partOfMinimalUsableSystem": true - }, - "extension-key": "extbase" - } - }, - "autoload": { - "psr-4": { - "TYPO3\\CMS\\Extbase\\": "Classes/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0-or-later" - ], - "authors": [ - { - "name": "TYPO3 Core Team", - "email": "typo3cms@typo3.org", - "role": "Developer" - } - ], - "description": "A framework to build extensions for TYPO3 CMS.", - "homepage": "https://typo3.org", - "support": { - "chat": "https://typo3.org/help", - "docs": "https://docs.typo3.org", - "issues": "https://forge.typo3.org", - "source": "https://github.com/typo3/typo3" - }, - "time": "2024-02-20T08:27:39+00:00" - }, - { - "name": "typo3/cms-extensionmanager", - "version": "v11.5.36", - "source": { - "type": "git", - "url": "https://github.com/TYPO3-CMS/extensionmanager.git", - "reference": "6ef157aa185682fafdf473a3588a440867649933" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/extensionmanager/zipball/6ef157aa185682fafdf473a3588a440867649933", - "reference": "6ef157aa185682fafdf473a3588a440867649933", - "shasum": "" - }, - "require": { - "ext-libxml": "*", - "typo3/cms-core": "11.5.36" - }, - "conflict": { - "typo3/cms": "*" - }, - "type": "typo3-cms-framework", - "extra": { - "branch-alias": { - "dev-master": "11.5.x-dev" - }, - "typo3/cms": { - "Package": { - "protected": true, - "partOfFactoryDefault": true, - "partOfMinimalUsableSystem": true - }, - "extension-key": "extensionmanager" - } - }, - "autoload": { - "psr-4": { - "TYPO3\\CMS\\Extensionmanager\\": "Classes/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0-or-later" - ], - "authors": [ - { - "name": "TYPO3 Core Team", - "email": "typo3cms@typo3.org", - "role": "Developer" - } - ], - "description": "TYPO3 Extension Manager", - "homepage": "https://typo3.org", - "support": { - "chat": "https://typo3.org/help", - "docs": "https://docs.typo3.org", - "issues": "https://forge.typo3.org", - "source": "https://github.com/typo3/typo3" - }, - "time": "2024-02-20T08:27:39+00:00" - }, - { - "name": "typo3/cms-filelist", - "version": "v11.5.36", - "source": { - "type": "git", - "url": "https://github.com/TYPO3-CMS/filelist.git", - "reference": "9e39aa241dc48127ef5e098ea34c3e88af4935c0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/filelist/zipball/9e39aa241dc48127ef5e098ea34c3e88af4935c0", - "reference": "9e39aa241dc48127ef5e098ea34c3e88af4935c0", - "shasum": "" - }, - "require": { - "typo3/cms-core": "11.5.36" - }, - "conflict": { - "typo3/cms": "*" - }, - "type": "typo3-cms-framework", - "extra": { - "branch-alias": { - "dev-master": "11.5.x-dev" - }, - "typo3/cms": { - "Package": { - "protected": true, - "partOfFactoryDefault": true, - "partOfMinimalUsableSystem": true - }, - "extension-key": "filelist" - } - }, - "autoload": { - "psr-4": { - "TYPO3\\CMS\\Filelist\\": "Classes/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0-or-later" - ], - "authors": [ - { - "name": "TYPO3 Core Team", - "email": "typo3cms@typo3.org", - "role": "Developer" - } - ], - "description": "Listing of files in the directory", - "homepage": "https://typo3.org", - "support": { - "chat": "https://typo3.org/help", - "docs": "https://docs.typo3.org", - "issues": "https://forge.typo3.org", - "source": "https://github.com/typo3/typo3" - }, - "time": "2024-02-20T08:27:39+00:00" - }, - { - "name": "typo3/cms-fluid", - "version": "v11.5.36", - "source": { - "type": "git", - "url": "https://github.com/TYPO3-CMS/fluid.git", - "reference": "5d8d327999adc545aabd219c7c23d5ff4a028017" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/fluid/zipball/5d8d327999adc545aabd219c7c23d5ff4a028017", - "reference": "5d8d327999adc545aabd219c7c23d5ff4a028017", - "shasum": "" - }, - "require": { - "symfony/dependency-injection": "^5.4", - "typo3/cms-core": "11.5.36", - "typo3/cms-extbase": "11.5.36", - "typo3fluid/fluid": "^2.7.2" - }, - "conflict": { - "typo3/cms": "*" - }, - "type": "typo3-cms-framework", - "extra": { - "branch-alias": { - "dev-master": "11.5.x-dev" - }, - "typo3/cms": { - "Package": { - "serviceProvider": "TYPO3\\CMS\\Fluid\\ServiceProvider", - "protected": true, - "partOfFactoryDefault": true, - "partOfMinimalUsableSystem": true - }, - "extension-key": "fluid" - } - }, - "autoload": { - "psr-4": { - "TYPO3\\CMS\\Fluid\\": "Classes/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0-or-later" - ], - "authors": [ - { - "name": "TYPO3 Core Team", - "email": "typo3cms@typo3.org", - "role": "Developer" - } - ], - "description": "Fluid is a next-generation templating engine which makes the life of extension authors a lot easier!", - "homepage": "https://typo3.org", - "support": { - "chat": "https://typo3.org/help", - "docs": "https://docs.typo3.org/other/typo3/view-helper-reference/main/en-us/", - "issues": "https://forge.typo3.org", - "source": "https://github.com/typo3/typo3" - }, - "time": "2024-02-20T08:27:39+00:00" - }, - { - "name": "typo3/cms-fluid-styled-content", - "version": "v11.5.36", - "source": { - "type": "git", - "url": "https://github.com/TYPO3-CMS/fluid_styled_content.git", - "reference": "4af5bed600429ce73f86ff91489b7bedfee39516" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/fluid_styled_content/zipball/4af5bed600429ce73f86ff91489b7bedfee39516", - "reference": "4af5bed600429ce73f86ff91489b7bedfee39516", - "shasum": "" - }, - "require": { - "typo3/cms-core": "11.5.36", - "typo3/cms-fluid": "11.5.36", - "typo3/cms-frontend": "11.5.36" - }, - "conflict": { - "typo3/cms": "*" - }, - "type": "typo3-cms-framework", - "extra": { - "branch-alias": { - "dev-master": "11.5.x-dev" - }, - "typo3/cms": { - "Package": { - "partOfFactoryDefault": true - }, - "extension-key": "fluid_styled_content" - } - }, - "autoload": { - "psr-4": { - "TYPO3\\CMS\\FluidStyledContent\\": "Classes/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0-or-later" - ], - "authors": [ - { - "name": "TYPO3 Core Team", - "email": "typo3cms@typo3.org", - "role": "Developer" - } - ], - "description": "A set of common content elements based on Fluid for Frontend output.", - "homepage": "https://typo3.org", - "support": { - "chat": "https://typo3.org/help", - "docs": "https://docs.typo3.org/c/typo3/cms-fluid-styled-content/main/en-us", - "issues": "https://forge.typo3.org", - "source": "https://github.com/typo3/typo3" - }, - "time": "2024-02-20T08:27:39+00:00" - }, - { - "name": "typo3/cms-frontend", - "version": "v11.5.36", - "source": { - "type": "git", - "url": "https://github.com/TYPO3-CMS/frontend.git", - "reference": "476d805ff672edc765069719aef6c4353150af02" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/frontend/zipball/476d805ff672edc765069719aef6c4353150af02", - "reference": "476d805ff672edc765069719aef6c4353150af02", - "shasum": "" - }, - "require": { - "ext-libxml": "*", - "symfony/polyfill-mbstring": "^1.23.1", - "typo3/cms-core": "11.5.36" - }, - "conflict": { - "typo3/cms": "*" - }, - "suggest": { - "typo3/cms-adminpanel": "Provides additional information and functionality for backend users in the frontend." - }, - "type": "typo3-cms-framework", - "extra": { - "branch-alias": { - "dev-master": "11.5.x-dev" - }, - "typo3/cms": { - "Package": { - "serviceProvider": "TYPO3\\CMS\\Frontend\\ServiceProvider", - "protected": true, - "partOfFactoryDefault": true, - "partOfMinimalUsableSystem": true - }, - "extension-key": "frontend" - } - }, - "autoload": { - "psr-4": { - "TYPO3\\CMS\\Frontend\\": "Classes/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0-or-later" - ], - "authors": [ - { - "name": "TYPO3 Core Team", - "email": "typo3cms@typo3.org", - "role": "Developer" - } - ], - "description": "Classes for the frontend of TYPO3.", - "homepage": "https://typo3.org", - "support": { - "chat": "https://typo3.org/help", - "docs": "https://docs.typo3.org", - "issues": "https://forge.typo3.org", - "source": "https://github.com/typo3/typo3" - }, - "time": "2024-02-20T08:27:39+00:00" - }, - { - "name": "typo3/cms-install", - "version": "v11.5.36", - "source": { - "type": "git", - "url": "https://github.com/TYPO3-CMS/install.git", - "reference": "b1e1c393ed8183675ddc3a6b1c78a2320e1a5485" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/install/zipball/b1e1c393ed8183675ddc3a6b1c78a2320e1a5485", - "reference": "b1e1c393ed8183675ddc3a6b1c78a2320e1a5485", - "shasum": "" - }, - "require": { - "doctrine/dbal": "^2.13.8", - "guzzlehttp/promises": "^1.5.2 || ^2.0", - "nikic/php-parser": "^4.13.2", - "symfony/finder": "^5.4", - "symfony/http-foundation": "^5.4", - "typo3/cms-core": "11.5.36", - "typo3/cms-extbase": "11.5.36", - "typo3/cms-fluid": "11.5.36" - }, - "conflict": { - "typo3/cms": "*" - }, - "type": "typo3-cms-framework", - "extra": { - "branch-alias": { - "dev-master": "11.5.x-dev" - }, - "typo3/cms": { - "Package": { - "serviceProvider": "TYPO3\\CMS\\Install\\ServiceProvider", - "protected": true, - "partOfFactoryDefault": true, - "partOfMinimalUsableSystem": true - }, - "extension-key": "install" - } - }, - "autoload": { - "psr-4": { - "TYPO3\\CMS\\Install\\": "Classes/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0-or-later" - ], - "authors": [ - { - "name": "TYPO3 Core Team", - "email": "typo3cms@typo3.org", - "role": "Developer" - } - ], - "description": "The Install Tool mounted as the module Tools>Install in TYPO3.", - "homepage": "https://typo3.org", - "support": { - "chat": "https://typo3.org/help", - "docs": "https://docs.typo3.org", - "issues": "https://forge.typo3.org", - "source": "https://github.com/typo3/typo3" - }, - "time": "2024-02-20T08:27:39+00:00" - }, - { - "name": "typo3/cms-lowlevel", - "version": "v11.5.36", - "source": { - "type": "git", - "url": "https://github.com/TYPO3-CMS/lowlevel.git", - "reference": "2ee8dda372e9a4c754193375d8e1b9ca53c61888" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/lowlevel/zipball/2ee8dda372e9a4c754193375d8e1b9ca53c61888", - "reference": "2ee8dda372e9a4c754193375d8e1b9ca53c61888", - "shasum": "" - }, - "require": { - "typo3/cms-core": "11.5.36" - }, - "conflict": { - "typo3/cms": "*" - }, - "type": "typo3-cms-framework", - "extra": { - "branch-alias": { - "dev-master": "11.5.x-dev" - }, - "typo3/cms": { - "Package": { - "serviceProvider": "TYPO3\\CMS\\Lowlevel\\ServiceProvider", - "partOfFactoryDefault": true - }, - "extension-key": "lowlevel" - } - }, - "autoload": { - "psr-4": { - "TYPO3\\CMS\\Lowlevel\\": "Classes/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0-or-later" - ], - "authors": [ - { - "name": "TYPO3 Core Team", - "email": "typo3cms@typo3.org", - "role": "Developer" - } - ], - "description": "Enables the 'Config' and 'DB Check' modules for technical analysis of the system. This includes raw database search, checking relations, counting pages and records etc.", - "homepage": "https://typo3.org", - "support": { - "chat": "https://typo3.org/help", - "docs": "https://docs.typo3.org", - "issues": "https://forge.typo3.org", - "source": "https://github.com/typo3/typo3" - }, - "time": "2024-02-20T08:27:39+00:00" - }, - { - "name": "typo3/cms-recordlist", - "version": "v11.5.36", - "source": { - "type": "git", - "url": "https://github.com/TYPO3-CMS/recordlist.git", - "reference": "d8dc4cb65db49f3111c125bf2a35215110e28d3a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/recordlist/zipball/d8dc4cb65db49f3111c125bf2a35215110e28d3a", - "reference": "d8dc4cb65db49f3111c125bf2a35215110e28d3a", - "shasum": "" - }, - "require": { - "typo3/cms-core": "11.5.36" - }, - "conflict": { - "typo3/cms": "*" - }, - "type": "typo3-cms-framework", - "extra": { - "branch-alias": { - "dev-master": "11.5.x-dev" - }, - "typo3/cms": { - "Package": { - "protected": true, - "partOfFactoryDefault": true, - "partOfMinimalUsableSystem": true - }, - "extension-key": "recordlist" - } - }, - "autoload": { - "psr-4": { - "TYPO3\\CMS\\Recordlist\\": "Classes/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0-or-later" - ], - "authors": [ - { - "name": "TYPO3 Core Team", - "email": "typo3cms@typo3.org", - "role": "Developer" - } - ], - "description": "List of database-records", - "homepage": "https://typo3.org", - "support": { - "chat": "https://typo3.org/help", - "docs": "https://docs.typo3.org", - "issues": "https://forge.typo3.org", - "source": "https://github.com/typo3/typo3" - }, - "time": "2024-02-20T08:27:39+00:00" - }, - { - "name": "typo3/cms-setup", - "version": "v11.5.36", - "source": { - "type": "git", - "url": "https://github.com/TYPO3-CMS/setup.git", - "reference": "a3edfb5b9df8b5232f4cd14f0b2f632f71627036" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/setup/zipball/a3edfb5b9df8b5232f4cd14f0b2f632f71627036", - "reference": "a3edfb5b9df8b5232f4cd14f0b2f632f71627036", - "shasum": "" - }, - "require": { - "typo3/cms-core": "11.5.36" - }, - "conflict": { - "typo3/cms": "*" - }, - "type": "typo3-cms-framework", - "extra": { - "branch-alias": { - "dev-master": "11.5.x-dev" - }, - "typo3/cms": { - "Package": { - "partOfFactoryDefault": true - }, - "extension-key": "setup" - } - }, - "autoload": { - "psr-4": { - "TYPO3\\CMS\\Setup\\": "Classes/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0-or-later" - ], - "authors": [ - { - "name": "TYPO3 Core Team", - "email": "typo3cms@typo3.org", - "role": "Developer" - } - ], - "description": "Allows users to edit a limited set of options for their user profile, eg. preferred language and their name and email address.", - "homepage": "https://typo3.org", - "support": { - "chat": "https://typo3.org/help", - "docs": "https://docs.typo3.org", - "issues": "https://forge.typo3.org", - "source": "https://github.com/typo3/typo3" - }, - "time": "2024-02-20T08:27:39+00:00" - }, - { - "name": "typo3/cms-tstemplate", - "version": "v11.5.36", - "source": { - "type": "git", - "url": "https://github.com/TYPO3-CMS/tstemplate.git", - "reference": "b11a5acce80555a19d595b1ecc33b10163ca5863" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/TYPO3-CMS/tstemplate/zipball/b11a5acce80555a19d595b1ecc33b10163ca5863", - "reference": "b11a5acce80555a19d595b1ecc33b10163ca5863", - "shasum": "" - }, - "require": { - "typo3/cms-core": "11.5.36" - }, - "conflict": { - "typo3/cms": "*" - }, - "type": "typo3-cms-framework", - "extra": { - "branch-alias": { - "dev-master": "11.5.x-dev" - }, - "typo3/cms": { - "Package": { - "partOfFactoryDefault": true - }, - "extension-key": "tstemplate" - } - }, - "autoload": { - "psr-4": { - "TYPO3\\CMS\\Tstemplate\\": "Classes/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0-or-later" - ], - "authors": [ - { - "name": "TYPO3 Core Team", - "email": "typo3cms@typo3.org", - "role": "Developer" - } - ], - "description": "Framework for management of TypoScript template records for the CMS frontend.", - "homepage": "https://typo3.org", - "support": { - "chat": "https://typo3.org/help", - "docs": "https://docs.typo3.org", - "issues": "https://forge.typo3.org", - "source": "https://github.com/typo3/typo3" - }, - "time": "2024-02-20T08:27:39+00:00" + "time": "2024-08-30T21:24:26+00:00" }, { "name": "webmozart/assert", - "version": "1.11.0", + "version": "2.4.1", "source": { "type": "git", "url": "https://github.com/webmozarts/assert.git", - "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991" + "reference": "2ccb7c2e821038c03a3e6e1700c570c158c55f70" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991", - "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/2ccb7c2e821038c03a3e6e1700c570c158c55f70", + "reference": "2ccb7c2e821038c03a3e6e1700c570c158c55f70", "shasum": "" }, "require": { "ext-ctype": "*", - "php": "^7.2 || ^8.0" + "ext-date": "*", + "ext-filter": "*", + "php": "^8.2" }, - "conflict": { - "phpstan/phpstan": "<0.12.20", - "vimeo/psalm": "<4.6.1 || 4.6.2" - }, - "require-dev": { - "phpunit/phpunit": "^8.5.13" + "suggest": { + "ext-intl": "", + "ext-simplexml": "", + "ext-spl": "" }, "type": "library", "extra": { + "psalm": { + "pluginClass": "Webmozart\\Assert\\PsalmPlugin" + }, "branch-alias": { - "dev-master": "1.10-dev" + "dev-master": "2.0-dev", + "dev-feature/2-0": "2.0-dev" } }, "autoload": { @@ -6478,6 +7101,10 @@ { "name": "Bernhard Schussek", "email": "bschussek@gmail.com" + }, + { + "name": "Woody Gilk", + "email": "woody.gilk@gmail.com" } ], "description": "Assertions to validate method input/output with nice error messages.", @@ -6488,17 +7115,96 @@ ], "support": { "issues": "https://github.com/webmozarts/assert/issues", - "source": "https://github.com/webmozarts/assert/tree/1.11.0" + "source": "https://github.com/webmozarts/assert/tree/2.4.1" }, - "time": "2022-06-03T18:03:27+00:00" + "time": "2026-06-15T15:31:57+00:00" + }, + { + "name": "wgirhad/geophp", + "version": "v3.0.0", + "source": { + "type": "git", + "url": "https://github.com/wgirhad/geoPHP.git", + "reference": "74f5b8bdc851cb92b8c07df99a437245f3878fcd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wgirhad/geoPHP/zipball/74f5b8bdc851cb92b8c07df99a437245f3878fcd", + "reference": "74f5b8bdc851cb92b8c07df99a437245f3878fcd", + "shasum": "" + }, + "require": { + "php": "^7.1|^8.0" + }, + "provide": { + "geophp/geophp": "3.0.0" + }, + "require-dev": { + "php-coveralls/php-coveralls": "2.*", + "phpbench/phpbench": "^1.0", + "phpstan/phpstan": "^1.4.0", + "phpunit/phpunit": "^8.0|^9.0", + "squizlabs/php_codesniffer": "3.*" + }, + "suggest": { + "ext-geos": "GEOS allows more advanced operations" + }, + "type": "library", + "autoload": { + "psr-4": { + "geoPHP\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later", + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Patrick Hayes", + "role": "Original creator" + }, + { + "name": "Péter Báthory", + "role": "Developer" + }, + { + "name": "Willian Girhad", + "role": "Developer" + } + ], + "description": "Open-source native PHP library for doing geometry operations. Can read and write a wide variety of formats: (E)WKT, (E)WKB, TWKB, GeoJSON, KML, GPX, GeoRSS. Works with all Simple-Feature geometries (Point, LineString, Polygon...) and can be used to get centroids, bounding-boxes, area, etc.", + "homepage": "https://github.com/wgirhad/geoPHP", + "keywords": [ + "Polygon", + "converter", + "geoPHP", + "geojson", + "geometry", + "gis", + "gpx", + "kml", + "linestring", + "twkb", + "wkb", + "wkt" + ], + "support": { + "source": "https://github.com/wgirhad/geoPHP/tree/v3.0.0" + }, + "time": "2023-02-24T12:14:17+00:00" } ], + "packages-dev": [], "aliases": [], "minimum-stability": "stable", - "stability-flags": [], + "stability-flags": { + "catbird/cartedalegare": 20 + }, "prefer-stable": false, "prefer-lowest": false, - "platform": [], - "platform-dev": [], + "platform": {}, + "platform-dev": {}, "plugin-api-version": "2.6.0" } diff --git a/typo3_src b/typo3_src deleted file mode 120000 index 41b14c5..0000000 --- a/typo3_src +++ /dev/null @@ -1 +0,0 @@ -c:/wamp64/apps/typo3_src-11.5.41 \ No newline at end of file diff --git a/typo3conf/LocalConfiguration.2022-11-23.php b/typo3conf/LocalConfiguration.2022-11-23.php deleted file mode 100644 index 5113780..0000000 --- a/typo3conf/LocalConfiguration.2022-11-23.php +++ /dev/null @@ -1,202 +0,0 @@ - [ - 'debug' => false, - 'explicitADmode' => 'explicitAllow', - 'installToolPassword' => '$P$CKv1YpXOGKx/h3bCrFQL8F8tqyYeag1', - 'lockSSL' => true, - 'versionNumberInFilename' => '0', - ], - 'DB' => [ - 'Connections' => [ - 'Default' => [ - 'charset' => 'utf8', - 'dbname' => 't3_carte', - 'driver' => 'mysqli', - 'host' => 'localhost', - 'password' => 'e4gYL5k4', - 'port' => 3306, - 'user' => 'carte', - ], - ], - 'extTablesDefinitionScript' => 'extTables.php', - ], - 'EXT' => [], - 'EXTCONF' => [ - 'lang' => [ - 'availableLanguages' => [ - 'it', - ], - ], - ], - 'EXTENSIONS' => [ - 'backend' => [ - 'backendFavicon' => '', - 'backendLogo' => '', - 'loginBackgroundImage' => '', - 'loginFootnote' => '', - 'loginHighlightColor' => '', - 'loginLogo' => '', - 'loginLogoAlt' => '', - ], - 'cartedalegare' => [ - 'debug' => '0', - ], - 'extensionmanager' => [ - 'automaticInstallation' => '1', - 'offlineMode' => '0', - ], - 'fs_media_gallery' => [ - 'allowedActionsInFlexforms' => 'nestedList,flatList,showAlbumByParam,showAlbumByConfig,randomAsset', - 'asset' => [ - 'orderOptions' => 'name,crdate,title,content_creation_date,content_modification_date', - ], - 'clearCacheAfterFileChange' => '', - 'enableAutoCreateFileCollection' => '1', - 'list' => [ - 'orderOptions' => 'datetime,crdate,sorting', - ], - ], - 'lfeditor' => [ - 'beMainModuleName' => 'user', - 'changeXlfDate' => '1', - 'defaultLanguage' => '', - 'editModeExtension' => '1', - 'extIgnore' => '/^(CVS|.svn|.git|csh_)/', - 'extWhitelist' => '', - 'pathAdditionalConfiguration' => 'typo3conf/AdditionalConfiguration.php', - 'searchRegex' => '/^([a-z0-9_]*locallang[a-z0-9_-]*\\.(php|xml)|[^\\.]*\\.xlf)$/i', - 'viewLanguages' => '', - ], - 'news' => [ - 'advancedMediaPreview' => '1', - 'archiveDate' => 'date', - 'categoryBeGroupTceFormsRestriction' => '0', - 'categoryRestriction' => '', - 'contentElementPreview' => '1', - 'contentElementRelation' => '1', - 'dateTimeNotRequired' => '0', - 'hidePageTreeForAdministrationModule' => '0', - 'manualSorting' => '0', - 'prependAtCopy' => '1', - 'resourceFolderImporter' => '/news_import', - 'rteForTeaser' => '0', - 'showAdministrationModule' => '1', - 'showImporter' => '0', - 'slugBehaviour' => 'unique', - 'storageUidImporter' => '1', - 'tagPid' => '1', - ], - 'ods_osm' => [ - 'autocomplete' => '1', - 'cache_enabled' => '1', - 'default_country' => 'DE', - 'default_lat' => '51.27', - 'default_lon' => '10.41', - 'default_zoom' => '8', - 'geo_service' => '2', - 'geo_service_email' => '', - 'geo_service_user' => '', - 'local_js' => '1', - ], - 'sr_feuser_register' => [ - 'imageMaxSize' => '7168', - 'imageTypes' => 'gif,jpg,jpeg,tif,tiff,bmp,pcx,tga,png,ai,svg', - 'uploadFolder' => '2:/tx_srfeuserregister/', - ], - 'sr_freecap' => [ - 'encryptionAlgorithm' => 'aes-256-cbc', - 'salt' => 'cH!swe!retReGu7W6bEDRup7usuDUh9THeD2CHeGE*ewr4n39=E@rAsp7c-Ph@pH', - ], - 'static_info_tables' => [ - 'enableManager' => '0', - ], - 'tt_address' => [ - 'backwardsCompatFormat' => '%1$s %3$s', - 'newPagination' => '1', - 'readOnlyNameField' => '1', - 'storeBackwardsCompatName' => '1', - ], - 'youtubevideo' => [ - 'youtubevideoEnableBePlayer' => '1', - 'youtubevideoEnablePagination' => '0', - ], - ], - 'FE' => [ - 'debug' => false, - ], - 'GFX' => [ - 'jpg_quality' => '80', - 'processor' => 'GraphicsMagick', - 'processor_allowTemporaryMasksAsPng' => '', - 'processor_colorspace' => 'RGB', - 'processor_effects' => false, - 'processor_enabled' => '1', - 'processor_path' => '/usr/bin/', - 'processor_path_lzw' => '/usr/bin/', - ], - 'INSTALL' => [], - 'LOG' => [ - 'TYPO3' => [ - 'CMS' => [ - 'deprecations' => [ - 'writerConfiguration' => [ - 'notice' => [ - 'TYPO3\CMS\Core\Log\Writer\FileWriter' => [ - 'disabled' => true, - ], - ], - ], - ], - ], - ], - ], - 'MAIL' => [ - 'defaultMailFromAddress' => 'cartedalegare@cultura.gov.it', - 'defaultMailFromName' => 'Carte da legare', - 'defaultMailReplyToAddress' => 'cartedalegare@cultura.gov.it', - 'defaultMailReplyToName' => 'Carte da legare', - 'transport' => 'sendmail', - 'transport_sendmail_command' => '/usr/sbin/sendmail -t', - 'transport_smtp_encrypt' => '', - 'transport_smtp_password' => '', - 'transport_smtp_server' => 'localhost:25', - 'transport_smtp_username' => '', - ], - 'SYS' => [ - 'caching' => [ - 'cacheConfigurations' => [ - 'extbase_object' => [ - 'backend' => 'TYPO3\\CMS\\Core\\Cache\\Backend\\Typo3DatabaseBackend', - 'frontend' => 'TYPO3\\CMS\\Core\\Cache\\Frontend\\VariableFrontend', - 'groups' => [ - 'system', - ], - 'options' => [ - 'defaultLifetime' => 0, - ], - ], - 'hash' => [ - 'backend' => 'TYPO3\\CMS\\Core\\Cache\\Backend\\Typo3DatabaseBackend', - ], - 'imagesizes' => [ - 'backend' => 'TYPO3\\CMS\\Core\\Cache\\Backend\\Typo3DatabaseBackend', - ], - 'pages' => [ - 'backend' => 'TYPO3\\CMS\\Core\\Cache\\Backend\\Typo3DatabaseBackend', - ], - 'pagesection' => [ - 'backend' => 'TYPO3\\CMS\\Core\\Cache\\Backend\\Typo3DatabaseBackend', - ], - 'rootline' => [ - 'backend' => 'TYPO3\\CMS\\Core\\Cache\\Backend\\Typo3DatabaseBackend', - ], - ], - ], - 'devIPmask' => '', - 'displayErrors' => 0, - 'encryptionKey' => 'efccad22f08ec986fda57f4e46959a58eb14d68c3f43726306c7850ba81e5ae0bc621f40cf3ab47589bbef1c3f23f96f', - 'exceptionalErrors' => 4096, - 'sitename' => 'Carte da legare', - ], -]; diff --git a/typo3conf/PackageStates.php b/typo3conf/PackageStates.php deleted file mode 100644 index 2d008cf..0000000 --- a/typo3conf/PackageStates.php +++ /dev/null @@ -1,133 +0,0 @@ - [ - 'core' => [ - 'packagePath' => 'typo3/sysext/core/', - ], - 'extbase' => [ - 'packagePath' => 'typo3/sysext/extbase/', - ], - 'fluid' => [ - 'packagePath' => 'typo3/sysext/fluid/', - ], - 'frontend' => [ - 'packagePath' => 'typo3/sysext/frontend/', - ], - 'fluid_styled_content' => [ - 'packagePath' => 'typo3/sysext/fluid_styled_content/', - ], - 'filelist' => [ - 'packagePath' => 'typo3/sysext/filelist/', - ], - 'impexp' => [ - 'packagePath' => 'typo3/sysext/impexp/', - ], - 'form' => [ - 'packagePath' => 'typo3/sysext/form/', - ], - 'install' => [ - 'packagePath' => 'typo3/sysext/install/', - ], - 'recordlist' => [ - 'packagePath' => 'typo3/sysext/recordlist/', - ], - 'backend' => [ - 'packagePath' => 'typo3/sysext/backend/', - ], - 'setup' => [ - 'packagePath' => 'typo3/sysext/setup/', - ], - 'rte_ckeditor' => [ - 'packagePath' => 'typo3/sysext/rte_ckeditor/', - ], - 'adminpanel' => [ - 'packagePath' => 'typo3/sysext/adminpanel/', - ], - 'belog' => [ - 'packagePath' => 'typo3/sysext/belog/', - ], - 'beuser' => [ - 'packagePath' => 'typo3/sysext/beuser/', - ], - 'extensionmanager' => [ - 'packagePath' => 'typo3/sysext/extensionmanager/', - ], - 'felogin' => [ - 'packagePath' => 'typo3/sysext/felogin/', - ], - 'info' => [ - 'packagePath' => 'typo3/sysext/info/', - ], - 'lowlevel' => [ - 'packagePath' => 'typo3/sysext/lowlevel/', - ], - 'recycler' => [ - 'packagePath' => 'typo3/sysext/recycler/', - ], - 'reports' => [ - 'packagePath' => 'typo3/sysext/reports/', - ], - 'sys_note' => [ - 'packagePath' => 'typo3/sysext/sys_note/', - ], - 't3editor' => [ - 'packagePath' => 'typo3/sysext/t3editor/', - ], - 'tstemplate' => [ - 'packagePath' => 'typo3/sysext/tstemplate/', - ], - 'viewpage' => [ - 'packagePath' => 'typo3/sysext/viewpage/', - ], - 'sr_freecap' => [ - 'packagePath' => 'typo3conf/ext/sr_freecap/', - ], - 'static_info_tables' => [ - 'packagePath' => 'typo3conf/ext/static_info_tables/', - ], - 'sr_feuser_register' => [ - 'packagePath' => 'typo3conf/ext/sr_feuser_register/', - ], - 'numbered_pagination' => [ - 'packagePath' => 'typo3conf/ext/numbered_pagination/', - ], - 'news' => [ - 'packagePath' => 'typo3conf/ext/news/', - ], - 'cartedalegare' => [ - 'packagePath' => 'typo3conf/ext/cartedalegare/', - ], - 'embedassets' => [ - 'packagePath' => 'typo3conf/ext/embedassets/', - ], - 'paginatedprocessors' => [ - 'packagePath' => 'typo3conf/ext/paginatedprocessors/', - ], - 'dp_cookieconsent' => [ - 'packagePath' => 'typo3conf/ext/dp_cookieconsent/', - ], - 'fs_media_gallery' => [ - 'packagePath' => 'typo3conf/ext/fs_media_gallery/', - ], - 'lfeditor' => [ - 'packagePath' => 'typo3conf/ext/lfeditor/', - ], - 'ods_osm' => [ - 'packagePath' => 'typo3conf/ext/ods_osm/', - ], - 'tt_address' => [ - 'packagePath' => 'typo3conf/ext/tt_address/', - ], - 'youtubevideo' => [ - 'packagePath' => 'typo3conf/ext/youtubevideo/', - ], - ], - 'version' => 5, -]; diff --git a/typo3conf/autoload/autoload_classaliasmap.php b/typo3conf/autoload/autoload_classaliasmap.php deleted file mode 100644 index 13b6277..0000000 --- a/typo3conf/autoload/autoload_classaliasmap.php +++ /dev/null @@ -1,9 +0,0 @@ - - array ( - ), - 'classNameToAliasMapping' => - array ( - ), -); diff --git a/typo3conf/autoload/autoload_classmap.php b/typo3conf/autoload/autoload_classmap.php deleted file mode 100644 index 611447c..0000000 --- a/typo3conf/autoload/autoload_classmap.php +++ /dev/null @@ -1,365 +0,0 @@ - $typo3InstallDir . 'typo3conf/ext/ods_osm/Classes/Backend/FormDataProvider/FlexFormManipulation.php', - 'Bobosch\\OdsOsm\\Controller\\PluginController' => $typo3InstallDir . 'typo3conf/ext/ods_osm/Classes/Controller/PluginController.php', - 'Bobosch\\OdsOsm\\Div' => $typo3InstallDir . 'typo3conf/ext/ods_osm/Classes/Div.php', - 'Bobosch\\OdsOsm\\Evaluation\\LonLat' => $typo3InstallDir . 'typo3conf/ext/ods_osm/Classes/Evaluation/LonLat.php', - 'Bobosch\\OdsOsm\\EventListener\\CalendarizeOdsOsmSqlListener' => $typo3InstallDir . 'typo3conf/ext/ods_osm/Classes/EventListener/CalendarizeOdsOsmSqlListener.php', - 'Bobosch\\OdsOsm\\Provider\\BaseProvider' => $typo3InstallDir . 'typo3conf/ext/ods_osm/Classes/Provider/BaseProvider.php', - 'Bobosch\\OdsOsm\\Provider\\Leaflet' => $typo3InstallDir . 'typo3conf/ext/ods_osm/Classes/Provider/Leaflet.php', - 'Bobosch\\OdsOsm\\Provider\\Openlayers' => $typo3InstallDir . 'typo3conf/ext/ods_osm/Classes/Provider/Openlayers.php', - 'Bobosch\\OdsOsm\\Provider\\Staticmap' => $typo3InstallDir . 'typo3conf/ext/ods_osm/Classes/Provider/Staticmap.php', - 'Bobosch\\OdsOsm\\TceMain' => $typo3InstallDir . 'typo3conf/ext/ods_osm/Classes/TceMain.php', - 'Bobosch\\OdsOsm\\Updates\\FileLocationUpdater' => $typo3InstallDir . 'typo3conf/ext/ods_osm/Classes/Updates/FileLocationUpdater.php', - 'Bobosch\\OdsOsm\\Updates\\MigrateSettings' => $typo3InstallDir . 'typo3conf/ext/ods_osm/Classes/Updates/MigrateSettings.php', - 'Bobosch\\OdsOsm\\Wizard\\CoordinatepickerWizard' => $typo3InstallDir . 'typo3conf/ext/ods_osm/Classes/Wizard/CoordinatepickerWizard.php', - 'Bobosch\\OdsOsm\\Wizard\\VectordrawWizard' => $typo3InstallDir . 'typo3conf/ext/ods_osm/Classes/Wizard/VectordrawWizard.php', - 'Brightside\\Embedassets\\ViewHelpers\\Asset\\CssViewHelper' => $typo3InstallDir . 'typo3conf/ext/embedassets/Classes/ViewHelpers/Asset/CssViewHelper.php', - 'Brightside\\Embedassets\\ViewHelpers\\Asset\\ScriptViewHelper' => $typo3InstallDir . 'typo3conf/ext/embedassets/Classes/ViewHelpers/Asset/ScriptViewHelper.php', - 'Brightside\\Paginatedprocessors\\DataProcessing\\PaginatedDatabaseQueryProcessor' => $typo3InstallDir . 'typo3conf/ext/paginatedprocessors/Classes/DataProcessing/PaginatedDatabaseQueryProcessor.php', - 'Brightside\\Paginatedprocessors\\DataProcessing\\PaginatedFilesProcessor' => $typo3InstallDir . 'typo3conf/ext/paginatedprocessors/Classes/DataProcessing/PaginatedFilesProcessor.php', - 'Brightside\\Paginatedprocessors\\DataProcessing\\PaginatedMenuProcessor' => $typo3InstallDir . 'typo3conf/ext/paginatedprocessors/Classes/DataProcessing/PaginatedMenuProcessor.php', - 'Brightside\\Paginatedprocessors\\Processing\\DataToPaginatedData' => $typo3InstallDir . 'typo3conf/ext/paginatedprocessors/Classes/Processing/DataToPaginatedData.php', - 'Brightside\\Paginatedprocessors\\Routing\\Aspect\\PaginatedprocessorsContentMapper' => $typo3InstallDir . 'typo3conf/ext/paginatedprocessors/Classes/Routing/Aspect/PaginatedprocessorsContentMapper.php', - 'Brightside\\Youtubevideo\\DataProcessing\\YoutubevideoFilesProcessor' => $typo3InstallDir . 'typo3conf/ext/youtubevideo/Classes/DataProcessing/YoutubevideoFilesProcessor.php', - 'Brightside\\Youtubevideo\\Evaluation\\HoursMinutesSeconds' => $typo3InstallDir . 'typo3conf/ext/youtubevideo/Classes/Evaluation/HoursMinutesSeconds.php', - 'Brightside\\Youtubevideo\\Hooks\\PageLayoutView\\YoutubevideoContentElementPreviewRenderer' => $typo3InstallDir . 'typo3conf/ext/youtubevideo/Classes/Hooks/PageLayoutView/YoutubevideoContentElementPreviewRenderer.php', - 'Cartedalegare\\Backend\\FlexFormsItems' => $typo3InstallDir . 'typo3conf/ext/cartedalegare/Classes/Backend/FlexFormsItems.php', - 'Cartedalegare\\Controller\\Pi1Controller' => $typo3InstallDir . 'typo3conf/ext/cartedalegare/Classes/Controller/Pi1Controller.php', - 'Cartedalegare\\Domain\\Charts\\ChartManager' => $typo3InstallDir . 'typo3conf/ext/cartedalegare/Classes/Domain/Charts/ChartManager.php', - 'Cartedalegare\\Domain\\Search\\SearchManager' => $typo3InstallDir . 'typo3conf/ext/cartedalegare/Classes/Domain/Search/SearchManager.php', - 'Cartedalegare\\Domain\\Utility\\Utils' => $typo3InstallDir . 'typo3conf/ext/cartedalegare/Classes/Domain/Utility/Utils.php', - 'Cartedalegare\\Domain\\WebService\\SiusaWs' => $typo3InstallDir . 'typo3conf/ext/cartedalegare/Classes/Domain/WebService/SiusaWs.php', - 'Cartedalegare\\Hooks\\PageLayoutView' => $typo3InstallDir . 'typo3conf/ext/cartedalegare/Classes/Hooks/PageLayoutView.php', - 'Cartedalegare\\Legacy\\CLI' => $typo3InstallDir . 'typo3conf/ext/cartedalegare/Classes/Legacy/CLI.php', - 'Cartedalegare\\Legacy\\Chronometer' => $typo3InstallDir . 'typo3conf/ext/cartedalegare/Classes/Legacy/Chronometer.php', - 'Cartedalegare\\Legacy\\DBManager' => $typo3InstallDir . 'typo3conf/ext/cartedalegare/Classes/Legacy/DBManager.php', - 'Cartedalegare\\Legacy\\DBUtils' => $typo3InstallDir . 'typo3conf/ext/cartedalegare/Classes/Legacy/DBUtils.php', - 'Cartedalegare\\Legacy\\Exception' => $typo3InstallDir . 'typo3conf/ext/cartedalegare/Classes/Legacy/Exception.php', - 'Cartedalegare\\Legacy\\URLContent' => $typo3InstallDir . 'typo3conf/ext/cartedalegare/Classes/Legacy/URLContent.php', - 'Cartedalegare\\Legacy\\Utils' => $typo3InstallDir . 'typo3conf/ext/cartedalegare/Classes/Legacy/Utils.php', - 'Cartedalegare\\Legacy\\XSLTManager' => $typo3InstallDir . 'typo3conf/ext/cartedalegare/Classes/Legacy/XSLTManager.php', - 'DirkPersky\\DpCookieconsent\\Controller\\CookieController' => $typo3InstallDir . 'typo3conf/ext/dp_cookieconsent/Classes/Controller/CookieController.php', - 'DirkPersky\\DpCookieconsent\\Controller\\ScriptController' => $typo3InstallDir . 'typo3conf/ext/dp_cookieconsent/Classes/Controller/ScriptController.php', - 'DirkPersky\\DpCookieconsent\\DataProcessing\\CookieScriptsProcessor' => $typo3InstallDir . 'typo3conf/ext/dp_cookieconsent/Classes/DataProcessing/CookieScriptsProcessor.php', - 'DirkPersky\\DpCookieconsent\\Domain\\Model\\Cookie' => $typo3InstallDir . 'typo3conf/ext/dp_cookieconsent/Classes/Domain/Model/Cookie.php', - 'DirkPersky\\DpCookieconsent\\Domain\\Repository\\CookieRepository' => $typo3InstallDir . 'typo3conf/ext/dp_cookieconsent/Classes/Domain/Repository/CookieRepository.php', - 'DirkPersky\\DpCookieconsent\\Middleware\\PlainRenderingMiddleware' => $typo3InstallDir . 'typo3conf/ext/dp_cookieconsent/Classes/Middleware/PlainRenderingMiddleware.php', - 'DirkPersky\\DpCookieconsent\\ViewHelpers\\JsonViewHelper' => $typo3InstallDir . 'typo3conf/ext/dp_cookieconsent/Classes/ViewHelpers/JsonViewHelper.php', - 'FriendsOfTYPO3\\TtAddress\\Command\\GeocodeCommand' => $typo3InstallDir . 'typo3conf/ext/tt_address/Classes/Command/GeocodeCommand.php', - 'FriendsOfTYPO3\\TtAddress\\Controller\\AddressController' => $typo3InstallDir . 'typo3conf/ext/tt_address/Classes/Controller/AddressController.php', - 'FriendsOfTYPO3\\TtAddress\\Database\\QueryGenerator' => $typo3InstallDir . 'typo3conf/ext/tt_address/Classes/Database/QueryGenerator.php', - 'FriendsOfTYPO3\\TtAddress\\Domain\\Model\\Address' => $typo3InstallDir . 'typo3conf/ext/tt_address/Classes/Domain/Model/Address.php', - 'FriendsOfTYPO3\\TtAddress\\Domain\\Model\\Dto\\Demand' => $typo3InstallDir . 'typo3conf/ext/tt_address/Classes/Domain/Model/Dto/Demand.php', - 'FriendsOfTYPO3\\TtAddress\\Domain\\Model\\Dto\\Settings' => $typo3InstallDir . 'typo3conf/ext/tt_address/Classes/Domain/Model/Dto/Settings.php', - 'FriendsOfTYPO3\\TtAddress\\Domain\\Repository\\AddressRepository' => $typo3InstallDir . 'typo3conf/ext/tt_address/Classes/Domain/Repository/AddressRepository.php', - 'FriendsOfTYPO3\\TtAddress\\Evaluation\\LatitudeEvaluation' => $typo3InstallDir . 'typo3conf/ext/tt_address/Classes/Evaluation/LatitudeEvaluation.php', - 'FriendsOfTYPO3\\TtAddress\\Evaluation\\LongitudeEvaluation' => $typo3InstallDir . 'typo3conf/ext/tt_address/Classes/Evaluation/LongitudeEvaluation.php', - 'FriendsOfTYPO3\\TtAddress\\Evaluation\\TelephoneEvaluation' => $typo3InstallDir . 'typo3conf/ext/tt_address/Classes/Evaluation/TelephoneEvaluation.php', - 'FriendsOfTYPO3\\TtAddress\\FormEngine\\FieldControl\\LocationMapWizard' => $typo3InstallDir . 'typo3conf/ext/tt_address/Classes/FormEngine/FieldControl/LocationMapWizard.php', - 'FriendsOfTYPO3\\TtAddress\\FormEngine\\TtAddressPreviewRenderer' => $typo3InstallDir . 'typo3conf/ext/tt_address/Classes/FormEngine/TtAddressPreviewRenderer.php', - 'FriendsOfTYPO3\\TtAddress\\Hooks\\Tca\\AddFieldsToSelector' => $typo3InstallDir . 'typo3conf/ext/tt_address/Classes/Hooks/Tca/AddFieldsToSelector.php', - 'FriendsOfTYPO3\\TtAddress\\Hooks\\Tca\\Label' => $typo3InstallDir . 'typo3conf/ext/tt_address/Classes/Hooks/Tca/Label.php', - 'FriendsOfTYPO3\\TtAddress\\Seo\\AddressTitleProvider' => $typo3InstallDir . 'typo3conf/ext/tt_address/Classes/Seo/AddressTitleProvider.php', - 'FriendsOfTYPO3\\TtAddress\\Service\\CategoryService' => $typo3InstallDir . 'typo3conf/ext/tt_address/Classes/Service/CategoryService.php', - 'FriendsOfTYPO3\\TtAddress\\Service\\GeocodeService' => $typo3InstallDir . 'typo3conf/ext/tt_address/Classes/Service/GeocodeService.php', - 'FriendsOfTYPO3\\TtAddress\\Utility\\CacheUtility' => $typo3InstallDir . 'typo3conf/ext/tt_address/Classes/Utility/CacheUtility.php', - 'FriendsOfTYPO3\\TtAddress\\Utility\\EvalcoordinatesUtility' => $typo3InstallDir . 'typo3conf/ext/tt_address/Classes/Utility/EvalcoordinatesUtility.php', - 'FriendsOfTYPO3\\TtAddress\\Utility\\PropertyModification' => $typo3InstallDir . 'typo3conf/ext/tt_address/Classes/Utility/PropertyModification.php', - 'FriendsOfTYPO3\\TtAddress\\Utility\\TypoScript' => $typo3InstallDir . 'typo3conf/ext/tt_address/Classes/Utility/TypoScript.php', - 'FriendsOfTYPO3\\TtAddress\\ViewHelpers\\Clean\\DomainViewHelper' => $typo3InstallDir . 'typo3conf/ext/tt_address/Classes/ViewHelpers/Clean/DomainViewHelper.php', - 'FriendsOfTYPO3\\TtAddress\\ViewHelpers\\Clean\\PhoneNumberViewHelper' => $typo3InstallDir . 'typo3conf/ext/tt_address/Classes/ViewHelpers/Clean/PhoneNumberViewHelper.php', - 'FriendsOfTYPO3\\TtAddress\\ViewHelpers\\MetaTagViewHelper' => $typo3InstallDir . 'typo3conf/ext/tt_address/Classes/ViewHelpers/MetaTagViewHelper.php', - 'FriendsOfTYPO3\\TtAddress\\ViewHelpers\\RemoveSpacesViewHelper' => $typo3InstallDir . 'typo3conf/ext/tt_address/Classes/ViewHelpers/RemoveSpacesViewHelper.php', - 'FriendsOfTYPO3\\TtAddress\\ViewHelpers\\StaticGoogleMapsViewHelper' => $typo3InstallDir . 'typo3conf/ext/tt_address/Classes/ViewHelpers/StaticGoogleMapsViewHelper.php', - 'GeorgRinger\\News\\Backend\\FieldInformation\\StaticText' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Backend/FieldInformation/StaticText.php', - 'GeorgRinger\\News\\Backend\\FormDataProvider\\NewsFlexFormManipulation' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Backend/FormDataProvider/NewsFlexFormManipulation.php', - 'GeorgRinger\\News\\Backend\\FormDataProvider\\NewsRowInitializeNew' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Backend/FormDataProvider/NewsRowInitializeNew.php', - 'GeorgRinger\\News\\Backend\\RecordList\\NewsDatabaseRecordList' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Backend/RecordList/NewsDatabaseRecordList.php', - 'GeorgRinger\\News\\Backend\\RecordList\\RecordListConstraint' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Backend/RecordList/RecordListConstraint.php', - 'GeorgRinger\\News\\Backend\\Wizard\\SuggestWizardReceiver' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Backend/Wizard/SuggestWizardReceiver.php', - 'GeorgRinger\\News\\Controller\\AdministrationController' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Controller/AdministrationController.php', - 'GeorgRinger\\News\\Controller\\CategoryController' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Controller/CategoryController.php', - 'GeorgRinger\\News\\Controller\\ImportController' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Controller/ImportController.php', - 'GeorgRinger\\News\\Controller\\NewsBaseController' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Controller/NewsBaseController.php', - 'GeorgRinger\\News\\Controller\\NewsController' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Controller/NewsController.php', - 'GeorgRinger\\News\\Controller\\TagController' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Controller/TagController.php', - 'GeorgRinger\\News\\DataProcessing\\AddNewsToMenuProcessor' => $typo3InstallDir . 'typo3conf/ext/news/Classes/DataProcessing/AddNewsToMenuProcessor.php', - 'GeorgRinger\\News\\DataProcessing\\DisableLanguageMenuProcessor' => $typo3InstallDir . 'typo3conf/ext/news/Classes/DataProcessing/DisableLanguageMenuProcessor.php', - 'GeorgRinger\\News\\Domain\\Model\\Category' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Domain/Model/Category.php', - 'GeorgRinger\\News\\Domain\\Model\\DemandInterface' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Domain/Model/DemandInterface.php', - 'GeorgRinger\\News\\Domain\\Model\\Dto\\AdministrationDemand' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Domain/Model/Dto/AdministrationDemand.php', - 'GeorgRinger\\News\\Domain\\Model\\Dto\\EmConfiguration' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Domain/Model/Dto/EmConfiguration.php', - 'GeorgRinger\\News\\Domain\\Model\\Dto\\NewsDemand' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Domain/Model/Dto/NewsDemand.php', - 'GeorgRinger\\News\\Domain\\Model\\Dto\\Search' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Domain/Model/Dto/Search.php', - 'GeorgRinger\\News\\Domain\\Model\\FileReference' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Domain/Model/FileReference.php', - 'GeorgRinger\\News\\Domain\\Model\\Link' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Domain/Model/Link.php', - 'GeorgRinger\\News\\Domain\\Model\\News' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Domain/Model/News.php', - 'GeorgRinger\\News\\Domain\\Model\\NewsDefault' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Domain/Model/NewsDefault.php', - 'GeorgRinger\\News\\Domain\\Model\\NewsExternal' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Domain/Model/NewsExternal.php', - 'GeorgRinger\\News\\Domain\\Model\\NewsInternal' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Domain/Model/NewsInternal.php', - 'GeorgRinger\\News\\Domain\\Model\\Tag' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Domain/Model/Tag.php', - 'GeorgRinger\\News\\Domain\\Model\\TtContent' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Domain/Model/TtContent.php', - 'GeorgRinger\\News\\Domain\\Repository\\AbstractDemandedRepository' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Domain/Repository/AbstractDemandedRepository.php', - 'GeorgRinger\\News\\Domain\\Repository\\AdministrationRepository' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Domain/Repository/AdministrationRepository.php', - 'GeorgRinger\\News\\Domain\\Repository\\CategoryRepository' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Domain/Repository/CategoryRepository.php', - 'GeorgRinger\\News\\Domain\\Repository\\DemandedRepositoryInterface' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Domain/Repository/DemandedRepositoryInterface.php', - 'GeorgRinger\\News\\Domain\\Repository\\FileRepository' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Domain/Repository/FileRepository.php', - 'GeorgRinger\\News\\Domain\\Repository\\LinkRepository' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Domain/Repository/LinkRepository.php', - 'GeorgRinger\\News\\Domain\\Repository\\MediaRepository' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Domain/Repository/MediaRepository.php', - 'GeorgRinger\\News\\Domain\\Repository\\NewsDefaultRepository' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Domain/Repository/NewsDefaultRepository.php', - 'GeorgRinger\\News\\Domain\\Repository\\NewsRepository' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Domain/Repository/NewsRepository.php', - 'GeorgRinger\\News\\Domain\\Repository\\TagRepository' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Domain/Repository/TagRepository.php', - 'GeorgRinger\\News\\Domain\\Repository\\TtContentRepository' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Domain/Repository/TtContentRepository.php', - 'GeorgRinger\\News\\Domain\\Service\\AbstractImportService' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Domain/Service/AbstractImportService.php', - 'GeorgRinger\\News\\Domain\\Service\\CategoryImportService' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Domain/Service/CategoryImportService.php', - 'GeorgRinger\\News\\Domain\\Service\\NewsImportService' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Domain/Service/NewsImportService.php', - 'GeorgRinger\\News\\Event\\AdministrationExtendMenuEvent' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Event/AdministrationExtendMenuEvent.php', - 'GeorgRinger\\News\\Event\\AdministrationIndexActionEvent' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Event/AdministrationIndexActionEvent.php', - 'GeorgRinger\\News\\Event\\AdministrationNewsPidListingActionEvent' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Event/AdministrationNewsPidListingActionEvent.php', - 'GeorgRinger\\News\\Event\\CategoryImportPostHydrateEvent' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Event/CategoryImportPostHydrateEvent.php', - 'GeorgRinger\\News\\Event\\CategoryListActionEvent' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Event/CategoryListActionEvent.php', - 'GeorgRinger\\News\\Event\\NewsCheckPidOfNewsRecordFailedInDetailActionEvent' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Event/NewsCheckPidOfNewsRecordFailedInDetailActionEvent.php', - 'GeorgRinger\\News\\Event\\NewsDateMenuActionEvent' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Event/NewsDateMenuActionEvent.php', - 'GeorgRinger\\News\\Event\\NewsDetailActionEvent' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Event/NewsDetailActionEvent.php', - 'GeorgRinger\\News\\Event\\NewsImportPostHydrateEvent' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Event/NewsImportPostHydrateEvent.php', - 'GeorgRinger\\News\\Event\\NewsImportPreHydrateEvent' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Event/NewsImportPreHydrateEvent.php', - 'GeorgRinger\\News\\Event\\NewsListActionEvent' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Event/NewsListActionEvent.php', - 'GeorgRinger\\News\\Event\\NewsListSelectedActionEvent' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Event/NewsListSelectedActionEvent.php', - 'GeorgRinger\\News\\Event\\NewsSearchFormActionEvent' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Event/NewsSearchFormActionEvent.php', - 'GeorgRinger\\News\\Event\\NewsSearchResultActionEvent' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Event/NewsSearchResultActionEvent.php', - 'GeorgRinger\\News\\Event\\TagListActionEvent' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Event/TagListActionEvent.php', - 'GeorgRinger\\News\\Hooks\\BackendUtility' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Hooks/BackendUtility.php', - 'GeorgRinger\\News\\Hooks\\Backend\\PageViewQueryHook' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Hooks/Backend/PageViewQueryHook.php', - 'GeorgRinger\\News\\Hooks\\Backend\\RecordListQueryHook' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Hooks/Backend/RecordListQueryHook.php', - 'GeorgRinger\\News\\Hooks\\DataHandler' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Hooks/DataHandler.php', - 'GeorgRinger\\News\\Hooks\\InlineElementHook' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Hooks/InlineElementHook.php', - 'GeorgRinger\\News\\Hooks\\ItemsProcFunc' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Hooks/ItemsProcFunc.php', - 'GeorgRinger\\News\\Hooks\\Labels' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Hooks/Labels.php', - 'GeorgRinger\\News\\Hooks\\PageLayoutView' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Hooks/PageLayoutView.php', - 'GeorgRinger\\News\\Jobs\\AbstractImportJob' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Jobs/AbstractImportJob.php', - 'GeorgRinger\\News\\Jobs\\ImportJobInterface' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Jobs/ImportJobInterface.php', - 'GeorgRinger\\News\\Pagination\\CustomAbstractPaginator' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Pagination/CustomAbstractPaginator.php', - 'GeorgRinger\\News\\Pagination\\QueryResultPaginator' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Pagination/QueryResultPaginator.php', - 'GeorgRinger\\News\\Seo\\HrefLangEvent' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Seo/HrefLangEvent.php', - 'GeorgRinger\\News\\Seo\\NewsAvailability' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Seo/NewsAvailability.php', - 'GeorgRinger\\News\\Seo\\NewsTitleProvider' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Seo/NewsTitleProvider.php', - 'GeorgRinger\\News\\Seo\\NewsXmlSitemapDataProvider' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Seo/NewsXmlSitemapDataProvider.php', - 'GeorgRinger\\News\\Service\\AccessControlService' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Service/AccessControlService.php', - 'GeorgRinger\\News\\Service\\CategoryService' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Service/CategoryService.php', - 'GeorgRinger\\News\\Service\\Import\\DataProviderServiceInterface' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Service/Import/DataProviderServiceInterface.php', - 'GeorgRinger\\News\\Service\\LinkHandlerTargetPageService' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Service/LinkHandlerTargetPageService.php', - 'GeorgRinger\\News\\Service\\SettingsService' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Service/SettingsService.php', - 'GeorgRinger\\News\\Service\\SlugService' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Service/SlugService.php', - 'GeorgRinger\\News\\TreeProvider\\DatabaseTreeDataProvider' => $typo3InstallDir . 'typo3conf/ext/news/Classes/TreeProvider/DatabaseTreeDataProvider.php', - 'GeorgRinger\\News\\Updates\\NewsSlugUpdater' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Updates/NewsSlugUpdater.php', - 'GeorgRinger\\News\\Updates\\PopulateCategorySlugs' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Updates/PopulateCategorySlugs.php', - 'GeorgRinger\\News\\Updates\\PopulateTagSlugs' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Updates/PopulateTagSlugs.php', - 'GeorgRinger\\News\\Updates\\RealurlAliasNewsSlugUpdater' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Updates/RealurlAliasNewsSlugUpdater.php', - 'GeorgRinger\\News\\Utility\\Cache' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Utility/Cache.php', - 'GeorgRinger\\News\\Utility\\ClassCacheManager' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Utility/ClassCacheManager.php', - 'GeorgRinger\\News\\Utility\\ClassLoader' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Utility/ClassLoader.php', - 'GeorgRinger\\News\\Utility\\ClassParser' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Utility/ClassParser.php', - 'GeorgRinger\\News\\Utility\\ConstraintHelper' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Utility/ConstraintHelper.php', - 'GeorgRinger\\News\\Utility\\ImportJob' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Utility/ImportJob.php', - 'GeorgRinger\\News\\Utility\\Page' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Utility/Page.php', - 'GeorgRinger\\News\\Utility\\TemplateLayout' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Utility/TemplateLayout.php', - 'GeorgRinger\\News\\Utility\\TypoScript' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Utility/TypoScript.php', - 'GeorgRinger\\News\\Utility\\Url' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Utility/Url.php', - 'GeorgRinger\\News\\Utility\\Validation' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Utility/Validation.php', - 'GeorgRinger\\News\\ViewHelpers\\Be\\IsCheckboxActiveViewHelper' => $typo3InstallDir . 'typo3conf/ext/news/Classes/ViewHelpers/Be/IsCheckboxActiveViewHelper.php', - 'GeorgRinger\\News\\ViewHelpers\\Category\\CountViewHelper' => $typo3InstallDir . 'typo3conf/ext/news/Classes/ViewHelpers/Category/CountViewHelper.php', - 'GeorgRinger\\News\\ViewHelpers\\Check\\PageAvailableInLanguageViewHelper' => $typo3InstallDir . 'typo3conf/ext/news/Classes/ViewHelpers/Check/PageAvailableInLanguageViewHelper.php', - 'GeorgRinger\\News\\ViewHelpers\\ExcludeDisplayedNewsViewHelper' => $typo3InstallDir . 'typo3conf/ext/news/Classes/ViewHelpers/ExcludeDisplayedNewsViewHelper.php', - 'GeorgRinger\\News\\ViewHelpers\\ExtensionLoadedViewHelper' => $typo3InstallDir . 'typo3conf/ext/news/Classes/ViewHelpers/ExtensionLoadedViewHelper.php', - 'GeorgRinger\\News\\ViewHelpers\\Format\\NothingViewHelper' => $typo3InstallDir . 'typo3conf/ext/news/Classes/ViewHelpers/Format/NothingViewHelper.php', - 'GeorgRinger\\News\\ViewHelpers\\HeaderDataViewHelper' => $typo3InstallDir . 'typo3conf/ext/news/Classes/ViewHelpers/HeaderDataViewHelper.php', - 'GeorgRinger\\News\\ViewHelpers\\IfIsActiveViewHelper' => $typo3InstallDir . 'typo3conf/ext/news/Classes/ViewHelpers/IfIsActiveViewHelper.php', - 'GeorgRinger\\News\\ViewHelpers\\ImageSizeViewHelper' => $typo3InstallDir . 'typo3conf/ext/news/Classes/ViewHelpers/ImageSizeViewHelper.php', - 'GeorgRinger\\News\\ViewHelpers\\IncludeFileViewHelper' => $typo3InstallDir . 'typo3conf/ext/news/Classes/ViewHelpers/IncludeFileViewHelper.php', - 'GeorgRinger\\News\\ViewHelpers\\Iterator\\ChunkViewHelper' => $typo3InstallDir . 'typo3conf/ext/news/Classes/ViewHelpers/Iterator/ChunkViewHelper.php', - 'GeorgRinger\\News\\ViewHelpers\\LinkViewHelper' => $typo3InstallDir . 'typo3conf/ext/news/Classes/ViewHelpers/LinkViewHelper.php', - 'GeorgRinger\\News\\ViewHelpers\\MetaTagViewHelper' => $typo3InstallDir . 'typo3conf/ext/news/Classes/ViewHelpers/MetaTagViewHelper.php', - 'GeorgRinger\\News\\ViewHelpers\\MultiCategoryLink\\ArgumentsViewHelper' => $typo3InstallDir . 'typo3conf/ext/news/Classes/ViewHelpers/MultiCategoryLink/ArgumentsViewHelper.php', - 'GeorgRinger\\News\\ViewHelpers\\MultiCategoryLink\\IsCategoryActiveViewHelper' => $typo3InstallDir . 'typo3conf/ext/news/Classes/ViewHelpers/MultiCategoryLink/IsCategoryActiveViewHelper.php', - 'GeorgRinger\\News\\ViewHelpers\\PaginateBodytextViewHelper' => $typo3InstallDir . 'typo3conf/ext/news/Classes/ViewHelpers/PaginateBodytextViewHelper.php', - 'GeorgRinger\\News\\ViewHelpers\\RemoveMediaTagsViewHelper' => $typo3InstallDir . 'typo3conf/ext/news/Classes/ViewHelpers/RemoveMediaTagsViewHelper.php', - 'GeorgRinger\\News\\ViewHelpers\\RenderMediaViewHelper' => $typo3InstallDir . 'typo3conf/ext/news/Classes/ViewHelpers/RenderMediaViewHelper.php', - 'GeorgRinger\\News\\ViewHelpers\\SimplePrevNextViewHelper' => $typo3InstallDir . 'typo3conf/ext/news/Classes/ViewHelpers/SimplePrevNextViewHelper.php', - 'GeorgRinger\\News\\ViewHelpers\\Tag\\CountViewHelper' => $typo3InstallDir . 'typo3conf/ext/news/Classes/ViewHelpers/Tag/CountViewHelper.php', - 'GeorgRinger\\News\\ViewHelpers\\TargetLinkViewHelper' => $typo3InstallDir . 'typo3conf/ext/news/Classes/ViewHelpers/TargetLinkViewHelper.php', - 'GeorgRinger\\News\\ViewHelpers\\TitleTagViewHelper' => $typo3InstallDir . 'typo3conf/ext/news/Classes/ViewHelpers/TitleTagViewHelper.php', - 'GeorgRinger\\News\\Xclass\\InlineRecordContainerForNews' => $typo3InstallDir . 'typo3conf/ext/news/Classes/Xclass/InlineRecordContainerForNews.php', - 'GeorgRinger\\NumberedPagination\\Contract\\PaginationInterface' => $typo3InstallDir . 'typo3conf/ext/numbered_pagination/Classes/Contract/PaginationInterface.php', - 'GeorgRinger\\NumberedPagination\\Contract\\PaginatorInterface' => $typo3InstallDir . 'typo3conf/ext/numbered_pagination/Classes/Contract/PaginatorInterface.php', - 'GeorgRinger\\NumberedPagination\\NumberedPagination' => $typo3InstallDir . 'typo3conf/ext/numbered_pagination/Classes/NumberedPagination.php', - 'MiniFranske\\FsMediaGallery\\ContextMenu\\ItemProviders\\FsMediaGalleryProvider' => $typo3InstallDir . 'typo3conf/ext/fs_media_gallery/Classes/ContextMenu/ItemProviders/FsMediaGalleryProvider.php', - 'MiniFranske\\FsMediaGallery\\Controller\\MediaAlbumController' => $typo3InstallDir . 'typo3conf/ext/fs_media_gallery/Classes/Controller/MediaAlbumController.php', - 'MiniFranske\\FsMediaGallery\\Domain\\Model\\MediaAlbum' => $typo3InstallDir . 'typo3conf/ext/fs_media_gallery/Classes/Domain/Model/MediaAlbum.php', - 'MiniFranske\\FsMediaGallery\\Domain\\Repository\\MediaAlbumRepository' => $typo3InstallDir . 'typo3conf/ext/fs_media_gallery/Classes/Domain/Repository/MediaAlbumRepository.php', - 'MiniFranske\\FsMediaGallery\\Hooks\\BackendControllerHook' => $typo3InstallDir . 'typo3conf/ext/fs_media_gallery/Classes/Hooks/BackendControllerHook.php', - 'MiniFranske\\FsMediaGallery\\Hooks\\DocHeaderButtonsHook' => $typo3InstallDir . 'typo3conf/ext/fs_media_gallery/Classes/Hooks/DocHeaderButtonsHook.php', - 'MiniFranske\\FsMediaGallery\\Hooks\\ItemsProcFuncHook' => $typo3InstallDir . 'typo3conf/ext/fs_media_gallery/Classes/Hooks/ItemsProcFuncHook.php', - 'MiniFranske\\FsMediaGallery\\Hooks\\PageLayoutView' => $typo3InstallDir . 'typo3conf/ext/fs_media_gallery/Classes/Hooks/PageLayoutView.php', - 'MiniFranske\\FsMediaGallery\\Hooks\\ProcessDatamapHook' => $typo3InstallDir . 'typo3conf/ext/fs_media_gallery/Classes/Hooks/ProcessDatamapHook.php', - 'MiniFranske\\FsMediaGallery\\Listeners\\FolderChangedListener' => $typo3InstallDir . 'typo3conf/ext/fs_media_gallery/Classes/Listeners/FolderChangedListener.php', - 'MiniFranske\\FsMediaGallery\\Listeners\\IconFactoryListener' => $typo3InstallDir . 'typo3conf/ext/fs_media_gallery/Classes/Listeners/IconFactoryListener.php', - 'MiniFranske\\FsMediaGallery\\Pagination\\ExtendedArrayPaginator' => $typo3InstallDir . 'typo3conf/ext/fs_media_gallery/Classes/Pagination/ExtendedArrayPaginator.php', - 'MiniFranske\\FsMediaGallery\\Service\\AbstractBeAlbumButtons' => $typo3InstallDir . 'typo3conf/ext/fs_media_gallery/Classes/Service/AbstractBeAlbumButtons.php', - 'MiniFranske\\FsMediaGallery\\Service\\SlugService' => $typo3InstallDir . 'typo3conf/ext/fs_media_gallery/Classes/Service/SlugService.php', - 'MiniFranske\\FsMediaGallery\\Service\\Utility' => $typo3InstallDir . 'typo3conf/ext/fs_media_gallery/Classes/Service/Utility.php', - 'MiniFranske\\FsMediaGallery\\Updates\\PopulateMedialAlbumsSlug' => $typo3InstallDir . 'typo3conf/ext/fs_media_gallery/Classes/Updates/PopulateMedialAlbumsSlug.php', - 'MiniFranske\\FsMediaGallery\\Updates\\RealurlAliasMediaAlbumsSlug' => $typo3InstallDir . 'typo3conf/ext/fs_media_gallery/Classes/Updates/RealurlAliasMediaAlbumsSlug.php', - 'MiniFranske\\FsMediaGallery\\Utility\\TypoScriptUtility' => $typo3InstallDir . 'typo3conf/ext/fs_media_gallery/Classes/Utility/TypoScriptUtility.php', - 'MiniFranske\\FsMediaGallery\\ViewHelpers\\Embed\\JavaScriptViewHelper' => $typo3InstallDir . 'typo3conf/ext/fs_media_gallery/Classes/ViewHelpers/Embed/JavaScriptViewHelper.php', - 'MiniFranske\\FsMediaGallery\\ViewHelpers\\FileDescriptionViewHelper' => $typo3InstallDir . 'typo3conf/ext/fs_media_gallery/Classes/ViewHelpers/FileDescriptionViewHelper.php', - 'MiniFranske\\FsMediaGallery\\ViewHelpers\\FileTitleViewHelper' => $typo3InstallDir . 'typo3conf/ext/fs_media_gallery/Classes/ViewHelpers/FileTitleViewHelper.php', - 'SGalinski\\Lfeditor\\Controller\\AbstractBackendController' => $typo3InstallDir . 'typo3conf/ext/lfeditor/Classes/Controller/AbstractBackendController.php', - 'SGalinski\\Lfeditor\\Controller\\AbstractController' => $typo3InstallDir . 'typo3conf/ext/lfeditor/Classes/Controller/AbstractController.php', - 'SGalinski\\Lfeditor\\Controller\\AddConstantController' => $typo3InstallDir . 'typo3conf/ext/lfeditor/Classes/Controller/AddConstantController.php', - 'SGalinski\\Lfeditor\\Controller\\DeleteConstantController' => $typo3InstallDir . 'typo3conf/ext/lfeditor/Classes/Controller/DeleteConstantController.php', - 'SGalinski\\Lfeditor\\Controller\\EditConstantController' => $typo3InstallDir . 'typo3conf/ext/lfeditor/Classes/Controller/EditConstantController.php', - 'SGalinski\\Lfeditor\\Controller\\EditFileController' => $typo3InstallDir . 'typo3conf/ext/lfeditor/Classes/Controller/EditFileController.php', - 'SGalinski\\Lfeditor\\Controller\\GeneralController' => $typo3InstallDir . 'typo3conf/ext/lfeditor/Classes/Controller/GeneralController.php', - 'SGalinski\\Lfeditor\\Controller\\ManageBackupsController' => $typo3InstallDir . 'typo3conf/ext/lfeditor/Classes/Controller/ManageBackupsController.php', - 'SGalinski\\Lfeditor\\Controller\\RenameConstantController' => $typo3InstallDir . 'typo3conf/ext/lfeditor/Classes/Controller/RenameConstantController.php', - 'SGalinski\\Lfeditor\\Controller\\SearchConstantController' => $typo3InstallDir . 'typo3conf/ext/lfeditor/Classes/Controller/SearchConstantController.php', - 'SGalinski\\Lfeditor\\Controller\\ViewTreeController' => $typo3InstallDir . 'typo3conf/ext/lfeditor/Classes/Controller/ViewTreeController.php', - 'SGalinski\\Lfeditor\\Exceptions\\DirectoryAccessRightsException' => $typo3InstallDir . 'typo3conf/ext/lfeditor/Classes/Exceptions/DirectoryAccessRightsException.php', - 'SGalinski\\Lfeditor\\Exceptions\\LFException' => $typo3InstallDir . 'typo3conf/ext/lfeditor/Classes/Exceptions/LFException.php', - 'SGalinski\\Lfeditor\\Service\\AbstractService' => $typo3InstallDir . 'typo3conf/ext/lfeditor/Classes/Service/AbstractService.php', - 'SGalinski\\Lfeditor\\Service\\BackupService' => $typo3InstallDir . 'typo3conf/ext/lfeditor/Classes/Service/BackupService.php', - 'SGalinski\\Lfeditor\\Service\\ConfigurationService' => $typo3InstallDir . 'typo3conf/ext/lfeditor/Classes/Service/ConfigurationService.php', - 'SGalinski\\Lfeditor\\Service\\FileBackupService' => $typo3InstallDir . 'typo3conf/ext/lfeditor/Classes/Service/FileBackupService.php', - 'SGalinski\\Lfeditor\\Service\\FileBasePHPService' => $typo3InstallDir . 'typo3conf/ext/lfeditor/Classes/Service/FileBasePHPService.php', - 'SGalinski\\Lfeditor\\Service\\FileBaseService' => $typo3InstallDir . 'typo3conf/ext/lfeditor/Classes/Service/FileBaseService.php', - 'SGalinski\\Lfeditor\\Service\\FileBaseXLFService' => $typo3InstallDir . 'typo3conf/ext/lfeditor/Classes/Service/FileBaseXLFService.php', - 'SGalinski\\Lfeditor\\Service\\FileBaseXMLService' => $typo3InstallDir . 'typo3conf/ext/lfeditor/Classes/Service/FileBaseXMLService.php', - 'SGalinski\\Lfeditor\\Service\\FileOverrideService' => $typo3InstallDir . 'typo3conf/ext/lfeditor/Classes/Service/FileOverrideService.php', - 'SGalinski\\Lfeditor\\Service\\FileService' => $typo3InstallDir . 'typo3conf/ext/lfeditor/Classes/Service/FileService.php', - 'SGalinski\\Lfeditor\\Service\\LicensingService' => $typo3InstallDir . 'typo3conf/ext/lfeditor/Classes/Service/LicensingService.php', - 'SGalinski\\Lfeditor\\Service\\SysLanguageService' => $typo3InstallDir . 'typo3conf/ext/lfeditor/Classes/Service/SysLanguageService.php', - 'SGalinski\\Lfeditor\\Session\\PhpSession' => $typo3InstallDir . 'typo3conf/ext/lfeditor/Classes/Session/PhpSession.php', - 'SGalinski\\Lfeditor\\Utility\\CdataSupportingSimpleXMLElement' => $typo3InstallDir . 'typo3conf/ext/lfeditor/Classes/Utility/CdataSupportingSimpleXMLElement.php', - 'SGalinski\\Lfeditor\\Utility\\ExtensionUtility' => $typo3InstallDir . 'typo3conf/ext/lfeditor/Classes/Utility/ExtensionUtility.php', - 'SGalinski\\Lfeditor\\Utility\\Functions' => $typo3InstallDir . 'typo3conf/ext/lfeditor/Classes/Utility/Functions.php', - 'SGalinski\\Lfeditor\\Utility\\SgLib' => $typo3InstallDir . 'typo3conf/ext/lfeditor/Classes/Utility/SgLib.php', - 'SGalinski\\Lfeditor\\Utility\\Typo3Lib' => $typo3InstallDir . 'typo3conf/ext/lfeditor/Classes/Utility/Typo3Lib.php', - 'SGalinski\\Lfeditor\\ViewHelpers\\AbstractViewHelper' => $typo3InstallDir . 'typo3conf/ext/lfeditor/Classes/ViewHelpers/AbstractViewHelper.php', - 'SGalinski\\Lfeditor\\ViewHelpers\\AddCssFileViewHelper' => $typo3InstallDir . 'typo3conf/ext/lfeditor/Classes/ViewHelpers/AddCssFileViewHelper.php', - 'SGalinski\\Lfeditor\\ViewHelpers\\AddJavaScriptFileViewHelper' => $typo3InstallDir . 'typo3conf/ext/lfeditor/Classes/ViewHelpers/AddJavaScriptFileViewHelper.php', - 'SGalinski\\Lfeditor\\ViewHelpers\\Be\\Menus\\ActionMenuOptionGroupViewHelper' => $typo3InstallDir . 'typo3conf/ext/lfeditor/Classes/ViewHelpers/Be/Menus/ActionMenuOptionGroupViewHelper.php', - 'SGalinski\\Lfeditor\\ViewHelpers\\Be\\Menus\\ActionMenuViewHelper' => $typo3InstallDir . 'typo3conf/ext/lfeditor/Classes/ViewHelpers/Be/Menus/ActionMenuViewHelper.php', - 'SGalinski\\Lfeditor\\ViewHelpers\\InlineLanguageLabelsViewHelper' => $typo3InstallDir . 'typo3conf/ext/lfeditor/Classes/ViewHelpers/InlineLanguageLabelsViewHelper.php', - 'SJBR\\SrFeuserRegister\\Captcha\\CaptchaInterface' => $typo3InstallDir . 'typo3conf/ext/sr_feuser_register/Classes/Captcha/CaptchaInterface.php', - 'SJBR\\SrFeuserRegister\\Captcha\\CaptchaManager' => $typo3InstallDir . 'typo3conf/ext/sr_feuser_register/Classes/Captcha/CaptchaManager.php', - 'SJBR\\SrFeuserRegister\\Captcha\\Freecap' => $typo3InstallDir . 'typo3conf/ext/sr_feuser_register/Classes/Captcha/Freecap.php', - 'SJBR\\SrFeuserRegister\\Configuration\\ConfigurationCheck' => $typo3InstallDir . 'typo3conf/ext/sr_feuser_register/Classes/Configuration/ConfigurationCheck.php', - 'SJBR\\SrFeuserRegister\\Configuration\\Reports\\StatusProvider' => $typo3InstallDir . 'typo3conf/ext/sr_feuser_register/Classes/Configuration/Reports/StatusProvider.php', - 'SJBR\\SrFeuserRegister\\Controller\\AbstractActionController' => $typo3InstallDir . 'typo3conf/ext/sr_feuser_register/Classes/Controller/AbstractActionController.php', - 'SJBR\\SrFeuserRegister\\Controller\\CreateActionController' => $typo3InstallDir . 'typo3conf/ext/sr_feuser_register/Classes/Controller/CreateActionController.php', - 'SJBR\\SrFeuserRegister\\Controller\\DeleteActionController' => $typo3InstallDir . 'typo3conf/ext/sr_feuser_register/Classes/Controller/DeleteActionController.php', - 'SJBR\\SrFeuserRegister\\Controller\\EditActionController' => $typo3InstallDir . 'typo3conf/ext/sr_feuser_register/Classes/Controller/EditActionController.php', - 'SJBR\\SrFeuserRegister\\Controller\\InfomailActionController' => $typo3InstallDir . 'typo3conf/ext/sr_feuser_register/Classes/Controller/InfomailActionController.php', - 'SJBR\\SrFeuserRegister\\Controller\\RegisterPluginController' => $typo3InstallDir . 'typo3conf/ext/sr_feuser_register/Classes/Controller/RegisterPluginController.php', - 'SJBR\\SrFeuserRegister\\Controller\\SetfixedActionController' => $typo3InstallDir . 'typo3conf/ext/sr_feuser_register/Classes/Controller/SetfixedActionController.php', - 'SJBR\\SrFeuserRegister\\Domain\\Data' => $typo3InstallDir . 'typo3conf/ext/sr_feuser_register/Classes/Domain/Data.php', - 'SJBR\\SrFeuserRegister\\Exception' => $typo3InstallDir . 'typo3conf/ext/sr_feuser_register/Classes/Exception.php', - 'SJBR\\SrFeuserRegister\\Hooks\\FileUploadHooks' => $typo3InstallDir . 'typo3conf/ext/sr_feuser_register/Classes/Hooks/FileUploadHooks.php', - 'SJBR\\SrFeuserRegister\\Hooks\\RegistrationProcessHooks' => $typo3InstallDir . 'typo3conf/ext/sr_feuser_register/Classes/Hooks/RegistrationProcessHooks.php', - 'SJBR\\SrFeuserRegister\\Hooks\\UsergroupHooks' => $typo3InstallDir . 'typo3conf/ext/sr_feuser_register/Classes/Hooks/UsergroupHooks.php', - 'SJBR\\SrFeuserRegister\\Mail\\Message' => $typo3InstallDir . 'typo3conf/ext/sr_feuser_register/Classes/Mail/Message.php', - 'SJBR\\SrFeuserRegister\\Request\\Parameters' => $typo3InstallDir . 'typo3conf/ext/sr_feuser_register/Classes/Request/Parameters.php', - 'SJBR\\SrFeuserRegister\\Security\\Authentication' => $typo3InstallDir . 'typo3conf/ext/sr_feuser_register/Classes/Security/Authentication.php', - 'SJBR\\SrFeuserRegister\\Security\\SecuredData' => $typo3InstallDir . 'typo3conf/ext/sr_feuser_register/Classes/Security/SecuredData.php', - 'SJBR\\SrFeuserRegister\\Security\\SessionData' => $typo3InstallDir . 'typo3conf/ext/sr_feuser_register/Classes/Security/SessionData.php', - 'SJBR\\SrFeuserRegister\\Security\\StorageSecurity' => $typo3InstallDir . 'typo3conf/ext/sr_feuser_register/Classes/Security/StorageSecurity.php', - 'SJBR\\SrFeuserRegister\\Setfixed\\SetfixedUrls' => $typo3InstallDir . 'typo3conf/ext/sr_feuser_register/Classes/Setfixed/SetfixedUrls.php', - 'SJBR\\SrFeuserRegister\\Utility\\CssUtility' => $typo3InstallDir . 'typo3conf/ext/sr_feuser_register/Classes/Utility/CssUtility.php', - 'SJBR\\SrFeuserRegister\\Utility\\DataUtility' => $typo3InstallDir . 'typo3conf/ext/sr_feuser_register/Classes/Utility/DataUtility.php', - 'SJBR\\SrFeuserRegister\\Utility\\HashUtility' => $typo3InstallDir . 'typo3conf/ext/sr_feuser_register/Classes/Utility/HashUtility.php', - 'SJBR\\SrFeuserRegister\\Utility\\HtmlUtility' => $typo3InstallDir . 'typo3conf/ext/sr_feuser_register/Classes/Utility/HtmlUtility.php', - 'SJBR\\SrFeuserRegister\\Utility\\LocalizationUtility' => $typo3InstallDir . 'typo3conf/ext/sr_feuser_register/Classes/Utility/LocalizationUtility.php', - 'SJBR\\SrFeuserRegister\\Utility\\UrlUtility' => $typo3InstallDir . 'typo3conf/ext/sr_feuser_register/Classes/Utility/UrlUtility.php', - 'SJBR\\SrFeuserRegister\\View\\AbstractView' => $typo3InstallDir . 'typo3conf/ext/sr_feuser_register/Classes/View/AbstractView.php', - 'SJBR\\SrFeuserRegister\\View\\AfterSaveView' => $typo3InstallDir . 'typo3conf/ext/sr_feuser_register/Classes/View/AfterSaveView.php', - 'SJBR\\SrFeuserRegister\\View\\CreateView' => $typo3InstallDir . 'typo3conf/ext/sr_feuser_register/Classes/View/CreateView.php', - 'SJBR\\SrFeuserRegister\\View\\DeleteView' => $typo3InstallDir . 'typo3conf/ext/sr_feuser_register/Classes/View/DeleteView.php', - 'SJBR\\SrFeuserRegister\\View\\EditView' => $typo3InstallDir . 'typo3conf/ext/sr_feuser_register/Classes/View/EditView.php', - 'SJBR\\SrFeuserRegister\\View\\Email' => $typo3InstallDir . 'typo3conf/ext/sr_feuser_register/Classes/View/Email.php', - 'SJBR\\SrFeuserRegister\\View\\Marker' => $typo3InstallDir . 'typo3conf/ext/sr_feuser_register/Classes/View/Marker.php', - 'SJBR\\SrFeuserRegister\\View\\PlainView' => $typo3InstallDir . 'typo3conf/ext/sr_feuser_register/Classes/View/PlainView.php', - 'SJBR\\SrFreecap\\Configuration\\ConfigurationHelper' => $typo3InstallDir . 'typo3conf/ext/sr_freecap/Classes/Configuration/ConfigurationHelper.php', - 'SJBR\\SrFreecap\\Controller\\AudioPlayerController' => $typo3InstallDir . 'typo3conf/ext/sr_freecap/Classes/Controller/AudioPlayerController.php', - 'SJBR\\SrFreecap\\Controller\\FontMakerController' => $typo3InstallDir . 'typo3conf/ext/sr_freecap/Classes/Controller/FontMakerController.php', - 'SJBR\\SrFreecap\\Controller\\ImageGeneratorController' => $typo3InstallDir . 'typo3conf/ext/sr_freecap/Classes/Controller/ImageGeneratorController.php', - 'SJBR\\SrFreecap\\Domain\\Model\\Font' => $typo3InstallDir . 'typo3conf/ext/sr_freecap/Classes/Domain/Model/Font.php', - 'SJBR\\SrFreecap\\Domain\\Model\\Word' => $typo3InstallDir . 'typo3conf/ext/sr_freecap/Classes/Domain/Model/Word.php', - 'SJBR\\SrFreecap\\Domain\\Repository\\FontRepository' => $typo3InstallDir . 'typo3conf/ext/sr_freecap/Classes/Domain/Repository/FontRepository.php', - 'SJBR\\SrFreecap\\Domain\\Repository\\WordRepository' => $typo3InstallDir . 'typo3conf/ext/sr_freecap/Classes/Domain/Repository/WordRepository.php', - 'SJBR\\SrFreecap\\Domain\\Session\\SessionStorage' => $typo3InstallDir . 'typo3conf/ext/sr_freecap/Classes/Domain/Session/SessionStorage.php', - 'SJBR\\SrFreecap\\Http\\EidDispatcher' => $typo3InstallDir . 'typo3conf/ext/sr_freecap/Classes/Http/EidDispatcher.php', - 'SJBR\\SrFreecap\\Middleware\\EidHandler' => $typo3InstallDir . 'typo3conf/ext/sr_freecap/Classes/Middleware/EidHandler.php', - 'SJBR\\SrFreecap\\PiBaseApi' => $typo3InstallDir . 'typo3conf/ext/sr_freecap/Classes/PiBaseApi.php', - 'SJBR\\SrFreecap\\Utility\\AudioContentUtility' => $typo3InstallDir . 'typo3conf/ext/sr_freecap/Classes/Utility/AudioContentUtility.php', - 'SJBR\\SrFreecap\\Utility\\EncryptionUtility' => $typo3InstallDir . 'typo3conf/ext/sr_freecap/Classes/Utility/EncryptionUtility.php', - 'SJBR\\SrFreecap\\Utility\\FontMakingUtility' => $typo3InstallDir . 'typo3conf/ext/sr_freecap/Classes/Utility/FontMakingUtility.php', - 'SJBR\\SrFreecap\\Utility\\GifBuilderUtility' => $typo3InstallDir . 'typo3conf/ext/sr_freecap/Classes/Utility/GifBuilderUtility.php', - 'SJBR\\SrFreecap\\Utility\\ImageContentUtility' => $typo3InstallDir . 'typo3conf/ext/sr_freecap/Classes/Utility/ImageContentUtility.php', - 'SJBR\\SrFreecap\\Utility\\LocalizationUtility' => $typo3InstallDir . 'typo3conf/ext/sr_freecap/Classes/Utility/LocalizationUtility.php', - 'SJBR\\SrFreecap\\Utility\\Mp3ContentUtility' => $typo3InstallDir . 'typo3conf/ext/sr_freecap/Classes/Utility/Mp3ContentUtility.php', - 'SJBR\\SrFreecap\\Utility\\RandomContentUtility' => $typo3InstallDir . 'typo3conf/ext/sr_freecap/Classes/Utility/RandomContentUtility.php', - 'SJBR\\SrFreecap\\Validation\\Validator\\CaptchaValidator' => $typo3InstallDir . 'typo3conf/ext/sr_freecap/Classes/Validation/Validator/CaptchaValidator.php', - 'SJBR\\SrFreecap\\Validation\\Validator\\TtfFileValidator' => $typo3InstallDir . 'typo3conf/ext/sr_freecap/Classes/Validation/Validator/TtfFileValidator.php', - 'SJBR\\SrFreecap\\ViewHelpers\\AudioViewHelper' => $typo3InstallDir . 'typo3conf/ext/sr_freecap/Classes/ViewHelpers/AudioViewHelper.php', - 'SJBR\\SrFreecap\\ViewHelpers\\ImageViewHelper' => $typo3InstallDir . 'typo3conf/ext/sr_freecap/Classes/ViewHelpers/ImageViewHelper.php', - 'SJBR\\SrFreecap\\ViewHelpers\\TranslateViewHelper' => $typo3InstallDir . 'typo3conf/ext/sr_freecap/Classes/ViewHelpers/TranslateViewHelper.php', - 'SJBR\\SrFreecap\\View\\AudioPlayer\\AbstractPlayFormat' => $typo3InstallDir . 'typo3conf/ext/sr_freecap/Classes/View/AudioPlayer/AbstractPlayFormat.php', - 'SJBR\\SrFreecap\\View\\AudioPlayer\\PlayMp3' => $typo3InstallDir . 'typo3conf/ext/sr_freecap/Classes/View/AudioPlayer/PlayMp3.php', - 'SJBR\\SrFreecap\\View\\AudioPlayer\\PlayWav' => $typo3InstallDir . 'typo3conf/ext/sr_freecap/Classes/View/AudioPlayer/PlayWav.php', - 'SJBR\\SrFreecap\\View\\ImageGenerator\\ShowPng' => $typo3InstallDir . 'typo3conf/ext/sr_freecap/Classes/View/ImageGenerator/ShowPng.php', - 'SJBR\\StaticInfoTables\\Cache\\CachedClassLoader' => $typo3InstallDir . 'typo3conf/ext/static_info_tables/Classes/Cache/CachedClassLoader.php', - 'SJBR\\StaticInfoTables\\Cache\\ClassCacheManager' => $typo3InstallDir . 'typo3conf/ext/static_info_tables/Classes/Cache/ClassCacheManager.php', - 'SJBR\\StaticInfoTables\\Configuration\\Tca\\Provider' => $typo3InstallDir . 'typo3conf/ext/static_info_tables/Classes/Configuration/Tca/Provider.php', - 'SJBR\\StaticInfoTables\\Configuration\\TypoScript\\ConfigurationHelper' => $typo3InstallDir . 'typo3conf/ext/static_info_tables/Classes/Configuration/TypoScript/ConfigurationHelper.php', - 'SJBR\\StaticInfoTables\\Controller\\ManagerController' => $typo3InstallDir . 'typo3conf/ext/static_info_tables/Classes/Controller/ManagerController.php', - 'SJBR\\StaticInfoTables\\Domain\\Model\\AbstractEntity' => $typo3InstallDir . 'typo3conf/ext/static_info_tables/Classes/Domain/Model/AbstractEntity.php', - 'SJBR\\StaticInfoTables\\Domain\\Model\\Country' => $typo3InstallDir . 'typo3conf/ext/static_info_tables/Classes/Domain/Model/Country.php', - 'SJBR\\StaticInfoTables\\Domain\\Model\\CountryZone' => $typo3InstallDir . 'typo3conf/ext/static_info_tables/Classes/Domain/Model/CountryZone.php', - 'SJBR\\StaticInfoTables\\Domain\\Model\\Currency' => $typo3InstallDir . 'typo3conf/ext/static_info_tables/Classes/Domain/Model/Currency.php', - 'SJBR\\StaticInfoTables\\Domain\\Model\\Language' => $typo3InstallDir . 'typo3conf/ext/static_info_tables/Classes/Domain/Model/Language.php', - 'SJBR\\StaticInfoTables\\Domain\\Model\\LanguagePack' => $typo3InstallDir . 'typo3conf/ext/static_info_tables/Classes/Domain/Model/LanguagePack.php', - 'SJBR\\StaticInfoTables\\Domain\\Model\\SystemLanguage' => $typo3InstallDir . 'typo3conf/ext/static_info_tables/Classes/Domain/Model/SystemLanguage.php', - 'SJBR\\StaticInfoTables\\Domain\\Model\\Territory' => $typo3InstallDir . 'typo3conf/ext/static_info_tables/Classes/Domain/Model/Territory.php', - 'SJBR\\StaticInfoTables\\Domain\\Repository\\AbstractEntityRepository' => $typo3InstallDir . 'typo3conf/ext/static_info_tables/Classes/Domain/Repository/AbstractEntityRepository.php', - 'SJBR\\StaticInfoTables\\Domain\\Repository\\CountryRepository' => $typo3InstallDir . 'typo3conf/ext/static_info_tables/Classes/Domain/Repository/CountryRepository.php', - 'SJBR\\StaticInfoTables\\Domain\\Repository\\CountryZoneRepository' => $typo3InstallDir . 'typo3conf/ext/static_info_tables/Classes/Domain/Repository/CountryZoneRepository.php', - 'SJBR\\StaticInfoTables\\Domain\\Repository\\CurrencyRepository' => $typo3InstallDir . 'typo3conf/ext/static_info_tables/Classes/Domain/Repository/CurrencyRepository.php', - 'SJBR\\StaticInfoTables\\Domain\\Repository\\LanguagePackRepository' => $typo3InstallDir . 'typo3conf/ext/static_info_tables/Classes/Domain/Repository/LanguagePackRepository.php', - 'SJBR\\StaticInfoTables\\Domain\\Repository\\LanguageRepository' => $typo3InstallDir . 'typo3conf/ext/static_info_tables/Classes/Domain/Repository/LanguageRepository.php', - 'SJBR\\StaticInfoTables\\Domain\\Repository\\SystemLanguageRepository' => $typo3InstallDir . 'typo3conf/ext/static_info_tables/Classes/Domain/Repository/SystemLanguageRepository.php', - 'SJBR\\StaticInfoTables\\Domain\\Repository\\TerritoryRepository' => $typo3InstallDir . 'typo3conf/ext/static_info_tables/Classes/Domain/Repository/TerritoryRepository.php', - 'SJBR\\StaticInfoTables\\EventListener\\AbstractEventListener' => $typo3InstallDir . 'typo3conf/ext/static_info_tables/Classes/EventListener/AbstractEventListener.php', - 'SJBR\\StaticInfoTables\\EventListener\\AfterExtensionStaticDatabaseContentHasBeenImportedEventListener' => $typo3InstallDir . 'typo3conf/ext/static_info_tables/Classes/EventListener/AfterExtensionStaticDatabaseContentHasBeenImportedEventListener.php', - 'SJBR\\StaticInfoTables\\EventListener\\AfterPackageActivationEventListener' => $typo3InstallDir . 'typo3conf/ext/static_info_tables/Classes/EventListener/AfterPackageActivationEventListener.php', - 'SJBR\\StaticInfoTables\\Hook\\Backend\\Form\\FormDataProvider\\SuggestLabelProcessor' => $typo3InstallDir . 'typo3conf/ext/static_info_tables/Classes/Hook/Backend/Form/FormDataProvider/SuggestLabelProcessor.php', - 'SJBR\\StaticInfoTables\\Hook\\Backend\\Form\\FormDataProvider\\TcaLabelProcessor' => $typo3InstallDir . 'typo3conf/ext/static_info_tables/Classes/Hook/Backend/Form/FormDataProvider/TcaLabelProcessor.php', - 'SJBR\\StaticInfoTables\\Hook\\Backend\\Form\\FormDataProvider\\TcaSelectItemsProcessor' => $typo3InstallDir . 'typo3conf/ext/static_info_tables/Classes/Hook/Backend/Form/FormDataProvider/TcaSelectItemsProcessor.php', - 'SJBR\\StaticInfoTables\\Hook\\Backend\\Form\\Wizard\\SuggestReceiver' => $typo3InstallDir . 'typo3conf/ext/static_info_tables/Classes/Hook/Backend/Form/Wizard/SuggestReceiver.php', - 'SJBR\\StaticInfoTables\\Hook\\Backend\\Recordlist\\ModifyQuery' => $typo3InstallDir . 'typo3conf/ext/static_info_tables/Classes/Hook/Backend/Recordlist/ModifyQuery.php', - 'SJBR\\StaticInfoTables\\Hook\\Core\\DataHandling\\ProcessDataMap' => $typo3InstallDir . 'typo3conf/ext/static_info_tables/Classes/Hook/Core/DataHandling/ProcessDataMap.php', - 'SJBR\\StaticInfoTables\\PiBaseApi' => $typo3InstallDir . 'typo3conf/ext/static_info_tables/Classes/PiBaseApi.php', - 'SJBR\\StaticInfoTables\\Service\\SqlSchemaMigrationService' => $typo3InstallDir . 'typo3conf/ext/static_info_tables/Classes/Service/SqlSchemaMigrationService.php', - 'SJBR\\StaticInfoTables\\Utility\\DatabaseUpdateUtility' => $typo3InstallDir . 'typo3conf/ext/static_info_tables/Classes/Utility/DatabaseUpdateUtility.php', - 'SJBR\\StaticInfoTables\\Utility\\DatabaseUtility' => $typo3InstallDir . 'typo3conf/ext/static_info_tables/Classes/Utility/DatabaseUtility.php', - 'SJBR\\StaticInfoTables\\Utility\\HtmlElementUtility' => $typo3InstallDir . 'typo3conf/ext/static_info_tables/Classes/Utility/HtmlElementUtility.php', - 'SJBR\\StaticInfoTables\\Utility\\LocaleUtility' => $typo3InstallDir . 'typo3conf/ext/static_info_tables/Classes/Utility/LocaleUtility.php', - 'SJBR\\StaticInfoTables\\Utility\\LocalizationUtility' => $typo3InstallDir . 'typo3conf/ext/static_info_tables/Classes/Utility/LocalizationUtility.php', - 'SJBR\\StaticInfoTables\\Utility\\VersionNumberUtility' => $typo3InstallDir . 'typo3conf/ext/static_info_tables/Classes/Utility/VersionNumberUtility.php', - 'SJBR\\StaticInfoTables\\ViewHelpers\\Form\\SelectViewHelper' => $typo3InstallDir . 'typo3conf/ext/static_info_tables/Classes/ViewHelpers/Form/SelectViewHelper.php', -); diff --git a/typo3conf/autoload/autoload_psr4.php b/typo3conf/autoload/autoload_psr4.php deleted file mode 100644 index 1bcce8e..0000000 --- a/typo3conf/autoload/autoload_psr4.php +++ /dev/null @@ -1,22 +0,0 @@ - array($typo3InstallDir . 'typo3conf/ext/ods_osm/Classes'), - 'Brightside\\Embedassets\\' => array($typo3InstallDir . 'typo3conf/ext/embedassets/Classes'), - 'Brightside\\Paginatedprocessors\\' => array($typo3InstallDir . 'typo3conf/ext/paginatedprocessors/Classes'), - 'Brightside\\Youtubevideo\\' => array($typo3InstallDir . 'typo3conf/ext/youtubevideo/Classes'), - 'Cartedalegare\\' => array($typo3InstallDir . 'typo3conf/ext/cartedalegare/Classes'), - 'DirkPersky\\DpCookieconsent\\' => array($typo3InstallDir . 'typo3conf/ext/dp_cookieconsent/Classes'), - 'FriendsOfTYPO3\\TtAddress\\' => array($typo3InstallDir . 'typo3conf/ext/tt_address/Classes'), - 'GeorgRinger\\News\\' => array($typo3InstallDir . 'typo3conf/ext/news/Classes'), - 'GeorgRinger\\NumberedPagination\\' => array($typo3InstallDir . 'typo3conf/ext/numbered_pagination/Classes'), - 'MiniFranske\\FsMediaGallery\\' => array($typo3InstallDir . 'typo3conf/ext/fs_media_gallery/Classes'), - 'SGalinski\\Lfeditor\\' => array($typo3InstallDir . 'typo3conf/ext/lfeditor/Classes'), - 'SJBR\\SrFeuserRegister\\' => array($typo3InstallDir . 'typo3conf/ext/sr_feuser_register/Classes'), - 'SJBR\\SrFreecap\\' => array($typo3InstallDir . 'typo3conf/ext/sr_freecap/Classes'), - 'SJBR\\StaticInfoTables\\' => array($typo3InstallDir . 'typo3conf/ext/static_info_tables/Classes'), -); diff --git a/typo3conf/deprecation_d1277fb0d4.log b/typo3conf/deprecation_d1277fb0d4.log deleted file mode 100644 index e8f8036..0000000 --- a/typo3conf/deprecation_d1277fb0d4.log +++ /dev/null @@ -1,624 +0,0 @@ -14-07-22 17:40: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:40: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:40: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:40: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:40: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:40: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:40: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:40: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:40: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:40: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:40: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:40: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:40: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:40: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:40: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:40: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:40: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:40: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:42: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:42: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:42: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:43: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:43: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:43: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:43: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:43: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:43: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:43: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:43: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:43: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:43: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:43: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:43: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:43: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:43: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:43: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:43: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:43: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:43: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:43: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:43: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:43: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:43: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:43: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:43: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:43: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:43: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:43: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:43: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:43: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:43: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:47: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:47: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:47: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:48: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:48: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:48: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:49: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:49: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:49: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:50: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:51: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:51: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:51: Usage of client related conditions (browser, device, version, system, useragent) is deprecated since 7.0. -14-07-22 17:56: TYPO3\CMS\Core\Core\Bootstrap->ensureClassLoadingInformationExists() - since TYPO3 v8, will be removed in TYPO3 v9. Use the Install Tool to dump autoload information. - require(s\Private\Php\install.php),#3 // {closure}#104 // TYPO3\CMS\Install\Http\Application->run#103 // TYPO3\CMS\Core\Core\Bootstrap->handleRequest#75 // TYPO3\CMS\Install\Http\RequestHandler->handleRequest#319 // TYPO3\CMS\Install\Controller\ToolController->execute#63 // TYPO3\CMS\Install\Controller\ToolController->dispatchAuthenticationActions#63 // TYPO3\CMS\Install\Controller\Action\AbstractAction->handle#187 // TYPO3\CMS\Install\Controller\Action\Tool\UpgradeWizard->executeAction#68 // TYPO3\CMS\Install\Controller\Action\AbstractAction->loadExtLocalconfDatabaseAndExtTables#52 // TYPO3\CMS\Core\Core\Bootstrap->ensureClassLoadingInformationExists#194 // TYPO3\CMS\Core\Utility\GeneralUtility::logDeprecatedFunction#455 (e\Bootstrap.php#452) -14-07-22 17:56: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 17:57: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 17:57: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 17:57: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 17:57: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 17:57: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 17:57: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 17:58: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 17:58: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 17:58: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 17:58: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 17:58: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 17:58: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 17:59: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 17:59: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 17:59: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 17:59: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 17:59: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 17:59: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:00: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:00: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:00: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:00: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:00: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:00: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:00: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:00: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:01: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:01: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:01: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:01: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:01: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:02: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:02: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:02: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:02: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:03: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:03: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:03: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:03: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:03: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:03: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:03: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:03: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:03: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:03: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:03: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:03: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:03: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:03: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:03: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:03: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:03: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:03: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:03: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:03: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:03: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:03: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:04: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:04: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:04: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:04: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:04: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:04: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:04: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:04: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:04: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:04: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:04: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:04: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:04: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:04: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:04: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:04: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:04: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:04: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:04: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:04: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:04: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:05: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:05: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:06: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:06: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:06: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:06: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:07: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:07: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:07: Automatic TCA migration done during bootstrap. Please adapt TCA accordingly, these migrations will be removed. The backend module "Configuration -> TCA" shows the modified values. Please adapt these areas: -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'username' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['username']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'lastlogin' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['lastlogin']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'name' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['name']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'company' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['company']['defaultExtras']". -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['2']" as 3rd argument of field "fe_users['types']['0']['name']"to an own palette. The result of this part is: "name, --palette--;;2" -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['1']" as 3rd argument of field "fe_users['types']['0']['company']"to an own palette. The result of this part is: "company, --palette--;;1" -14-07-22 18:07: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:08: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:08: Automatic TCA migration done during bootstrap. Please adapt TCA accordingly, these migrations will be removed. The backend module "Configuration -> TCA" shows the modified values. Please adapt these areas: -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'username' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['username']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'lastlogin' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['lastlogin']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'name' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['name']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'company' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['company']['defaultExtras']". -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['2']" as 3rd argument of field "fe_users['types']['0']['name']"to an own palette. The result of this part is: "name, --palette--;;2" -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['1']" as 3rd argument of field "fe_users['types']['0']['company']"to an own palette. The result of this part is: "company, --palette--;;1" -14-07-22 18:08: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:08: Automatic TCA migration done during bootstrap. Please adapt TCA accordingly, these migrations will be removed. The backend module "Configuration -> TCA" shows the modified values. Please adapt these areas: -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'username' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['username']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'lastlogin' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['lastlogin']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'name' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['name']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'company' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['company']['defaultExtras']". -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['2']" as 3rd argument of field "fe_users['types']['0']['name']"to an own palette. The result of this part is: "name, --palette--;;2" -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['1']" as 3rd argument of field "fe_users['types']['0']['company']"to an own palette. The result of this part is: "company, --palette--;;1" -14-07-22 18:08: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:08: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:08: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:08: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:08: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:08: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:08: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:08: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:13: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:16: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:17: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:17: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:17: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:17: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:17: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:17: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:17: Automatic TCA migration done during bootstrap. Please adapt TCA accordingly, these migrations will be removed. The backend module "Configuration -> TCA" shows the modified values. Please adapt these areas: -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'username' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['username']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'lastlogin' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['lastlogin']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'name' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['name']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'company' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['company']['defaultExtras']". -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['2']" as 3rd argument of field "fe_users['types']['0']['name']"to an own palette. The result of this part is: "name, --palette--;;2" -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['1']" as 3rd argument of field "fe_users['types']['0']['company']"to an own palette. The result of this part is: "company, --palette--;;1" -14-07-22 18:17: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:18: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:18: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:18: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:18: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:18: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:18: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:18: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:18: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:19: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:19: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:19: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:19: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:19: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:19: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:19: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:19: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:19: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:19: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:20: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:20: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:20: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:20: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:20: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:20: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:20: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:20: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:20: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:20: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:20: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:20: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:20: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:20: Automatic TCA migration done during bootstrap. Please adapt TCA accordingly, these migrations will be removed. The backend module "Configuration -> TCA" shows the modified values. Please adapt these areas: -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'username' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['username']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'lastlogin' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['lastlogin']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'name' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['name']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'company' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['company']['defaultExtras']". -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['2']" as 3rd argument of field "fe_users['types']['0']['name']"to an own palette. The result of this part is: "name, --palette--;;2" -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['1']" as 3rd argument of field "fe_users['types']['0']['company']"to an own palette. The result of this part is: "company, --palette--;;1" -14-07-22 18:20: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:20: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:20: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:20: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:20: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:20: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:21: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:21: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:21: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:21: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:21: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:21: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:21: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:21: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:21: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:21: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:21: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:21: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:21: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:21: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:21: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:21: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:21: Automatic TCA migration done during bootstrap. Please adapt TCA accordingly, these migrations will be removed. The backend module "Configuration -> TCA" shows the modified values. Please adapt these areas: -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'username' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['username']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'lastlogin' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['lastlogin']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'name' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['name']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'company' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['company']['defaultExtras']". -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['2']" as 3rd argument of field "fe_users['types']['0']['name']"to an own palette. The result of this part is: "name, --palette--;;2" -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['1']" as 3rd argument of field "fe_users['types']['0']['company']"to an own palette. The result of this part is: "company, --palette--;;1" -14-07-22 18:21: Automatic TCA migration done during bootstrap. Please adapt TCA accordingly, these migrations will be removed. The backend module "Configuration -> TCA" shows the modified values. Please adapt these areas: -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'username' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['username']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'lastlogin' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['lastlogin']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'name' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['name']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'company' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['company']['defaultExtras']". -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['2']" as 3rd argument of field "fe_users['types']['0']['name']"to an own palette. The result of this part is: "name, --palette--;;2" -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['1']" as 3rd argument of field "fe_users['types']['0']['company']"to an own palette. The result of this part is: "company, --palette--;;1" -14-07-22 18:21: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:21: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:21: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:21: Automatic TCA migration done during bootstrap. Please adapt TCA accordingly, these migrations will be removed. The backend module "Configuration -> TCA" shows the modified values. Please adapt these areas: -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'username' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['username']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'lastlogin' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['lastlogin']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'name' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['name']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'company' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['company']['defaultExtras']". -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['2']" as 3rd argument of field "fe_users['types']['0']['name']"to an own palette. The result of this part is: "name, --palette--;;2" -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['1']" as 3rd argument of field "fe_users['types']['0']['company']"to an own palette. The result of this part is: "company, --palette--;;1" -14-07-22 18:21: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:21: Automatic TCA migration done during bootstrap. Please adapt TCA accordingly, these migrations will be removed. The backend module "Configuration -> TCA" shows the modified values. Please adapt these areas: -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'username' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['username']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'lastlogin' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['lastlogin']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'name' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['name']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'company' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['company']['defaultExtras']". -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['2']" as 3rd argument of field "fe_users['types']['0']['name']"to an own palette. The result of this part is: "name, --palette--;;2" -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['1']" as 3rd argument of field "fe_users['types']['0']['company']"to an own palette. The result of this part is: "company, --palette--;;1" -14-07-22 18:21: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:22: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:22: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:22: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:22: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:22: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:22: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:22: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:22: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:22: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:22: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:22: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:22: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:22: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:22: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:22: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:22: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:22: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:22: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:22: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:22: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:22: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:22: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:22: Automatic TCA migration done during bootstrap. Please adapt TCA accordingly, these migrations will be removed. The backend module "Configuration -> TCA" shows the modified values. Please adapt these areas: -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'username' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['username']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'lastlogin' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['lastlogin']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'name' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['name']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'company' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['company']['defaultExtras']". -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['2']" as 3rd argument of field "fe_users['types']['0']['name']"to an own palette. The result of this part is: "name, --palette--;;2" -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['1']" as 3rd argument of field "fe_users['types']['0']['company']"to an own palette. The result of this part is: "company, --palette--;;1" -14-07-22 18:22: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:22: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:22: Automatic TCA migration done during bootstrap. Please adapt TCA accordingly, these migrations will be removed. The backend module "Configuration -> TCA" shows the modified values. Please adapt these areas: -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'username' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['username']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'lastlogin' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['lastlogin']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'name' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['name']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'company' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['company']['defaultExtras']". -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['2']" as 3rd argument of field "fe_users['types']['0']['name']"to an own palette. The result of this part is: "name, --palette--;;2" -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['1']" as 3rd argument of field "fe_users['types']['0']['company']"to an own palette. The result of this part is: "company, --palette--;;1" -14-07-22 18:22: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:22: Automatic TCA migration done during bootstrap. Please adapt TCA accordingly, these migrations will be removed. The backend module "Configuration -> TCA" shows the modified values. Please adapt these areas: -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'username' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['username']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'lastlogin' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['lastlogin']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'name' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['name']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'company' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['company']['defaultExtras']". -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['2']" as 3rd argument of field "fe_users['types']['0']['name']"to an own palette. The result of this part is: "name, --palette--;;2" -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['1']" as 3rd argument of field "fe_users['types']['0']['company']"to an own palette. The result of this part is: "company, --palette--;;1" -14-07-22 18:22: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:22: Automatic TCA migration done during bootstrap. Please adapt TCA accordingly, these migrations will be removed. The backend module "Configuration -> TCA" shows the modified values. Please adapt these areas: -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'username' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['username']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'lastlogin' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['lastlogin']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'name' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['name']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'company' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['company']['defaultExtras']". -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['2']" as 3rd argument of field "fe_users['types']['0']['name']"to an own palette. The result of this part is: "name, --palette--;;2" -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['1']" as 3rd argument of field "fe_users['types']['0']['company']"to an own palette. The result of this part is: "company, --palette--;;1" -14-07-22 18:23: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:23: Automatic TCA migration done during bootstrap. Please adapt TCA accordingly, these migrations will be removed. The backend module "Configuration -> TCA" shows the modified values. Please adapt these areas: -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'username' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['username']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'lastlogin' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['lastlogin']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'name' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['name']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'company' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['company']['defaultExtras']". -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['2']" as 3rd argument of field "fe_users['types']['0']['name']"to an own palette. The result of this part is: "name, --palette--;;2" -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['1']" as 3rd argument of field "fe_users['types']['0']['company']"to an own palette. The result of this part is: "company, --palette--;;1" -14-07-22 18:23: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:23: Automatic TCA migration done during bootstrap. Please adapt TCA accordingly, these migrations will be removed. The backend module "Configuration -> TCA" shows the modified values. Please adapt these areas: -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'username' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['username']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'lastlogin' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['lastlogin']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'name' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['name']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'company' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['company']['defaultExtras']". -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['2']" as 3rd argument of field "fe_users['types']['0']['name']"to an own palette. The result of this part is: "name, --palette--;;2" -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['1']" as 3rd argument of field "fe_users['types']['0']['company']"to an own palette. The result of this part is: "company, --palette--;;1" -14-07-22 18:23: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:23: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:23: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:23: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:23: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:23: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:23: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:23: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:23: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:23: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:23: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:23: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:23: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:23: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:24: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:24: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:24: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:24: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:24: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:24: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:24: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:24: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:24: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:24: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:24: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:24: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:24: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:24: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:24: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:24: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:24: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:24: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:24: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:24: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:25: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:25: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:25: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:25: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:25: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:25: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:25: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:25: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:25: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:25: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:25: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:25: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:25: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:25: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:26: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:26: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:26: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:26: Automatic TCA migration done during bootstrap. Please adapt TCA accordingly, these migrations will be removed. The backend module "Configuration -> TCA" shows the modified values. Please adapt these areas: -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'username' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['username']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'lastlogin' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['lastlogin']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'name' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['name']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'company' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['company']['defaultExtras']". -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['2']" as 3rd argument of field "fe_users['types']['0']['name']"to an own palette. The result of this part is: "name, --palette--;;2" -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['1']" as 3rd argument of field "fe_users['types']['0']['company']"to an own palette. The result of this part is: "company, --palette--;;1" -14-07-22 18:26: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:27: The core extension CSS styled content has been deprecated since TYPO3 CMS 8 and will be removed in TYPO3 CMS 9. -14-07-22 18:27: Automatic TCA migration done during bootstrap. Please adapt TCA accordingly, these migrations will be removed. The backend module "Configuration -> TCA" shows the modified values. Please adapt these areas: -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'username' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['username']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'lastlogin' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['lastlogin']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'name' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['name']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'company' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['company']['defaultExtras']". -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['2']" as 3rd argument of field "fe_users['types']['0']['name']"to an own palette. The result of this part is: "name, --palette--;;2" -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['1']" as 3rd argument of field "fe_users['types']['0']['company']"to an own palette. The result of this part is: "company, --palette--;;1" -14-07-22 18:28: Automatic TCA migration done during bootstrap. Please adapt TCA accordingly, these migrations will be removed. The backend module "Configuration -> TCA" shows the modified values. Please adapt these areas: -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'username' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['username']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'lastlogin' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['lastlogin']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'name' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['name']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'company' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['company']['defaultExtras']". -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['2']" as 3rd argument of field "fe_users['types']['0']['name']"to an own palette. The result of this part is: "name, --palette--;;2" -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['1']" as 3rd argument of field "fe_users['types']['0']['company']"to an own palette. The result of this part is: "company, --palette--;;1" -14-07-22 18:37: Automatic TCA migration done during bootstrap. Please adapt TCA accordingly, these migrations will be removed. The backend module "Configuration -> TCA" shows the modified values. Please adapt these areas: -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'username' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['username']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'lastlogin' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['lastlogin']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'name' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['name']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'company' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['company']['defaultExtras']". -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['2']" as 3rd argument of field "fe_users['types']['0']['name']"to an own palette. The result of this part is: "name, --palette--;;2" -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['1']" as 3rd argument of field "fe_users['types']['0']['company']"to an own palette. The result of this part is: "company, --palette--;;1" -14-07-22 18:43: Automatic TCA migration done during bootstrap. Please adapt TCA accordingly, these migrations will be removed. The backend module "Configuration -> TCA" shows the modified values. Please adapt these areas: -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'username' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['username']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'lastlogin' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['lastlogin']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'name' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['name']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'company' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['company']['defaultExtras']". -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['2']" as 3rd argument of field "fe_users['types']['0']['name']"to an own palette. The result of this part is: "name, --palette--;;2" -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['1']" as 3rd argument of field "fe_users['types']['0']['company']"to an own palette. The result of this part is: "company, --palette--;;1" -14-07-22 20:07: Automatic TCA migration done during bootstrap. Please adapt TCA accordingly, these migrations will be removed. The backend module "Configuration -> TCA" shows the modified values. Please adapt these areas: -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'username' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['username']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'lastlogin' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['lastlogin']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'name' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['name']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'company' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['company']['defaultExtras']". -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['2']" as 3rd argument of field "fe_users['types']['0']['name']"to an own palette. The result of this part is: "name, --palette--;;2" -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['1']" as 3rd argument of field "fe_users['types']['0']['company']"to an own palette. The result of this part is: "company, --palette--;;1" -14-07-22 20:07: Automatic TCA migration done during bootstrap. Please adapt TCA accordingly, these migrations will be removed. The backend module "Configuration -> TCA" shows the modified values. Please adapt these areas: -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'username' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['username']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'lastlogin' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['lastlogin']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'name' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['name']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'company' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['company']['defaultExtras']". -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['2']" as 3rd argument of field "fe_users['types']['0']['name']"to an own palette. The result of this part is: "name, --palette--;;2" -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['1']" as 3rd argument of field "fe_users['types']['0']['company']"to an own palette. The result of this part is: "company, --palette--;;1" -14-07-22 20:07: Automatic TCA migration done during bootstrap. Please adapt TCA accordingly, these migrations will be removed. The backend module "Configuration -> TCA" shows the modified values. Please adapt these areas: -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'username' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['username']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'lastlogin' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['lastlogin']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'name' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['name']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'company' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['company']['defaultExtras']". -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['2']" as 3rd argument of field "fe_users['types']['0']['name']"to an own palette. The result of this part is: "name, --palette--;;2" -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['1']" as 3rd argument of field "fe_users['types']['0']['company']"to an own palette. The result of this part is: "company, --palette--;;1" -14-07-22 20:07: Automatic TCA migration done during bootstrap. Please adapt TCA accordingly, these migrations will be removed. The backend module "Configuration -> TCA" shows the modified values. Please adapt these areas: -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'username' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['username']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'lastlogin' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['lastlogin']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'name' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['name']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'company' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['company']['defaultExtras']". -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['2']" as 3rd argument of field "fe_users['types']['0']['name']"to an own palette. The result of this part is: "name, --palette--;;2" -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['1']" as 3rd argument of field "fe_users['types']['0']['company']"to an own palette. The result of this part is: "company, --palette--;;1" -14-07-22 20:07: Automatic TCA migration done during bootstrap. Please adapt TCA accordingly, these migrations will be removed. The backend module "Configuration -> TCA" shows the modified values. Please adapt these areas: -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'username' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['username']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'lastlogin' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['lastlogin']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'name' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['name']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'company' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['company']['defaultExtras']". -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['2']" as 3rd argument of field "fe_users['types']['0']['name']"to an own palette. The result of this part is: "name, --palette--;;2" -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['1']" as 3rd argument of field "fe_users['types']['0']['company']"to an own palette. The result of this part is: "company, --palette--;;1" -14-07-22 20:07: Automatic TCA migration done during bootstrap. Please adapt TCA accordingly, these migrations will be removed. The backend module "Configuration -> TCA" shows the modified values. Please adapt these areas: -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'username' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['username']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'lastlogin' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['lastlogin']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'name' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['name']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'company' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['company']['defaultExtras']". -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['2']" as 3rd argument of field "fe_users['types']['0']['name']"to an own palette. The result of this part is: "name, --palette--;;2" -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['1']" as 3rd argument of field "fe_users['types']['0']['company']"to an own palette. The result of this part is: "company, --palette--;;1" -14-07-22 20:07: Automatic TCA migration done during bootstrap. Please adapt TCA accordingly, these migrations will be removed. The backend module "Configuration -> TCA" shows the modified values. Please adapt these areas: -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'username' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['username']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'lastlogin' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['lastlogin']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'name' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['name']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'company' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['company']['defaultExtras']". -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['2']" as 3rd argument of field "fe_users['types']['0']['name']"to an own palette. The result of this part is: "name, --palette--;;2" -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['1']" as 3rd argument of field "fe_users['types']['0']['company']"to an own palette. The result of this part is: "company, --palette--;;1" -14-07-22 20:08: Automatic TCA migration done during bootstrap. Please adapt TCA accordingly, these migrations will be removed. The backend module "Configuration -> TCA" shows the modified values. Please adapt these areas: -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'username' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['username']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'lastlogin' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['lastlogin']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'name' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['name']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'company' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['company']['defaultExtras']". -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['2']" as 3rd argument of field "fe_users['types']['0']['name']"to an own palette. The result of this part is: "name, --palette--;;2" -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['1']" as 3rd argument of field "fe_users['types']['0']['company']"to an own palette. The result of this part is: "company, --palette--;;1" -14-07-22 20:10: Automatic TCA migration done during bootstrap. Please adapt TCA accordingly, these migrations will be removed. The backend module "Configuration -> TCA" shows the modified values. Please adapt these areas: -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'username' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['username']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'lastlogin' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['lastlogin']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'name' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['name']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'company' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['company']['defaultExtras']". -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['2']" as 3rd argument of field "fe_users['types']['0']['name']"to an own palette. The result of this part is: "name, --palette--;;2" -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['1']" as 3rd argument of field "fe_users['types']['0']['company']"to an own palette. The result of this part is: "company, --palette--;;1" -14-07-22 20:11: Automatic TCA migration done during bootstrap. Please adapt TCA accordingly, these migrations will be removed. The backend module "Configuration -> TCA" shows the modified values. Please adapt these areas: -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'username' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['username']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'lastlogin' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['lastlogin']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'name' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['name']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'company' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['company']['defaultExtras']". -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['2']" as 3rd argument of field "fe_users['types']['0']['name']"to an own palette. The result of this part is: "name, --palette--;;2" -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['1']" as 3rd argument of field "fe_users['types']['0']['company']"to an own palette. The result of this part is: "company, --palette--;;1" -14-07-22 20:17: Automatic TCA migration done during bootstrap. Please adapt TCA accordingly, these migrations will be removed. The backend module "Configuration -> TCA" shows the modified values. Please adapt these areas: -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'username' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['username']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'lastlogin' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['lastlogin']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'name' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['name']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'company' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['company']['defaultExtras']". -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['2']" as 3rd argument of field "fe_users['types']['0']['name']"to an own palette. The result of this part is: "name, --palette--;;2" -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['1']" as 3rd argument of field "fe_users['types']['0']['company']"to an own palette. The result of this part is: "company, --palette--;;1" -14-07-22 20:17: Automatic TCA migration done during bootstrap. Please adapt TCA accordingly, these migrations will be removed. The backend module "Configuration -> TCA" shows the modified values. Please adapt these areas: -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'username' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['username']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'lastlogin' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['lastlogin']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'name' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['name']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'company' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['company']['defaultExtras']". -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['2']" as 3rd argument of field "fe_users['types']['0']['name']"to an own palette. The result of this part is: "name, --palette--;;2" -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['1']" as 3rd argument of field "fe_users['types']['0']['company']"to an own palette. The result of this part is: "company, --palette--;;1" -14-07-22 20:17: Automatic TCA migration done during bootstrap. Please adapt TCA accordingly, these migrations will be removed. The backend module "Configuration -> TCA" shows the modified values. Please adapt these areas: -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'username' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['username']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'lastlogin' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['lastlogin']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'name' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['name']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'company' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['company']['defaultExtras']". -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['2']" as 3rd argument of field "fe_users['types']['0']['name']"to an own palette. The result of this part is: "name, --palette--;;2" -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['1']" as 3rd argument of field "fe_users['types']['0']['company']"to an own palette. The result of this part is: "company, --palette--;;1" -14-07-22 20:17: Automatic TCA migration done during bootstrap. Please adapt TCA accordingly, these migrations will be removed. The backend module "Configuration -> TCA" shows the modified values. Please adapt these areas: -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'username' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['username']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'lastlogin' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['lastlogin']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'name' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['name']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'company' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['company']['defaultExtras']". -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['2']" as 3rd argument of field "fe_users['types']['0']['name']"to an own palette. The result of this part is: "name, --palette--;;2" -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['1']" as 3rd argument of field "fe_users['types']['0']['company']"to an own palette. The result of this part is: "company, --palette--;;1" -14-07-22 20:18: Automatic TCA migration done during bootstrap. Please adapt TCA accordingly, these migrations will be removed. The backend module "Configuration -> TCA" shows the modified values. Please adapt these areas: -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'username' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['username']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'lastlogin' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['lastlogin']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'name' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['name']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'company' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['company']['defaultExtras']". -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['2']" as 3rd argument of field "fe_users['types']['0']['name']"to an own palette. The result of this part is: "name, --palette--;;2" -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['1']" as 3rd argument of field "fe_users['types']['0']['company']"to an own palette. The result of this part is: "company, --palette--;;1" -14-07-22 20:21: Automatic TCA migration done during bootstrap. Please adapt TCA accordingly, these migrations will be removed. The backend module "Configuration -> TCA" shows the modified values. Please adapt these areas: -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'username' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['username']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'lastlogin' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['lastlogin']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'name' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['name']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'company' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['company']['defaultExtras']". -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['2']" as 3rd argument of field "fe_users['types']['0']['name']"to an own palette. The result of this part is: "name, --palette--;;2" -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['1']" as 3rd argument of field "fe_users['types']['0']['company']"to an own palette. The result of this part is: "company, --palette--;;1" -14-07-22 20:21: Automatic TCA migration done during bootstrap. Please adapt TCA accordingly, these migrations will be removed. The backend module "Configuration -> TCA" shows the modified values. Please adapt these areas: -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'username' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['username']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'lastlogin' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['lastlogin']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'name' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['name']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'company' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['company']['defaultExtras']". -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['2']" as 3rd argument of field "fe_users['types']['0']['name']"to an own palette. The result of this part is: "name, --palette--;;2" -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['1']" as 3rd argument of field "fe_users['types']['0']['company']"to an own palette. The result of this part is: "company, --palette--;;1" -15-07-22 08:07: Automatic TCA migration done during bootstrap. Please adapt TCA accordingly, these migrations will be removed. The backend module "Configuration -> TCA" shows the modified values. Please adapt these areas: -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'username' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['username']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'lastlogin' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['lastlogin']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'name' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['name']['defaultExtras']". -The 4th parameter 'specConf' of the field 'showitem' with fieldName = 'company' has been migrated, from TCA table "fe_users['types']['0']['showitem']"to "fe_users['types']['0']['columnsOverrides']['company']['defaultExtras']". -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['2']" as 3rd argument of field "fe_users['types']['0']['name']"to an own palette. The result of this part is: "name, --palette--;;2" -Migrated 'showitem' field from TCA table fe_users['types']['0']" : Moved additional palette with name "fe_users['types']['0']['1']" as 3rd argument of field "fe_users['types']['0']['company']"to an own palette. The result of this part is: "company, --palette--;;1" diff --git a/typo3conf/ext/dp_cookieconsent/.github/FUNDING.yml b/typo3conf/ext/dp_cookieconsent/.github/FUNDING.yml new file mode 100644 index 0000000..33b0320 --- /dev/null +++ b/typo3conf/ext/dp_cookieconsent/.github/FUNDING.yml @@ -0,0 +1,2 @@ +github: DirkPersky +custom: ['https://www.paypal.com/paypalme/dirkpersky'] diff --git a/typo3conf/ext/dp_cookieconsent/.github/workflows/Deploy.yml b/typo3conf/ext/dp_cookieconsent/.github/workflows/Deploy.yml new file mode 100644 index 0000000..fe2f464 --- /dev/null +++ b/typo3conf/ext/dp_cookieconsent/.github/workflows/Deploy.yml @@ -0,0 +1,37 @@ +name: Deploy + +on: + push: + tags: + - "v?[0-9]+.[0-9]+.[0-9]+" + +jobs: + Ship-to-TER: + name: 'Ship to TER' + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Set up PHP + uses: shivammathur/setup-php@v2 + with: + php-version: 7.4 + coverage: none + + - name: "Extract tag, version from GITHUB_REF" + id: "github-ref" + run: | + echo "::set-output name=tag::$(echo $GITHUB_REF | sed -E -n 's#^refs/tags/(.*)$#\1#p')" + echo "::set-output name=version::$(echo $GITHUB_REF | sed -E -n 's#^refs/tags/v?([0-9]+\.)([0-9]+\.)([0-9]+)#\1\2\3#p')" + + - name: Deploy to TER + run: | + if [ -n "${{ secrets.TYPO3_ORG_USERNAME }}" ] && [ -n "${{ secrets.TYPO3_ORG_PASSWORD }}" ]; then + echo -e "Preparing upload of release ${{ steps.github-ref.outputs.version }} to TER\n"; + # Install ter client + composer global require helhum/ter-client + # Upload + echo "Uploading release ${{ steps.github-ref.outputs.version }} to TER\n" + $HOME/.composer/vendor/helhum/ter-client/ter-client upload dp_cookieconsent . -u "${{ secrets.TYPO3_ORG_USERNAME }}" -p "${{ secrets.TYPO3_ORG_PASSWORD }}" -m "https://github.com/DirkPersky/typo3-dp_cookieconsent/releases/tag/${{ steps.github-ref.outputs.tag }}" + fi; \ No newline at end of file diff --git a/typo3conf/ext/dp_cookieconsent/.gitignore b/typo3conf/ext/dp_cookieconsent/.gitignore new file mode 100644 index 0000000..0be999c --- /dev/null +++ b/typo3conf/ext/dp_cookieconsent/.gitignore @@ -0,0 +1,5 @@ +# Created by .ignore support plugin (hsz.mobi) + +# IntelliJ project files +.idea + diff --git a/typo3conf/ext/dp_cookieconsent/ext_emconf.php b/typo3conf/ext/dp_cookieconsent/ext_emconf.php index 998fce5..17cbf7a 100644 --- a/typo3conf/ext/dp_cookieconsent/ext_emconf.php +++ b/typo3conf/ext/dp_cookieconsent/ext_emconf.php @@ -1,39 +1,30 @@ + * @license MIT + */ -$EM_CONF[$_EXTKEY] = array ( - 'title' => 'Cookie Consent', - 'description' => 'Enable a cookie consent box. Let you visitors control the usage of cookies and load script or content after a consent. (ePrivacy, TTDSG)', - 'category' => 'fe', - 'clearCacheOnLoad' => true, - 'author' => 'Dirk Persky', - 'author_company' => '', - 'author_email' => 'infoy@dp-wired.de', - 'constraints' => - array ( - 'depends' => - array ( - 'typo3' => '10.4.0-11.5.99', - ), - 'conflicts' => - array ( - ), - 'suggests' => - array ( - ), - ), - 'state' => 'stable', - 'version' => '11.6.3', - 'uploadfolder' => true, - 'clearcacheonload' => false, -); +$EM_CONF[$_EXTKEY] = [ + 'title' => 'Cookie Consent', + 'description' => 'Enable a cookie consent box. Let you visitors control the usage of cookies and load script or content after a consent. (ePrivacy, TTDSG)', + 'category' => 'fe', + 'clearCacheOnLoad' => true, + 'author' => 'Dirk Persky', + 'author_company' => '', + 'author_email' => 'infoy@dp-wired.de', + 'constraints' => [ + 'depends' => [ + 'typo3' => '10.4.0-11.5.99' + ], + 'conflicts' => [], + 'suggests' => [], + ], + 'state' => 'stable', // stable + 'version' => '11.6.3' +]; diff --git a/typo3conf/ext/static_info_tables/.editorconfig b/typo3conf/ext/embedassets/.editorconfig similarity index 66% rename from typo3conf/ext/static_info_tables/.editorconfig rename to typo3conf/ext/embedassets/.editorconfig index 0c5bdfe..410d80b 100644 --- a/typo3conf/ext/static_info_tables/.editorconfig +++ b/typo3conf/ext/embedassets/.editorconfig @@ -1,3 +1,5 @@ +# EditorConfig is awesome: http://EditorConfig.org + # top-most EditorConfig file root = true @@ -10,44 +12,45 @@ indent_size = 4 insert_final_newline = true trim_trailing_whitespace = true -# JS files -[*.js] +# TS/JS-Files +[*.{ts,js}] indent_size = 2 -# JSON files +# JSON-Files [*.json] indent_style = tab +# ReST-Files +[*.rst] +indent_size = 4 +max_line_length = 80 + +# YAML-Files +[*.{yaml,yml}] +indent_size = 2 + +# NEON-Files +[*.neon] +indent_size = 2 +indent_style = tab + # package.json [package.json] indent_size = 2 -# ReST files -[*.rst] -indent_size = 3 -max_line_length = 80 +# TypoScript +[*.{typoscript,tsconfig}] +indent_size = 2 -# SQL files +# XLF-Files +[*.xlf] +indent_style = tab + +# SQL-Files [*.sql] indent_style = tab indent_size = 2 -# TypoScript files -[*.{typoscript,tsconfig}] -indent_size = 2 - -# YAML files -[{*.yml,*.yaml}] -indent_size = 2 - -# XLF files -[*.xlf] -indent_style = tab - # .htaccess -[.htaccess] +[{_.htaccess,.htaccess}] indent_style = tab - -# Markdown files -[*.md] -max_line_length = 80 diff --git a/typo3conf/ext/embedassets/.gitignore b/typo3conf/ext/embedassets/.gitignore new file mode 100644 index 0000000..6509c91 --- /dev/null +++ b/typo3conf/ext/embedassets/.gitignore @@ -0,0 +1,27 @@ +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk diff --git a/typo3conf/ext/embedassets/ext_emconf.php b/typo3conf/ext/embedassets/ext_emconf.php index 31ee4cf..b68f744 100644 --- a/typo3conf/ext/embedassets/ext_emconf.php +++ b/typo3conf/ext/embedassets/ext_emconf.php @@ -1,38 +1,17 @@ 'Embed Assets', - 'description' => 'Fluid viewhelpers for embed and minified CSS/JS', - 'category' => 'fe', - 'version' => '1.3.0', - 'state' => 'stable', - 'uploadfolder' => false, - 'clearcacheonload' => true, - 'author' => 'Tanel Põld', - 'author_email' => 'tanel@brightside.ee', - 'author_company' => 'Brightside OÜ', - 'constraints' => - array ( - 'depends' => - array ( - 'typo3' => '11.5.0-13.99.99', - ), - 'conflicts' => - array ( - ), - 'suggests' => - array ( - ), - ), -); - + $EM_CONF[$_EXTKEY] = [ + 'title' => 'Embed Assets', + 'description' => 'Fluid viewhelpers for embed and minified CSS/JS', + 'category' => 'fe', + 'version' => '1.3.0', + 'state' => 'stable', + 'clearCacheOnLoad' => 1, + 'author' => 'Tanel Põld', + 'author_email' => 'tanel@brightside.ee', + 'author_company' => 'Brightside OÜ', + 'constraints' => [ + 'depends' => [ + 'typo3' => '11.5.0-13.99.99', + ], + ], + ]; diff --git a/typo3conf/ext/fs_media_gallery/Resources/Private/Language/locallang.xlf b/typo3conf/ext/fs_media_gallery/Resources/Private/Language/locallang.xlf index 57db749..29a0e2f 100644 --- a/typo3conf/ext/fs_media_gallery/Resources/Private/Language/locallang.xlf +++ b/typo3conf/ext/fs_media_gallery/Resources/Private/Language/locallang.xlf @@ -1,58 +1,56 @@ - - - LFEditor - + + - - - - - - - - - - - - - - - - - - - - - - + Y-m-d - + Media Album - + Media Albums - - + + asset + + + assets - + No albums found + + + Album not found - + No assets found + + + Back to album + + + Back to %s + + + Back to albums list + + + image {current} of {total} + + + Show album '%s' - - - - + … - + « + + + » - \ No newline at end of file + diff --git a/typo3conf/ext/fs_media_gallery/ext_emconf.php b/typo3conf/ext/fs_media_gallery/ext_emconf.php index aef9378..088b369 100644 --- a/typo3conf/ext/fs_media_gallery/ext_emconf.php +++ b/typo3conf/ext/fs_media_gallery/ext_emconf.php @@ -1,39 +1,31 @@ 'Media Gallery', - 'description' => 'A media gallery based on the FAL integration of TYPO3. +$EM_CONF[$_EXTKEY] = [ + 'title' => 'Media Gallery', + 'description' => 'A media gallery based on the FAL integration of TYPO3. Show your media assets from your local or remote storage as a gallery of albums.', - 'category' => 'plugin', - 'version' => '3.0.2', - 'state' => 'stable', - 'uploadfolder' => false, - 'clearcacheonload' => true, - 'author' => 'Frans Saris', - 'author_email' => 'franssaris@gmail.com', - 'author_company' => '', - 'constraints' => - array ( - 'depends' => - array ( - 'typo3' => '11.4.0-11.5.99', - ), - 'conflicts' => - array ( - ), - 'suggests' => - array ( - ), - ), -); - + 'category' => 'plugin', + 'author' => 'Frans Saris', + 'author_email' => 'franssaris@gmail.com', + 'author_company' => '', + 'shy' => '', + 'priority' => '', + 'module' => '', + 'state' => 'stable', + 'uploadfolder' => false, + 'createDirs' => '', + 'clearCacheOnLoad' => 1, + 'lockType' => '', + 'version' => '3.0.2', + 'constraints' => [ + 'depends' => [ + 'typo3' => '11.4.0-11.5.99', + ], + 'conflicts' => [], + 'suggests' => [], + ], +]; diff --git a/typo3conf/ext/lfeditor b/typo3conf/ext/lfeditor new file mode 160000 index 0000000..506e7a5 --- /dev/null +++ b/typo3conf/ext/lfeditor @@ -0,0 +1 @@ +Subproject commit 506e7a54aa0c77e166e9677d296693ad82f6a812 diff --git a/typo3conf/ext/lfeditor/Classes/Controller/AbstractBackendController.php b/typo3conf/ext/lfeditor/Classes/Controller/AbstractBackendController.php deleted file mode 100644 index cef7c6f..0000000 --- a/typo3conf/ext/lfeditor/Classes/Controller/AbstractBackendController.php +++ /dev/null @@ -1,236 +0,0 @@ -isBackend()) { - $this->backendUser = $GLOBALS['BE_USER']; - } - - $editingMode = $this->session->getDataByKey('editingMode'); - $availableEditingModes = $this->configurationService->getAvailableEditingModes(); - if ($this->backendUser->isAdmin()) { - if (!\array_key_exists($editingMode, $availableEditingModes)) { - $firstAvailableEditMode = \key($availableEditingModes); - $this->session->setDataByKey('editingMode', $firstAvailableEditMode); - } - $canChangeEditingModes = \count($availableEditingModes) > 0; - } else { - $canChangeEditingModes = \count($availableEditingModes) > 0 - && $this->backendUser->user['lfeditor_change_editing_modes'] !== 0; - if (!$canChangeEditingModes || !\array_key_exists($editingMode, $availableEditingModes)) { - $lastAvailableEditMode = array_key_last($availableEditingModes); - $this->session->setDataByKey('editingMode', $lastAvailableEditMode); - } - } - - $this->session->setDataByKey('defaultLanguagePermission', $this->backendUser->checkLanguageAccess(0)); - $this->session->setDataByKey('canChangeEditingModes', $canChangeEditingModes); - } - - /** - * Saves the the last called controller/action pair into the backend user - * configuration if available - * - * @param bool $saveWithRedirectPair - * @return void - */ - protected function setLastCalledControllerActionPair($saveWithRedirectPair = TRUE) { - if (!$this->backendUser) { - return; - } - - $extensionKey = $this->request->getControllerExtensionKey(); - $pair = [ - 'action' => $this->request->getControllerActionName(), - 'controller' => $this->request->getControllerName(), - ]; - - $this->backendUser->uc[$extensionKey . 'State']['LastActionControllerPair'] = $pair; - if ($saveWithRedirectPair) { - $this->backendUser->uc[$extensionKey . 'State']['LastActionControllerPairForRedirect'] = $pair; - } - $this->backendUser->writeUC($this->backendUser->uc); - } - - /** - * Resets the last called controller/action pair combination from the - * backend user session - * - * @return void - */ - protected function resetLastCalledControllerActionPair() { - if (!$this->backendUser) { - return; - } - - $extensionKey = $this->request->getControllerExtensionKey(); - $this->backendUser->uc[$extensionKey . 'State']['LastActionControllerPair'] = []; - $this->backendUser->uc[$extensionKey . 'State']['LastActionControllerPairForRedirect'] = []; - $this->backendUser->writeUC($this->backendUser->uc); - - if ($this->view instanceof ViewInterface) { - $this->view->assign('lastCalledControllerActionPair', NULL); - } - } - - /** - * Returns the last called controller/action pair from the backend user session - * - * @return array - */ - protected function getLastCalledControllerActionPair() { - if (!$this->backendUser) { - return []; - } - - $extensionKey = $this->request->getControllerExtensionKey(); - $state = $this->backendUser->uc[$extensionKey . 'State']['LastActionControllerPair']; - return (!\is_array($state) ? [] : $state); - } - - /** - * Returns the last called controller/action pair from the backend user session - * - * @return array - */ - protected function getLastCalledControllerActionPairForRedirect() { - if (!$this->backendUser) { - return []; - } - - $extensionKey = $this->request->getControllerExtensionKey(); - return $this->backendUser->uc[$extensionKey . 'State']['LastActionControllerPairForRedirect'] ?? []; - } - - /** - * Redirects to the last called controller/action pair saved inside the - * backend user session - * - * @return \TYPO3\CMS\Extbase\Http\ForwardResponse|null - * @throws \TYPO3\CMS\Extbase\Mvc\Exception\StopActionException - */ - protected function redirectToLastCalledControllerActionPair(): ?\TYPO3\CMS\Extbase\Http\ForwardResponse { - $state = $this->getLastCalledControllerActionPairForRedirect(); - if (\count($state) && \trim($state['action']) !== '' && \trim($state['controller']) !== '') { - $currentAction = $this->request->getControllerActionName(); - $currentController = $this->request->getControllerName(); - if (!($currentController === $state['controller'] && $currentAction === $state['action'])) { - $extensionName = $this->request->getControllerExtensionName(); - $moduleSignature = $this->request->getPluginName(); - $extensionConfig = $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$extensionName]; - $availableControllers = $extensionConfig['modules'][$moduleSignature]['controllers']; - $controllerExists = isset($availableControllers[$state['controller']]); - if ($controllerExists) { - $actionExists = \in_array( - $state['action'], - $availableControllers[$state['controller']]['actions'], - TRUE - ); - if ($actionExists) { - if (version_compare( - \TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), - '11.0.0', - '<' - )) { - $this->forward($state['action'], $state['controller']); - } - - return (new \TYPO3\CMS\Extbase\Http\ForwardResponse($state['action']))->withControllerName( - $state['controller'] - ); - } - } - } - } - return NULL; - } - - /** - * Sets last called controller-action pair and assigns common view variables. - * This function should be called at the end of actions which render view - * (and does not do redirection or forwarding at the end) - */ - protected function commonViewRenderingActionSettings() { - $this->setLastCalledControllerActionPair(); - $this->view->assign('editingMode', $this->session->getDataByKey('editingMode')); - $this->view->assign('editingModeOptions', $this->configurationService->getAvailableEditingModes()); - $this->view->assign('adminUser', $this->backendUser->isAdmin()); - $this->view->assign('defaultLanguagePermission', $this->session->getDataByKey('defaultLanguagePermission')); - $this->view->assign('canChangeEditingModes', $this->session->getDataByKey('canChangeEditingModes')); - } - - /** - * Since we cannot use constructor Injection, we do have to get one dynamically. If we want to use - * our ModuleTemplate, call GetModuleTemplate before, which will init one if there is none for some reason - */ - protected function getModuleTemplate() { - if ($this->moduleTemplate === NULL) { - $moduleTemplateFactory = GeneralUtility::makeInstance( - \TYPO3\CMS\Backend\Template\ModuleTemplateFactory::class - ); - $this->moduleTemplate = $moduleTemplateFactory->create($this->request); - } - } - - /** - * Use the ModuleTemplateResponse to create a response object for the backend - * - * @return \Psr\Http\Message\ResponseInterface - */ - protected function createBackendResponse(): \Psr\Http\Message\ResponseInterface { - return $this->htmlResponse($this->view->render()); - } -} diff --git a/typo3conf/ext/lfeditor/Classes/Controller/AbstractController.php b/typo3conf/ext/lfeditor/Classes/Controller/AbstractController.php deleted file mode 100644 index ae3ff03..0000000 --- a/typo3conf/ext/lfeditor/Classes/Controller/AbstractController.php +++ /dev/null @@ -1,317 +0,0 @@ -configurationService = $configurationService; - } - - /** - * - * @var BackupService - */ - protected $backupService; - - /** - * Inject the BackupService - * - * @param BackupService $backupService - */ - public function injectBackupService(BackupService $backupService) { - $this->backupService = $backupService; - } - - /** - * Initializes the actions. - * - Initializes the session object. - * - Fetches configuration. - * - * @return void - * @throws \SGalinski\Lfeditor\Exceptions\DirectoryAccessRightsException - */ - public function initializeAction() { - parent::initializeAction(); - if (!($this->session instanceof PhpSession)) { - $this->session = GeneralUtility::makeInstance(PhpSession::class); - $this->session->setSessionKey('tx_lfeditor_sessionVariables'); - } - $this->configurationService->prepareConfig(); - } - - /** - * Saves in session currently selected values of select tags. - * - * @param string $extensionSelection - * @param string $languageFileSelection - * @param string $referenceLanguageSelection - * @param string $constantSelection - * @param string $languageSelection - * @param string $constantTypeSelection - * @param string $bottomReferenceLanguageSelection - * @param string $numSiteConstsSelection - * @param string $extkey - * @return void - */ - protected function saveSelectionsInSession( - $extensionSelection = NULL, - $languageFileSelection = NULL, - $referenceLanguageSelection = NULL, - $constantSelection = NULL, - $languageSelection = NULL, - $constantTypeSelection = NULL, - $bottomReferenceLanguageSelection = NULL, - $numSiteConstsSelection = NULL, - $extkey = NULL - ) { - /* Extension/language file select box can't be unselected. - Only situation when $extensionSelection === NULL is when the form is submitted by - selection change of some other box. That is because with 'optgroup' tags is used */ - if ($extensionSelection) { - $this->session->setDataByKey('extensionSelection', $extensionSelection); - } - if ($languageFileSelection) { - $this->session->setDataByKey('languageFileSelection', $languageFileSelection); - } - if ($referenceLanguageSelection) { - $this->session->setDataByKey('referenceLanguageSelection', $referenceLanguageSelection); - } - if ($constantSelection) { - $this->session->setDataByKey('constantSelection', $constantSelection); - } - if ($languageSelection) { - $this->session->setDataByKey('languageSelection', $languageSelection); - } - if ($constantTypeSelection) { - $this->session->setDataByKey('constantTypeSelection', $constantTypeSelection); - } - if ($bottomReferenceLanguageSelection) { - $this->session->setDataByKey('bottomReferenceLanguageSelection', $bottomReferenceLanguageSelection); - } - if ($numSiteConstsSelection) { - $this->session->setDataByKey('numSiteConstsSelection', $numSiteConstsSelection); - } - if ($extkey) { - $this->session->setDataByKey('extkey', $extkey); - } - } - - /** - * Assigns view width menu options and default menu selection which is fetched from session. - * - * @param string $menuName Name of the menu, which will be used as prefix of view keys for menu options and menu selection. - * Example: menuName 'extension' will produce view keys 'extensionOptions' and 'extensionSelection' - * @param array $options menu options to be assigned to view - * @return void - */ - protected function assignViewWidthMenuVariables($menuName, $options) { - $this->view->assign($menuName . 'Options', $options); - - $selection = $this->checkMenuSelection($menuName, $options); - $this->view->assign($menuName . 'Selection', $selection); - } - - /** - * Checks does selection exists in session or among menu options and if it does not, - * first option becomes selected. - * - * @param string $menuName Name of the menu, which will be used as prefix of view keys for menu options and menu selection. - * Example: menuName 'extension' will produce view keys 'extensionOptions' and 'extensionSelection' - * @param array $options menu options to be checked upon. - * @return string - */ - protected function checkMenuSelection($menuName, array $options) { - $selection = $this->session->getDataByKey($menuName . 'Selection'); - if (!\array_key_exists($selection, $options)) { - $selection = NULL; - } - if ($selection === NULL && !empty($options)) { - $selection = array_key_first($options); - $this->session->setDataByKey($menuName . 'Selection', $selection); - return $selection; - } - return $selection; - } - - /** - * Sets FlashMessage from LFException. - * - * @param LFException $lFException - * @return void - */ - public function addLFEFlashMessage(LFException $lFException) { - if ($lFException->getCode() === 0) { - $this->addFlashMessage( - $lFException->getMessage(), - LocalizationUtility::translate('failure.failure', 'lfeditor'), - AbstractMessage::ERROR - ); - } elseif ($lFException->getCode() === 1) { - $this->addFlashMessage( - $lFException->getMessage(), - '', - AbstractMessage::NOTICE - ); - } - } - - /** - * Prepares language file select options for each extension and sets combined data in view. - * - * @return void - * @throws \TYPO3\CMS\Core\Cache\Exception\NoSuchCacheException - * @throws LFException - */ - protected function prepareExtensionAndLangFileOptions() { - /** @var CacheManager $cacheManager */ - $cacheManager = GeneralUtility::makeInstance(CacheManager::class); - $extensions = $cacheManager->getCache('lfeditor_select_options_cache')->get('extensionAndLangFileOptions'); - if (!is_array($extensions)) { - $extensions = []; - $extensionOptions = $this->configurationService->menuExtList(); - $extensionGroupCount = 0; - foreach ($extensionOptions as $extAddress => $extLabel) { - $extension['extKey'] = $extLabel; - ((int) ExtensionManagementUtility::isLoaded(basename($extLabel))) ? - $state = LocalizationUtility::translate('ext.loaded', 'lfeditor') : - $state = LocalizationUtility::translate('ext.notLoaded', 'lfeditor'); - $extension['extLabel'] = $extLabel . ' [' . $state . ']'; - - $extension['languageFileOptions'] = []; - $isExtensionGroupStart = $extAddress === '###extensionGroup###' . $extLabel; - try { - if (!$isExtensionGroupStart) { - $extension['languageFileOptions'] = $this->configurationService->menuLangFileList($extAddress); - if (empty($extension['languageFileOptions'])) { - continue; - } - } elseif (++$extensionGroupCount > 1) { - $extensions[$extAddress . 'EmptySpaceBefore'] = [ - 'extLabel' => '', - 'languageFileOptions' => [], - ]; - } - } catch (LFException $e) { - continue; - } - $extensions[$extAddress] = $extension; - - if ($isExtensionGroupStart) { - $extensions[$extAddress . 'DelimiterAfter'] = [ - 'extLabel' => '======', - 'languageFileOptions' => [], - ]; - } - } - $cacheManager->getCache('lfeditor_select_options_cache')->set('extensionAndLangFileOptions', $extensions); - } - $this->checkExtensionAndLangFileSelection($extensions); - $extensionSelection = $this->session->getDataByKey('extensionSelection'); - - $this->view->assign('extensions', $extensions); - $this->view->assign('extensionSelection', $extensionSelection); - $this->view->assign('extensionLabel', $extensions[$extensionSelection]['extLabel'] ?? ''); - $this->view->assign('languageFileSelection', $this->session->getDataByKey('languageFileSelection')); - } - - /** - * Checks do extensionSelection and languageFileSelection exist in session or among menu options and if it does not, - * first language file and belonging extension become selected and saved to session. - * - * @param array $extensions - * @return void - */ - protected function checkExtensionAndLangFileSelection(array $extensions) { - $extensionSelection = $this->session->getDataByKey('extensionSelection'); - $languageFileSelection = $this->session->getDataByKey('languageFileSelection'); - - $selectFirstLanguageFileAndBelongingExtension = !$extensionSelection || !$languageFileSelection || - !(array_key_exists($extensionSelection, $extensions) && array_key_exists( - $languageFileSelection, - $extensions[$extensionSelection]['languageFileOptions'] - )); - if ($selectFirstLanguageFileAndBelongingExtension) { - foreach ($extensions as $extAddress => $extension) { - if (empty($extension['languageFileOptions'])) { - continue; - } - $languageFileSelection = array_key_first($extension['languageFileOptions']); - $this->session->setDataByKey('languageFileSelection', $languageFileSelection); - $this->session->setDataByKey('extensionSelection', $extAddress); - break; - } - } - } - - /** - * Clears cache used for storing select options. - * If $identifier is set, it clears only that entry in cache, - * otherwise it clears whole select options cache. - * - * @param string $identifier - * @throws \TYPO3\CMS\Core\Cache\Exception\NoSuchCacheException - */ - protected function clearSelectOptionsCache($identifier = NULL) { - /** @var CacheManager $cacheManager */ - $cacheManager = GeneralUtility::makeInstance(CacheManager::class); - if ($identifier !== NULL) { - $cacheManager->getCache('lfeditor_select_options_cache')->set($identifier, NULL); - } else { - $cacheManager->getCache('lfeditor_select_options_cache')->flush(); - } - } -} diff --git a/typo3conf/ext/lfeditor/Classes/Controller/AddConstantController.php b/typo3conf/ext/lfeditor/Classes/Controller/AddConstantController.php deleted file mode 100644 index 083048e..0000000 --- a/typo3conf/ext/lfeditor/Classes/Controller/AddConstantController.php +++ /dev/null @@ -1,176 +0,0 @@ -view->assign('controllerName', 'AddConstant'); - - $this->prepareExtensionAndLangFileOptions(); - $this->prepareAddConstantViewMainSectionContent(); - } catch (LFException $e) { - $this->addLFEFlashMessage($e); - } - $this->commonViewRenderingActionSettings(); - - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->view->assign('V11', FALSE); - return NULL; - } else { - $this->view->assign('V11', TRUE); - return $this->createBackendResponse(); - } - } - - /** - * This action saves in session currently selected options from selection menus in addConstant view. - * It is called on change of selection of any select menu in addConstant view. - * - * @param string $extensionSelection - * @param string $languageFileSelection - * @param string $extKey - * @throws \TYPO3\CMS\Extbase\Mvc\Exception\StopActionException - */ - public function changeSelectionAction($extensionSelection = NULL, $languageFileSelection = NULL, $extKey = ''): ?\Psr\Http\Message\ResponseInterface { - $this->saveSelectionsInSession( - $extensionSelection, - $languageFileSelection, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - $extKey - ); - - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->redirect('addConstant'); - return NULL; - } else { - return $this->redirect('addConstant'); - } - } - - /** - * Saves the changes made in main section of addConstant view. - * - * @param string $nameOfConstant - * @param array $addConstTextArea - * @return \Psr\Http\Message\ResponseInterface|null - * @throws \TYPO3\CMS\Core\Cache\Exception\NoSuchCacheException - * @throws \TYPO3\CMS\Extbase\Mvc\Exception\StopActionException - */ - public function addConstantSaveAction($nameOfConstant, array $addConstTextArea): ?\Psr\Http\Message\ResponseInterface { - try { - if (empty($nameOfConstant)) { - throw new LFException('failure.select.noConstDefined'); - } - $extConfig = $this->configurationService->getExtConfig(); - - $this->configurationService->initFileObject( - $this->session->getDataByKey('languageFileSelection'), - $this->session->getDataByKey('extensionSelection') - ); - - $langData = $this->configurationService->getFileObj()->getLocalLangData(); - - $constExists = !empty($langData['default'][$nameOfConstant]) - || !empty($langData[$extConfig['defaultLanguage']][$nameOfConstant]); - if ($constExists) { - throw new LFException('failure.langfile.constExists'); - } - - $newConstLanguages = []; - foreach ($addConstTextArea as $lang => $value) { - $newConstLanguages[$lang][$nameOfConstant] = $value; - } - - $this->configurationService->execWrite($newConstLanguages); - $this->session->setDataByKey('constantSelection', $nameOfConstant); - - $this->addFlashMessage( - LocalizationUtility::translate('lang.file.write.success', 'lfeditor'), - '', - $severity = AbstractMessage::OK, - $storeInSession = TRUE - ); - } catch (LFException $e) { - $this->addLFEFlashMessage($e); - } - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->redirect('addConstant'); - return NULL; - } else { - return $this->redirect('addConstant'); - } - } - - /** - * Clears extensionAndLangFileOptions cache, and in that way refreshes list of language file options in select box. - * - */ - public function refreshLanguageFileListAction(): ?\Psr\Http\Message\ResponseInterface { - $this->clearSelectOptionsCache('extensionAndLangFileOptions'); - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->redirect('addConstant'); - return NULL; - } else { - return $this->redirect('addConstant'); - } - } - - /** - * Prepares main section content of addConstant view. - * - * @throws LFException - * @return void - */ - protected function prepareAddConstantViewMainSectionContent() { - $extConfig = $this->configurationService->getExtConfig(); - $langArray = $this->configurationService->getLangArray($this->backendUser); - - $this->view->assign('languages', $langArray); - $this->view->assign('numTextAreaRows', $extConfig['numTextAreaRows']); - } -} diff --git a/typo3conf/ext/lfeditor/Classes/Controller/DeleteConstantController.php b/typo3conf/ext/lfeditor/Classes/Controller/DeleteConstantController.php deleted file mode 100644 index b1d3e9f..0000000 --- a/typo3conf/ext/lfeditor/Classes/Controller/DeleteConstantController.php +++ /dev/null @@ -1,189 +0,0 @@ -view->assign('controllerName', 'DeleteConstant'); - - $this->prepareExtensionAndLangFileOptions(); - $this->configurationService->initFileObject( - $this->session->getDataByKey('languageFileSelection'), - $this->session->getDataByKey('extensionSelection') - ); - $fileObject = $this->configurationService->getFileObj(); - if ($this->session->getDataByKey('editingMode') === 'override') { - /** @var FileOverrideService $overrideFileObject */ - $overrideFileObject = $fileObject; - $overrideFileObject->deleteDuplicates(); - } - - $langData = $fileObject->getLocalLangData(); - $constantOptions = $this->configurationService->menuConstList( - $langData, - LocalizationUtility::translate('select.nothing', 'lfeditor') - ); - $this->assignViewWidthMenuVariables('constant', $constantOptions); - $this->prepareDeleteConstantViewMainSectionContent(); - } catch (LFException $e) { - $this->addLFEFlashMessage($e); - } - $this->commonViewRenderingActionSettings(); - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->view->assign('V11', FALSE); - return NULL; - } else { - $this->view->assign('V11', TRUE); - return $this->createBackendResponse(); - } - } - - /** - * This action saves in session currently selected options from selection menus in deleteConstant view. - * It is called on change of selection of any select menu in deleteConstant view. - * - * @param string $extensionSelection - * @param string $languageFileSelection - * @param string $constantSelection - * @param string $extKey - * @throws \TYPO3\CMS\Extbase\Mvc\Exception\StopActionException - */ - public function changeSelectionAction( - $extensionSelection = NULL, - $languageFileSelection = NULL, - $constantSelection = NULL, - $extKey = '' - ): ?\Psr\Http\Message\ResponseInterface { - $this->saveSelectionsInSession( - $extensionSelection, - $languageFileSelection, - NULL, - $constantSelection, - NULL, - NULL, - NULL, - NULL, - $extKey - ); - - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->redirect('deleteConstant'); - return NULL; - } else { - return $this->redirect('deleteConstant'); - } - } - - /** - * Saves the changes made in main section of deleteConstant view. - * - * @return \Psr\Http\Message\ResponseInterface|null - * @throws \TYPO3\CMS\Core\Cache\Exception\NoSuchCacheException - * @throws \TYPO3\CMS\Extbase\Mvc\Exception\StopActionException - */ - public function deleteConstantSaveAction(): ?\Psr\Http\Message\ResponseInterface { - try { - $constantSelection = $this->session->getDataByKey('constantSelection'); - $langArray = Functions::buildLangArray(); - - // build modArray - $newLang = []; - foreach ($langArray as $lang) { - $newLang[$lang][$constantSelection] = ''; - } - - $this->configurationService->execWrite($newLang, [], TRUE); - - $this->addFlashMessage( - LocalizationUtility::translate('lang.file.write.success', 'lfeditor'), - '', - $severity = AbstractMessage::OK, - $storeInSession = TRUE - ); - } catch (LFException $e) { - $this->addLFEFlashMessage($e); - } - - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->redirect('deleteConstant'); - return NULL; - } else { - return $this->redirect('deleteConstant'); - } - } - - /** - * Clears extensionAndLangFileOptions cache, and in that way refreshes list of language file options in select box. - * - * @return \Psr\Http\Message\ResponseInterface|null - * @throws \TYPO3\CMS\Core\Cache\Exception\NoSuchCacheException - * @throws \TYPO3\CMS\Extbase\Mvc\Exception\StopActionException - */ - public function refreshLanguageFileListAction(): ?\Psr\Http\Message\ResponseInterface { - $this->clearSelectOptionsCache('extensionAndLangFileOptions'); - - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->redirect('deleteConstant'); - return NULL; - } else { - return $this->redirect('deleteConstant'); - } - } - - /** - * Prepares main section content of deleteConstant view. - * - * @throws LFException - * @return void - */ - protected function prepareDeleteConstantViewMainSectionContent() { - $constantSelection = $this->session->getDataByKey('constantSelection'); - if (empty($constantSelection) || $constantSelection == '###default###') { - throw new LFException('failure.select.noConst', 1); - } - - $this->view->assign('constantSelection', $constantSelection); - } -} diff --git a/typo3conf/ext/lfeditor/Classes/Controller/EditConstantController.php b/typo3conf/ext/lfeditor/Classes/Controller/EditConstantController.php deleted file mode 100644 index 819c860..0000000 --- a/typo3conf/ext/lfeditor/Classes/Controller/EditConstantController.php +++ /dev/null @@ -1,204 +0,0 @@ -view->assign('controllerName', 'EditConstant'); - - $this->prepareExtensionAndLangFileOptions(); - $this->configurationService->initFileObject( - $this->session->getDataByKey('languageFileSelection'), - $this->session->getDataByKey('extensionSelection') - ); - - $langData = $this->configurationService->getFileObj()->getLocalLangData(); - $constantOptions = $this->configurationService->menuConstList( - $langData, - LocalizationUtility::translate('select.nothing', 'lfeditor') - ); - $this->assignViewWidthMenuVariables('constant', $constantOptions); - - $this->prepareEditConstantViewMainSectionContent($langData); - } catch (LFException $e) { - $this->addLFEFlashMessage($e); - } - - $this->commonViewRenderingActionSettings(); - - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->view->assign('V11', FALSE); - return NULL; - } else { - $this->view->assign('V11', TRUE); - return $this->createBackendResponse(); - } - } - - /** - * This action saves in session currently selected options from selection menus in editConstant view. - * It is called on change of selection of any select menu in editConstant view. - * - * @param string $extensionSelection - * @param string $languageFileSelection - * @param string $constantSelection - * @param string $extKey - * @throws \TYPO3\CMS\Extbase\Mvc\Exception\StopActionException - */ - public function changeSelectionAction( - $extensionSelection = NULL, - $languageFileSelection = NULL, - $constantSelection = NULL, - $extKey = '' - ): ?\Psr\Http\Message\ResponseInterface { - $this->saveSelectionsInSession( - $extensionSelection, - $languageFileSelection, - NULL, - $constantSelection, - NULL, - NULL, - NULL, - NULL, - $extKey - ); - - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->redirect('editConstant'); - return NULL; - } else { - return $this->redirect('editConstant'); - } - } - - /** - * Saves the changes made in main section of editConstant view. - * - * @param array $editConstTextArea - * @return \Psr\Http\Message\ResponseInterface|null - * @throws \TYPO3\CMS\Core\Cache\Exception\NoSuchCacheException - * @throws \TYPO3\CMS\Extbase\Mvc\Exception\StopActionException - */ - public function editConstantSaveAction(array $editConstTextArea): ?\Psr\Http\Message\ResponseInterface { - try { - $this->configurationService->execWrite($editConstTextArea); - - $this->addFlashMessage( - LocalizationUtility::translate('lang.file.write.success', 'lfeditor'), - '', - $severity = AbstractMessage::OK, - $storeInSession = TRUE - ); - } catch (LFException $e) { - $this->addLFEFlashMessage($e); - } - - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->redirect('editConstant'); - return NULL; - } else { - return $this->redirect('editConstant'); - } - } - - /** - * Clears extensionAndLangFileOptions cache, and in that way refreshes list of language file options in select box. - * - * @return \Psr\Http\Message\ResponseInterface|null - * @throws \TYPO3\CMS\Core\Cache\Exception\NoSuchCacheException - * @throws \TYPO3\CMS\Extbase\Mvc\Exception\StopActionException - */ - public function refreshLanguageFileListAction(): ?\Psr\Http\Message\ResponseInterface { - $this->clearSelectOptionsCache('extensionAndLangFileOptions'); - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->redirect('editConstant'); - return NULL; - } else { - return $this->redirect('editConstant'); - } - } - - /** - * Prepares main section content of editConstant view. - * - * @param array $langData - * @throws LFException - * @return void - */ - protected function prepareEditConstantViewMainSectionContent(array $langData = NULL) { - $extConfig = $this->configurationService->getExtConfig(); - $langArray = $this->configurationService->getLangArray($this->backendUser); - - $constantSelection = $this->session->getDataByKey('constantSelection'); - if (empty($constantSelection) || $constantSelection == '###default###') { - throw new LFException('failure.select.noConst', 1); - } - - $languages = []; - foreach ($langArray as $lang) { - if (array_key_exists($lang, $langData) && array_key_exists($constantSelection, $langData[$lang])) { - $languages[$lang] = $langData[$lang][$constantSelection]; - } else { - $languages[$lang] = ''; - } - } - - $this->view->assign('constantSelection', $constantSelection); - $this->view->assign('languages', $languages); - $this->view->assign('numTextAreaRows', $extConfig['numTextAreaRows']); - $this->view->assign('defaultLanguage', $extConfig['defaultLanguage']); - } - - /** - * Sets chosen constant and redirects to editConstant view. - * - * @param string $constantKey - * @return void - */ - protected function prepareEditConstantAction($constantKey) { - $this->session->setDataByKey('constantSelection', $constantKey); - - $this->redirect('editConstant', 'EditConstant'); - } -} diff --git a/typo3conf/ext/lfeditor/Classes/Controller/EditFileController.php b/typo3conf/ext/lfeditor/Classes/Controller/EditFileController.php deleted file mode 100644 index f072504..0000000 --- a/typo3conf/ext/lfeditor/Classes/Controller/EditFileController.php +++ /dev/null @@ -1,365 +0,0 @@ -view->assign('controllerName', 'EditFile'); - - $this->prepareExtensionAndLangFileOptions(); - $this->configurationService->initFileObject( - $this->session->getDataByKey('languageFileSelection'), - $this->session->getDataByKey('extensionSelection') - ); - $langData = $this->configurationService->getFileObj()->getLocalLangData(); - - $languageOptions = $this->configurationService->menuLangList($langData, '', $this->backendUser); - $this->assignViewWidthMenuVariables('language', $languageOptions); - - $referenceLanguageOptions = $this->configurationService->menuLangList( - $langData, - LocalizationUtility::translate('select.nothing', 'lfeditor'), - $this->backendUser - ); - $this->assignViewWidthMenuVariables('referenceLanguage', $referenceLanguageOptions); - - $bottomReferenceLanguageOptions = $this->configurationService->menuLangList( - $langData, - '', - $this->backendUser, - TRUE - ); - $this->assignViewWidthMenuVariables('bottomReferenceLanguage', $bottomReferenceLanguageOptions); - - $constantTypeOptions = $this->getConstantTypeOptions(); - $this->assignViewWidthMenuVariables('constantType', $constantTypeOptions); - - $extConfig = $this->configurationService->getExtConfig(); - $this->assignViewWidthMenuVariables('numSiteConsts', $extConfig['numSiteConstsOptions']); - - $this->prepareEditFileViewMainSectionContent($langData, $buttonType); - } catch (LFException $e) { - $this->addLFEFlashMessage($e); - } - $this->commonViewRenderingActionSettings(); - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->view->assign('V11', FALSE); - return NULL; - } else { - $this->view->assign('V11', TRUE); - return $this->createBackendResponse(); - } - } - - /** - * This action saves in session currently selected options from selection menus in editFile view. - * It is called on change of selection of any select menu in editFile view. - * - * @param string $extensionSelection - * @param string $languageFileSelection - * @param string $languageSelection - * @param string $referenceLanguageSelection - * @param string $constantTypeSelection - * @param string $bottomReferenceLanguageSelection - * @param string $numSiteConstsSelection - * @param string $extKey - * @throws \TYPO3\CMS\Extbase\Mvc\Exception\StopActionException - */ - public function changeSelectionAction( - $extensionSelection = NULL, - $languageFileSelection = NULL, - $languageSelection = NULL, - $referenceLanguageSelection = NULL, - $constantTypeSelection = NULL, - $bottomReferenceLanguageSelection = NULL, - $numSiteConstsSelection = NULL, - $extKey = '' - ): ?\Psr\Http\Message\ResponseInterface { - $this->saveSelectionsInSession( - $extensionSelection, - $languageFileSelection, - $referenceLanguageSelection, - NULL, - $languageSelection, - $constantTypeSelection, - $bottomReferenceLanguageSelection, - $numSiteConstsSelection, - $extKey - ); - - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->redirect('editFile', NULL, NULL, ['buttonType' => 0]); - return NULL; - } else { - return $this->redirect('editFile', NULL, NULL, ['buttonType' => 0]); - } - } - - /** - * Clears extensionAndLangFileOptions cache, and in that way refreshes list of language file options in select box. - * - */ - public function refreshLanguageFileListAction(): ?\Psr\Http\Message\ResponseInterface { - $this->clearSelectOptionsCache('extensionAndLangFileOptions'); - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->redirect('editFile', NULL, NULL, ['buttonType' => 0]); - return NULL; - } else { - return $this->redirect('editFile', NULL, NULL, ['buttonType' => 0]); - } - } - - /** - * Prepares main section content of editFile view. - * Structure of the content: - * $constValues[$constant]['edit'], - * $constValues[$constant]['pattern'], - * $constValues[$constant][$extConfig['defaultLanguage']]. - * - * @param array $langData - * @param integer $buttonType : - * -1 - cancel, - * 0 - no button clicked, - * 1 - back, - * 2 - next, - * 3 - save. - * @throws LFException - * @return void - */ - protected function prepareEditFileViewMainSectionContent(array $langData, int $buttonType) { - $extConfig = $this->configurationService->getExtConfig(); - $numConstantsPerPage = $this->session->getDataByKey('numSiteConstsSelection'); - - $langList = $this->session->getDataByKey('languageSelection'); - $patternList = $this->session->getDataByKey('referenceLanguageSelection'); - $constTypeList = $this->session->getDataByKey('constantTypeSelection'); - $parallelEdit = $patternList !== '###default###' && $patternList != $langList; - - $langEdit = (array_key_exists($langList, $langData) && is_array($langData[$langList])) ? $langData[$langList] : []; - $langPattern = (array_key_exists($patternList, $langData) && is_array($langData[$patternList])) ? $langData[$patternList] : []; - $bottomReferenceLanguageSelection = $this->session->getDataByKey('bottomReferenceLanguageSelection'); - $bottomReferenceLanguage = is_array($langData[$bottomReferenceLanguageSelection]) - ? $langData[$bottomReferenceLanguageSelection] : []; - if (empty($bottomReferenceLanguage)) { - $bottomReferenceLanguage = is_array($langData['default']) ? $langData['default'] : []; - } - - $langDataSessionContinued = $buttonType !== 3; - if ($buttonType === 0) { - $this->session->setDataByKey('sessionLangDataConstantsIterator', 0); - $this->session->setDataByKey('numberLastPageConstants', 0); - } - $sessionLangDataConstantsIterator = $this->session->getDataByKey('sessionLangDataConstantsIterator'); - $numberLastPageConstants = $this->session->getDataByKey('numberLastPageConstants'); - - // new translation - if (!$langDataSessionContinued || $buttonType <= 0) { - // adjust number of session constants - if ($constTypeList === 'untranslated' || $constTypeList === 'translated' || - $constTypeList === 'unknown' || $buttonType <= 0 - ) { - $sessionLangDataConstantsIterator = 0; - } elseif (!$langDataSessionContinued) { // session written to file - $sessionLangDataConstantsIterator -= $numberLastPageConstants; - } - - // delete old data in session - $this->session->setDataByKey('langfileEditNewLangData', NULL); - $this->session->setDataByKey('langfileEditConstantsList', NULL); - - // get language data - if ($constTypeList === 'untranslated') { - $myLangData = array_diff_key($bottomReferenceLanguage, $langEdit); - } elseif ($constTypeList === 'unknown') { - $myLangData = array_diff_key($langEdit, $bottomReferenceLanguage); - } elseif ($constTypeList === 'translated') { - $myLangData = array_intersect_key($bottomReferenceLanguage, $langEdit); - } else { - $myLangData = $bottomReferenceLanguage; - } - $this->session->setDataByKey('langfileEditConstantsList', array_keys($myLangData)); - } elseif ($buttonType === 1) { // back button - $sessionLangDataConstantsIterator -= ($numConstantsPerPage + $numberLastPageConstants); - } - - // get language constants - $langData = $this->session->getDataByKey('langfileEditConstantsList'); - $numConsts = is_countable($langData) ? count($langData) : 0; - if (!(is_countable($langData) ? count($langData) : 0)) { - throw new LFException('failure.select.emptyLangDataArray', 1); - } - $langfileEditNewLangData = $this->session->getDataByKey('langfileEditNewLangData'); - if ($langfileEditNewLangData === '') { - $langfileEditNewLangData = []; - } - - // prepare constant list for this page - $numberLastPageConstants = 0; - $constValues = []; - do { - // check number of session constants - if ($sessionLangDataConstantsIterator >= $numConsts) { - break; - } - ++$numberLastPageConstants; - - // set constant value (maybe already changed in this session) - $constant = $langData[$sessionLangDataConstantsIterator]; - $editLangVal = $langEdit[$constant] ?? ''; - if (!isset($langfileEditNewLangData[$langList][$constant])) { - $langfileEditNewLangData[$langList][$constant] = $editLangVal; - } else { - $editLangVal = $langfileEditNewLangData[$langList][$constant]; - } - - // set constant value (maybe already changed in this session) - $editPatternVal = $langPattern[$constant] ?? ''; - if (!isset($langfileEditNewLangData[$patternList][$constant])) { - $langfileEditNewLangData[$patternList][$constant] = $editPatternVal; - } else { - $editPatternVal = - $langfileEditNewLangData[$patternList][$constant]; - } - - // save information about the constant - $constValues[$constant]['edit'] = $editLangVal; - $constValues[$constant]['pattern'] = $editPatternVal; - $constValues[$constant]['default'] = $bottomReferenceLanguage[$constant]; - } while (++$sessionLangDataConstantsIterator % $numConstantsPerPage); - - $this->session->setDataByKey('langfileEditNewLangData', $langfileEditNewLangData); - $this->session->setDataByKey('sessionLangDataConstantsIterator', $sessionLangDataConstantsIterator); - $this->session->setDataByKey('numberLastPageConstants', $numberLastPageConstants); - - $this->view->assign('numTextAreaRows', $extConfig['numTextAreaRows']); - $this->view->assign('defaultLanguage', $extConfig['defaultLanguage']); - $this->view->assign('parallelEdit', $parallelEdit); - $this->view->assign('displayBackButton', $sessionLangDataConstantsIterator > $numConstantsPerPage); - $this->view->assign('displayNextButton', $sessionLangDataConstantsIterator < $numConsts); - - $this->view->assign('constValues', $constValues); - $this->view->assign('curConsts', $sessionLangDataConstantsIterator); - $this->view->assign('totalConsts', $numConsts); - $this->view->assign('numSiteConstsSelection', $numConstantsPerPage); - } - - /** - * Used for the constant type selector - * - * @return array - */ - private function getConstantTypeOptions(): array { - $constantTypeOptions = []; - $constantTypeOptions['all'] = LocalizationUtility::translate('const.type.all', 'lfeditor'); - $constantTypeOptions['translated'] = LocalizationUtility::translate('const.type.translated', 'lfeditor'); - $constantTypeOptions['unknown'] = LocalizationUtility::translate('const.type.unknown', 'lfeditor'); - $constantTypeOptions['untranslated'] = LocalizationUtility::translate('const.type.untranslated', 'lfeditor'); - return $constantTypeOptions; - } - - /** - * Saves the changes made in main section of editFile view. - * - * @param integer $buttonType - * @param array $editFileTextArea editFileTextArea[{languageSelection}][{constKey}] - * @return \Psr\Http\Message\ResponseInterface|null - * @throws \TYPO3\CMS\Core\Cache\Exception\NoSuchCacheException - * @throws \TYPO3\CMS\Extbase\Mvc\Exception\StopActionException - */ - public function editFileSaveAction(int $buttonType, array $editFileTextArea): ?\Psr\Http\Message\ResponseInterface { - try { - $languageSelection = $this->session->getDataByKey('languageSelection'); - $referenceLanguageSelection = $this->session->getDataByKey('referenceLanguageSelection'); - $langDataSessionContinued = $buttonType !== 3; - - $langfileEditNewLangData = $this->session->getDataByKey('langfileEditNewLangData'); - $langfileEditNewLangData[$languageSelection] = - array_merge( - $langfileEditNewLangData[$languageSelection], - $editFileTextArea[$languageSelection] - ); - - // parallel edit mode? - if ($referenceLanguageSelection !== '###default###' && $referenceLanguageSelection != $languageSelection) { - $langfileEditNewLangData[$referenceLanguageSelection] = - array_merge( - $langfileEditNewLangData[$referenceLanguageSelection], - $editFileTextArea[$referenceLanguageSelection] ?? [] - ); - } - $this->session->setDataByKey('langfileEditNewLangData', $langfileEditNewLangData); - - // write if no session continued - if (!$langDataSessionContinued) { - // Making array of languages that were changed, so only that language files will be edited. - $editedLanguages = [$languageSelection]; - if ($languageSelection !== $referenceLanguageSelection) { - $editedLanguages[] = $referenceLanguageSelection; - } - - $this->configurationService->execWrite($langfileEditNewLangData, [], FALSE, $editedLanguages); - $this->addFlashMessage( - LocalizationUtility::translate('lang.file.write.success', 'lfeditor'), - '', - $severity = AbstractMessage::OK, - $storeInSession = TRUE - ); - } - } catch (LFException $e) { - $this->addLFEFlashMessage($e); - } - - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->redirect('editFile', NULL, NULL, ['buttonType' => $buttonType]); - return NULL; - } else { - return $this->redirect('editFile', NULL, NULL, ['buttonType' => $buttonType]); - } - } -} diff --git a/typo3conf/ext/lfeditor/Classes/Controller/GeneralController.php b/typo3conf/ext/lfeditor/Classes/Controller/GeneralController.php deleted file mode 100644 index dbc4876..0000000 --- a/typo3conf/ext/lfeditor/Classes/Controller/GeneralController.php +++ /dev/null @@ -1,302 +0,0 @@ -redirectToLastCalledControllerActionPair(); - } - - $this->resetLastCalledControllerActionPair(); - - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->redirect('general', 'General'); - return NULL; - } else { - return $this->redirect('general', 'General'); - } - } - - /** - * Opens general view. - * It is called in 2 cases: - * - on selection of general option in main menu, - * - after redirection from action which must not change the view. - * - * @throws \TYPO3\CMS\Core\Cache\Exception\NoSuchCacheException - */ - public function generalAction(): ?\Psr\Http\Message\ResponseInterface { - try { - $this->view->assign('controllerName', 'General'); - - $this->prepareExtensionAndLangFileOptions(); - if (!$this->session->getDataByKey('languageFileSelection')) { - throw new LFException('failure.select.noLangfile', 1); - } - $this->prepareGeneralViewMainSectionContent(); - } catch (LFException $e) { - $this->addLFEFlashMessage($e); - } - $this->commonViewRenderingActionSettings(); - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->view->assign('V11', FALSE); - return NULL; - } else { - $this->view->assign('V11', TRUE); - return $this->createBackendResponse(); - } - } - - /** - * This action saves in session currently selected options from selection menus in general view. - * It is called on change of selection of any select menu in general view. - * - * @param string $extensionSelection - * @param string $languageFileSelection - * @param string $extKey - * @throws \TYPO3\CMS\Extbase\Mvc\Exception\StopActionException - * - */ - public function changeSelectionAction($extensionSelection = NULL, $languageFileSelection = NULL, $extKey = ''): ?\Psr\Http\Message\ResponseInterface { - $this->saveSelectionsInSession( - $extensionSelection, - $languageFileSelection, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - $extKey - ); - - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->redirect('general'); - return NULL; - } else { - return $this->redirect('general'); - } - } - - /** - * Saves the changes made in main section of general view. - * - * @param string $authorName - * @param string $authorEmail - * @param string $metaDescription - * @param string $transformFile - * @param integer $splitFile - * @throws \TYPO3\CMS\Core\Cache\Exception\NoSuchCacheException - * @throws \TYPO3\CMS\Extbase\Mvc\Exception\StopActionException - */ - public function generalSaveAction( - $authorName = NULL, - $authorEmail = NULL, - $metaDescription = NULL, - $transformFile = NULL, - $splitFile = NULL - ): ?\Psr\Http\Message\ResponseInterface { - try { - $metaArray = [ - 'authorName' => $authorName, - 'authorEmail' => $authorEmail, - 'description' => $metaDescription - ]; - $this->configurationService->execWrite([], $metaArray); - - // split or merge - if ($transformFile === 'xlf') { - $splitFile = self::NORMAL_SPLIT; - } - if (($splitFile == self::NORMAL_SPLIT || $splitFile == self::MERGE)) { - $langModes = []; - // set vars - if ($splitFile != self::NORMAL_SPLIT && $splitFile != self::MERGE) { - $splitFile = 0; - } - $langKeys = Functions::buildLangArray(); - - // generate langModes - foreach ($langKeys as $langKey) { - if (!isset($langModes[$langKey])) { - $langModes[$langKey] = $splitFile; - } - } - - // exec split or merge - $this->configurationService->execSplitFile($langModes); - // reinitialize file object - $this->configurationService->initFileObject( - $this->session->getDataByKey('languageFileSelection'), - $this->session->getDataByKey('extensionSelection') - ); - } - - if (!empty($transformFile) - && $this->configurationService->getFileObj()->getVar('fileType') != $transformFile - ) { - $newFile = SgLib::setFileExtension( - $transformFile, - $this->configurationService->getFileObj()->getVar('relFile') - ); - $this->configurationService->execTransform($transformFile, $newFile); - $this->clearSelectOptionsCache('extensionAndLangFileOptions'); - } - - $this->addFlashMessage( - LocalizationUtility::translate('lang.file.write.success', 'lfeditor'), - '', - $severity = AbstractMessage::OK, - $storeInSession = TRUE - ); - } catch (LFException $e) { - $this->addLFEFlashMessage($e); - } - - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->redirect('general'); - return NULL; - } else { - return $this->redirect('general'); - } - } - - /** - * Clears extensionAndLangFileOptions cache, and in that way refreshes list of language file options in select box. - * - * @throws \TYPO3\CMS\Core\Cache\Exception\NoSuchCacheException - * @throws \TYPO3\CMS\Extbase\Mvc\Exception\StopActionException - */ - public function refreshLanguageFileListAction(): ?\Psr\Http\Message\ResponseInterface { - $this->clearSelectOptionsCache('extensionAndLangFileOptions'); - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->redirect('general'); - return NULL; - } else { - return $this->redirect('general'); - } - } - - /** - * Prepares main section content of general view. - * - * @return void - * @throws LFException - */ - protected function prepareGeneralViewMainSectionContent() { - $this->configurationService->initFileObject( - $this->session->getDataByKey('languageFileSelection'), - $this->session->getDataByKey('extensionSelection') - ); - $extConfig = $this->configurationService->getExtConfig(); - $referenceLanguageSelection = $extConfig['defaultLanguage']; - $langArray = $this->configurationService->getLangArray($this->backendUser); - $infoArray = Functions::genGeneralInfoArray( - $referenceLanguageSelection, - $langArray, - $this->configurationService->getFileObj() - ); - $description = $infoArray['default']['meta']['description'] ?? ''; - $langFileExtension = $this->configurationService->getFileObj()->getVar('fileType'); - $preselectMerge = $this->isOriginSameForAllLanguages($infoArray); - - $this->view->assign('infos', $infoArray); - $this->view->assign('refLangNumTranslated', $infoArray[$referenceLanguageSelection]['numTranslated']); - $this->view->assign('numTextAreaRows', $extConfig['numTextAreaRows']); - $this->view->assign('metaDescription', $description); - $this->view->assign('langFileExtension', $langFileExtension); - $this->view->assign('preselectMerge', $preselectMerge); - } - - /** - * Prepares parameters for redirection to viewTreeAction. - * - * @param string $language - * @return \Psr\Http\Message\ResponseInterface|null - * @throws \TYPO3\CMS\Extbase\Mvc\Exception\StopActionException - */ - public function goToEditFileAction($language): ?\Psr\Http\Message\ResponseInterface { - $this->session->setDataByKey('languageSelection', $language); - - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->redirect('editFile', 'EditFile'); - return NULL; - } else { - return $this->redirect('editFile', 'EditFile'); - } - } - - /** - * Switches between override mode and normal mode. - * - * @param string $editingMode 'extension', 'l10n', 'override'. - * @return void - * @throws \TYPO3\CMS\Extbase\Mvc\Exception\StopActionException - */ - public function switchEditingModeAction($editingMode = 'extension') { - $this->session->setDataByKey('editingMode', $editingMode); - $this->indexAction(); - } - - /** - * Checks do all language translations originate from same file. - * - * @param array $infoArray - * @return bool - */ - private function isOriginSameForAllLanguages(array $infoArray) { - foreach ($infoArray as $langInfo) { - if ($infoArray['default']['origin'] !== $langInfo['origin']) { - return FALSE; - } - } - return TRUE; - } -} diff --git a/typo3conf/ext/lfeditor/Classes/Controller/ManageBackupsController.php b/typo3conf/ext/lfeditor/Classes/Controller/ManageBackupsController.php deleted file mode 100644 index 27342f3..0000000 --- a/typo3conf/ext/lfeditor/Classes/Controller/ManageBackupsController.php +++ /dev/null @@ -1,500 +0,0 @@ -view->assign('controllerName', 'ManageBackups'); - - $extensionOptions = $this->configurationService->menuExtList(); - $this->assignViewWidthMenuVariables('extension', $extensionOptions); - - $this->initializeBackupObject($langFile); - $this->prepareManageBackupsViewMainSectionContent(); - if ($showDiff) { - $this->generateDiffContent($fileName); - } - } catch (LFException $e) { - $this->addLFEFlashMessage($e); - } - $this->commonViewRenderingActionSettings(); - - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->view->assign('V11', FALSE); - return NULL; - } else { - $this->view->assign('V11', TRUE); - return $this->createBackendResponse(); - } - } - - /** - * This action saves in session currently selected options from selection menus in manageBackups view. - * It is called on change of selection of any select menu in searchConstant view. - * - * @param string $extensionSelection - * @param string $extKey - */ - public function changeSelectionAction($extensionSelection = NULL, $extKey = ''): ?\Psr\Http\Message\ResponseInterface { - $this->saveSelectionsInSession( - $extensionSelection, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - $extKey - ); - - - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->redirect('manageBackups'); - return NULL; - } else { - return $this->redirect('manageBackups'); - } - } - - /** - * Clears extensionAndLangFileOptions cache, and in that way refreshes list of language file options in select box. - * - */ - public function refreshLanguageFileListAction(): ?\Psr\Http\Message\ResponseInterface { - $this->clearSelectOptionsCache('extensionAndLangFileOptions'); - - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->redirect('manageBackups'); - return NULL; - } else { - return $this->redirect('manageBackups'); - } - } - - /** - * Prepares main section content of manageBackupsConstant view. - * - * @throws LFException - */ - protected function prepareManageBackupsViewMainSectionContent() { - $backups = $this->makeBackupsList(); - if (empty($backups)) { - $this->addFlashMessage( - LocalizationUtility::translate('failure.backup.noFiles', 'lfeditor'), - '', - $severity = AbstractMessage::NOTICE, - $storeInSession = TRUE - ); - return; - } - $recoverLabelThead = strtoupper( - substr(LocalizationUtility::translate('function.backupMgr.recover', 'lfeditor'), 0, 1) - ); - $differenceLabelThead = strtoupper( - substr(LocalizationUtility::translate('function.backupMgr.diff.diff', 'lfeditor'), 0, 1) - ); - - $this->view->assign('backups', $backups); - $this->view->assign('recoverLabelThead', $recoverLabelThead); - $this->view->assign('differenceLabelThead', $differenceLabelThead); - } - - /** - * Makes list of backups for use in fluid page. - * - * @return array - */ - protected function makeBackupsList() { - $backups = []; - $metaArray = $this->backupService->getBackupObj()->getMetaInfos(2); - if (is_array($metaArray)) { - $keys = array_keys($metaArray); - foreach ($keys as $langFile) { - foreach ($metaArray[$langFile] as $fileName => $informations) { - $backup = []; - - // get path to filename - $backupPath = $informations['pathBackup']; - $pathSite = Environment::getPublicPath() . '/'; - - $file = Typo3Lib::fixFilePath($pathSite . '/' . $backupPath . '/' . $fileName); - $origFile = Typo3Lib::fixFilePath( - $this->session->getDataByKey('extensionSelection') . '/' . $langFile - ); - - // check state - if (!is_file($file)) { - $backup['state'] = 'function.backupMgr.missing'; - } elseif (!is_file($origFile)) { - $backup['state'] = 'lang.file.missing'; - } else { - $backup['state'] = 'function.backupMgr.ok'; - } - - $backup['date'] = date('Y-m-d H:i:s', $informations['createdAt']); - $backup['langFile'] = $langFile; - $backup['fileName'] = $fileName; - $backups[] = $backup; - } - } - } - return $backups; - } - - /** - * Deletes all backups. - * - */ - public function deleteAllBackupAction(): ?\Psr\Http\Message\ResponseInterface { - try { - $this->initializeBackupObject(); - $delFiles = []; - $metaArray = $this->backupService->getBackupObj()->getMetaInfos(2); - foreach ($metaArray as $langFile => $metaPiece) { - $files = array_keys($metaPiece); - foreach ($files as $filename) { - $delFiles[$filename] = $langFile; - } - } - $this->backupService->execBackupDelete($delFiles); - $this->addFlashMessage( - LocalizationUtility::translate('function.backupMgr.success.deleteAll', 'lfeditor'), - '', - $severity = AbstractMessage::OK, - $storeInSession = TRUE - ); - } catch (LFException $e) { - $this->addLFEFlashMessage($e); - } - - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->redirect('manageBackups'); - return NULL; - } else { - return $this->redirect('manageBackups'); - } - } - - /** - * Deletes backup. - * - * @param string $fileName - * @param string $langFile - * @throws \TYPO3\CMS\Extbase\Mvc\Exception\StopActionException - */ - public function deleteBackupAction($fileName, $langFile): ?\Psr\Http\Message\ResponseInterface { - try { - $this->initializeBackupObject($langFile); - $delFiles = []; - $delFiles[$fileName] = ''; - $this->backupService->execBackupDelete($delFiles); - $this->addFlashMessage( - LocalizationUtility::translate('function.backupMgr.success.delete', 'lfeditor'), - '', - $severity = AbstractMessage::OK, - $storeInSession = TRUE - ); - } catch (LFException $e) { - $this->addLFEFlashMessage($e); - } - $this->redirect('manageBackups'); - - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->redirect('manageBackups'); - return NULL; - } else { - return $this->redirect('manageBackups'); - } - } - - /** - * Uses backup to recover changes. - * - * @param string $fileName - * @param string $langFile - * @throws \TYPO3\CMS\Extbase\Mvc\Exception\StopActionException - */ - public function recoverBackupAction($fileName, $langFile): ?\Psr\Http\Message\ResponseInterface { - try { - $this->initializeBackupObject($langFile); - // set backup file - $metaArray = $this->backupService->getBackupObj()->getMetaInfos(3); - $pathSite = Environment::getPublicPath() . '/'; - - $information = [ - 'absPath' => $pathSite . $metaArray[$fileName]['pathBackup'], - 'relFile' => $fileName, - ]; - $this->backupService->getBackupObj()->setVar($information); - $this->backupService->getBackupObj()->readFile(); - // read original file - $this->configurationService->initFileObject( - $this->backupService->getBackupObj()->getVar('langFile'), - Typo3Lib::fixFilePath($pathSite . '/' . $this->backupService->getBackupObj()->getVar('extPath')) - ); - // restore - $this->backupService->execBackupRestore(); - $this->addFlashMessage( - LocalizationUtility::translate('function.backupMgr.success.restore', 'lfeditor'), - '', - $severity = AbstractMessage::OK, - $storeInSession = TRUE - ); - } catch (LFException $e) { - $this->addLFEFlashMessage($e); - } - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->redirect('manageBackups'); - return NULL; - } else { - return $this->redirect('manageBackups'); - } - } - - /** - * Shows differences between backup and original. - * - * @param string $fileName - * @param string $langFile - * @return \Psr\Http\Message\ResponseInterface|null - * @throws \TYPO3\CMS\Extbase\Mvc\Exception\StopActionException - */ - public function showDifferenceBackupAction($fileName, $langFile): ?\Psr\Http\Message\ResponseInterface { - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->redirect( - 'manageBackups', - NULL, - NULL, - ['fileName' => $fileName, 'langFile' => $langFile, 'showDiff' => TRUE] - ); - return NULL; - } else { - return $this->redirect( - 'manageBackups', - NULL, - NULL, - ['fileName' => $fileName, 'langFile' => $langFile, 'showDiff' => TRUE] - ); - } - } - - /** - * Initializes backup object. - * - * @param string $langFile - * @throws LFException - * @throws \Exception - * @return void - */ - protected function initializeBackupObject($langFile = '') { - $pathSite = Environment::getPublicPath() . '/'; - $information = [ - 'extPath' => SgLib::trimPath($pathSite, $this->session->getDataByKey('extensionSelection')), - 'langFile' => $langFile, - ]; - $this->backupService->initBackupObject('base', $information); - } - - /** - * Generates content which illustrates differences between backup and current state. - * - * @param string $fileName - * @return void - */ - protected function generateDiffContent($fileName) { - $localLangDiff = NULL; - $metaDiff = NULL; - $pathSite = Environment::getPublicPath() . '/'; - // set backup file - $metaArray = $this->backupService->getBackupObj()->getMetaInfos(3); - $informations = [ - 'absPath' => Typo3Lib::fixFilePath( - $pathSite . '/' . - $metaArray[$fileName]['pathBackup'] - ), - 'relFile' => $fileName, - ]; - $this->backupService->getBackupObj()->setVar($informations); - - // exec diff - // read original file - $this->configurationService->initFileObject( - $this->backupService->getBackupObj()->getVar('langFile'), - Typo3Lib::fixFilePath($pathSite . '/' . $this->backupService->getBackupObj()->getVar('extPath')) - ); - - // read backup file - $this->backupService->getBackupObj()->readFile(); - - // get language data - $originalLocalLang = $this->configurationService->getFileObj()->getLocalLangData(); - $backupLocalLang = $this->backupService->getBackupObj()->getLocalLangData(); - - // get meta data - $origMeta = $this->configurationService->getFileObj()->getMetaData(); - $backupMeta = $this->backupService->getBackupObj()->getMetaData(); - - SgLib::fixMetaAttributes($origMeta); - unset($originalLocalLang['trans-unit']); - $localLangDiff = Functions::getBackupDiff(0, $originalLocalLang, $backupLocalLang); - $metaDiff = Functions::getMetaDiff(0, $origMeta, $backupMeta); - - // generate diff - if (is_countable($localLangDiff) ? count($localLangDiff) : 0) { - $this->outputManageBackupsDiff( - $localLangDiff, - $metaDiff, - $originalLocalLang, - $backupLocalLang, - $this->configurationService->getFileObj()->getOriginLangData(), - $this->backupService->getBackupObj()->getOriginLangData(), - $origMeta, - $backupMeta - ); - } - } - - /** - * Generates output of difference between backup and original. - * - * @param array $diff language content (difference between backup and origin) - * @param array $metaDiff meta content (difference between backup and origin) - * @param array $origLang original language content - * @param array $backupLang backup language content - * @param array $origOriginLang original origins of each language - * @param array $backupOriginLang backup origins of each language - * @param array $origMeta original meta content - * @param array $backupMeta backup meta content - * @return void - */ - protected function outputManageBackupsDiff( - $diff, - $metaDiff, - $origLang, - $backupLang, - $origOriginLang, - $backupOriginLang, - $origMeta, - $backupMeta - ) { - $differences = []; - - // meta entry - if (count($metaDiff)) { - $difference = []; - $difference['legend'] = LocalizationUtility::translate('function.backupMgr.diff.meta', 'lfeditor'); - $difference['constants'] = []; - foreach ($metaDiff as $label => $value) { - $constant = []; - $constant['value'] = $value; - $constant['label'] = $label; - if (!isset($backupMeta[$label])) { - $constant['state'] = self::LANG_CONST_ADDED; - } elseif (!isset($origMeta[$label])) { - $constant['state'] = self::LANG_CONST_DELETED; - } else { - $constant['state'] = self::LANG_CONST_NORMAL; - } - $difference['constants'][] = $constant; - } - $differences[] = $difference; - } - - // loop each language entry - foreach ($diff as $langKey => $data) { - $difference = []; - if (!(is_countable($data) ? count($data) : 0) && ($origOriginLang[$langKey] == $backupOriginLang[$langKey])) { - continue; - } - try { - $languageFile = Typo3Lib::transTypo3File($backupOriginLang[$langKey], FALSE); - } catch (\Exception $e) { - $languageFile = $backupOriginLang[$langKey]; - } - $difference['legend'] = $langKey . ' (' . $languageFile . ')'; - $difference['constants'] = []; - foreach ($data as $label => $value) { - $constant = []; - $constant['value'] = $value; - $constant['label'] = $label; - - if (!isset($backupLang[$langKey][$label])) { - $constant['state'] = self::LANG_CONST_ADDED; - } elseif (!isset($origLang[$langKey][$label])) { - $constant['state'] = self::LANG_CONST_DELETED; - } else { - $constant['state'] = self::LANG_CONST_NORMAL; - } - $difference['constants'][] = $constant; - } - $differences[] = $difference; - } - $this->view->assign('differences', $differences); - } -} diff --git a/typo3conf/ext/lfeditor/Classes/Controller/RenameConstantController.php b/typo3conf/ext/lfeditor/Classes/Controller/RenameConstantController.php deleted file mode 100644 index 67181c2..0000000 --- a/typo3conf/ext/lfeditor/Classes/Controller/RenameConstantController.php +++ /dev/null @@ -1,198 +0,0 @@ -view->assign('controllerName', 'RenameConstant'); - - $this->prepareExtensionAndLangFileOptions(); - $this->configurationService->initFileObject( - $this->session->getDataByKey('languageFileSelection'), - $this->session->getDataByKey('extensionSelection') - ); - $langData = $this->configurationService->getFileObj()->getLocalLangData(); - $constantOptions = $this->configurationService->menuConstList( - $langData, - LocalizationUtility::translate('select.nothing', 'lfeditor') - ); - $this->assignViewWidthMenuVariables('constant', $constantOptions); - $this->prepareRenameConstantViewMainSectionContent(); - } catch (LFException $e) { - $this->addLFEFlashMessage($e); - } - $this->commonViewRenderingActionSettings(); - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->view->assign('V11', FALSE); - return NULL; - } else { - $this->view->assign('V11', TRUE); - return $this->createBackendResponse(); - } - } - - /** - * This action saves in session currently selected options from selection menus in renameConstant view. - * It is called on change of selection of any select menu in renameConstant view. - * - * @param string $extensionSelection - * @param string $languageFileSelection - * @param string $constantSelection - * @param string $extKey - * @throws \TYPO3\CMS\Extbase\Mvc\Exception\StopActionException - */ - public function changeSelectionAction( - $extensionSelection = NULL, - $languageFileSelection = NULL, - $constantSelection = NULL, - $extKey = '' - ): ?\Psr\Http\Message\ResponseInterface { - $this->saveSelectionsInSession( - $extensionSelection, - $languageFileSelection, - NULL, - $constantSelection, - NULL, - NULL, - NULL, - NULL, - $extKey - ); - - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->redirect('renameConstant'); - return NULL; - } else { - return $this->redirect('renameConstant'); - } - } - - /** - * Saves the changes made in main section of renameConstant view. - * - * @param string $newConstantName - */ - public function renameConstantSaveAction($newConstantName): ?\Psr\Http\Message\ResponseInterface { - try { - $oldConstantName = $this->session->getDataByKey('constantSelection'); - $extConfig = $this->configurationService->getExtConfig(); - - if ($oldConstantName === $newConstantName) { - throw new LFException('failure.langfile.noChange'); - } - - $this->configurationService->initFileObject( - $this->session->getDataByKey('languageFileSelection'), - $this->session->getDataByKey('extensionSelection') - ); - - $langData = $this->configurationService->getFileObj()->getLocalLangData(); - $constExists = !empty($langData['default'][$newConstantName]) - || !empty($langData[$extConfig['defaultLanguage']][$newConstantName]); - if ($constExists) { - throw new LFException('failure.langfile.constExists'); - } - - $langArray = Functions::buildLangArray(); - $newLang = []; - foreach ($langArray as $lang) { - if (isset($langData[$lang][$oldConstantName])) { - $newLang[$lang][$newConstantName] = $langData[$lang][$oldConstantName]; - } - $newLang[$lang][$oldConstantName] = ''; - } - - $this->configurationService->execWrite($newLang, [], TRUE); - - $this->addFlashMessage( - LocalizationUtility::translate('lang.file.write.success', 'lfeditor'), - '', - $severity = AbstractMessage::OK, - $storeInSession = TRUE - ); - } catch (LFException $e) { - $this->addLFEFlashMessage($e); - } - - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->redirect('renameConstant'); - return NULL; - } else { - return $this->redirect('renameConstant'); - } - } - - /** - * Clears extensionAndLangFileOptions cache, and in that way refreshes list of language file options in select box. - * - * @return \Psr\Http\Message\ResponseInterface|null - * @throws \TYPO3\CMS\Core\Cache\Exception\NoSuchCacheException - * @throws \TYPO3\CMS\Extbase\Mvc\Exception\StopActionException - */ - public function refreshLanguageFileListAction(): ?\Psr\Http\Message\ResponseInterface { - $this->clearSelectOptionsCache('extensionAndLangFileOptions'); - - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->redirect('renameConstant'); - return NULL; - } else { - return $this->redirect('renameConstant'); - } - } - - /** - * Prepares main section content of deleteConstant view. - * - * @throws LFException - * @return void - */ - protected function prepareRenameConstantViewMainSectionContent() { - $constantSelection = $this->session->getDataByKey('constantSelection'); - if (empty($constantSelection) || $constantSelection === '###default###') { - throw new LFException('failure.select.noConst', 1); - } - - $this->view->assign('constantSelection', $constantSelection); - } -} diff --git a/typo3conf/ext/lfeditor/Classes/Controller/SearchConstantController.php b/typo3conf/ext/lfeditor/Classes/Controller/SearchConstantController.php deleted file mode 100644 index 5ec4a27..0000000 --- a/typo3conf/ext/lfeditor/Classes/Controller/SearchConstantController.php +++ /dev/null @@ -1,182 +0,0 @@ -view->assign('controllerName', 'SearchConstant'); - - $this->prepareExtensionAndLangFileOptions(); - $this->prepareSearchConstantViewMainSectionContent($searchDone); - } catch (LFException $e) { - $this->addLFEFlashMessage($e); - } - $this->commonViewRenderingActionSettings(); - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->view->assign('V11', FALSE); - return NULL; - } else { - $this->view->assign('V11', TRUE); - return $this->createBackendResponse(); - } - } - - /** - * This action saves in session currently selected options from selection menus in searchConstant view. - * It is called on change of selection of any select menu in searchConstant view. - * - * @param string $extensionSelection - * @param string $languageFileSelection - * @param string $extKey - * @throws \TYPO3\CMS\Extbase\Mvc\Exception\StopActionException - */ - public function changeSelectionAction($extensionSelection = NULL, $languageFileSelection = NULL, $extKey = ''): ?\Psr\Http\Message\ResponseInterface { - $this->saveSelectionsInSession( - $extensionSelection, - $languageFileSelection, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - $extKey - ); - - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->redirect('searchConstant'); - return NULL; - } else { - return $this->redirect('searchConstant'); - } - } - - /** - * Saves the changes made in main section of searchConstant view. - * - * @param boolean $caseSensitive - * @param string $searchStr - */ - public function searchConstantSearchAction($caseSensitive, $searchStr): ?\Psr\Http\Message\ResponseInterface { - $searchResultArray = []; - try { - $this->configurationService->initFileObject( - $this->session->getDataByKey('languageFileSelection'), - $this->session->getDataByKey('extensionSelection') - ); - $langData = $this->configurationService->getFileObj()->getLocalLangData(); - $viewLanguages = $this->configurationService->getLangArray($this->backendUser); - - $searchOptions = $caseSensitive ? '' : 'i'; - if (!preg_match('/^\/.*\/.*$/', $searchStr) && !empty($searchStr)) { - foreach ($viewLanguages as $langKey) { - if (!array_key_exists($langKey, $langData) || !is_array($langData[$langKey])) { - continue; - } - foreach ($langData[$langKey] as $labelKey => $labelValue) { - $labelKeyOrValueContainSearchStr = preg_match( - '/' . $searchStr . '/' . $searchOptions, - $labelKey - ) || preg_match('/' . $searchStr . '/' . $searchOptions, $labelValue); - if ($labelKeyOrValueContainSearchStr) { - $searchResultArray[$langKey][$labelKey] = $labelValue; - } - } - } - if (!count($searchResultArray)) { - throw new LFException('failure.search.noConstants', 1); - } - } else { - throw new LFException('function.const.search.enterSearchStr', 1); - } - } catch (LFException $e) { - $this->addLFEFlashMessage($e); - } - $this->session->setDataByKey('searchResultArray', $searchResultArray); - $this->session->setDataByKey('searchString', $searchStr); - $this->session->setDataByKey('searchCaseSensitive', $caseSensitive); - - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->redirect('searchConstant', NULL, NULL, ['searchDone' => TRUE]); - return NULL; - } else { - return $this->redirect('searchConstant', NULL, NULL, ['searchDone' => TRUE]); - } - } - - /** - * Clears extensionAndLangFileOptions cache, and in that way refreshes list of language file options in select box. - * - */ - public function refreshLanguageFileListAction(): ?\Psr\Http\Message\ResponseInterface { - $this->clearSelectOptionsCache('extensionAndLangFileOptions'); - - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->redirect('searchConstant', NULL, NULL, ['searchDone' => TRUE]); - return NULL; - } else { - return $this->redirect('searchConstant', NULL, NULL, ['searchDone' => TRUE]); - } - } - - /** - * Prepares main section content of searchConstant view. - * - * @param bool $searchDone - * @return void - */ - protected function prepareSearchConstantViewMainSectionContent($searchDone) { - $searchResultArray = []; - if ($searchDone) { - $searchResultArray = $this->session->getDataByKey('searchResultArray'); - } else { - $this->session->setDataByKey('searchResultArray', []); - } - $searchString = $this->session->getDataByKey('searchString'); - $searchCaseSensitive = $this->session->getDataByKey('searchCaseSensitive'); - - $this->view->assign('searchResultArray', $searchResultArray); - $this->view->assign('searchString', $searchString); - $this->view->assign('searchCaseSensitive', $searchCaseSensitive); - } -} diff --git a/typo3conf/ext/lfeditor/Classes/Controller/ViewTreeController.php b/typo3conf/ext/lfeditor/Classes/Controller/ViewTreeController.php deleted file mode 100644 index 5ed42e8..0000000 --- a/typo3conf/ext/lfeditor/Classes/Controller/ViewTreeController.php +++ /dev/null @@ -1,283 +0,0 @@ -view->assign('controllerName', 'ViewTree'); - - $this->prepareExtensionAndLangFileOptions(); - $this->configurationService->initFileObject( - $this->session->getDataByKey('languageFileSelection'), - $this->session->getDataByKey('extensionSelection') - ); - $languageOptions = $this->configurationService->menuLangList( - $this->configurationService->getFileObj()->getLocalLangData(), - '', - $this->backendUser - ); - $this->assignViewWidthMenuVariables('language', $languageOptions); - $referenceLanguageOptions = $this->configurationService->menuLangList( - $this->configurationService->getFileObj()->getLocalLangData(), - LocalizationUtility::translate('select.nothing', 'lfeditor'), - $this->backendUser - ); - $this->assignViewWidthMenuVariables('referenceLanguage', $referenceLanguageOptions); - $this->prepareViewTreeViewMainSectionContent(); - } catch (LFException $e) { - $this->addLFEFlashMessage($e); - } - $this->commonViewRenderingActionSettings(); - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->view->assign('V11', FALSE); - return NULL; - } else { - $this->view->assign('V11', TRUE); - return $this->createBackendResponse(); - } - } - - /** - * This action saves in session currently selected options from selection menus in viewTree view. - * It is called on change of selection of any select menu in viewTree view. - * - * @param string $extensionSelection - * @param string $languageFileSelection - * @param string $languageSelection - * @param string $referenceLanguageSelection - * @param string $extKey - * @throws \TYPO3\CMS\Extbase\Mvc\Exception\StopActionException - */ - public function changeSelectionAction( - $extensionSelection = NULL, - $languageFileSelection = NULL, - $languageSelection = NULL, - $referenceLanguageSelection = NULL, - $extKey = '' - ): ?\Psr\Http\Message\ResponseInterface { - $this->saveSelectionsInSession( - $extensionSelection, - $languageFileSelection, - $referenceLanguageSelection, - NULL, - NULL, - $languageSelection, - NULL, - NULL, - $extKey - ); - - - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->redirect('viewTree'); - return NULL; - } else { - return $this->redirect('viewTree'); - } - } - - /** - * Selects explodeToken. - * - * @param string $explodeToken - * @throws \TYPO3\CMS\Extbase\Mvc\Exception\StopActionException - */ - public function selectExplodeTokenAction($explodeToken): ?\Psr\Http\Message\ResponseInterface { - $this->session->setDataByKey('explodeToken', $explodeToken); - - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->redirect('viewTree'); - return NULL; - } else { - return $this->redirect('viewTree'); - } - } - - /** - * Clears extensionAndLangFileOptions cache, and in that way refreshes list of language file options in select box. - * - */ - public function refreshLanguageFileListAction(): ?\Psr\Http\Message\ResponseInterface { - $this->clearSelectOptionsCache('extensionAndLangFileOptions'); - if (version_compare(\TYPO3\CMS\Core\Utility\VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - $this->redirect('viewTree'); - return NULL; - } else { - return $this->redirect('viewTree'); - } - } - - /** - * Prepares main section content of viewTree view. - * - */ - protected function prepareViewTreeViewMainSectionContent(): void { - $explodeToken = $this->session->getDataByKey('explodeToken'); - if ($explodeToken === "") { - $explodeToken = '.'; - } - - $langData = $this->configurationService->getFileObj()->getLocalLangData(); - $refLangSelection = $this->session->getDataByKey('referenceLanguageSelection'); - $languageSelection = $this->session->getDataByKey('languageSelection'); - $tree = Functions::genTreeInfoArray($langData[$languageSelection] ?? [], $langData[$refLangSelection] ?? [], $explodeToken); - $extConfig = $this->configurationService->getExtConfig(); - $treeHide = $extConfig['treeHide']; - - $fluidTree = []; - $levelIndex = 0; - $this->addLevelElementsToFluidTree($tree, $levelIndex, NULL, $fluidTree, $treeHide); - - $this->view->assign('fluidTree', $fluidTree); - $this->view->assign('treeHide', $treeHide); - $this->view->assign('explodeToken', $explodeToken); - } - - /** - * @var integer Width of margin which is added if a branch is missing. - */ - protected $marginLeftSpaceUnit = 18; - - /** - * Makes tree structure which contains constants. The structure is optimised for recursive use on fluid pages. - * - * @param array $sourceTree - * @param int $level - * @param string $parentKey - * @param array $fluidTree This structure is used for setting tree-data for use in fluid. - * @param boolean $treeHide Default state of tree (TRUE - hidden, FALSE - opened) - * @throws LFException - * @return void - */ - protected function addLevelElementsToFluidTree( - array $sourceTree, - int $level, - $parentKey, - array &$fluidTree, - $treeHide - ) { - if (empty($sourceTree)) { - throw new LFException('failure.select.emptyLanguage', 1); - } - $constKeys = array_keys($sourceTree[$level]); - $index = 0; - foreach ($sourceTree[$level] as $constKey => $treeNode) { - if ($level === 0 || $treeNode['parent'] === $parentKey) { - $fluidTreeElem = []; - $fluidTreeElem['label'] = $treeNode['name']; - $fluidTreeElem['parent'] = $fluidTree; //$treeNode['parent'];//; // - $fluidTreeElem['type'] = $treeNode['type'] ?? ''; - $fluidTreeElem['isBottom'] = (!array_key_exists($index + 1, $constKeys) || - $sourceTree[$level][$constKeys[$index + 1]]['parent'] !== $treeNode['parent']) ? 1 : 0; - - $icons = $this->prepareTreeIcons($level, $treeHide, $fluidTreeElem, isset($treeNode['childs'])); - $fluidTreeElem['icons'] = $icons; - - if (array_key_exists($level + 1, $sourceTree)) { - $this->addLevelElementsToFluidTree( - $sourceTree, - $level + 1, - $constKey, - $fluidTreeElem, - $treeHide - ); - } - if ($level > 0) { - $fluidTree['children'][$constKey] = $fluidTreeElem; - } else { - $fluidTree[$constKey] = $fluidTreeElem; - } - } - $index++; - } - } - - /** - * Sorts and adds icons in tree structure. - * - * @param int $level Tree level of constant. - * @param boolean $treeHide Indicator which shows should all tree elements be closed (hidden) by default. - * @param array $fluidTreeElem Element of tree which is built for use on fluid page. - * @param boolean $hasChildren Indicator does this tree element have children - * @return array - */ - protected function prepareTreeIcons(int $level, $treeHide, array $fluidTreeElem, $hasChildren): array { - $icons = []; - $leftMargins = []; - $marginLeftSpaceCounter = 0; - for ($iconLevel = $level, $currentFluidTreeElem = $fluidTreeElem; - $currentFluidTreeElem; - $iconLevel--, $currentFluidTreeElem = $currentFluidTreeElem['parent']) { - $iconName = '.png'; - if ($iconLevel === $level) { - if ($currentFluidTreeElem['isBottom']) { - $iconName = 'Bottom' . $iconName; - } - if ($hasChildren) { - $iconName = 'tree' . ($treeHide && $level != 0 ? 'Plus' : 'Minus') . $iconName; - } else { - $iconName = 'join' . $iconName; - } - } else { - if (!$currentFluidTreeElem['isBottom']) { - $iconName = 'line' . $iconName; - $leftMargins[] = $marginLeftSpaceCounter; - $marginLeftSpaceCounter = 0; - } else { - $marginLeftSpaceCounter += $this->marginLeftSpaceUnit; - continue; - } - } - $icons[] = ['name' => $iconName]; - } - $leftMargins[] = $marginLeftSpaceCounter; - for ($iterator = 0, $iconsSize = count($icons); $iterator < $iconsSize; $iterator++) { - $icons[$iterator]['marginLeft'] = $leftMargins[$iterator]; - } - return $icons; - } -} diff --git a/typo3conf/ext/lfeditor/Classes/Exceptions/DirectoryAccessRightsException.php b/typo3conf/ext/lfeditor/Classes/Exceptions/DirectoryAccessRightsException.php deleted file mode 100644 index 5307ed9..0000000 --- a/typo3conf/ext/lfeditor/Classes/Exceptions/DirectoryAccessRightsException.php +++ /dev/null @@ -1,58 +0,0 @@ - - */ -class DirectoryAccessRightsException extends \Exception { - /** - * DirectoryAccessRightsException constructor. - * - * @param string $message - * @param int $code - * @param \Exception|NULL $previous - */ - public function __construct($message = '', $code = 0, $previous = NULL) { - if (\strpos($message, 'LLL:') === 0) { - $locallizedMessage = LocalizationUtility::translate($message, 'lfeditor'); - $message = $locallizedMessage ?? $message; - } - - if ($message === '') { - $message = 'LFExeption: no error message given !!!'; - } - - parent::__construct($message, $code, $previous); - } -} diff --git a/typo3conf/ext/lfeditor/Classes/Exceptions/LFException.php b/typo3conf/ext/lfeditor/Classes/Exceptions/LFException.php deleted file mode 100644 index 56f8178..0000000 --- a/typo3conf/ext/lfeditor/Classes/Exceptions/LFException.php +++ /dev/null @@ -1,54 +0,0 @@ -session = GeneralUtility::makeInstance(PhpSession::class); - $this->session->setSessionKey('tx_lfeditor_sessionVariables'); - } -} diff --git a/typo3conf/ext/lfeditor/Classes/Service/BackupService.php b/typo3conf/ext/lfeditor/Classes/Service/BackupService.php deleted file mode 100644 index 28998ae..0000000 --- a/typo3conf/ext/lfeditor/Classes/Service/BackupService.php +++ /dev/null @@ -1,316 +0,0 @@ -getExtConfig(); - $pathSite = Environment::getPublicPath() . '/'; - try { - SgLib::createDir($extConfig['pathBackup'], $pathSite); - SgLib::createDir(dirname($extConfig['metaFile']), $pathSite); - } catch (Exception $e) { - throw new LFException('failure.failure', 0, '(' . $e->getMessage() . ')'); - } - - // get information - $extPath = ''; - $langFile = ''; - if (!is_array($infos)) { - // build language file and extension path - if ($mode == 'xlf') { - try { - $typo3RelFile = $confService->getFileObj()->getVar('typo3RelFile'); - $typo3AbsFile = Typo3Lib::transTypo3File($typo3RelFile, TRUE); - } catch (Exception $e) { - throw new LFException('failure.failure', 0, '(' . $e->getMessage() . ')'); - } - - $langFile = SgLib::trimPath('EXT:', $typo3RelFile); - $langFile = substr($langFile, strpos($langFile, '/') + 1); - - $extPath = SgLib::trimPath( - $langFile, - SgLib::trimPath( - $pathSite, - $typo3AbsFile - ), - '/' - ); - } else { - $extPath = SgLib::trimPath($pathSite, $confService->getFileObj()->getVar('absPath'), '/'); - $langFile = $confService->getFileObj()->getVar('relFile'); - } - - // set data information - $informations['localLang'] = $confService->getFileObj()->getLocalLangData(); - $informations['originLang'] = $confService->getFileObj()->getOriginLangData(); - $informations['meta'] = $confService->getFileObj()->getMetaData(); - } - - // set information - $informations['workspace'] = $mode; - $informations['extPath'] = is_array($infos) ? $infos['extPath'] : $extPath; - $informations['langFile'] = is_array($infos) ? $infos['langFile'] : $langFile; - - // create and initialize the backup object - try { - $this->backupObj = GeneralUtility::makeInstance(FileBackupService::class); - $this->backupObj->init('', $extConfig['pathBackup'], $extConfig['metaFile']); - $this->backupObj->setVar($informations); - } catch (LFException $e) { - throw $e; - } - } - - /** - * executes the deletion of backup files - * - * @throws LFException raised if a backup file couldnt be deleted - * @param array $delFiles files as key and the language file as value - * @return void - */ - public function execBackupDelete($delFiles) { - // delete files - try { - foreach ($delFiles as $filename => $langFile) { - $this->backupObj->deleteSpecFile($filename, '', $langFile); - } - } catch (LFException $e) { - throw $e; - } - } - - /** - * restores a backup file - * - * @throws LFException raised if some unneeded files couldnt be deleted - * @throws Exception|LFException - * @return void - */ - public function execBackupRestore() { - /** @var ConfigurationService $confService */ - $confService = GeneralUtility::makeInstance(ConfigurationService::class); - - // get vars - $localLang = []; - $meta = []; - $origLang = $confService->getFileObj()->getLocalLangData(); - $origMeta = $confService->getFileObj()->getMetaData(); - $backupMeta = $this->backupObj->getMetaData(); - $backupLocalLang = $this->backupObj->getLocalLangData(); - $backupOriginLang = $this->backupObj->getOriginLangData(); - - // get differences between original and backup file - $origDiff = Functions::getBackupDiff(1, $origLang, $backupLocalLang); - $backupDiff = Functions::getBackupDiff(2, $origLang, $backupLocalLang); - - if (is_countable($origDiff) ? count($origDiff) : 0) { - foreach ($origDiff as $langKey => $data) { - foreach ($data as $label => $value) { - if (isset($backupLocalLang[$langKey][$label])) { - $localLang[$langKey][$label] = $value; - } else { - $localLang[$langKey][$label] = ''; - } - } - } - } - - if (is_countable($backupDiff) ? count($backupDiff) : 0) { - foreach ($backupDiff as $langKey => $data) { - foreach ($data as $label => $value) { - $localLang[$langKey][$label] = $value; - } - } - } - - // get differences between original and backup meta - SgLib::fixMetaAttributes($origMeta); - $origDiff = Functions::getMetaDiff(1, $origMeta, $backupMeta); - $backupDiff = Functions::getMetaDiff(2, $origMeta, $backupMeta); - - if (is_countable($origDiff) ? count($origDiff) : 0) { - foreach ($origDiff as $label => $value) { - if (isset($backupMeta[$label])) { - $meta[$label] = $value; - } else { - $meta[$label] = ''; - } - } - } - - if (is_countable($backupDiff) ? count($backupDiff) : 0) { - foreach ($backupDiff as $label => $value) { - $meta[$label] = $value; - } - } - - // restore origins of languages - $deleteFiles = []; - foreach ($backupOriginLang as $langKey => $file) { - $curFile = $confService->getFileObj()->getOriginLangData($langKey); - if ($curFile != $file && $curFile != $confService->getFileObj()->getVar('absFile')) { - $deleteFiles[] = $curFile; - } - $confService->getFileObj()->setOriginLangData($file, $langKey); - } - - // write modified language array - try { - $confService->setExecBackup(0); - $confService->execWrite($localLang, $meta, TRUE); - } catch (LFException $e) { - throw $e; - } - - // delete all old files - try { - if (count($deleteFiles)) { - SgLib::deleteFiles($deleteFiles); - } - } catch (Exception $e) { - throw new LFException( - 'failure.langfile.notDeleted', - 0, - '(' . $e->getMessage() . ')' - ); - } - } - - /** - * exec the backup of files and deletes automatic old files - * - * @throws LFException raised if backup file cant written or unneeded files cant deleted - * @return boolean - */ - public function execBackup() { - $createdAt = []; - /** @var ConfigurationService $confService */ - $confService = GeneralUtility::makeInstance(ConfigurationService::class); - - // create backup object - try { - $this->initBackupObject('base', TRUE); - } catch (LFException $e) { - throw $e; - } - - // write backup file - try { - $this->backupObj->writeFile(); - } catch (LFException $e) { - throw $e; - } - - // exec automatic deletion of backup files, if anzBackup greater zero - $extConfig = $confService->getExtConfig(); - if ($extConfig['anzBackup'] <= 0) { - return TRUE; - } - - // get difference information - $metaArray = $this->backupObj->getMetaInfos(3); - $rows = count($metaArray); - $dif = $rows - $extConfig['anzBackup']; - - if ($dif <= 0) { - return TRUE; - } - - // sort metaArray - foreach ($metaArray as $key => $row) { - $createdAt[$key] = $row['createdAt']; - } - array_multisort($createdAt, SORT_DESC, $metaArray); - - // get filenames - $files = array_keys($metaArray); - $numberFiles = count($files); - - // delete files - try { - for (; $dif > 0; --$dif, --$numberFiles) { - $this->backupObj->deleteSpecFile($files[$numberFiles - 1]); - } - } catch (LFException $e) { - try { // delete current written file - $this->backupObj->deleteFile(); - } catch (LFException $e) { - throw $e; - } - throw $e; - } - - return FALSE; - } - - /** - * @return FileBackupService - */ - public function getBackupObj() { - return $this->backupObj; - } - - /** - * @param FileBackupService $backupObj - */ - public function setBackupObj($backupObj) { - $this->backupObj = $backupObj; - } -} diff --git a/typo3conf/ext/lfeditor/Classes/Service/ConfigurationService.php b/typo3conf/ext/lfeditor/Classes/Service/ConfigurationService.php deleted file mode 100644 index b0a7f24..0000000 --- a/typo3conf/ext/lfeditor/Classes/Service/ConfigurationService.php +++ /dev/null @@ -1,843 +0,0 @@ -packageManager = $packageManager; - } - - /** - * preparation and check of the configuration - * - * Note that the default value will be set, if a option check fails. - * - * @return array - * @throws DirectoryAccessRightsException - */ - public function prepareConfig() { - if (!empty($this->extConfig)) { - return $this->extConfig; - } - $this->extConfig = ExtensionUtility::getExtensionConfiguration(); - - // regular expressions - if (!array_key_exists('searchRegex', $this->extConfig)) { - $this->extConfig['searchRegex'] = '/^([a-z0-9_]*locallang[a-z0-9_-]*\.(php|xml)|[^\.]*\.xlf)$/i'; - } elseif (!\preg_match('/^\/.*\/.*$/', $this->extConfig['searchRegex'])) { - $this->extConfig['searchRegex'] = '/^([a-z0-9_]*locallang[a-z0-9_-]*\.(php|xml)|[^\.]*\.xlf)$/i'; - } - - if (!array_key_exists('searchRegex', $this->extConfig)) { - $this->extConfig['extIgnore'] = '/^csh_.*$/'; - } elseif (!\preg_match('/^\/.*\/.*$/', $this->extConfig['extIgnore'])) { - $this->extConfig['extIgnore'] = '/^csh_.*$/'; - } - - if (!array_key_exists('extWhitelist', $this->extConfig)) { - $this->extConfig['extWhitelist'] = ''; - } elseif (!\preg_match('/^\/.*\/.*$/', $this->extConfig['extWhitelist'])) { - $this->extConfig['extWhitelist'] = ''; - } - - $this->extConfig['execBackup'] = TRUE; - $this->extConfig['viewSysExt'] = TRUE; - $this->extConfig['viewGlobalExt'] = TRUE; - $this->extConfig['viewLocalExt'] = TRUE; - $this->extConfig['treeHide'] = TRUE; - - $this->extConfig['viewStateExt'] = 1; - $this->extConfig['numTextAreaRows'] = 5; - $this->extConfig['numSiteConsts'] = 6; - $this->extConfig['anzBackup'] = 5; - // Options for number of constants presented on EditFile page - $this->extConfig['numSiteConstsOptions'] - = ['100' => 100, '200' => 200, '500' => 500, '1000' => 1000, '1500' => 1500, '2000' => 2000]; - - $pathSite = Environment::getPublicPath() . '/'; - // paths and files (don't need to exist) - $this->extConfig['pathBackup'] = Typo3Lib::fixFilePath( - $pathSite . '/typo3temp/LFEditor/Backup/' - ) . '/'; - $this->extConfig['metaFile'] = Typo3Lib::fixFilePath( - $pathSite . '/typo3temp/LFEditor/Backup/Meta.xml' - ); - $this->extConfig['pathOverrideFiles'] = Typo3Lib::fixFilePath( - $pathSite . '/typo3conf/LFEditor/OverrideFiles/' - ); - - // files - $this->extConfig['pathCSS'] = 'Resources/Public/StyleSheets/Lfeditor.css'; - - // languages (default is forbidden) - if (!empty($this->extConfig['viewLanguages'])) { - $langs = GeneralUtility::trimExplode(',', $this->extConfig['viewLanguages'], TRUE); - unset($this->extConfig['viewLanguages']); - - $availableLanguageKeys = []; - $locales = GeneralUtility::makeInstance(Locales::class); - $languages = $locales->getLocales(); - - foreach ($languages as $language) { - $availableLanguageKeys[$language] = TRUE; - } - - foreach ($langs as $lang) { - if (!isset($availableLanguageKeys[$lang])) { - if ($this->invalidLanguages === '') { - $this->invalidLanguages = $lang; - } else { - $this->invalidLanguages .= ', ' . $lang; - } - } - - if ($lang !== 'default') { - $this->extConfig['viewLanguages'][] = $lang; - } - } - } - - if (empty($this->extConfig['defaultLanguage'])) { - $this->extConfig['defaultLanguage'] = 'default'; - } else { - /** @var Locales $locales */ - $locales = GeneralUtility::makeInstance(Locales::class); - $availableLanguageKeys = $locales->getLanguages(); - if (!isset($availableLanguageKeys[$this->extConfig['defaultLanguage']])) { - $this->extConfig['defaultLanguage'] = 'default'; - } - } - - // editing modes - $this->availabledEditingModes = [ - 'extension' => LocalizationUtility::translate('select.editingMode.extension', 'lfeditor'), - // The l10n mode does not work for TYPO3 9 and the var folder and we do not want to fix this, yet - //'l10n' => LocalizationUtility::translate('select.editingMode.l10n', 'lfeditor'), - // Note: override should be always available because it is the fallback mode for editors - 'override' => LocalizationUtility::translate('select.editingMode.override', 'lfeditor'), - ]; - - if (isset($this->extConfig['editModeExtension']) && ((int) $this->extConfig['editModeExtension']) === 0) { - unset($this->availabledEditingModes['extension']); - } - if (isset($this->extConfig['editModeL10n']) && ((int) $this->extConfig['editModeL10n']) === 0) { - unset($this->availabledEditingModes['l10n']); - } - - if (isset($this->extConfig['pathAdditionalConfiguration']) && $this->extConfig['pathAdditionalConfiguration']) { - $pathAdditionalConfiguration = Typo3Lib::fixFilePath($this->extConfig['pathAdditionalConfiguration']); - $this->extConfig['pathAdditionalConfiguration'] = $pathSite . $pathAdditionalConfiguration; - $additionalConfigurationDirectory = \dirname($this->extConfig['pathAdditionalConfiguration']); - if (!\is_writable($additionalConfigurationDirectory)) { - $message = 'Directory ' . $additionalConfigurationDirectory . ' is not writable.' - . 'This directory should be writable in order to write the language override configuration ' - . 'file ' . $pathAdditionalConfiguration; - throw new DirectoryAccessRightsException($message); - } - } else { - /** @var \TYPO3\CMS\Core\Configuration\ConfigurationManager $configurationManager */ - $configurationManager = GeneralUtility::makeInstance( - \TYPO3\CMS\Core\Configuration\ConfigurationManager::class - ); - $this->extConfig['pathAdditionalConfiguration'] = $configurationManager->getAdditionalConfigurationFileLocation( - ); - } - - return $this->extConfig; - } - - /** - * Finds extensions for the extension menu selector. - * - * Note: $this->extConfig must be initialized before call of this method (method prepareConfig() must be executed before this method). - * - * @return array - * @throws LFException raised if no extensions are found - */ - public function menuExtList() { - // search extensions - $tmpExtList = []; - $pathSite = Environment::getPublicPath() . '/'; - try { - // local extensions - - $labelLocal = LocalizationUtility::translate('ext.local', 'lfeditor'); - $labelSystem = LocalizationUtility::translate('ext.system', 'lfeditor'); - $tmpExtList[$labelLocal] = []; - $tmpExtList[$labelSystem] = []; - foreach ($this->packageManager->getAvailablePackages() as $package) { - if (version_compare(VersionNumberUtility::getCurrentTypo3Version(), '11.0.0', '<')) { - // local extensions - if ($this->extConfig['viewLocalExt'] && \count( - $content = Functions::searchExtensions( - $pathSite . Typo3Lib::PATH_LOCAL_EXT, - $this->extConfig['viewStateExt'], - $this->extConfig['extIgnore'], - $this->extConfig['extWhitelist'] - ) - ) - ) { - $tmpExtList[LocalizationUtility::translate('ext.local', 'lfeditor')] = $content; - } - - // global extensions - if ($this->extConfig['viewGlobalExt'] && \is_dir(Typo3Lib::PATH_GLOBAL_EXT) && \count( - $content = Functions::searchExtensions( - $pathSite . Typo3Lib::PATH_GLOBAL_EXT, - $this->extConfig['viewStateExt'], - $this->extConfig['extIgnore'], - $this->extConfig['extWhitelist'] - ) - ) - ) { - $tmpExtList[LocalizationUtility::translate('ext.global', 'lfeditor')] = $content; - } - - // system extensions - if ($this->extConfig['viewSysExt'] && \count( - $content = Functions::searchExtensions( - $pathSite . Typo3Lib::PATH_SYS_EXT, - $this->extConfig['viewStateExt'], - $this->extConfig['extIgnore'], - $this->extConfig['extWhitelist'] - ) - ) - ) { - $tmpExtList[LocalizationUtility::translate('ext.system', 'lfeditor')] = $content; - } - } else { - // check, if the directory/extension should be saved - if ($this->extConfig['extWhitelist'] !== '' - && !preg_match($this->extConfig['extWhitelist'], $package->getPackageKey())) { - continue; - } - - if ($this->extConfig['viewLocalExt'] && $this->isPackageLocal($package)) { - $tmpExtList[$labelLocal][] = $package->getPackagePath(); - } - - if ($this->extConfig['viewSysExt'] && $this->isPackageSystemPackage($package)) { - $tmpExtList[$labelSystem][] = $package->getPackagePath(); - } - } - } - sort($tmpExtList[$labelLocal]); - sort($tmpExtList[$labelSystem]); - } catch (Exception $e) { - throw new LFException('failure.failure', 0, '(' . $e->getMessage() . ')'); - } - - // check extension array - if (!\count($tmpExtList)) { - throw new LFException('failure.search.noExtension'); - } - - // create list - $extList = Functions::prepareExtList($tmpExtList); - $extList = \array_merge([$pathSite . 'fileadmin' => 'fileadmin/', ''], $extList); - - foreach ($extList as $extAddress => $extLabel) { - unset($extList[$extAddress]); - $fixedExtAddress = Typo3Lib::fixFilePath($extAddress); - $extList[$fixedExtAddress] = $extLabel; - } - return $extList; - } - - /** - * checks if package is system package - * - * @param PackageInterface $package - * @return bool - */ - private function isPackageLocal(PackageInterface $package): bool { - return $package->getPackageMetaData()->getPackageType() === 'typo3-cms-extension'; - } - - /** - * checks if package is system package - * - * @param PackageInterface $package - * @return bool - */ - private function isPackageSystemPackage(PackageInterface $package): bool { - return $package->getPackageMetaData()->isFrameworkType(); - } - - /** - * Finds language files of extension which address is passed as $extensionAddress parameter. - * - * @param string $extensionAddress - * @return array - * @throws LFException - */ - public function menuLangFileList($extensionAddress) { - // check - if (empty($extensionAddress)) { - throw new LFException('failure.search.noLangFile', 1); - } - - // search and prepare files - try { - /** @var array $files */ - $files = SgLib::searchFiles( - $extensionAddress, - $this->extConfig['searchRegex'] - ); - } catch (Exception $e) { - throw new LFException( - 'failure.search.noLangFile', - 1, - '(' . $e->getMessage() . ')' - ); - } - - $fileArray = []; - if (\count($files)) { - foreach ($files as $file) { - $filename = \substr($file, \strlen($extensionAddress) + 1); - $fileArray[$filename] = $filename; - } - } else { - throw new LFException('failure.search.noLangFile', 1); - } - - return $fileArray; - } - - /** - * Used for the language menu selector - * - * @param array $langData language data - * @param string $default optional default value (if you dont want a default let it empty) - * @param BackendUserAuthentication $backendUser - * @param bool $translatedLanguagesOnly looks only for translated languages - * @return array - * @throws LFException - */ - public function menuLangList( - $langData, - $default = '', - BackendUserAuthentication $backendUser = NULL, - $translatedLanguagesOnly = FALSE - ) { - // build languages - $languageArray = $this->getLangArray($backendUser); - $languageList = []; - foreach ($languageArray as $language) { - $constCount = 0; - if (array_key_exists($language, $langData) && \is_array($langData[$language])) { - $constCount = \count($langData[$language]); - } - if ($translatedLanguagesOnly && $constCount <= 0) { - continue; - } - $languageLabel = $language; - if ($language === 'default') { - $languageLabel = 'en'; - } - $languageList[$language] = $languageLabel . ' (' . $constCount . ' ' . - LocalizationUtility::translate('const.consts', 'lfeditor') . ')'; - } - - // add default value - if (!empty($default)) { - $languageList = \array_merge(['###default###' => $default], $languageList); - } - return $languageList; - } - - /** - * Returns list (array) of constants. - * - * @param array $langData language data - * @param string $default name of default entry - * @return array - */ - public function menuConstList($langData, $default) { - // generate constant list - $constList = []; - $languages = Functions::buildLangArray(); - foreach ($languages as $language) { - if (!\array_key_exists($language, $langData) || !\is_array($langData[$language]) || !\count( - $langData[$language] - )) { - continue; - } - - /** @var array $constants */ - $constants = \array_keys($langData[$language]); - foreach ($constants as $constant) { - $constList[\str_replace('#', '$*-*$', $constant)] = $constant; - } - } - - // sorting and default entry - \asort($constList); - $constList = \array_merge(['###default###' => $default], $constList); - return $constList; - } - - /** - * creates and instantiates a file object - * - * Naming Convention: - * FileService - * - * - * @param string $langFile - * @param string $extPath - * @param bool $flagReadFile - * @return void - * @throws LFException - */ - public function initFileObject($langFile, $extPath, $flagReadFile = TRUE) { - $fileType = SgLib::getFileExtension($langFile); - $className = __NAMESPACE__ . '\FileBase' . \strtoupper($fileType) . 'Service'; - if (!\class_exists($className)) { - throw new LFException('failure.langfile.unknownType'); - } - /** @var \SGalinski\Lfeditor\Service\FileService $originalFileObject */ - $originalFileObject = GeneralUtility::makeInstance($className); - $originalFileObject->init($langFile, $extPath, ''); - - try { - if ($this->session->getDataByKey('editingMode') === 'override') { - /** @var FileOverrideService $overrideFileObj */ - $overrideFileObj = GeneralUtility::makeInstance(FileOverrideService::class); - $overrideFileObj->init($originalFileObject, '', ''); - $this->fileObj = $overrideFileObj; - } else { - $this->fileObj = $originalFileObject; - } - } catch (Exception $e) { - throw new LFException('failure.failure', 0, '(' . $e->getMessage() . ')'); - } - - if ($flagReadFile) { - $this->fileObj->readFile(); - } - } - - /** - * Executes writing of language files - * - * - * @param array $modArray changes (constants with empty values will be deleted) - * @param array $modMetaArray meta changes (indexes with empty values will be deleted) - * @param boolean $forceDel set to true if you want delete default constants - * @param array|NULL $editedLanguages - * @return void - * @throws LFException if file could not be written or some param criteria is not correct - * @throws \TYPO3\CMS\Core\Cache\Exception\NoSuchCacheException - * @throws Exception - */ - public function execWrite($modArray, $modMetaArray = [], $forceDel = FALSE, $editedLanguages = NULL) { - // checks - if (!\is_array($modArray)) { - throw new LFException('failure.file.notWritten'); - } - - $fileObject = $this->getFileObj(); - if ($fileObject === NULL) { - $this->initFileObject( - $this->session->getDataByKey('languageFileSelection'), - $this->session->getDataByKey('extensionSelection') - ); - $fileObject = $this->getFileObj(); - } - - // execute backup - $extConfig = $this->getExtConfig(); - if ($extConfig['execBackup'] && $this->session->getDataByKey('editingMode') === 'extension') { - /** @var BackupService $backupService */ - $backupService = GeneralUtility::makeInstance(BackupService::class); - $backupService->execBackup(); - } - - if (!$this->session->getDataByKey('defaultLanguagePermission')) { - unset($modArray[$this->extConfig['defaultLanguage']]); - } - // set new language data - foreach ($modArray as $langKey => $data) { - if (\is_array($data)) { - foreach ($data as $const => $value) { - $fileObject->setLocalLangData($const, $value, $langKey, $forceDel); - } - } - } - - // set changed meta data - foreach ($modMetaArray as $metaIndex => $metaValue) { - $fileObject->setMetaData($metaIndex, $metaValue); - } - - // write new language data - $fileObject->writeFile($editedLanguages); - - // delete possible language files - $absFile = $fileObject->getVar('absFile'); - $originLang = $fileObject->getOriginLangData(); - $emptyFiles = []; - foreach ($originLang as $lang => $origin) { - if ($origin === $absFile || !\is_file($origin)) { - continue; - } - - $langData = $fileObject->getLocalLangData($lang); - if (\is_array($langData) && !\count($langData)) { - $emptyFiles[] = $origin; - } - } - - // delete all empty language files - try { - if (\count($emptyFiles)) { - SgLib::deleteFiles($emptyFiles); - } - } catch (Exception $e) { - throw new LFException('failure.langfile.notDeleted', 0, '(' . $e->getMessage() . ')'); - } - - /** @var CacheManager $cacheManager */ - $cacheManager = GeneralUtility::makeInstance(CacheManager::class); - $cacheManager->getCache('l10n')->flush(); - } - - /** - * Splits or merges a language file - * - * @param array $langModes language shortcuts and their mode (1 = splitNormal, 2 = merge) - * @return void - * @throws LFException raised if file could not be split or merged (i.e. empty langModes) - * @throws Exception|LFException - */ - public function execSplitFile(array $langModes) { - // check - if (!\is_array($langModes) || !\count($langModes)) { - throw new LFException('failure.langfile.notSplittedOrMerged'); - } - - // rewrite originLang array - $delLangFiles = []; - foreach ($langModes as $langKey => $mode) { - if ($langKey === 'default') { - continue; - } - - // get origin of this language - $origin = $this->fileObj->getOriginLangData($langKey); - - // split or merge - if ($mode === 1) { - // nothing to do if the file is already a normal splitted file - if (Typo3Lib::checkFileLocation($origin) !== 'l10n') { - if ($this->fileObj->checkLocalizedFile(\basename($origin), $langKey)) { - continue; - } - } - - // delete file if was it a l10n file - if ($this->fileObj->checkLocalizedFile(\basename($origin), $langKey)) { - $delLangFiles[] = $origin; - } - - $origin = Typo3Lib::fixFilePath( - \dirname($this->fileObj->getVar('absFile')) . - '/' . $this->fileObj->nameLocalizedFile($langKey) - ); - } elseif ($mode === 2) { - if ($this->fileObj->checkLocalizedFile(\basename($origin), $langKey)) { - $delLangFiles[] = $origin; - } - $origin = $this->fileObj->getVar('absFile'); - } else { - continue; - } - $this->fileObj->setOriginLangData($origin, $langKey); - } - - // write new language file - $this->execWrite([]); - - // delete old localized files, if single mode was selected - try { - if (\count($delLangFiles)) { - SgLib::deleteFiles($delLangFiles); - } - } catch (Exception $e) { - throw new LFException( - 'failure.langfile.notDeleted', - 0, - '(' . $e->getMessage() . ')' - ); - } - } - - /** - * converts language files between different formats - * - * @param string $type new file format - * @param string $newFile new relative file - * @return void - * @throws Exception|LFException - * @throws LFException raised if transforming or deletion of old files failed - */ - public function execTransform($type, $newFile) { - // copy current object to convObj - $this->convObj = clone $this->fileObj; - unset($this->fileObj); - - // init new language file object (dont try to read file) - $this->initFileObject($newFile, $this->convObj->getVar('absPath'), FALSE); - - // recreate originLang - $origins = $this->convObj->getOriginLangData(); - foreach ($origins as $langKey => $file) { - // localized or merged language origin - $newFile = SgLib::setFileExtension($type, $file); - if ($this->convObj->getVar('workspace') === 'base') { - if ($this->convObj->checkLocalizedFile(\basename($file), $langKey)) { - $newFile = \dirname($file) . '/' . $this->fileObj->nameLocalizedFile($langKey); - } - } - $this->fileObj->setOriginLangData(Typo3Lib::fixFilePath($newFile), $langKey); - } - - // recreate meta data - $meta = $this->convObj->getMetaData(); - foreach ($meta as $metaIndex => $metaValue) { - $this->fileObj->setMetaData($metaIndex, $metaValue); - } - - // write new language file - $this->extConfig['execBackup'] = 0; - $this->execWrite($this->convObj->getLocalLangData()); - - // delete all old files - try { - $delFiles = $this->convObj->getOriginLangData(); - if (\is_array($delFiles) && \count($delFiles)) { - SgLib::deleteFiles($delFiles); - } - } catch (Exception $e) { - throw new LFException( - 'failure.langfile.notDeleted', - 0, - '(' . $e->getMessage() . ')' - ); - } - } - - /************************* - * Getters and setters * - *************************/ - - /** - * @return array - */ - public function getExtConfig() { - return $this->extConfig; - } - - /** - * Sets 'execBackup' parameter of extension configuration. - * - * @param int $execBackup - */ - public function setExecBackup($execBackup) { - $this->extConfig['execBackup'] = $execBackup; - } - - /** - * @param array $extConfig - */ - public function setExtConfig($extConfig) { - $this->extConfig = $extConfig; - } - - /** - * @return string - */ - public function getInvalidLanguages() { - return $this->invalidLanguages; - } - - /** - * @param string $invalidLanguages - */ - public function setInvalidLanguages($invalidLanguages) { - $this->invalidLanguages = $invalidLanguages; - } - - /** - * @return array - */ - public function getAvailableEditingModes() { - return $this->availabledEditingModes; - } - - /** - * @return FileBaseService - */ - public function getFileObj() { - return $this->fileObj; - } - - /** - * @param FileBasePHPService $fileObj - */ - public function setFileObj($fileObj) { - $this->fileObj = $fileObj; - } - - /** - * Returns array of system languages. - * - * @param BackendUserAuthentication $backendUser - * @return array - * @throws LFException - */ - public function getLangArray(BackendUserAuthentication $backendUser = NULL) { - if ($this->invalidLanguages !== '') { - throw new LFException('failure.config.invalidLanguage', 0, $this->invalidLanguages); - } - - if (empty($this->langArray)) { - $languages = Functions::buildLangArray($this->extConfig['viewLanguages']); - $languages = $this->narrowToUserLanguages($languages, $backendUser); - - if (!\in_array('default', $languages, TRUE)) { - $languages = \array_merge(['default'], $languages); - } - if (!\in_array($this->extConfig['defaultLanguage'], $languages, TRUE)) { - $languages = \array_merge([$this->extConfig['defaultLanguage']], $languages); - } - $this->langArray = $languages; - } - return $this->langArray; - } - - /** - * @param array $langArray - */ - public function setLangArray($langArray) { - $this->langArray = $langArray; - } - - /** - * Return the path to the configured AdditionalConfiguration.php file - * - * @return string - */ - public function getAdditionalConfigurationFilePath() { - return $this->extConfig['pathAdditionalConfiguration']; - } - - /** - * Narrows $languages to user languages if user is not admin. - * - * @param array $languages - * @param BackendUserAuthentication $backendUser - * @return array - */ - protected function narrowToUserLanguages(array $languages, BackendUserAuthentication $backendUser) { - if ($backendUser !== NULL && !$backendUser->isAdmin()) { - $sysLanguageService = GeneralUtility::makeInstance(SysLanguageService::class); - foreach ($languages as $index => $languageFlag) { - $sysLanguageId = $sysLanguageService->getSysLanguageIdByFlag($languageFlag); - if ($languageFlag === 'default' - || ($sysLanguageId !== NULL && $backendUser->checkLanguageAccess($sysLanguageId)) - ) { - continue; - } - unset($languages[$index]); - } - } - return $languages; - } -} diff --git a/typo3conf/ext/lfeditor/Classes/Service/FileBackupService.php b/typo3conf/ext/lfeditor/Classes/Service/FileBackupService.php deleted file mode 100644 index b9612d8..0000000 --- a/typo3conf/ext/lfeditor/Classes/Service/FileBackupService.php +++ /dev/null @@ -1,478 +0,0 @@ -setVar(['metaFile' => $metaFile]); - parent::init($file, $path, $metaFile); - - // read meta file - try { - if (is_file($this->metaFile)) { - $this->readMetaFile(); - } - } catch (LFException $e) { - throw $e; - } - } - - ##################### - ###### Set/Get ###### - ##################### - - /** - * sets information - * - * structure: - * $infos["metaFile"] = absolute path to the meta file (includes filename) - * $infos["extPath"] = extension path - * $infos["langFile"] = language file - * - * @param array $informations information (see above) - * @return void - */ - public function setVar($informations) { - if (!empty($informations['metaFile'])) { - $this->metaFile = Typo3Lib::fixFilePath($informations['metaFile']); - } - - if (!empty($informations['extPath'])) { - $this->extPath = Typo3Lib::fixFilePath($informations['extPath']); - $this->extName = basename($informations['extPath']); - } - - if (!empty($informations['langFile'])) { - $this->langFile = Typo3Lib::fixFilePath($informations['langFile']); - } - - parent::setVar($informations); - } - - /** - * returns requested information - * - * @param string $info - * @return mixed - */ - public function getVar($info) { - if ($info == 'metaFile') { - return $this->metaFile; - } elseif ($info == 'extName') { - return $this->extName; - } elseif ($info == 'extPath') { - return $this->extPath; - } elseif ($info == 'langFile') { - return $this->langFile; - } else { - return parent::getVar($info); - } - } - - /** - * returns meta information about backup files - * - * Modes: - * - 0 => full meta information (default) - * - 1 => only meta information of given extension key - * - 2 => only meta information of given extension key and workspace - * - 3 => only meta information of given extension key, workspace and language file - * - * @param integer $mode - * @param string $extName extension Name (default = $this->extName) - * @param string $workspace (default = $this->workspace) - * @param string $langFile language file (default = $this->langFile) - * @return array - */ - public function getMetaInfos($mode = 0, $extName = '', $workspace = '', $langFile = '') { - $extName = empty($extName) ? $this->extName : $extName; - $langFile = empty($langFile) ? $this->langFile : $langFile; - $workspace = empty($workspace) ? $this->workspace : $workspace; - - // build return value - if (!$mode) { - return $this->metaArray; - } elseif ($mode == 1) { - return $this->metaArray[$extName] ?? []; - } elseif ($mode == 2) { - return $this->metaArray[$extName][$workspace] ?? []; - } elseif ($mode == 3) { - return $this->metaArray[$extName][$workspace][$langFile] ?? []; - } else { - return []; - } - } - - /** - * rewrites current meta information array with the given equivalent - * - * Modes: - * - 0 => full meta information (default) - * - 1 => only meta information of given extension key - * - 2 => only meta information of given extension key and workspace - * - 3 => only meta information of given extension key, workspace and language file - * - * @param array $metaArray meta information - * @param integer $mode - * @param string $extName extension Name (default = $this->extName) - * @param string $workspace (default = $this->workspace) - * @param string $langFile language file (default = $this->langFile) - * @return void - */ - private function setMetaInfos($metaArray, $mode = 0, $extName = '', $workspace = '', $langFile = '') { - $extName = empty($extName) ? $this->extName : $extName; - $langFile = empty($langFile) ? $this->langFile : $langFile; - $workspace = empty($workspace) ? $this->workspace : $workspace; - - // build new meta information array - if (is_array($metaArray) && count($metaArray)) { - if (!$mode) { - $this->metaArray = $metaArray; - } elseif ($mode == 1) { - $this->metaArray[$extName] = $metaArray; - } elseif ($mode == 2) { - $this->metaArray[$extName][$workspace] = $metaArray; - } elseif ($mode == 3) { - $this->metaArray[$extName][$workspace][$langFile] = $metaArray; - } - } else { - if (!$mode) { - unset($this->metaArray); - } elseif ($mode == 1) { - unset($this->metaArray[$extName]); - } elseif ($mode == 2) { - unset($this->metaArray[$extName][$workspace]); - } elseif ($mode == 3) { - unset($this->metaArray[$extName][$workspace][$langFile]); - } - } - } - - ############################### - ###### Meta FileService Methods ###### - ############################### - - /** - * reads the meta information file and parses the content into $this->metaArray - * - * @throws LFException raised if no meta content was generated - * @return void - */ - private function readMetaFile() { - // read file and parse xml to array - $metaArray = GeneralUtility::xml2array(file_get_contents($this->metaFile)); - if (!is_array($metaArray)) { - throw new LFException('failure.backup.metaFile.notRead'); - } - - $this->metaArray = $metaArray; - } - - /** - * generate meta XML - * - * @return string meta information (xml) - */ - private function genMetaXML() { - $options = []; - // define assocTagNames - $options['parentTagMap'] = [ - '' => 'extKey', - 'extKey' => 'workspace', - 'workspace' => 'langFile', - 'langFile' => 'file', - ]; - return GeneralUtility::array2xml($this->getMetaInfos(), '', 0, 'LFBackupMeta', 0, $options); - } - - /** - * writes the meta information file - * - * @throws LFException raised if the meta file cant be written - * @return void - */ - private function writeMetaFile() { - $metaXML = $this->genMetaXML(); - if (empty($metaXML)) { - throw new LFException('failure.backup.metaFile.notWritten'); - } - - if (!GeneralUtility::writeFile($this->metaFile, $this->getXMLHeader() . $metaXML)) { - throw new LFException('failure.backup.metaFile.notWritten'); - } - } - - ################################# - ###### Backup FileService Methods ###### - ################################# - - /** - * generates the xml header - * - * @return string xml header - */ - private function getXMLHeader() { - return '' . "\n"; - } - - /** - * removes the meta information entry and the backup file - * - * @param string $filename - * @param string $extName (default = $this->extName) - * @param string $langFile (default = $this->langFile) - * @throws Exception|LFException - * @throws LFException - * @return void - */ - public function deleteSpecFile($filename, $extName = '', $langFile = '') { - // get needed meta information - $extName = empty($extName) ? $this->extName : $extName; - $langFile = empty($langFile) ? $this->langFile : $langFile; - $metaArray = $this->getMetaInfos(3, $extName, '', $langFile); - - // check backup file - if (!isset($metaArray[$filename])) { - throw new LFException('failure.backup.notDeleted'); - } - - // get file - $backupPath = $metaArray[$filename]['pathBackup']; - $pathSite = Environment::getPublicPath() . '/'; - $file = GeneralUtility::fixWindowsFilePath($pathSite . $backupPath . '/' . $filename); - - // build new meta information file - unset($metaArray[$filename]); - if (!count($metaArray)) { - $metaArray = NULL; - } - $this->setMetaInfos($metaArray, 3, $extName, '', $langFile); - - $extMetaArray = $this->getMetaInfos(2, $extName); - if (!count($extMetaArray)) { - $extMetaArray = NULL; - } - $this->setMetaInfos($extMetaArray, 2, $extName); - - // write meta information - try { - $this->writeMetaFile(); - } catch (LFException $e) { - throw $e; - } - - // delete backup file - try { - SgLib::deleteFiles([$file]); - } catch (Exception $e) { - throw new LFException( - 'failure.backup.notDeleted', - 0, - '(' . $e->getMessage() . ')', - ); - } - } - - /** - * wrapper for deleteSpecFile() - * - * @throws LFException raised if the backup or meta file cant be written - * @return void - */ - public function deleteFile() { - try { - $this->deleteSpecFile($this->relFile); - } catch (LFException $e) { - throw $e; - } - } - - /** - * reads a backup file - * - * @throws LFException raised if the backup file can't be read - * @return void - */ - public function readFile() { - if (!is_file($this->absFile)) { - throw new LFException('failure.backup.notRead'); - } - - // read file and transform from xml to array - $phpArray = GeneralUtility::xml2array(file_get_contents($this->absFile)); - if (!is_array($phpArray)) { - throw new LFException('failure.backup.notRead'); - } - - $pathSite = Environment::getPublicPath() . '/'; - // read array - $localLang = $originLang = []; - foreach ($phpArray['data'] as $langKey => $informations) { - // read origin - try { - $originLang[$langKey] = Typo3Lib::transTypo3File($informations['meta']['origin'], TRUE); - } catch (Exception $e) { - $originLang[$langKey] = $pathSite . $informations['meta']['origin']; - } - - // read data - if (is_array($informations['langData'])) { - foreach ($informations['langData'] as $const => $value) { - $localLang[$langKey][$const] = $value; - } - } - } - - // check - if (!count($localLang) || !count($originLang)) { - throw new LFException('failure.backup.notRead'); - } - - $this->localLang = $localLang; - $this->originLang = $originLang; - $this->meta = $phpArray['meta']; - } - - /** - * prepares the final Content - * - * @return string prepared content (xml) - */ - private function prepareBackupContent() { - $phpArray = []; - $options = []; - // set meta - $phpArray['meta'] = $this->meta; - $pathSite = Environment::getPublicPath() . '/'; - // set array - foreach ($this->originLang as $lang => $origin) { - // set origin - try { - $phpArray['data'][$lang]['meta']['origin'] = Typo3Lib::transTypo3File($origin, FALSE); - } catch (Exception $e) { - $phpArray['data'][$lang]['meta']['origin'] = substr($origin, strlen($pathSite)); - } - - // set data - if (\array_key_exists($lang, $this->localLang) && \is_array($this->localLang[$lang])) { - foreach ($this->localLang[$lang] as $labelKey => $labelVal) { - $phpArray['data'][$lang]['langData'][$labelKey] = $labelVal; - } - } - } - - // define assocTagNames - $options['parentTagMap'] = [ - 'data' => 'languageKey', - 'langData' => 'label' - ]; - - // get xml - return GeneralUtility::array2xml($phpArray, '', 0, 'LFBackup', 0, $options); - } - - /** - * prepares the backup file and writes the new meta information - * - * @param array | NULL $editedLanguages - * @return array raised if meta file cant be written - * @throws Exception - * @throws LFException - * @return array - */ - protected function prepareFileContents($editedLanguages = NULL) { - $backupFiles = []; - // get content - $xml = $this->prepareBackupContent(); - - // get and set name of backup - $backupName = 'locallang_' . substr(md5(md5($xml)), 0, 10) . '.bak'; - $this->setVar(['relFile' => $backupName]); - $pathSite = Environment::getPublicPath() . '/'; - // get new meta information - $metaArray = $this->getMetaInfos(3); - $metaArray[$this->relFile]['createdAt'] = time(); - $metaArray[$this->relFile]['pathBackup'] = str_replace($pathSite, '', $this->absPath); - $this->setMetaInfos($metaArray, 3); - - // write meta information file - try { - $this->writeMetaFile(); - } catch (LFException $e) { - throw $e; - } - - $backupFiles[$this->absPath . $this->relFile] = $this->getXMLHeader() . $xml; - return $backupFiles; - } -} diff --git a/typo3conf/ext/lfeditor/Classes/Service/FileBasePHPService.php b/typo3conf/ext/lfeditor/Classes/Service/FileBasePHPService.php deleted file mode 100644 index 3376ed1..0000000 --- a/typo3conf/ext/lfeditor/Classes/Service/FileBasePHPService.php +++ /dev/null @@ -1,256 +0,0 @@ -setVar(['fileType' => 'php']); - parent::init($file, $path, $metaFile); - } - - /** - * reads a language file - * - * @throws LFException raised if the file does not contain a locallang array - * @param string $file language file - * @param string $langKey language shortcut (not used) - * @return array language content - */ - protected function readLLFile($file, $langKey) { - $LOCAL_LANG = NULL; - if (!is_file($file)) { - throw new LFException('failure.select.noLangfile'); - } - - include($file); - - /** @var array $LOCAL_LANG */ - if (!is_array($LOCAL_LANG) || !count($LOCAL_LANG)) { - throw new LFException('failure.search.noFileContent', 0, '(' . $file . ')'); - } - - /** @var array $LFMETA */ - if ($langKey == 'default') { - $this->meta = $LFMETA; - } - - return $LOCAL_LANG; - } - - /** - * checks the given content, if its a localized language file reference - * - * @param mixed $content language content (only one language) - * @param string $langKey language shortcut - * @return string localized file (absolute) or a boolean false - */ - protected function getLocalizedFile($content, $langKey) { - if ((string) $content != 'EXT') { - return ''; - } - - return Typo3Lib::fixFilePath( - dirname($this->absFile) . - '/' . $this->nameLocalizedFile($langKey) - ); - } - - /** - * checks a filename, if its a localized file - * - * @param string $filename filename - * @param string $langKey language shortcut - * @return boolean true(localized) or false - */ - public function checkLocalizedFile($filename, $langKey) { - if (!preg_match('/^.*\.(' . $langKey . ')\.php$/', $filename)) { - return FALSE; - } - - return TRUE; - } - - /** - * get the name of a localized file - * - * @param string $langKey language shortcut - * @return string localized file (only filename) - */ - public function nameLocalizedFile($langKey) { - return SgLib::setFileExtension($langKey . '.php', basename($this->relFile)); - } - - /** - * prepares the meta data for writing into a file - * - * @return string meta data for writing purposes - */ - private function prepareMeta() { - if (!is_array($this->meta) || !count($this->meta)) { - return ''; - } - - $metaData = ''; - foreach ($this->meta as $metaIndex => $value) { - $value = preg_replace('/[^\\\]\'/', '\\\'', $value); - $metaData .= "\t" . '\'' . $metaIndex . '\' => \'' . $value . '\',' . "\n"; - } - - return $metaData; - } - - /** - * generates the header data of a language file - * - * @return string header data - */ - private function getHeader() { - $extKey = basename($this->absPath); - - $header = '' . "\n"; - } - - /** - * prepares the content of a language file - * - * @param array $localLang content of the given language - * @param string $lang language shortcut - * @return string language part of the main file - */ - private function getLangContent($localLang, $lang) { - $content = "\t'$lang' => array (\n"; - if (is_array($localLang) && count($localLang)) { - ksort($localLang); - foreach ($localLang as $const => $value) { - $value = preg_replace("/([^\\\])'/", "$1\'", $value); - $value = str_replace("\r", '', $value); - $content .= "\t\t'$const' => '$value',\n"; - } - } - $content .= "\t),\n"; - - return $content; - } - - /** - * prepares the content of a localized language file - * - * @param array $localLang content of the given language - * @param string $lang language shortcut - * @return string language content - */ - private function getLangContentLoc($localLang, $lang) { - $content = '$LOCAL_LANG[\'' . $lang . '\'] = array (' . "\n"; - if (is_array($localLang) && count($localLang)) { - ksort($localLang); - foreach ($localLang as $const => $value) { - $value = preg_replace("/([^\\\])'/", "$1\'", $value); - $value = str_replace("\r", '', $value); - $content .= "\t'$const' => '$value',\n"; - } - } - $content .= ");\n"; - - return $content; - } - - /** - * prepares the final content - * - * @param array | NULL $editedLanguages - * @return array language files as key and content as value - */ - protected function prepareFileContents($editedLanguages = NULL) { - // prepare Content - $mainFileContent = ''; - $languages = SgLib::getSystemLanguages(); - $languageFiles = []; - foreach ($languages as $lang) { - // get content of localized and main file - if ($this->checkLocalizedFile(basename($this->originLang[$lang]), $lang)) { - if (is_array($this->localLang[$lang]) && count($this->localLang[$lang])) { - $languageFiles[$this->originLang[$lang]] = $this->getHeader(); - $languageFiles[$this->originLang[$lang]] .= - $this->getLangContentLoc($this->localLang[$lang], $lang); - $languageFiles[$this->originLang[$lang]] .= $this->getFooter(); - $mainFileContent .= "\t'$lang' => 'EXT',\n"; - } else { - $mainFileContent .= "\t'$lang' => '',\n"; - } - } else { - $mainFileContent .= $this->getLangContent($this->localLang[$lang], $lang); - } - } - - // only a localized file? - if ($this->checkLocalizedFile(basename($this->absFile), implode('|', SgLib::getSystemLanguages()))) { - return $languageFiles; - } - - // prepare Content for the main file - $languageFiles[$this->absFile] = $this->getHeader(); - $languageFiles[$this->absFile] .= '$LFMETA = array (' . "\n"; - $languageFiles[$this->absFile] .= $this->prepareMeta(); - $languageFiles[$this->absFile] .= ');' . "\n\n"; - $languageFiles[$this->absFile] .= '$LOCAL_LANG = array (' . "\n"; - $languageFiles[$this->absFile] .= $mainFileContent; - $languageFiles[$this->absFile] .= ');' . "\n"; - $languageFiles[$this->absFile] .= $this->getFooter(); - - return $languageFiles; - } -} diff --git a/typo3conf/ext/lfeditor/Classes/Service/FileBaseService.php b/typo3conf/ext/lfeditor/Classes/Service/FileBaseService.php deleted file mode 100644 index 1bb8361..0000000 --- a/typo3conf/ext/lfeditor/Classes/Service/FileBaseService.php +++ /dev/null @@ -1,186 +0,0 @@ -getLocales()); - - // localization files should not be edited - if ($this->checkLocalizedFile(basename($file), $availableLanguages)) { - throw new LFException('failure.langfile.notSupported'); - } - - $this->setWorkspace('base'); - parent::init($file, $path, $metaFile); - } - - /** - * reads the absolute language file with all localized sub files - * - * @throws \Exception - * @throws LFException - * @return void - */ - public function readFile() { - // read absolute file - $localLang = $this->readLLFile($this->absFile, 'default'); - // loop all languages - $languages = SgLib::getSystemLanguages(); - $originLang = []; - foreach ($languages as $lang) { - $originLang[$lang] = $this->absFile; - if (!\array_key_exists($lang, $localLang)) { - continue; - } - if ($lang === 'default' || (\is_array($localLang[$lang]) && \count($localLang[$lang]))) { - if (\is_array($localLang[$lang]) && \count($localLang[$lang])) { - \ksort($localLang[$lang]); - } - continue; - } - - // get localized file - $lFile = $this->getLocalizedFile($localLang[$lang], $lang); - if ($lFile && $this->checkLocalizedFile(basename($lFile), $lang)) { - $originLang[$lang] = $lFile; - $localLang[$lang] = []; - - if (!is_file($lFile)) { - continue; - } - - // read the content - try { - $llang = $this->readLLFile($lFile, $lang); - } catch (\Exception $e) { - throw $e; - } - - // merge arrays and save origin of current language - ArrayUtility::mergeRecursiveWithOverrule($localLang, $llang); - } - } - - // check - if (!\is_array($localLang)) { - throw new LFException('failure.search.noFileContent'); - } - - // copy all to object variables, if everything was ok - $this->localLang = $localLang; - $this->originLang = $originLang; - } - - /** - * Checks if a localized file is found in labels pack (e.g. a language pack was downloaded in the backend) - * or if $sameLocation is set, then checks for a file located in "{language}.locallang.xlf" at the same directory - * - * @param string $fileRef Absolute file reference to locallang file - * @param string $language Language key - * @param bool $sameLocation If TRUE, then locallang localization file name will be returned with same directory as $fileRef - * @return string|null Absolute path to the language file, or null if error occurred - */ - protected function getLocalizedFileName($fileRef, $language, $sameLocation = FALSE) { - // If $fileRef is already prefixed with "[language key]" then we should return it as is - $fileName = PathUtility::basename($fileRef); - if (GeneralUtility::isFirstPartOfStr($fileName, $language . '.')) { - return GeneralUtility::getFileAbsFileName($fileRef); - } - - if ($sameLocation) { - return GeneralUtility::getFileAbsFileName(str_replace($fileName, $language . '.' . $fileName, $fileRef)); - } - - // Analyze file reference - $validatedPrefix = Typo3Lib::getLocalizedFilePrefix($fileRef); - if ($validatedPrefix) { - // Divide file reference into extension key, directory (if any) and base name: - [$extensionKey, $file_extPath] = explode('/', substr($fileRef, strlen($validatedPrefix)), 2); - $temp = GeneralUtility::revExplode('/', $file_extPath, 2); - if (count($temp) === 1) { - array_unshift($temp, ''); - } - // Add empty first-entry if not there. - [$file_extPath, $file_fileName] = $temp; - - // The filename is prefixed with "[language key]." because it prevents the llxmltranslate tool from detecting it. - return Typo3Lib::getLabelsPath() . $language . '/' . $extensionKey . '/' . ($file_extPath ? $file_extPath . '/' : '') . $language . '.' . $file_fileName; - } - return NULL; - } -} diff --git a/typo3conf/ext/lfeditor/Classes/Service/FileBaseXLFService.php b/typo3conf/ext/lfeditor/Classes/Service/FileBaseXLFService.php deleted file mode 100644 index 5c8bcdc..0000000 --- a/typo3conf/ext/lfeditor/Classes/Service/FileBaseXLFService.php +++ /dev/null @@ -1,429 +0,0 @@ -setFileType('xlf'); - parent::init($file, $path, $metaFile); - } - - /** - * calls the parent function and convert all values from utf-8 to the original charset - * - * @return void - * @throws LFException raised if the parent read file method fails - */ - public function readFile() { - $this->readXlfFile(); - - foreach ($this->localLang['default'] as $constant => $value) { - if (empty($value)) { - $this->localLang['default'][$constant] = ''; - } - } - } - - /** - * reads a language file - * - * @param string $file language file - * @param string $langKey language shortcut - * @return array language content - * @throws LFException thrown if no data can be found - */ - protected function readLLFile($file, $langKey) { - if (!\is_file($file)) { - throw new LFException('failure.select.noLangfile'); - } - - // LIBXML_NOCDATA treat CDATA node as text node. - // htmlentities in CDATA are not modified, - // and those - normaly encoded if XML is valid - outside CDATA will be decoded. - - $xmlContent = \simplexml_load_string(\file_get_contents($file), \SimpleXMLElement::class, LIBXML_NOCDATA); - - // Cast XML to associative array with json_decode/encode. - // This way, value is XML are casted to string. - $xmlContent = \json_decode(\json_encode($xmlContent), TRUE); - - // check data - if (!\is_array($xmlContent['file']['body'])) { - throw new LFException('failure.search.noFileContent', 0, '(' . $file . ')'); - } - - if ($langKey === 'default') { - $this->meta = $xmlContent['file']['header'] ?? []; - } - $this->meta['@attributes'] = $xmlContent['file']['@attributes']; - - return $xmlContent['file']['body']; - } - - /** - * Resolves the trans-unit parts of the xlf language files into flat - * source arrays with the target language or the source if the target is en - * - * @param array $sourceData - * @return array - */ - public function resolveTranslationUnitsArrayIntoFlatArray(array $sourceData) { - $flatData = []; - - if (isset($sourceData['trans-unit']['@attributes'])) { - $sourceData['trans-unit'] = [$sourceData['trans-unit']]; - } - if (!array_key_exists('trans-unit', $sourceData)) { - return $flatData; - } - - foreach ((array) $sourceData['trans-unit'] as $data) { - if (isset($data['@attributes']['id'])) { - $constant = $data['@attributes']['id']; - if (array_key_exists('target', $data)) { - $flatData[$constant] = $data['target']; - } else { - $flatData[$constant] = $data['source']; - } - - if (empty($flatData[$constant])) { - $flatData[$constant] = ''; - } - } - } - - return $flatData; - } - - /** - * Reads the absolute language file with all localized sub files - * - * @return void - * @throws LFException - */ - public function readXlfFile() { - $localLang = []; - // read absolute file - $localLang['default'] = $this->readLLFile($this->absFile, 'default'); - $localLang['default'] = $this->resolveTranslationUnitsArrayIntoFlatArray($localLang['default']); - - // loop all languages - $originLang = []; - $languages = SgLib::getSystemLanguages(); - foreach ($languages as $lang) { - $originLang[$lang] = $this->absFile; - if ($lang === 'default') { - continue; - } - - // get localized file - $content = array_key_exists($lang, $localLang) ? $localLang[$lang] : ''; - $lFile = $this->getLocalizedFile($content, $lang); - if ($this->checkLocalizedFile(\basename($lFile), $lang)) { - $originLang[$lang] = $lFile; - $localLang[$lang] = []; - - if (!\is_file($lFile)) { - continue; - } - - // read the content - $localSubLanguage = $this->readLLFile($lFile, $lang); - $localLang[$lang] = $this->resolveTranslationUnitsArrayIntoFlatArray($localSubLanguage); - - // merge arrays and save origin of current language - ArrayUtility::mergeRecursiveWithOverrule($localLang, $localSubLanguage); - } - } - - // copy all to object variables, if everything was ok - $this->localLang = $localLang; - $this->originLang = $originLang; - } - - /** - * checks the localLang array to find localized version of the language - * (checks l10n directory too) - * - * @param string $content language content (only one language) - * @param string $langKey language shortcut - * @return string localized file (absolute) - */ - protected function getLocalizedFile($content, $langKey) { - $file = ''; - if ($this->session->getDataByKey('editingMode') !== 'extension') { - $file = $this->getLocalizedFileName($this->absFile, $langKey); - } - if (!\is_file($file)) { - $file = \dirname($this->absFile) . '/' . $this->nameLocalizedFile($langKey); - } - return Typo3Lib::fixFilePath($file); - } - - /** - * checks a filename if its a localized file reference - * - * @param string $filename - * @param string $langKey language shortcut - * @return boolean true(localized) or false - */ - public function checkLocalizedFile($filename, $langKey) { - if (!\preg_match('/^(' . $langKey . ')\..*\.xlf$/', $filename)) { - return FALSE; - } - - return TRUE; - } - - /** - * get the name of a localized file - * - * @param string $langKey language shortcut - * @return string localized file (only filename) - */ - public function nameLocalizedFile($langKey) { - return $langKey . '.' . \basename($this->relFile); - } - - /** - * generates the xml header - * - * @return string xml header - */ - private function getXMLHeader() { - return '' . "\n"; - } - - /** - * converts the array to a xml string - * - * @param array $phpArray - * @param string $targetLanguage - * @param array $enLanguage - * @return string xml content - */ - private function array2xml($phpArray, $targetLanguage, $enLanguage) { - $targetLanguage = \htmlspecialchars($targetLanguage); - $targetLanguageAttribute = ($targetLanguage !== 'default' ? ' target-language="' . $targetLanguage . '"' : ''); - - $lfeditorExtConf = ExtensionUtility::getExtensionConfiguration(); - $date = ($lfeditorExtConf['changeXlfDate'] ? \gmdate('Y-m-d\TH:i:s\Z') : $this->meta['@attributes']['date']); - - $xmlString = $this->getXMLHeader() . ' - - ###HEADER### - ###BODY### - -'; - - $header = ''; - if (\is_array($phpArray['header']) && \count($phpArray['header'])) { - $header = '' . "\n"; - foreach ($phpArray['header'] as $tagName => $tagValue) { - $tagName = \htmlspecialchars($tagName); - $header .= "\t\t\t" . '<' . $tagName . '>' . \htmlspecialchars(implode(' ', $tagValue)) . - '' . $tagName . '>' . "\n"; - } - $header .= "\t\t" . ''; - } - $xmlString = \str_replace('###HEADER###', $header, $xmlString); - - $body = ''; - if (\is_array($phpArray['data']) && \count($phpArray['data'])) { - $body = '' . "\n"; - $startCDATA = ""; - $approved = ($targetLanguage !== 'default' ? ' approved="yes"' : ''); - foreach ($phpArray['data'] as $constant => $value) { - if (!array_key_exists($constant, $enLanguage)) { - continue; - } - $enValue = $enLanguage[$constant]; - - // CDATA markers are stripped when reading the XML file from the disk, - // and html entities are not decoded. - // So, for simplicity and safety, when writing back the data to the file, - // we will always enclose value in CDATA, so html entities are preserved - // and XML remains valid. - $value = $startCDATA . $value . $endCDATA; - $enValue = $startCDATA . $enValue . $endCDATA; - - $body .= "\t\t\t" . 'addPreserveSpaceAttribute( - $value, - $enValue, - $targetLanguage - ) . '>' . "\n"; - - if ($targetLanguage !== 'default') { - $body .= "\t\t\t\t" . '' . $enValue . '' . "\n"; - $body .= "\t\t\t\t" . '' . $value . '' . "\n"; - } else { - $body .= "\t\t\t\t" . '' . $value . '' . "\n"; - } - $body .= "\t\t\t" . '' . "\n"; - } - $body .= "\t\t" . ''; - } - $xmlString = \str_replace('###BODY###', $body, $xmlString); - - return $xmlString; - } - - /** - * prepares the content of a language file - * - * @param array $localLang - * @return array new xml array - */ - private function getLangContent($localLang) { - $content = []; - if (!\is_array($localLang) || !\count($localLang)) { - return $content; - } - - \ksort($localLang); - foreach ($localLang as $const => $value) { - $content[$const] = \str_replace("\r", '', $value); - } - - return $content; - } - - /** - * prepares the meta array for nicer saving - * - * @return array meta content - */ - private function prepareMeta() { - if (\is_array($this->meta) && \count($this->meta)) { - foreach ($this->meta as $label => $value) { - $this->meta[$label] = \str_replace("\r", '', $value); - } - } - $this->addGeneratorString(); - - $metadata = $this->meta; - unset($metadata['@attributes']); - - return $metadata; - } - - /** - * prepares the final content - * - * @param array | NULL $editedLanguages - * @return array language files as key and content as value - */ - protected function prepareFileContents($editedLanguages = NULL) { - // prepare Content - $metaData = $this->prepareMeta(); - $languages = SgLib::getSystemLanguages(); - $languageFiles = []; - $enLanguage = $this->getLangContent($this->localLang['default']); - foreach ($languages as $lang) { - if ($lang === 'default') { - continue; - } - // If default language content and $lang language content are not edited, skip this file. - if ($editedLanguages !== NULL && - !\in_array('default', $editedLanguages, TRUE) && !\in_array($lang, $editedLanguages, TRUE) - ) { - continue; - } - - if (\array_key_exists($lang, $this->localLang) && \is_array($this->localLang[$lang]) && \count( - $this->localLang[$lang] - )) { - $file = $this->originLang[$lang]; - $data = [ - 'header' => $metaData, - 'data' => $this->getLangContent($this->localLang[$lang]), - ]; - if (array_key_exists($file, $languageFiles)) { - $languageFiles[$file] .= $this->array2xml($data, $lang, $enLanguage); - } else { - $languageFiles[$file] = $this->array2xml($data, $lang, $enLanguage); - } - } - } - - // only a localized file? - if ($this->checkLocalizedFile(\basename($this->absFile), \implode('|', SgLib::getSystemLanguages()))) { - return $languageFiles; - } - if ($editedLanguages !== NULL && !\in_array('default', $editedLanguages, TRUE)) { - return $languageFiles; - } - - // prepare content for the main file - $data = [ - 'header' => $metaData, - 'data' => $enLanguage, - ]; - $languageFiles[$this->absFile] = $this->array2xml($data, 'default', $enLanguage); - - return $languageFiles; - } - - /** - * If constant's source (en) or target value contains multiple spaces or LF character, - * returns string ' xml:space="preserve"'. - * - * @param string $value - * @param string $enValue - * @param string $targetLanguage - * @return string - */ - protected function addPreserveSpaceAttribute($value, $enValue, $targetLanguage) { - $valueContainsSpacesOrLF = \strpos($value, ' ') !== FALSE || \strpos($value, "\n") !== FALSE; - $enValueContainsSpacesOrLF = FALSE; - if ($targetLanguage !== 'default') { - $enValueContainsSpacesOrLF = \strpos($enValue, ' ') !== FALSE || \strpos($enValue, "\n") !== FALSE; - } - return ($valueContainsSpacesOrLF || $enValueContainsSpacesOrLF ? ' xml:space="preserve"' : ''); - } -} diff --git a/typo3conf/ext/lfeditor/Classes/Service/FileBaseXMLService.php b/typo3conf/ext/lfeditor/Classes/Service/FileBaseXMLService.php deleted file mode 100644 index 70bcea9..0000000 --- a/typo3conf/ext/lfeditor/Classes/Service/FileBaseXMLService.php +++ /dev/null @@ -1,358 +0,0 @@ -setVar(['fileType' => 'xml']); - parent::init($file, $path, $metaFile); - } - - /** - * reads a language file - * - * @throws LFException raised if the file does not contain a valid llxml or xml is not valid - * @param string $file language file - * @param string $langKey language shortcut - * @return array language content - */ - protected function readLLFile($file, $langKey) { - if (!\is_file($file)) { - throw new LFException('failure.select.noLangfile'); - } - - // read xml into array - $xmlContent = GeneralUtility::xml2array(\file_get_contents($file)); - - // check data - if (!\is_array($xmlContent['data'])) { - throw new LFException('failure.search.noFileContent', 0, '(' . $file . ')'); - } - - // set header data - if ($langKey === 'default') { - $this->meta = $xmlContent['meta']; - } - - return $xmlContent['data']; - } - - /** - * checks the localLang array to find localized version of the language - * (checks l10n directory too) - * - * @param string $content language content (only one language) - * @param string $langKey language shortcut - * @return string localized file (absolute) - */ - protected function getLocalizedFile($content, $langKey) { - if ($this->session->getDataByKey('editingMode') === 'l10n') { - $file = $this->getLocalizedFileName($this->absFile, $langKey); - if (\is_file($file)) { - return Typo3Lib::fixFilePath($file); - } - } - - try { - $file = Typo3Lib::transTypo3File($content, TRUE); - } catch (Exception $e) { - if (!$file = $this->getLocalizedFileName($this->absFile, $langKey, TRUE)) { - return $content; - } - if (!\is_file($file)) { - return $content; - } - } - - return Typo3Lib::fixFilePath($file); - } - - /** - * checks a filename if its a localized file reference - * - * @param string $filename filename - * @param string $langKey language shortcut - * @return boolean true(localized) or false - */ - public function checkLocalizedFile($filename, $langKey) { - if (!\preg_match('/^(' . $langKey . ')\..*\.xml$/', $filename)) { - return FALSE; - } - - return TRUE; - } - - /** - * get the name of a localized file - * - * @param string $langKey language shortcut - * @return string localized file (only filename) - */ - public function nameLocalizedFile($langKey) { - return $langKey . '.' . \basename($this->relFile); - } - - /** - * generates the xml header - * - * @return string xml header - */ - private function getXMLHeader() { - return '' . "\n"; - } - - /** - * Converts php array to xml string with support for CDATA tags. - * - * @param array $phpArray - * @param CdataSupportingSimpleXMLElement $xmlElement - * @param array $parentTagMap - * @param string $parentTagName - * @return void - */ - protected function arrayToXml( - array $phpArray, - CdataSupportingSimpleXMLElement $xmlElement, - array $parentTagMap = [], - $parentTagName = NULL - ) { - foreach ($phpArray as $key => $value) { - if (\strcasecmp($key, '@attributes') === 0) { - continue; - } - $tagName = $key; - $indexAttributeValue = NULL; - if (\count($parentTagMap) !== 0 && !empty($parentTagMap[$parentTagName])) { - $tagName = $parentTagMap[$parentTagName]; - $indexAttributeValue = $key; - } - // If element is array, check that it is not 'label' tag, just in case - if (\is_array($value) && $tagName !== 'label') { - if (\is_numeric($tagName)) { - $tagName = 'item' . $tagName; - } - $subNode = $xmlElement->addChild($tagName); - if ($indexAttributeValue !== NULL) { - $subNode->addAttribute('index', $indexAttributeValue); - } - $subNode->addAttribute('type', 'array'); - $this->arrayToXml($value, $subNode, $parentTagMap, $tagName); - } else { - // CDATA markers are stripped when reading the XML file from the disk, - // and html entities are not decoded. - // So, for simplicity and safety, when writing back the data to the file, - // we will always enclose value in CDATA, so html entities are preserved - // and XML remains valid. - $simpleSubNode = $xmlElement->addChildCData($tagName, $value); - if ($indexAttributeValue !== NULL) { - $simpleSubNode->addAttribute('index', $indexAttributeValue); - } - } - } - } - - /** - * Converts php array to formatted xml string with support for CDATA tags. - * - * @param array $phpArray php structure with data - * @param string $firstTag name of first tag - * @return string xml content - * @throws Exception - */ - protected function array2xml(array $phpArray, $firstTag) { - if (\count($phpArray) === 0) { - return ''; - } - - /** @var CdataSupportingSimpleXMLElement $xmlElement */ - $xmlElement = new CdataSupportingSimpleXMLElement( - $this->getXMLHeader() . '<' . $firstTag . '>' . $firstTag . '>' - ); - $xmlElement->addAttribute('type', 'array'); - - $parentTagMap = [ - 'data' => 'languageKey', - 'languageKey' => 'label', - ]; - - $this->arrayToXml($phpArray, $xmlElement, $parentTagMap); - $formattedXml = $this->formatXml($xmlElement); - - return $formattedXml; - } - - /** - * prepares the content of a language file - * - * @param array $localLang content of the given language - * @param string $lang shortcut - * @return array new xml array - */ - private function getLangContent($localLang, $lang) { - $content = []; - $content['data'][$lang] = ''; - if (!\is_array($localLang) || !\count($localLang)) { - return $content; - } - - \ksort($localLang); - foreach ($localLang as $const => $value) { - if ($content['data'][$lang] === '') { - $content['data'][$lang] = []; - } - - $content['data'][$lang][$const] = \str_replace("\r", '', $value); - } - - return $content; - } - - /** - * prepares the meta array for nicer saving - * - * @return array meta content - */ - private function prepareMeta() { - if (\is_array($this->meta) && \count($this->meta)) { - foreach ($this->meta as $label => $value) { - $this->meta[$label] = \str_replace("\r", '', $value); - } - } - $this->addGeneratorString(); - - return $this->meta; - } - - /** - * prepares the final content - * - * @param array | NULL $editedLanguages - * @return array language files as key and content as value - */ - protected function prepareFileContents($editedLanguages = NULL) { - $mergedFile = TRUE; - - // prepare Content - $mainFileContent = ['meta' => $this->prepareMeta()]; - $languages = SgLib::getSystemLanguages(); - $languageFiles = []; - foreach ($languages as $lang) { - // get content of localized and main file - if (array_key_exists($lang, $this->originLang) && $this->checkLocalizedFile(\basename($this->originLang[$lang]), $lang)) { - $mergedFile = FALSE; - if (\is_array($this->localLang[$lang]) && \count($this->localLang[$lang]) - // check if this language content was edited - && (NULL === $editedLanguages || \in_array($lang, $editedLanguages, TRUE)) - ) { - $languageFiles[$this->originLang[$lang]] .= - $this->array2xml( - $this->getLangContent($this->localLang[$lang], $lang), - 'T3locallangExt' - ); - - try { - $mainFileContent['data'][$lang] = - Typo3Lib::transTypo3File($this->originLang[$lang], FALSE); - } catch (Exception $e) { - if (!Typo3Lib::checkFileLocation($this->originLang[$lang]) == 'l10n') { - $mainFileContent['data'][$lang] = $this->originLang[$lang]; - } - } - } else { - $mainFileContent['data'][$lang] = ''; - } - } elseif (array_key_exists($lang, $this->localLang)) { - $mainFileContent = \array_merge_recursive( - $mainFileContent, - $this->getLangContent($this->localLang[$lang], $lang) - ); - } - } - - // only a localized file? - if ($this->checkLocalizedFile(\basename($this->absFile), \implode('|', SgLib::getSystemLanguages()))) { - return $languageFiles; - } - if (!$mergedFile && $editedLanguages !== NULL && !\in_array('default', $editedLanguages, TRUE)) { - return $languageFiles; - } - - // prepare Content for the main file - $languageFiles[$this->absFile] = $this->array2xml($mainFileContent, 'T3locallang'); - - return $languageFiles; - } - - /** - * Formats xml and returns as a string. - * - * @param \SimpleXMLElement $xmlElement - * @return string - */ - private function formatXml(\SimpleXMLElement $xmlElement) { - $dom = new DOMDocument('1.0'); - $dom->preserveWhiteSpace = FALSE; - $dom->formatOutput = TRUE; - - $xmlRaw = $xmlElement->asXML(); - - //Search CDATA tags to decode the content inside - //Because $xmlElement->asXML() encode html entities - $xmlRaw = preg_replace_callback( - "#(<\!\[CDATA\[.*\]\]>)#sU", - function ($matches) { - return htmlspecialchars_decode($matches[1]); - }, - $xmlRaw - ); - $dom->loadXML($xmlRaw); - - $formattedXml = $dom->saveXML(); - return $formattedXml; - } -} diff --git a/typo3conf/ext/lfeditor/Classes/Service/FileOverrideService.php b/typo3conf/ext/lfeditor/Classes/Service/FileOverrideService.php deleted file mode 100644 index 3312bf3..0000000 --- a/typo3conf/ext/lfeditor/Classes/Service/FileOverrideService.php +++ /dev/null @@ -1,360 +0,0 @@ -session->getDataByKey('languageFileSelection'); - $extensionKey = $this->session->getDataByKey('extkey'); - if ($file !== '' && $extensionKey !== '') { - $typo3ExtRelativeFilePath = 'EXT:' . $this->cleanSessionExtKey($extensionKey) . '/' . $file; - } - if ($typo3ExtRelativeFilePath === '') { - try { - $typo3ExtRelativeFilePath = Typo3Lib::transTypo3File($originalFileObject->getAbsFile(), FALSE); - } catch (\Exception $e) { - $typo3ExtRelativeFilePath = ''; - } - } - - $pathSite = Environment::getPublicPath() . '/'; - $overrideFileAbsolutePath = Typo3Lib::fixFilePath( - $pathSite . '/' . - ($GLOBALS['TYPO3_CONF_VARS']['SYS']['locallangXMLOverride'][$typo3ExtRelativeFilePath][0] ?? '') - ); - - if (!is_file($overrideFileAbsolutePath)) { - $extRelativeFilePath = SgLib::trimPath('EXT:', $typo3ExtRelativeFilePath); - $extRelativeFilePath = substr($extRelativeFilePath, 0, strrpos($extRelativeFilePath, '.')) . '.xlf'; - - /** @var ConfigurationService $configurationService */ - $configurationService = GeneralUtility::makeInstance(ConfigurationService::class); - $extConfig = $configurationService->getExtConfig(); - $overrideFileAbsolutePath = $extConfig['pathOverrideFiles'] - . $extRelativeFilePath; - } - - $this->originalFileObject = $originalFileObject; - parent::init(basename($overrideFileAbsolutePath), dirname($overrideFileAbsolutePath), $metaFile); - } - - /** - * Calls the parent function and convert all values from utf-8 to the original charset - * - * @return void - * @throws LFException raised if the parent read file method fails - */ - public function readFile() { - if (is_file($this->absFile)) { - parent::readFile(); - } - - $oldXMLFile = $this->getOlderPath($this->absFile); - if (is_file($oldXMLFile)) { - $xmlFile = GeneralUtility::makeInstance(FileBaseXMLService::class); - // i do think we are fine omitting metaFile - $xmlFile->init(basename($oldXMLFile), dirname($oldXMLFile), ''); - $xmlFile->readFile(); - $this->mergeFileObjectWidthOverrideLangData($xmlFile); - } - - $this->originalFileObject->readFile(); - $this->mergeOriginalWidthOverrideLangData(); - } - - /** - * when setting session key, we are using the folder, which has - * a) "-" as delimiter - * b) "cms-" as prefix for core extension - * - * @param string $extkey - * @return string - */ - private function cleanSessionExtKey(string $extkey): string { - // cant be merged, because cms_ only is in string after we did first replacement - return str_replace('cms_', '', str_replace('-', '_', $extkey)); - } - - /** - * check for possible old files: - * 1. we do now have cms_ prefix for some reason - * 2. we only write localLang.xlf - * - * @param string $absolutePath - * @return string - */ - public function getOlderPath(string $absolutePath): string { - return str_replace(['.xlf', 'cms_'], ['.xml', ''], $absolutePath); - } - - /** - * Merges Language data from original and override files, so all data can e presented to user. - * - * @return void - */ - protected function mergeOriginalWidthOverrideLangData() { - foreach ($this->originalFileObject->getLocalLang() as $lang => $langData) { - if (!is_array($langData)) { - continue; - } - - foreach ($langData as $costKey => $constValue) { - if (isset($this->localLang[$lang][$costKey]) && $this->localLang[$lang][$costKey] !== $constValue) { - continue; - } - - if (!array_key_exists($lang, $this->localLang) || !is_array($this->localLang[$lang])) { - $this->localLang[$lang] = []; - } - - $this->localLang[$lang][$costKey] = $constValue; - } - } - - foreach ($this->originalFileObject->getMeta() as $metaTag => $metaTagValue) { - if ($metaTag === '@attributes') { - foreach ($metaTagValue as $attributeKey => $attributeValue) { - if (isset($this->meta[$metaTag][$attributeKey]) - && $this->meta[$metaTag][$attributeKey] !== $attributeValue - ) { - continue; - } - $this->meta[$metaTag][$attributeKey] = $attributeValue; - } - } else { - if (isset($this->meta[$metaTag]) && $this->meta[$metaTag] !== $metaTagValue) { - continue; - } - $this->meta[$metaTag] = $metaTagValue; - } - } - } - - /** - * Merges Language data from original and override files, so all data can e presented to user. - * - * @param FileService $fileObject - * @return void - */ - protected function mergeFileObjectWidthOverrideLangData(FileService $fileObject) { - foreach ($fileObject->getLocalLang() as $lang => $langData) { - if (!is_array($langData)) { - continue; - } - - foreach ($langData as $costKey => $constValue) { - if (isset($this->localLang[$lang][$costKey]) && $this->localLang[$lang][$costKey] !== $constValue) { - continue; - } - - if (!array_key_exists($lang, $this->localLang) || !is_array($this->localLang[$lang])) { - $this->localLang[$lang] = []; - } - - $this->localLang[$lang][$costKey] = $constValue; - } - } - - foreach ($fileObject->getMeta() as $metaTag => $metaTagValue) { - if ($metaTag === '@attributes') { - foreach ($metaTagValue as $attributeKey => $attributeValue) { - if (isset($this->meta[$metaTag][$attributeKey]) - && $this->meta[$metaTag][$attributeKey] !== $attributeValue - ) { - continue; - } - $this->meta[$metaTag][$attributeKey] = $attributeValue; - } - } else { - if (isset($this->meta[$metaTag]) && $this->meta[$metaTag] !== $metaTagValue) { - continue; - } - $this->meta[$metaTag] = $metaTagValue; - } - } - } - - /** - * Writes language override files. - * - * @param array|null $editedLanguages - * @return void - * @throws \Exception - * @throws LFException raised if a file cant be written - */ - public function writeFile($editedLanguages = NULL) { - $this->deleteDuplicates(); - if (!$this->langDataExists() && !is_file($this->absFile)) { - return; - } - - $pathSite = Environment::getPublicPath() . '/'; - try { - SgLib::createDir($this->absPath, $pathSite); - } catch (\Exception $exception) { - throw new LFException('failure.failure', 0, '(' . $exception->getMessage() . ')'); - } - - $translationFile = basename($this->absFile); - $translationDir = dirname($this->absFile); - foreach ($this->localLang as $langKey => $val) { - if ($langKey !== 'default' && $langKey !== 'trans-unit') { - $this->originLang[$langKey] = $translationDir . '/' . $langKey . '.' . $translationFile; - } - } - - parent::writeFile(); - - // Set only new values in GlobalConfiguration if something changed - $originalAbsPath = $this->originalFileObject->getAbsFile(); - $pathSpecsOriginialFile = pathinfo($originalAbsPath); - $locallangXMLOverride = &$GLOBALS['TYPO3_CONF_VARS']['SYS']['locallangXMLOverride']; - $file = $this->session->getDataByKey('languageFileSelection'); - $extensionKey = $this->session->getDataByKey('extkey'); - $oldExtensionName = $this->cleanSessionExtKey($extensionKey); - $typo3ExtRelativeFilePath = 'EXT:' . $oldExtensionName . '/' . $file; - $relativeOverridePath = str_replace( - 'EXT:' . $oldExtensionName, - 'typo3conf/LFEditor/OverrideFiles/' . $oldExtensionName, - $typo3ExtRelativeFilePath - ); - if (array_key_exists($typo3ExtRelativeFilePath, $locallangXMLOverride) && - $locallangXMLOverride[$typo3ExtRelativeFilePath][0] === $relativeOverridePath) { - return; - } - - /** @var ConfigurationService $configurationService */ - $configurationService = GeneralUtility::makeInstance(ConfigurationService::class); - $additionalConfigurationFilePath = $configurationService->getAdditionalConfigurationFilePath(); - - try { - // what we need: - $addLine = '$GLOBALS[\'TYPO3_CONF_VARS\'][\'SYS\'][\'locallangXMLOverride\'][\'' - . $typo3ExtRelativeFilePath . '\'][0] = \'' . $relativeOverridePath . '\';'; - Typo3Lib::writeLineToAdditionalConfiguration($addLine, $additionalConfigurationFilePath); - $GLOBALS['TYPO3_CONF_VARS']['SYS']['locallangXMLOverride'][$typo3ExtRelativeFilePath][0] - = $relativeOverridePath; - } catch (\Exception $exception) { - throw new LFException('failure.failure', 0, '(' . $exception->getMessage() . ')'); - } - } - - /** - * Deletes duplicated language data (data that exist in both files - original file and override file), - * so that only changed data will be saved in override file. - * - * @return void - */ - public function deleteDuplicates() { - $defaultLangData = $this->originalFileObject->getLocalLangData('default'); - foreach ($this->localLang as $language => $languageData) { - if (!is_array($languageData)) { - continue; - } - foreach ($languageData as $constKey => $constValue) { - $localLangData = $this->originalFileObject->getLocalLangData($language); - if (array_key_exists($constKey, $localLangData) && SgLib::strCmpIgnoreCR( - $constValue, - $localLangData[$constKey] - )) { - unset($this->localLang[$language][$constKey]); - } elseif ($language !== 'default' && $language !== 'trans-unit') { - // if we are not in default, but we deleted the default key, we have to restore it, else we would - // not write the correct language content in xlf - if (!array_key_exists($constKey, $this->localLang['default'])) { - $this->localLang['default'][$constKey] = $defaultLangData[$constKey] ?? ''; - } - } - } - } - - foreach ($this->meta as $metaTag => $metaValue) { - if (SgLib::strCmpIgnoreCR($metaValue, $this->originalFileObject->getMetaData($metaTag))) { - unset($this->meta[$metaTag]); - } - } - } - - /** - * Checks is there any lang data (constants in $localLang and meta data). - * - * @return bool Returns true if any constant or meta data exist. - */ - protected function langDataExists() { - foreach ($this->meta as $metaTag => $metaValue) { - if (isset($this->meta[$metaTag]) && $metaTag !== '@attributes') { - return TRUE; - } - } - - foreach ($this->localLang as $language => $languageData) { - if (!is_array($languageData)) { - continue; - } - foreach ($languageData as $constKey => $constValue) { - if (isset($languageData[$constKey])) { - return TRUE; - } - } - } - return FALSE; - } - - /** - * Writes generator meta tag. - * - * @return void - */ - protected function addGeneratorString() { - if ($this->originalFileObject->getMetaData('generator') !== 'LFEditor') { - $this->meta['generator'] = 'LFEditor'; - } - } -} diff --git a/typo3conf/ext/lfeditor/Classes/Service/FileService.php b/typo3conf/ext/lfeditor/Classes/Service/FileService.php deleted file mode 100644 index b3cfd9f..0000000 --- a/typo3conf/ext/lfeditor/Classes/Service/FileService.php +++ /dev/null @@ -1,487 +0,0 @@ -setAbsPath($path); - $this->setRelFile($file); - $this->setAbsFile($this->absPath . '/' . $this->relFile); - } - - /** - * sets information - * - * structure: - * $infos["absPath"] = absolute path to an extension or file - * $infos["relFile"] = relative path with filename from "absPath" - * $infos["workspace"] = workspace (base or xll) - * $infos["fileType"] = file type (php or xml) - * $infos["localLang"] = language data - * $infos["originLang"] = origin language array - * $infos["meta"] = meta data - * - * @param array $informations - * @return void - */ - public function setVar($informations) { - // path and file information - if (!empty($informations['absPath'])) { - $this->absPath = Typo3Lib::fixFilePath($informations['absPath'] . '/'); - } - if (!empty($informations['relFile'])) { - $this->relFile = Typo3Lib::fixFilePath($informations['relFile']); - } - $this->absFile = $this->absPath . $this->relFile; - - // file type and workspace - if (!empty($informations['workspace'])) { - $this->workspace = $informations['workspace']; - } - if (!empty($informations['fileType'])) { - $this->fileType = $informations['fileType']; - } - - // data arrays - if (!count($this->localLang) && array_key_exists('localLang', $informations) && is_array($informations['localLang'])) { - $this->localLang = $informations['localLang']; - } - if (!count($this->originLang) && array_key_exists('originLang', $informations) && is_array($informations['originLang'])) { - $this->originLang = $informations['originLang']; - } - if (!count($this->meta) && array_key_exists('meta', $informations) && is_array($informations['meta'])) { - $this->meta = $informations['meta']; - } - } - - /** - * returns requested information - * - * @param string $info - * @return string - */ - public function getVar($info) { - $value = ''; - if ($info == 'relFile') { - $value = $this->relFile; - } elseif ($info == 'absPath') { - $value = $this->absPath; - } elseif ($info == 'absFile') { - $value = $this->absFile; - } elseif ($info == 'fileType') { - $value = $this->fileType; - } elseif ($info == 'workspace') { - $value = $this->workspace; - } - - return $value; - } - - /** - * returns language data - * - * @param string $langKey valid language key - * @return array language data - */ - public function getLocalLangData($langKey = '') { - if (empty($langKey)) { - return $this->localLang; - } - if (array_key_exists($langKey, $this->localLang) && is_array($this->localLang[$langKey])) { - return $this->localLang[$langKey]; - } - - return []; - } - - /** - * deletes or sets constants in local language data - * - * @param string $constant constant name (if empty an index number will be used) - * @param string $value new value (if empty the constant will be deleted) - * @param string $langKey language shortcut - * @param boolean $forceDel set to true, if you want delete default values too - * @return void - */ - public function setLocalLangData($constant, $value, $langKey, $forceDel = FALSE) { - if (!empty($value) || (($langKey === 'default' && !$forceDel))) { - if (!array_key_exists($langKey, $this->localLang) || $this->localLang[$langKey] === '') { - $this->localLang[$langKey] = []; - } - $this->localLang[$langKey][$constant] = $value; - } elseif (isset($this->localLang[$langKey][$constant])) { - if ($this->session->getDataByKey('editingMode') === 'override' && - isset($this->localLang[$langKey][$constant]) - ) { - $this->localLang[$langKey][$constant] = ""; - } else { - unset($this->localLang[$langKey][$constant]); - } - } - } - - /** - * returns origin - * - * @param string $langKey valid language key - * @return mixed an origin or full array - */ - public function getOriginLangData($langKey = '') { - if (empty($langKey)) { - return $this->originLang; - } else { - return $this->originLang[$langKey] ?? []; - } - } - - /** - * sets new origin of a given language - * - * @param string $origin new origin - * @param string $langKey language shortcut - * @return void - */ - public function setOriginLangData($origin, $langKey) { - if (!empty($origin)) { - $this->originLang[$langKey] = $origin; - } - } - - /** - * returns meta data - * - * @param string $metaIndex special meta index - * @return mixed meta data - */ - public function getMetaData($metaIndex = '') { - if (!empty($metaIndex)) { - return $this->meta[$metaIndex] ?? ''; - } else { - return $this->meta; - } - } - - /** - * deletes or sets constants in meta data - * - * @param string $metaIndex - * @param string $value new value (if empty the meta index will be deleted) - * @return void - */ - public function setMetaData($metaIndex, $value) { - if (!empty($value)) { - $this->meta[$metaIndex] = $value; - } elseif (isset($this->meta[$metaIndex])) { - unset($this->meta[$metaIndex]); - } - } - - /** - * writes language files - * - * @param array | NULL $editedLanguages - * @throws LFException raised if a file cant be written - * @return void - */ - public function writeFile($editedLanguages = NULL) { - // get prepared language files - $languageFiles = $this->prepareFileContents($editedLanguages); - $this->writeFilesWithContent($languageFiles); - } - - /** - * Writes the given files with the given content. - * - * Array structure: - * array ( - * '/var/www/file.xlf' => 'My content', - * ... - * ) - * - * @param array $files - * @throws LFException - * @return void - */ - public function writeFilesWithContent(array $files = []) { - // check write permissions of all files - foreach ($files as $file => $content) { - [$extensionNameFromFile, $extPrefixedPath] = Typo3Lib::getExtNameFromOverrideFile($file); - if (strpos($extensionNameFromFile, '-') !== FALSE) { - $file = str_replace( - $extensionNameFromFile, - str_replace('-', '_', $extensionNameFromFile), - $file - ); - } - if (!SgLib::checkWritePerms($file)) { - throw new LFException('failure.file.badPermissions'); - } - } - - // write files - foreach ($files as $file => $content) { - [$extensionNameFromFile, $extPrefixedPath] = Typo3Lib::getExtNameFromOverrideFile($file); - if (strpos($extensionNameFromFile, '-') !== FALSE) { - $file = str_replace( - $extensionNameFromFile, - str_replace('-', '_', $extensionNameFromFile), - $file - ); - } - if (!GeneralUtility::writeFile($file, $content)) { - throw new LFException('failure.file.notWritten'); - } - } - } - - /** - * Writes generator meta tag. - * - * @return void - */ - protected function addGeneratorString() { - $this->meta['generator'] = 'LFEditor'; - } - - /** - * Returns $absFile. - * - * @return string - */ - public function getAbsFile() { - return $this->absFile; - } - - /** - * Sets $absFile. - * - * @param string $absFile - * @return void - */ - public function setAbsFile($absFile) { - $this->absFile = $absFile; - } - - /** - * Returns $absPath - absolute path to an extension or file. - * - * @return string - */ - public function getAbsPath() { - return $this->absPath; - } - - /** - * Sets $absPath - absolute path to an extension or file. - * - * @param string $absPath - * @return void - */ - public function setAbsPath($absPath) { - $this->absPath = $absPath; - } - - /** - * Returns $fileType - * - * @return string - */ - public function getFileType() { - return $this->fileType; - } - - /** - * Sets $fileType. - * - * @param string $fileType - * @return void - */ - public function setFileType($fileType) { - $this->fileType = $fileType; - } - - /** - * Returns $locallang - * - * @return array - */ - public function getLocalLang() { - return $this->localLang; - } - - /** - * Sets $locallang. - * - * @param array $localLang - */ - public function setLocalLang(array $localLang) { - $this->localLang = $localLang; - } - - /** - * Returns meta data. - * - * @return array - */ - public function getMeta() { - return $this->meta; - } - - /** - * Sets meta data. - * - * @param array $meta - */ - public function setMeta(array $meta) { - $this->meta = $meta; - } - - /** - * Returns $originLang. - * - * @return array - */ - public function getOriginLang() { - return $this->originLang; - } - - /** - * Sets $originLang. - * - * @param array $originLang - */ - public function setOriginLang(array $originLang) { - $this->originLang = $originLang; - } - - /** - * Returns relFile - relative path with filename from "absPath". - * - * @return string - */ - public function getRelFile() { - return $this->relFile; - } - - /** - * Sets relFile - relative path with filename from "absPath". - * - * @param string $relFile - */ - public function setRelFile($relFile) { - $this->relFile = $relFile; - } - - /** - * Returns workspace. - * - * @return string - */ - public function getWorkspace() { - return $this->workspace; - } - - /** - * Sets workspace. - * - * @param string $workspace - */ - public function setWorkspace($workspace) { - $this->workspace = $workspace; - } -} diff --git a/typo3conf/ext/lfeditor/Classes/Service/LicensingService.php b/typo3conf/ext/lfeditor/Classes/Service/LicensingService.php deleted file mode 100644 index e524190..0000000 --- a/typo3conf/ext/lfeditor/Classes/Service/LicensingService.php +++ /dev/null @@ -1,125 +0,0 @@ - self::EXTENSION_KEY, - 'host' => GeneralUtility::getIndpEnv('HTTP_HOST'), - 'key' => $key - ]; - $params = \http_build_query($params); - $pingUrl = self::URL; - $pingUrl .= $params !== '' ? (\strpos($pingUrl, '?') === FALSE ? '?' : '&') . $params : ''; - if ($returnUrl) { - return $pingUrl; - } - - GeneralUtility::getUrl($pingUrl); - } catch (\Exception $exception) { - } - - return ''; - } - - /** - * Generates a random password string based on the configured password policies. - * - * @param ServerRequestInterface $request - * @param ResponseInterface $response - * @return ResponseInterface - * @throws \InvalidArgumentException - */ - public function ajaxPing(ServerRequestInterface $request, ResponseInterface $response = NULL) { - /** @var BackendUserAuthentication $backendUser */ - $backendUser = $GLOBALS['BE_USER']; - $moduleKey = 'tools_beuser/index.php/user-LfeditorLfeditor_pinged'; - if ($backendUser && !$backendUser->getModuleData($moduleKey, 'ses')) { - $backendUser->pushModuleData($moduleKey, TRUE); - self::ping(); - } - - if ($response === NULL) { - $response = new NullResponse(); - } - - return $response; - } -} diff --git a/typo3conf/ext/lfeditor/Classes/Service/SysLanguageService.php b/typo3conf/ext/lfeditor/Classes/Service/SysLanguageService.php deleted file mode 100644 index b4a79e9..0000000 --- a/typo3conf/ext/lfeditor/Classes/Service/SysLanguageService.php +++ /dev/null @@ -1,144 +0,0 @@ -getQueryBuilderForTable('sys_language'); - $queryBuilder = $queryBuilder->select('uid', 'title', 'flag') - ->from('sys_language') - ->groupBy('flag', 'uid'); - if ($uids !== NULL) { - $queryBuilder = $queryBuilder->where( - $queryBuilder->expr()->in( - 'uid', - $queryBuilder->createNamedParameter($uids, Connection::PARAM_INT_ARRAY) - ) - ); - } - - $rows = $queryBuilder->execute()->fetchAll(); - $sysLanguageList = []; - foreach ($rows as $row) { - $sysLanguageList[$row['flag']]['uid'] = $row['uid']; - $sysLanguageList[$row['flag']]['title'] = $row['title']; - } - - return $sysLanguageList; - } - - /** - * Initialises array of system languages from database. - */ - public function initSysLanguageList() { - if (!isset($this->sysLanguageList)) { - $this->sysLanguageList = $this->selectFromSysLanguageByUids(); - } - } - - /** - * Returns the iso reverse mapped flag language or the given value if nothing could be mapped. - * - * @param string $flag language acronym (iso language code, e.g.: 'de', 'da', 'fi'...) - * @return string - */ - public function doIsoReverseMapping($flag) { - $isoReverseMapping = $this->getIsoReverseMapping(); - $mappedFlag = isset($isoReverseMapping[$flag]) ? (string) $isoReverseMapping[$flag] : ''; - if ($mappedFlag !== '') { - $flag = $mappedFlag; - } - - return $flag; - } - - /** - * Returns system language id for given language acronym ($flag). - * If that language is not registered in system, function returns NULL. - * - * @param string $flag language acronym (iso language code, e.g.: 'de', 'da', 'fi'...) - * @return int|NULL - */ - public function getSysLanguageIdByFlag($flag) { - $this->initSysLanguageList(); - $flag = $this->doIsoReverseMapping($flag); - - // chinese seems to have a big mapping issue. In general it seems that the iso handling is currently more - // or less simply fucked up in TYPO3. Also it's possible that I don't get the bigger picture here. Who knows... - // Also note: Chinese isn't working without a default file in the override mode. - if ($flag === 'zh') { - $flag = 'cn'; - } - - if (!empty($this->sysLanguageList[$flag]['uid'])) { - return (int) $this->sysLanguageList[$flag]['uid']; - } - - return NULL; - } - - /** - * Returns the mapping between ISO language codes and TYPO3 (old) codes. - * - * @return array - */ - public function getIsoReverseMapping() { - if (!empty($this->isoReverseMapping)) { - return $this->isoReverseMapping; - } - - /** @var Locales $locales */ - $locales = GeneralUtility::makeInstance(Locales::class); - - $isoMapping = $locales->getIsoMapping(); - $this->isoReverseMapping = \array_flip($isoMapping); - return $this->isoReverseMapping; - } -} diff --git a/typo3conf/ext/lfeditor/Classes/Session/PhpSession.php b/typo3conf/ext/lfeditor/Classes/Session/PhpSession.php deleted file mode 100644 index 9ed52b4..0000000 --- a/typo3conf/ext/lfeditor/Classes/Session/PhpSession.php +++ /dev/null @@ -1,124 +0,0 @@ -sessionKey = uniqid('', TRUE); - } - - /** - * @param string $sessionKey - * @return void - */ - public function setSessionKey($sessionKey) { - $this->sessionKey = $sessionKey; - } - - /** - * Returns the current session key - * - * @return string - */ - public function getSessionKey() { - return $this->sessionKey; - } - - /** - * Exchanges the complete session data - * - * @param mixed $data - * @return void - */ - public function exchangeData($data) { - $this->destroy(); - $_SESSION[$this->sessionKey] = $data; - } - - /** - * Returns the complete session data - * - * @return mixed - */ - public function getData() { - return $_SESSION[$this->sessionKey]; - } - - /** - * Sets data inside the session below the given key - * - * @param string $key - * @param mixed $data - * @return void - */ - public function setDataByKey($key, $data) { - $_SESSION[$this->sessionKey][$key] = $data; - } - - /** - * Returns data of the session defined by the given key - * - * @param string $key - * @return mixed - */ - public function getDataByKey($key) { - return $_SESSION[$this->sessionKey][$key] ?? ''; - } - - /** - * Removes data defined by the given key. - * - * @param string $key - * @return void - */ - public function unsetDataByKey($key) { - unset($_SESSION[$this->sessionKey][$key]); - } - - /** - * Removes all session data - * - * @return void - */ - public function destroy() { - unset($_SESSION[$this->sessionKey]); - } -} diff --git a/typo3conf/ext/lfeditor/Classes/Utility/CdataSupportingSimpleXMLElement.php b/typo3conf/ext/lfeditor/Classes/Utility/CdataSupportingSimpleXMLElement.php deleted file mode 100644 index 3767c8d..0000000 --- a/typo3conf/ext/lfeditor/Classes/Utility/CdataSupportingSimpleXMLElement.php +++ /dev/null @@ -1,60 +0,0 @@ -ownerDocument; - $node->appendChild($no->createCDATASection($cdataText)); - } - - /** - * Create a child with CDATA value - * - * @param string $name The name of the child element to add. - * @param string $cdataText The CDATA value of the child element. - * @return CdataSupportingSimpleXMLElement - */ - public function addChildCData($name, $cdataText) { - /** @var CdataSupportingSimpleXMLElement $child */ - $child = $this->addChild($name); - if ($cdataText !== '') { - $child->addCData($cdataText); - } - return $child; - } -} diff --git a/typo3conf/ext/lfeditor/Classes/Utility/ExtensionUtility.php b/typo3conf/ext/lfeditor/Classes/Utility/ExtensionUtility.php deleted file mode 100644 index 4a0e585..0000000 --- a/typo3conf/ext/lfeditor/Classes/Utility/ExtensionUtility.php +++ /dev/null @@ -1,46 +0,0 @@ - - */ -class ExtensionUtility { - /** - * Get the extension configuration - * - * @return array - */ - public static function getExtensionConfiguration(): array { - return $GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['lfeditor'] ?? []; - } -} diff --git a/typo3conf/ext/lfeditor/Classes/Utility/Functions.php b/typo3conf/ext/lfeditor/Classes/Utility/Functions.php deleted file mode 100644 index 72c60eb..0000000 --- a/typo3conf/ext/lfeditor/Classes/Utility/Functions.php +++ /dev/null @@ -1,400 +0,0 @@ - $extPaths) { - if (!is_array($extPaths) || !count($extPaths)) { - continue; - } - - unset($prepArray); - foreach ($extPaths as $extPath) { - $prepArray[$extPath] = basename($extPath); - } - ksort($prepArray); - $myArray = array_merge($myArray, ['###extensionGroup###' . $header => $header], $prepArray); - } - return $myArray; - } - - /** - * searches extensions in a given path - * - * Modes for $state: - * 0 - loaded and unloaded - * 1 - only loaded - * 2 - only unloaded - * - * @param string $path path - * @param integer $state optional: extension state to ignore (see above) - * @param string $extIgnoreRegExp optional: directories to ignore (regular expression; pcre with slashes) - * @param string $extWhitelistRegExp optional: keep only those directories (regular expression; pcre with slashes) - * @return array result of the search - * @throws Exception raised, if the given path cant be opened for reading - */ - public static function searchExtensions($path, $state = 0, $extIgnoreRegExp = '', $extWhitelistRegExp = '') { - if (!@$fhd = opendir($path)) { - throw new Exception('cant open "' . $path . '"'); - } - - $path = rtrim($path, '/'); - $extArray = []; - while ($extDir = readdir($fhd)) { - $extDirPath = $path . '/' . $extDir; - - // ignore all unless the file is a directory and no point dir - if (!is_dir($extDirPath) || preg_match('/^\.{1,2}$/', $extDir)) { - continue; - } - - // check, if the directory/extension should be saved - if (preg_match($extIgnoreRegExp, $extDir)) { - continue; - } - - // check, if the directory/extension should be saved - if ($extWhitelistRegExp !== '' && !preg_match($extWhitelistRegExp, $extDir)) { - continue; - } - - // state filter - if ($state) { - $extState = (int) ExtensionManagementUtility::isLoaded($extDir); - if (($extState && $state == 2) || (!$extState && $state == 1)) { - continue; - } - } - - $extArray[] = $extDirPath; - } - closedir($fhd); - - return $extArray; - } - - /** - * prepares a given language string for section output - * - * @param string $value language string - * @return string prepared output in sections - */ - public static function prepareSectionName($value) { - return html_entity_decode(LocalizationUtility::translate($value, 'lfeditor')); - } - - /** - * checks and returns given languages or TYPO3 language list if the given content was empty - * - * @param array $languages optional: some language shortcuts - * @return array language list - */ - public static function buildLangArray($languages = NULL) { - if (!is_array($languages) || !count($languages)) { - return SgLib::getSystemLanguages(); - } else { - return $languages; - } - } - - /** - * generates output for a diff between the backup and original file - * - * Note that the generated diff will be an array with a normal structure like - * any language content array. - * - * Modes of diffType: - * - all changes at the original since the backup was done (0) - * - only changes at the original (1) - * - only changes at the backup (2) - * - * @param integer $diffType see above for available modes - * @param array $origLang original language data - * @param array $backupLocalLang backup language data - * @return mixed generated diff - */ - public static function getBackupDiff($diffType, $origLang, $backupLocalLang) { - // get all languages and generate the diff - $langKeys = array_merge(array_keys($origLang), array_keys($backupLocalLang)); - $diff = []; - foreach ($langKeys as $langKey) { - // prevent warnings - if (!is_array($origLang[$langKey])) { - $origLang[$langKey] = []; - } - if (!is_array($backupLocalLang[$langKey])) { - $backupLocalLang[$langKey] = []; - } - $origDiff[$langKey] = []; - $backupDiff[$langKey] = []; - - // generate diff - if (!$diffType || $diffType == 1) { - $origDiff[$langKey] = array_diff_assoc($origLang[$langKey], $backupLocalLang[$langKey]); - } - if (!$diffType || $diffType == 2) { - $backupDiff[$langKey] = array_diff_assoc( - $backupLocalLang[$langKey], - $origLang[$langKey] - ); - } - $diff[$langKey] = array_merge($origDiff[$langKey], $backupDiff[$langKey]); - } - return $diff; - } - - /** - * generates output for a meta diff between the backup and original file - * - * Note that the generated diff will be an array with a normal structure like - * any meta content array. - * - * Modes of diffType: - * - all changes at the original since the backup was done (0) - * - only changes at the original (1) - * - only changes at the backup (2) - * - * @param integer $diffType see above for available modes - * @param array $origMeta original meta data - * @param array $backupMeta backup meta data - * @return mixed generated diff - */ - public static function getMetaDiff($diffType, $origMeta, $backupMeta) { - $origDiff = []; - $backupDiff = []; - - if (!$diffType || $diffType == 1) { - $origDiff = array_diff_assoc($origMeta, $backupMeta); - } - if (!$diffType || $diffType == 2) { - $backupDiff = array_diff_assoc($backupMeta, $origMeta); - } - - if ($diffType == 1) { - return $origDiff; - } elseif ($diffType == 2) { - return $backupDiff; - } else { - return array_merge($origDiff, $backupDiff); - } - } - - /** - * generates a general information array - * - * @param string $refLang reference language - * @param array $languages language key array - * @param FileBasePHPService $fileObj file object - * @return array general information array - * @see outputGeneral() - */ - public static function genGeneralInfoArray($refLang, $languages, $fileObj) { - $numTranslated = []; - // reference language data information - $localRefLangData = $fileObj->getLocalLangData($refLang); - - // generate needed data - $infos = []; - foreach ($languages as $langKey) { - // get origin data and meta information - $origin = $fileObj->getOriginLangData($langKey); - $infos['default']['meta'] = $fileObj->getMetaData(); - - // language data - $localLangData = $fileObj->getLocalLangData($langKey); - - // detailed constants information - $infos[$langKey]['numUntranslated'] = - count(array_diff_key($localRefLangData, $localLangData)); - $infos[$langKey]['numUnknown'] = - count(array_diff_key($localLangData, $localRefLangData)); - $infos[$langKey]['numTranslated'] = - count(array_intersect_key($localLangData, $localRefLangData)); - - // set origin - try { - $infos[$langKey]['origin'] = '[-]'; - if (!empty($origin)) { - $infos[$langKey]['origin'] = Typo3Lib::transTypo3File($origin, FALSE); - } - } catch (Exception $e) { - $pathSite = Environment::getPublicPath() . '/'; - $infos[$langKey]['origin'] = SgLib::trimPath($pathSite, $origin); - } - } - - // Sort by numTranslated DESC - foreach ($infos as $key => $row) { - $numTranslated[$key] = $row['numTranslated']; - } - array_multisort($numTranslated, SORT_DESC, $infos); - - return $infos; - } - - /** - * generates a tree information array - * - * structure: - * tree[dimension][branch]['name'] = name of constant - * tree[dimension][branch]['type'] = type of constant (0=>normal;1=>untranslated;2=>unknown) - * tree[dimension][branch]['parent'] = parentOfBranch (absConstName) - * tree[dimension][branch]['childs'] = amount of children - * - * @param array $langData language data (only one language) - * @param array $refLang reference data (only reference language) - * @param string $expToken explode token - * @return array tree information array - */ - public static function genTreeInfoArray($langData, $refLang, $expToken) { - // reference language - $refConsts = []; - if (is_array($refLang) && count($refLang)) { - $refConsts = array_keys($refLang); - } - $langConsts = array_merge(array_keys($langData), $refConsts); - - // generate tree information array - $curAbsName = ''; - $tree = []; - foreach ($langConsts as $constant) { - // add root - $tree[0]['Root']['name'] = 'Root'; - - // get type - $type = 0; // normal - if (!in_array($constant, $refConsts)) { - $type = 2; - } // unknown - elseif (empty($langData[$constant])) { - $type = 1; - } // untranslated - - $branches = explode($expToken, $constant); - $numBranches = is_countable($branches) ? count($branches) : 0; - for ($i = 0, $curDim = 1; $i < $numBranches; ++$i, ++$curDim) { - // get current absolute constant name - if (!$i) { - $curAbsName = $branches[$i]; - } else { - $curAbsName .= $expToken . $branches[$i]; - } - - if (isset($tree[$curDim][$curAbsName]['name'])) { - continue; - } - - // add branch - $tree[$curDim][$curAbsName]['name'] = $branches[$i]; - $tree[$curDim][$curAbsName]['type'] = $type; - - // set parent - if ($i > 0) { - $parentAbsName = substr($curAbsName, 0, strrpos($curAbsName, (string) $expToken)); - } else { - $parentAbsName = 'Root'; - } - $tree[$curDim][$curAbsName]['parent'] = $parentAbsName; - if (array_key_exists('childs', $tree[$curDim - 1][$parentAbsName])) { - ++$tree[$curDim - 1][$parentAbsName]['childs']; - } else { - $tree[$curDim - 1][$parentAbsName]['childs'] = 1; - } - } - } - return $tree; - } - - /** - * get best explode token of a given language data - * - * @param string $curToken current token - * @param array $langData some test language data - * @return string new token - */ - public static function getExplodeToken($curToken, $langData) { - $ascii = []; - // get current token - if (!empty($curToken)) { - return $curToken; - } - - // return default token, if no test data found - if (!is_array($langData) || !count($langData)) { - return '.'; - } - - // get ascii codes (possible explode values) - $ascii['.'] = ord('.'); - $ascii['_'] = ord('_'); - - // get best possible character of the default language - $defKeys = array_keys($langData); - $numKeys = count($defKeys); - $maxTestCount = ($numKeys >= 10) ? 10 : $numKeys; - $counts = []; - for ($i = 0; $i < $maxTestCount; ++$i) { - $curCounts = count_chars($defKeys[$i], 1); - foreach ($ascii as $sign) { - $counts[$sign] += $curCounts[$sign]; - } - } - - // get curToken - foreach ($counts as $sign => $curCounts) { - if ($curCounts > $counts[$curToken]) { - $curToken = $sign; - } - } - - return chr($curToken); - } -} diff --git a/typo3conf/ext/lfeditor/Classes/Utility/SgLib.php b/typo3conf/ext/lfeditor/Classes/Utility/SgLib.php deleted file mode 100644 index 452866c..0000000 --- a/typo3conf/ext/lfeditor/Classes/Utility/SgLib.php +++ /dev/null @@ -1,349 +0,0 @@ -= 9) { - return $fileArray; - } - - // open directory - if (!$fhd = @opendir($path)) { - throw new Exception('directory "' . $path . '" cant be read'); - } - - // iterate through the directory entries - while ($file = readdir($fhd)) { - $filePath = $path . '/' . $file; - - // ignore links and special directories (. and ..) - if (preg_match('/^\.{1,2}$/', $file) || is_link($filePath)) { - continue; - } - - // if it's a file and not excluded by the search filter, we can add it - // to the file array - if (is_file($filePath)) { - if ($searchRegex == '') { - $fileArray[] = $filePath; - } elseif (preg_match($searchRegex, $file)) { - $fileArray[] = $filePath; - } - - continue; - } - - // next dir - if (is_dir($filePath)) { - $fileArray = array_merge( - $fileArray, - (array) SgLib::searchFiles($filePath, $searchRegex, $pathDepth + 1) - ); - } - } - closedir($fhd); - - return $fileArray; - } - - /** - * Returns all available system languages defined in TYPO3 - * - * @return array - */ - public static function getSystemLanguages() { - /** @var Locales $locales */ - $locales = GeneralUtility::makeInstance(\TYPO3\CMS\Core\Localization\Locales::class); - $availableLanguageKeys = $locales->getLocales(); - - foreach ($availableLanguageKeys as $index => $language) { - if ($language === 'default') { - $availableLanguageKeys[$index] = 'default'; - break; - } - } - return $availableLanguageKeys; - } - - /** - * Convert special HTML characters to HTML entities, but ignores CDATA section. - * - * @param string $value - * @return string - */ - public static function htmlSpecialCharsIgnoringCdata($value) { - $cdataStart = strpos($value, ''); - if ($cdataStart !== FALSE && $cdataEnd !== FALSE) { - $cdataEnd += 3; - $valueBefore = substr($value, 0, $cdataStart); - $cdataValue = substr($value, $cdataStart, $cdataEnd - $cdataStart); - $valueAfter = substr($value, $cdataEnd, strlen($value) - $cdataEnd); - $value = htmlspecialchars($valueBefore) . '<![CDATA[' . $cdataValue . ']]>' - . htmlspecialchars($valueAfter); - } else { - $value = htmlspecialchars($value); - } - return $value; - } - - /** - * Checks if CDATA tag exists in string. - * - * @param string $value - * @return bool - */ - public static function checkForCdataInString($value) { - $cdataStart = strpos($value, ''); - return ($cdataStart !== FALSE && $cdataEnd !== FALSE); - } - - /** - * Writes at end of PHP file, just before php closing tag or at the end of file if php closing tag does not exist. - * If specified file does not exist, it will be crated. - * - * @param string $filePath - * @param string $lineToAdd - * @return void - */ - public static function appendToPHPFile($filePath, $lineToAdd) { - if (!is_file($filePath)) { - $emptyPhpFileContent = ''; - file_put_contents($filePath, $emptyPhpFileContent); - } - $configuration = file_get_contents($filePath); - if ($configuration === FALSE) { - return; - } - $phpEndTagPosition = strrpos($configuration, '?>'); - if ($phpEndTagPosition) { - $configuration = substr($configuration, 0, $phpEndTagPosition); - } else { - $configuration .= chr(0x0A); - } - $configuration .= chr(0x09) . $lineToAdd; - if ($phpEndTagPosition) { - $configuration .= chr(0x0A) . '?>'; - } - file_put_contents($filePath, $configuration); - } - - /** - * Compares two strings ignoring \r character and seeing \n as <br /> in first string. - * - * @param array|string $string1 - * @param string $string2 - * @return bool - */ - public static function strCmpIgnoreCR($string1, $string2) { - return is_string($string1) && str_replace("\r", '', $string1) === $string2; - } - - /** - * Changes meta tag '@attributes' to 'attributes', if it exists. - * - * @param array $origMeta - */ - public static function fixMetaAttributes(array &$origMeta) { - if (isset($origMeta['@attributes'])) { - $origMeta['attributes'] = $origMeta['@attributes']; - unset($origMeta['@attributes']); - } - } -} diff --git a/typo3conf/ext/lfeditor/Classes/Utility/Typo3Lib.php b/typo3conf/ext/lfeditor/Classes/Utility/Typo3Lib.php deleted file mode 100644 index 46f3f15..0000000 --- a/typo3conf/ext/lfeditor/Classes/Utility/Typo3Lib.php +++ /dev/null @@ -1,186 +0,0 @@ -absRefPrefix !== '') { - $baseUrl = $GLOBALS['TSFE']->absRefPrefix; - } else { - $baseUrl = $GLOBALS['TSFE']->baseUrl; - } - - return $baseUrl; - } -} diff --git a/typo3conf/ext/lfeditor/Classes/ViewHelpers/AddCssFileViewHelper.php b/typo3conf/ext/lfeditor/Classes/ViewHelpers/AddCssFileViewHelper.php deleted file mode 100644 index 820991e..0000000 --- a/typo3conf/ext/lfeditor/Classes/ViewHelpers/AddCssFileViewHelper.php +++ /dev/null @@ -1,54 +0,0 @@ - - */ -class AddCssFileViewHelper extends AbstractViewHelper { - /** - * Register the ViewHelper arguments - */ - public function initializeArguments() { - parent::initializeArguments(); - $this->registerArgument('cssFile', 'string', 'The css file to include', TRUE); - } - - /** - * Adds a custom css file - * - * @return void - */ - public function render() { - $cssFile = (\TYPO3\CMS\Core\Http\ApplicationType::fromRequest($GLOBALS['TYPO3_REQUEST'])->isFrontend() ? $this->getBaseUrl() : '') . $this->arguments['cssFile']; - $this->getPageRenderer()->addCssFile($cssFile, 'stylesheet', 'all', '', FALSE); - } -} diff --git a/typo3conf/ext/lfeditor/Classes/ViewHelpers/AddJavaScriptFileViewHelper.php b/typo3conf/ext/lfeditor/Classes/ViewHelpers/AddJavaScriptFileViewHelper.php deleted file mode 100644 index ca17424..0000000 --- a/typo3conf/ext/lfeditor/Classes/ViewHelpers/AddJavaScriptFileViewHelper.php +++ /dev/null @@ -1,54 +0,0 @@ - - */ -class AddJavaScriptFileViewHelper extends AbstractViewHelper { - /** - * Register the ViewHelper arguments - */ - public function initializeArguments() { - parent::initializeArguments(); - $this->registerArgument('javaScriptFile', 'string', 'The JavaScript file to include', TRUE); - } - - /** - * Adds a custom javascript file - * - * @return void - */ - public function render() { - $javaScriptFile = (\TYPO3\CMS\Core\Http\ApplicationType::fromRequest($GLOBALS['TYPO3_REQUEST'])->isFrontend() ? $this->getBaseUrl() : '') . $this->arguments['javaScriptFile']; - $this->getPageRenderer()->addJsFile($javaScriptFile); - } -} diff --git a/typo3conf/ext/lfeditor/Classes/ViewHelpers/Be/Menus/ActionMenuOptionGroupViewHelper.php b/typo3conf/ext/lfeditor/Classes/ViewHelpers/Be/Menus/ActionMenuOptionGroupViewHelper.php deleted file mode 100644 index 9d7e55d..0000000 --- a/typo3conf/ext/lfeditor/Classes/ViewHelpers/Be/Menus/ActionMenuOptionGroupViewHelper.php +++ /dev/null @@ -1,55 +0,0 @@ -tagName = 'optgroup'; - $this->registerUniversalTagAttributes(); - $this->registerTagAttribute('label', 'string', 'Specifies a label for an option-group'); - $this->registerTagAttribute('disabled', 'string', 'Specifies that an option-group should be disabled'); - } - - /** - * @return string - */ - public function render() { - $this->tag->setContent($this->renderChildren()); - return $this->tag->render(); - } -} diff --git a/typo3conf/ext/lfeditor/Classes/ViewHelpers/Be/Menus/ActionMenuViewHelper.php b/typo3conf/ext/lfeditor/Classes/ViewHelpers/Be/Menus/ActionMenuViewHelper.php deleted file mode 100644 index 71e83cf..0000000 --- a/typo3conf/ext/lfeditor/Classes/ViewHelpers/Be/Menus/ActionMenuViewHelper.php +++ /dev/null @@ -1,121 +0,0 @@ - - * - * - * - * - * - * - * - * Selectbox with the options "Overview", "Create new Blog" and "List Posts" - * - * - * - * - * - * - * - * - * - * localized selectbox - * - */ -class ActionMenuViewHelper extends AbstractTagBasedViewHelper { - /** - * @var string - */ - protected $tagName = 'select'; - - /** - * An array of \TYPO3\CMS\Fluid\Core\Parser\SyntaxTree\AbstractNode - * - * @var array - */ - protected $childNodes = []; - - /** - * Initialize arguments. - * - * @return void - * @throws \TYPO3Fluid\Fluid\Core\ViewHelper\Exception - */ - public function initializeArguments(): void { - parent::initializeArguments(); - $this->registerArgument('defaultController', 'string', 'defaultController'); - } - - /** - * Render FunctionMenu - * - * @return string - */ - public function render(): string { - $this->tag->addAttribute('onchange', 'jumpToUrl(this.options[this.selectedIndex].value, this);'); - $options = ''; - foreach ($this->childNodes as $childNode) { - $options .= $childNode->evaluate($this->renderingContext); - } - $this->tag->setContent($options); - return $this->tag->render(); - } - - /** - * @param string $argumentsName - * @param string $closureName - * @param string $initializationPhpCode - * @param ViewHelperNode $node - * @param TemplateCompiler $compiler - * @return string - */ - public function compile( - $argumentsName, - $closureName, - &$initializationPhpCode, - ViewHelperNode $node, - TemplateCompiler $compiler - ) { - // @TODO: replace with a true compiling method to make compilable! - $compiler->disable(); - /** @noinspection PhpUnreachableStatementInspection */ - return ''; - } -} diff --git a/typo3conf/ext/lfeditor/Classes/ViewHelpers/InlineLanguageLabelsViewHelper.php b/typo3conf/ext/lfeditor/Classes/ViewHelpers/InlineLanguageLabelsViewHelper.php deleted file mode 100644 index 582abcb..0000000 --- a/typo3conf/ext/lfeditor/Classes/ViewHelpers/InlineLanguageLabelsViewHelper.php +++ /dev/null @@ -1,90 +0,0 @@ - - */ -class InlineLanguageLabelsViewHelper extends AbstractViewHelper { - public function initializeArguments() { - parent::initializeArguments(); - $this->registerArgument('labels', 'mixed', 'Comma separated list of label keys to include', FALSE, []); - $this->registerArgument('htmlEscape', 'bool', 'Escape the output', FALSE, FALSE); - } - - /** - * Renders the required javascript to make the language labels available - * - * @return string - */ - public function render(): string { - $labels = $this->arguments['labels']; - $htmlEscape = $this->arguments['htmlEscape']; - $controllerContext = $this->renderingContext->getControllerContext(); - $extensionName = $controllerContext->getRequest()->getControllerExtensionName(); - if (\is_string($labels)) { - $labels = GeneralUtility::trimExplode(',', $labels, TRUE); - } - - if (!\is_array($labels)) { - throw new \InvalidArgumentException( - 'The argument "labels" was registered with type "array|string", but is of type "' . - \gettype($labels) . '" in view helper "' . \get_class($this) . '".', - 1256475113 - ); - } - - $languageArray = []; - foreach ($labels as $key) { - $value = LocalizationUtility::translate($key, $extensionName); - $languageArray[$key] = ($htmlEscape ? \htmlentities($value) : $value); - } - - $javascriptCode = ' - var AY = AY || {}; - AY.lang = AY.lang || {}; - AY.lang.' . $extensionName . ' = AY.lang.' . $extensionName . ' || {}; - var languageLabels = ' . \json_encode($languageArray) . '; - for (label in languageLabels) { - AY.lang.' . $extensionName . '[label] = languageLabels[label]; - } - '; - - $this->getPageRenderer()->addJsInlineCode($extensionName, $javascriptCode); - return ''; - } -} diff --git a/typo3conf/ext/lfeditor/Configuration/Backend/AjaxRoutes.php b/typo3conf/ext/lfeditor/Configuration/Backend/AjaxRoutes.php deleted file mode 100644 index e2efc76..0000000 --- a/typo3conf/ext/lfeditor/Configuration/Backend/AjaxRoutes.php +++ /dev/null @@ -1,8 +0,0 @@ - [ - 'path' => '/lfeditor/ajaxPing', - 'target' => SGalinski\Lfeditor\Service\LicensingService::class . '::ajaxPing', - ] -]; diff --git a/typo3conf/ext/lfeditor/Configuration/TCA/Overrides/be_users.php b/typo3conf/ext/lfeditor/Configuration/TCA/Overrides/be_users.php deleted file mode 100644 index 41794f9..0000000 --- a/typo3conf/ext/lfeditor/Configuration/TCA/Overrides/be_users.php +++ /dev/null @@ -1,58 +0,0 @@ - [ - 'exclude' => TRUE, - 'label' => 'LLL:EXT:lfeditor/Resources/Private/Language/locallang_mod.xlf:mlang_tabs_tab', - 'config' => [ - 'type' => 'check', - 'items' => [ - '1' => [ - '0' => 'LLL:EXT:lfeditor/Resources/Private/Language/locallang_mod.xlf:settings_canChangeEditingMode' - ] - ] - ], - 'displayCond' => 'FIELD:admin:REQ:FALSE', - ] -]; - -\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes( - 'be_users', - 'lfeditor_change_editing_modes', - '', - 'after:allowed_languages' -); - -\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('be_users', $fieldDefinition); - -\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addFieldsToPalette( - 'be_users', - 'lfeditor', - 'lfeditor_change_editing_modes', - 'after:allowed_languages' -); diff --git a/typo3conf/ext/lfeditor/Documentation/Configuration/Index.rst b/typo3conf/ext/lfeditor/Documentation/Configuration/Index.rst deleted file mode 100644 index b59e4df..0000000 --- a/typo3conf/ext/lfeditor/Documentation/Configuration/Index.rst +++ /dev/null @@ -1,28 +0,0 @@ -.. ================================================== -.. FOR YOUR INFORMATION -.. -------------------------------------------------- -.. -*- coding: utf-8 -*- with BOM. - -Configuration -------------- - -================ ========================================================================== ============================ -Name Description Default value -================ ========================================================================== ============================ -viewLanguages List of languages which will be available in the extension - - (comma separated short names e.g. da, de, fi). - If field is empty all languages will be used (Warning: very long list!). - Default language is always included. -defaultLanguage If 'en' is not default language in TYPO3 BE, - - default language must be defined here (e.g. de). If this field is empty, - English is used as default. -extIgnore Regular expression which limits the extension key list. /^(CVS|.svn|.git|csh_)/ -extWhitelist Regular expression which restricts the extension key list. - -changeXlfDate If set to TRUE, LFEditor will change the date in XLF files on each change. 1 -================ ========================================================================== ============================ - -Administrator can choose which backend users can save localization changes directly to extensions, -by selecting checkbox "The user can save localization changes directly to extensions?" when editing non-admin BE user. -The box is located in "Access Rights" tab, just after "Limit to languages" section of non-admin BE user. -Backend users who don't have this check box selected will be in override mode by default, -and they can't switch to another mode. diff --git a/typo3conf/ext/lfeditor/Documentation/EditingModes/Index.rst b/typo3conf/ext/lfeditor/Documentation/EditingModes/Index.rst deleted file mode 100644 index 184dec1..0000000 --- a/typo3conf/ext/lfeditor/Documentation/EditingModes/Index.rst +++ /dev/null @@ -1,55 +0,0 @@ -.. ================================================== -.. FOR YOUR INFORMATION -.. -------------------------------------------------- -.. -*- coding: utf-8 -*- with BOM. - -Editing modes -------------- - -There are three editing modes: - -- Extension mode -- l10n mode -- Override mode - -They can be chosen from rightmost select menu on top of the screen. -The select menu is visible only for administrators. If user is not admin, than override mode is chosen by default. -For administrators, default is extension mode. - -Extension mode -^^^^^^^^^^^^^^ - -This mode is useful for extension developers because in this mode, LFEditor edits extension files directly. - -Even if copies of extension files exist in l10n folder, or extension files are overridden, -user will still edit extension files only. - -l10n mode -^^^^^^^^^ - -This mode is similar to extension mode, but only difference is that l10n directory has higher priority than -extension directory. This means that if there is a copy of the language file in l10n folder (e.g. de.locallang), -that copy will be edited instead of original extension file. If there is no corresponding file in l10n folder, -original file will be edited. - -Here are some of characteristics of l10n mode: - -- Files can't be moved to l10n folder by LFE. They can be edited if they already exist in l10n folder. -- Merging/splitting is not allowed in l10n mode. -- Renaming of constant will make renaming in main lang file (e.g. ext/.../locallang) and in all sub-files in l10n (e.g. l10n/.../de.locallang) and in ext folder (if those files from ext folder don't have duplicate in l10n folder( e.g. ext/.../fi.locallang)). Consequence of this is file ext/.../de.locallang having old constant name. -- Delete and add file work similar like rename in l10n mode. - -Override mode -^^^^^^^^^^^^^ - -Purpose of this mode is making translations resistant to changes in extension -(e.g. when extension updates, translations will be preserved). Thus, this mode is useful for translators, -and it is set as default and only mode for non-admin users. - -- Whenever user makes any change in some language file, only changed constants (or meta data) will be saved in corresponding language file in 'typo3conf\LFEditor\OverrideFiles'. - -- When reading language file, LFEditor is first reading constants from files in override folder, then it reads rest of constants from l10n folder (if there is corresponding file in l10n folder), and then reads from ext folder (if there was no file in l10n folder). - -.. important:: - All the changes (edit/add/delete/rename constant) to language file will be saved in override files only. - Original extension files will stay unchanged. \ No newline at end of file diff --git a/typo3conf/ext/lfeditor/Documentation/Images/InsertionModes/TinyMCE.png b/typo3conf/ext/lfeditor/Documentation/Images/InsertionModes/TinyMCE.png deleted file mode 100644 index 70830a4..0000000 Binary files a/typo3conf/ext/lfeditor/Documentation/Images/InsertionModes/TinyMCE.png and /dev/null differ diff --git a/typo3conf/ext/lfeditor/Documentation/Images/MainMenuOptions/AddConstant/AddConstant.png b/typo3conf/ext/lfeditor/Documentation/Images/MainMenuOptions/AddConstant/AddConstant.png deleted file mode 100644 index bce5e89..0000000 Binary files a/typo3conf/ext/lfeditor/Documentation/Images/MainMenuOptions/AddConstant/AddConstant.png and /dev/null differ diff --git a/typo3conf/ext/lfeditor/Documentation/Images/MainMenuOptions/DeleteConstant/DeleteConstant.png b/typo3conf/ext/lfeditor/Documentation/Images/MainMenuOptions/DeleteConstant/DeleteConstant.png deleted file mode 100644 index bb135b8..0000000 Binary files a/typo3conf/ext/lfeditor/Documentation/Images/MainMenuOptions/DeleteConstant/DeleteConstant.png and /dev/null differ diff --git a/typo3conf/ext/lfeditor/Documentation/Images/MainMenuOptions/EditConstant/EditConstant.png b/typo3conf/ext/lfeditor/Documentation/Images/MainMenuOptions/EditConstant/EditConstant.png deleted file mode 100644 index 6c06c07..0000000 Binary files a/typo3conf/ext/lfeditor/Documentation/Images/MainMenuOptions/EditConstant/EditConstant.png and /dev/null differ diff --git a/typo3conf/ext/lfeditor/Documentation/Images/MainMenuOptions/EditFile/EditFile.png b/typo3conf/ext/lfeditor/Documentation/Images/MainMenuOptions/EditFile/EditFile.png deleted file mode 100644 index 2dc9d62..0000000 Binary files a/typo3conf/ext/lfeditor/Documentation/Images/MainMenuOptions/EditFile/EditFile.png and /dev/null differ diff --git a/typo3conf/ext/lfeditor/Documentation/Images/MainMenuOptions/General/General.png b/typo3conf/ext/lfeditor/Documentation/Images/MainMenuOptions/General/General.png deleted file mode 100644 index 266e012..0000000 Binary files a/typo3conf/ext/lfeditor/Documentation/Images/MainMenuOptions/General/General.png and /dev/null differ diff --git a/typo3conf/ext/lfeditor/Documentation/Images/MainMenuOptions/MainMenu.png b/typo3conf/ext/lfeditor/Documentation/Images/MainMenuOptions/MainMenu.png deleted file mode 100644 index daaa634..0000000 Binary files a/typo3conf/ext/lfeditor/Documentation/Images/MainMenuOptions/MainMenu.png and /dev/null differ diff --git a/typo3conf/ext/lfeditor/Documentation/Images/MainMenuOptions/ManageBackups/ManageBackups.png b/typo3conf/ext/lfeditor/Documentation/Images/MainMenuOptions/ManageBackups/ManageBackups.png deleted file mode 100644 index b389da5..0000000 Binary files a/typo3conf/ext/lfeditor/Documentation/Images/MainMenuOptions/ManageBackups/ManageBackups.png and /dev/null differ diff --git a/typo3conf/ext/lfeditor/Documentation/Images/MainMenuOptions/RenameConstant/RenameConstant.png b/typo3conf/ext/lfeditor/Documentation/Images/MainMenuOptions/RenameConstant/RenameConstant.png deleted file mode 100644 index 2cbe34d..0000000 Binary files a/typo3conf/ext/lfeditor/Documentation/Images/MainMenuOptions/RenameConstant/RenameConstant.png and /dev/null differ diff --git a/typo3conf/ext/lfeditor/Documentation/Images/MainMenuOptions/SearchConstant/SearchConstant.png b/typo3conf/ext/lfeditor/Documentation/Images/MainMenuOptions/SearchConstant/SearchConstant.png deleted file mode 100644 index 22826b6..0000000 Binary files a/typo3conf/ext/lfeditor/Documentation/Images/MainMenuOptions/SearchConstant/SearchConstant.png and /dev/null differ diff --git a/typo3conf/ext/lfeditor/Documentation/Images/MainMenuOptions/ViewTree/ViewTree.png b/typo3conf/ext/lfeditor/Documentation/Images/MainMenuOptions/ViewTree/ViewTree.png deleted file mode 100644 index a873374..0000000 Binary files a/typo3conf/ext/lfeditor/Documentation/Images/MainMenuOptions/ViewTree/ViewTree.png and /dev/null differ diff --git a/typo3conf/ext/lfeditor/Documentation/Index.rst b/typo3conf/ext/lfeditor/Documentation/Index.rst deleted file mode 100644 index a277df2..0000000 --- a/typo3conf/ext/lfeditor/Documentation/Index.rst +++ /dev/null @@ -1,60 +0,0 @@ -.. ================================================== -.. FOR YOUR INFORMATION -.. -------------------------------------------------- -.. -*- coding: utf-8 -*- with BOM. - -.. _start: - -============ -EXT:lfeditor -============ - -.. only:: html - - :Classification: - lfeditor - - :Author: - Stefan Galinski, Damjan Komlenac - - :Version: - |release| - - :Language: - en - - :Description: - This extension serves several functions for editing of language files (edit/rename/add/delete) - and supports XLF, XML, PHP language file formats. - The extension differs between editors and administrators with appropriate privileges. - Normal users are allowed to edit only languages for which they have permission. - Content of l10n folder can be edited and typo3 override feature is supported by this extension. - - :Keywords: - localization, translation, language file, locallang, xlf - - :Email: - stefan@sgalinski.de - - :License: - This document is published under the Open Content License - available from http://www.opencontent.org/opl.shtml - - :Rendered: - |today| - - The content of this document is related to TYPO3, - a GNU/GPL CMS/Framework available from `www.typo3.org `_. - -**Table of Contents** - -.. toctree:: - :maxdepth: 2 - :titlesonly: - :glob: - - Introduction/Index - MainMenuOptions/Index - EditingModes/Index - Configuration/Index - KnownProblemsAndHints/Index diff --git a/typo3conf/ext/lfeditor/Documentation/Introduction/Index.rst b/typo3conf/ext/lfeditor/Documentation/Introduction/Index.rst deleted file mode 100644 index 45c200c..0000000 --- a/typo3conf/ext/lfeditor/Documentation/Introduction/Index.rst +++ /dev/null @@ -1,29 +0,0 @@ -.. ================================================== -.. FOR YOUR INFORMATION -.. -------------------------------------------------- -.. -*- coding: utf-8 -*- with BOM. - -Introduction ------------- - -LFEditor TYPO3 extension makes editing of language files fast and easy. -It allows editing, renaming, adding and deleting of language constant and -gives a good overview of your language files. The TYPO3 language file override feature is supported. -Users can override existing language files of extensions and even of the TYPO3 environment, -making their translations independent of the original extensions and resistant to extension updates. - -Features: -""""""""" - -* Supported language file formats: XLF (preferred), XML (most stable) and PHP (outdated) -* Conversion of formats -* Splitting and merging of language files -* Override mode -* Editing of the TYPO3 l10n folder -* Simple editing of constants and languages (edit/add/rename/delete constants) -* Flexible search and view of constants and values -* Tree view of constants -* Meta information handling -* Backups, recovering and diff view -* Differs editors and administrators with appropriate privileges -* Respects user language permissions diff --git a/typo3conf/ext/lfeditor/Documentation/KnownProblemsAndHints/Index.rst b/typo3conf/ext/lfeditor/Documentation/KnownProblemsAndHints/Index.rst deleted file mode 100644 index 77b37c0..0000000 --- a/typo3conf/ext/lfeditor/Documentation/KnownProblemsAndHints/Index.rst +++ /dev/null @@ -1,10 +0,0 @@ -.. ================================================== -.. FOR YOUR INFORMATION -.. -------------------------------------------------- -.. -*- coding: utf-8 -*- with BOM. - -Known Problems And Hints ------------------------- - -Problems can be viewed and reported on `forge `_. You -can find the code on our `gitlab `_. \ No newline at end of file diff --git a/typo3conf/ext/lfeditor/Documentation/MainMenuOptions/AddConstant/Index.rst b/typo3conf/ext/lfeditor/Documentation/MainMenuOptions/AddConstant/Index.rst deleted file mode 100644 index a7aa093..0000000 --- a/typo3conf/ext/lfeditor/Documentation/MainMenuOptions/AddConstant/Index.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. ================================================== -.. FOR YOUR INFORMATION -.. -------------------------------------------------- -.. -*- coding: utf-8 -*- with BOM. - -Add Constant ------------- - -This option serves for adding new constants to language files. -The user needs to enter a new name and translations for chosen languages can also be entered right away. - -.. figure:: ../../Images/MainMenuOptions/AddConstant/AddConstant.png - :alt: AddConstant \ No newline at end of file diff --git a/typo3conf/ext/lfeditor/Documentation/MainMenuOptions/DeleteConstant/Index.rst b/typo3conf/ext/lfeditor/Documentation/MainMenuOptions/DeleteConstant/Index.rst deleted file mode 100644 index 53abe83..0000000 --- a/typo3conf/ext/lfeditor/Documentation/MainMenuOptions/DeleteConstant/Index.rst +++ /dev/null @@ -1,12 +0,0 @@ -.. ================================================== -.. FOR YOUR INFORMATION -.. -------------------------------------------------- -.. -*- coding: utf-8 -*- with BOM. - -Delete Constant ---------------- - -This option allows user to delete a selected constant. The constant will be deleted from all languages. - -.. figure:: ../../Images/MainMenuOptions/DeleteConstant/DeleteConstant.png - :alt: DeleteConstant \ No newline at end of file diff --git a/typo3conf/ext/lfeditor/Documentation/MainMenuOptions/EditConstant/Index.rst b/typo3conf/ext/lfeditor/Documentation/MainMenuOptions/EditConstant/Index.rst deleted file mode 100644 index 9a292ed..0000000 --- a/typo3conf/ext/lfeditor/Documentation/MainMenuOptions/EditConstant/Index.rst +++ /dev/null @@ -1,15 +0,0 @@ -.. ================================================== -.. FOR YOUR INFORMATION -.. -------------------------------------------------- -.. -*- coding: utf-8 -*- with BOM. - -.. _edit-constant-reference: - -Edit Constant -------------- - -This option serves for translating a single constant in several languages. -Available languages depend of user language privileges and of the configured "view languages". - -.. figure:: ../../Images/MainMenuOptions/EditConstant/EditConstant.png - :alt: EditConstant \ No newline at end of file diff --git a/typo3conf/ext/lfeditor/Documentation/MainMenuOptions/EditFile/Index.rst b/typo3conf/ext/lfeditor/Documentation/MainMenuOptions/EditFile/Index.rst deleted file mode 100644 index 98d7f49..0000000 --- a/typo3conf/ext/lfeditor/Documentation/MainMenuOptions/EditFile/Index.rst +++ /dev/null @@ -1,24 +0,0 @@ -.. ================================================== -.. FOR YOUR INFORMATION -.. -------------------------------------------------- -.. -*- coding: utf-8 -*- with BOM. - -.. _edit-file-reference: - -Edit File ---------- - -This option allows editing of all constants in a language file and a selected language. -Users can choose between translated, untranslated, unknown or all constants. -This whole dialog is handled by a session. This means that a user can translate a whole page and doesn't need to -save the changes before clicking on 'next' button to get the next page with language constants. -If the translation process is finished or user just wants to make a break, the changes should be saved. - -Parallel editing is nice feature which allows editing two languages at the same time. -It is triggered by selecting languages in both language selection lists in section "Select up to two languages". -Section "Select reference language" allows user to chose which language will be used as reference for translating. -Reference language translations are shown beneath each text box. - - -.. figure:: ../../Images/MainMenuOptions/EditFile/EditFile.png - :alt: EditFile \ No newline at end of file diff --git a/typo3conf/ext/lfeditor/Documentation/MainMenuOptions/General/Index.rst b/typo3conf/ext/lfeditor/Documentation/MainMenuOptions/General/Index.rst deleted file mode 100644 index 3b42aaa..0000000 --- a/typo3conf/ext/lfeditor/Documentation/MainMenuOptions/General/Index.rst +++ /dev/null @@ -1,27 +0,0 @@ -.. ================================================== -.. FOR YOUR INFORMATION -.. -------------------------------------------------- -.. -*- coding: utf-8 -*- with BOM. - -.. _general-reference: - -General -------- - -This option displays general information about several languages. -Displayed languages should be configured in the configuration section of LFEditor, -because default behavior of LFEditor for administrators is to displays all existing translation languages of TYPO3. -While non-admin users see only languages which they have permissions for. - -Beside the language shortcut, there is state and origin of the related language file. -Clicking any language shortcut redirects to :ref:`Edit File ` page for this language. -Column ‘state‘ shows the state of translation and contains number of translated, unknown and untranslated language constants. -Unknown constants are the ones which exist in the language, and don’t exist in default language. - -At the bottom of this page there are options for converting and splitting language files. -Those options are not displayed in override mode and it is not possible to merge XLF files. -Splitting of language files increases the performance of backend and frontend. -There is also a field set which allows editing of meta information of language files. - -.. figure:: ../../Images/MainMenuOptions/General/General.png - :alt: General \ No newline at end of file diff --git a/typo3conf/ext/lfeditor/Documentation/MainMenuOptions/Index.rst b/typo3conf/ext/lfeditor/Documentation/MainMenuOptions/Index.rst deleted file mode 100644 index 42d772e..0000000 --- a/typo3conf/ext/lfeditor/Documentation/MainMenuOptions/Index.rst +++ /dev/null @@ -1,38 +0,0 @@ -.. ================================================== -.. FOR YOUR INFORMATION -.. -------------------------------------------------- -.. -*- coding: utf-8 -*- with BOM. - -Main Menu Options ------------------ - -Main navigation through LFEditor is done by selecting one of the options of drop down menu (main menu) -on top-left part of the screen (frame). -Main menu options are described in following sections of this chapter. - -.. figure:: ../Images/MainMenuOptions/MainMenu.png - :alt: MainMenu - -Page of each main menu option (except backup option) contains selection list of all available language files in typo3 CMS, -sorted by belonging extension. First time opening the extension might take few seconds to find all the language files, -but after that, the file list is cached and loading goes fast. -If language files are added or removed (not by LFEditor) from TYPO3 CMS, user should flush general caches, -to force LFEditor to read new list of language files. - -After each "Save" operation, LFEditor will automatically clear language cache, so the changes can be visible immediately -when user opens the page which uses changed language file. - -.. toctree:: - :maxdepth: 2 - :titlesonly: - :glob: - - General/Index - EditFile/Index - EditConstant/Index - AddConstant/Index - DeleteConstant/Index - RenameConstant/Index - SearchConstant/Index - ViewTree/Index - ManageBackups/Index diff --git a/typo3conf/ext/lfeditor/Documentation/MainMenuOptions/ManageBackups/Index.rst b/typo3conf/ext/lfeditor/Documentation/MainMenuOptions/ManageBackups/Index.rst deleted file mode 100644 index 4f40dc7..0000000 --- a/typo3conf/ext/lfeditor/Documentation/MainMenuOptions/ManageBackups/Index.rst +++ /dev/null @@ -1,22 +0,0 @@ -.. ================================================== -.. FOR YOUR INFORMATION -.. -------------------------------------------------- -.. -*- coding: utf-8 -*- with BOM. - -Manage Backups --------------- - -The backup option displays all backups of the selected extension. -It is possible to recover every backup, delete them or just have a look at the differences. -User can revert splitting and merging of files too. Conversions of the file format are not revertible. -If language file was converted to other format, there will be red warning in status of the backup table entry -and that backup can only be deleted. - -All changes since the backup are visible trough 'differences' functionality. -Green color means that the constant was added and red that it was deleted since the backup was made. -Example at the bottom of this section shows that user have made changes in value of 'button.cancel' constant, -and old value of the constant is shown. If restore is executed, that old value will replace current value -(which is not visible in difference view of backup). - -.. figure:: ../../Images/MainMenuOptions/ManageBackups/ManageBackups.png - :alt: Manage Backups \ No newline at end of file diff --git a/typo3conf/ext/lfeditor/Documentation/MainMenuOptions/RenameConstant/Index.rst b/typo3conf/ext/lfeditor/Documentation/MainMenuOptions/RenameConstant/Index.rst deleted file mode 100644 index b1e86a2..0000000 --- a/typo3conf/ext/lfeditor/Documentation/MainMenuOptions/RenameConstant/Index.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. ================================================== -.. FOR YOUR INFORMATION -.. -------------------------------------------------- -.. -*- coding: utf-8 -*- with BOM. - -Rename Constant ---------------- - -This option serves for renaming the key of existing language constant. -Constant to rename is chosen from select list, and then new name is entered in text field. - -.. figure:: ../../Images/MainMenuOptions/RenameConstant/RenameConstant.png - :alt: RenameConstant \ No newline at end of file diff --git a/typo3conf/ext/lfeditor/Documentation/MainMenuOptions/SearchConstant/Index.rst b/typo3conf/ext/lfeditor/Documentation/MainMenuOptions/SearchConstant/Index.rst deleted file mode 100644 index 458b2a0..0000000 --- a/typo3conf/ext/lfeditor/Documentation/MainMenuOptions/SearchConstant/Index.rst +++ /dev/null @@ -1,26 +0,0 @@ -.. ================================================== -.. FOR YOUR INFORMATION -.. -------------------------------------------------- -.. -*- coding: utf-8 -*- with BOM. - -Search Constant ---------------- - -This option allows a user to search for constants in selected language files. - -- Finds constants which match the search string within key or value (translation). -- The matching can be case sensitive or insensitive. -- Supports regular expressions. -- Looks only among subset of languages which is defined in LFEditor configuration. - -Clicking on constant key of any search result, redirects to :ref:`Edit Constant ` page. - -.. figure:: ../../Images/MainMenuOptions/SearchConstant/SearchConstant.png - :alt: SearchConstant - -Picture illustrates case sensitive search for string 'Cancel'. -The search has found the string in 2 language constants: - -- as value of button.cancel constant in default language, -- as part of constant key of function.langfile.confirmCancel constant in default and in 'de' languages, - since there is no more languages that contain translation for this constant key in this example. \ No newline at end of file diff --git a/typo3conf/ext/lfeditor/Documentation/MainMenuOptions/ViewTree/Index.rst b/typo3conf/ext/lfeditor/Documentation/MainMenuOptions/ViewTree/Index.rst deleted file mode 100644 index 476647e..0000000 --- a/typo3conf/ext/lfeditor/Documentation/MainMenuOptions/ViewTree/Index.rst +++ /dev/null @@ -1,23 +0,0 @@ -.. ================================================== -.. FOR YOUR INFORMATION -.. -------------------------------------------------- -.. -*- coding: utf-8 -*- with BOM. - -View Tree ---------- - -This option serves for overview and easier access to constants. -It displays all constants of language file arranged in a tree. -Constants are displayed as leafs of the tree, and they are colored in three colors which indicate translation state -of each constant for selected language (language from first select box). -The state is calculated in same way like on :ref:`General ` page. Constants are compared to language from second select box, -resulting in three states: - -- green - normal constant (translated in both languages) -- red - untranslated constant (translated only in second language) -- blue - unknown constant (translated only in first language) - -Clicking on tree leaf (last segment of constant key) redirects to :ref:`Edit Constant ` page. - -.. figure:: ../../Images/MainMenuOptions/ViewTree/ViewTree.png - :alt: ViewTree \ No newline at end of file diff --git a/typo3conf/ext/lfeditor/README.md b/typo3conf/ext/lfeditor/README.md deleted file mode 100644 index c854b5f..0000000 --- a/typo3conf/ext/lfeditor/README.md +++ /dev/null @@ -1,200 +0,0 @@ -# Ext: lfeditor - - - -License: [GNU GPL, Version 2](https://www.gnu.org/licenses/gpl-2.0.html) - -Repository: https://gitlab.sgalinski.de/typo3/lfeditor - -Please report bugs here: https://gitlab.sgalinski.de/typo3/lfeditor - -## About - -The lfeditor is a GUI for adding, editing and deleting translations in .xlf, .xml and .php files. - -**XML** and **PHP** files can be converted to .xlf files. - -The editor can be found in the -**user tool section** of the TYPO3 backend (click on your user in the top panel and select LFEditor). - -## Configuration - -#### Extension Settings -In the Extension manager you can configure the following settings of the **lfeditor** extension: - -###### View languages -List of languages which will be available in the extension (comma separated country codes e.g. en, de, fi). - -If this setting is empty, all languages will be used (Warning: very long list!). Default language is always included. - ---- - -###### Default language -If **en** is not the default language in TYPO3 backend, the default language must be defined here. If this field is empty, -English is used as default. - ---- - -###### Ignore extensions -Regular expression which can be used to exclude extensions by their extension key. - ---- - -###### Change XLF date -If set to TRUE, LFEditor will change the date in the files on each change. - -#### Extension Settings -There is an additional option in the **Access Rights** tab on the very bottom, when editing a non-admin backend user. -You can now select the **The user can save localization changes directly to extensions?**. - -Backend users who don't have this check box selected, will be in override mode by default -and they can't switch to another mode. - - -## Usage - -### The Menu -Main navigation through LFEditor is done by selecting one of the options of drop down menu -on top-left part of the screen. - -###### General -This option displays general information about all the languages. - -Displayed languages should be configured in the configuration section of LFEditor, -because default behavior of LFEditor for administrators is to displays all existing translation languages of TYPO3. -While non-admin users see only languages which they have permissions for. - -Beside the language shortcut, there is state and origin of the related language file. -Clicking any language shortcut redirects to the **Edit File ** page for this language. - -The column *state* shows the state of translation and contains the amount of translated, unknown and untranslated language constants. -Unknown constants are the ones which exist in the language and don’t exist in default language. - -At the bottom of the page there are options for converting and splitting language files. -Those options are not displayed in override mode and it is not possible to merge your files. -Splitting of language files increases the performance of backend and frontend. -There is also a field set which allows editing of the meta information of language files. - ---- - -###### Edit File -This option allows editing of all constants in a language file and a selected language. -Users can choose between translated, untranslated, unknown or all constants. - -This whole dialog is handled by a session. This means that a user can translate a whole page and doesn't need to -save the changes before clicking on 'next' button to get the next page with language constants. - ---- - -###### Edit Constant -This option serves for translating a single constant in several languages. -Available languages depend on the user language privileges and on the configured "view languages". - ---- - -###### Add Constant -This option serves for adding new constants to language files. -The user needs to enter a new name and translations for chosen languages can be entered right away. - ---- - -###### Delete Constant -This option allows the user to delete a selected constant. The constant will be deleted from all languages. - ---- - -###### Rename Constant -This option serves for renaming the key of a existing language constant. -The constant to rename is chosen from a select list and then the new name is entered in text field. - ---- - -###### Search constants -This option allows the user to search for constants in selected language files. - -- Finds constants which match the search string within a key or value (translation). -- The matching can be case sensitive or insensitive -- Supports regular expressions -- Looks only among a subset of languages which is defined in the **lfeditor** extension configuration - -Clicking on a constant key of any search result, redirects to the **Edit Constant ** page. - ---- - -###### View Tree -This option serves for a better overview and easier access to constants. -It displays all constants of a language file arranged in a tree. - -Constants are displayed as leafs of the tree and they are colored in three colors which indicate the translation state -of each constant for a selected language (language from first select box). - -Constants are compared to a language from the second select box, -resulting in three states: - -- **green** - normal constant (translated in both languages) -- **red** - untranslated constant (translated only in second language) -- **blue** - unknown constant (translated only in first language) - -Clicking on tree leaf (last segment of constant key) redirects to the **Edit Constant ** page. - ---- - -###### Manage Backups -The backup option displays all backups of the selected extension. -It is possible to recover every backup, delete them or just have a look at the differences. -User can revert splitting and merging of files too. - -**Conversions of the file format are not revertible**. - -If language file was converted to other format, there will be red warning in status of the backup table entry -and that backup can only be deleted. - -All changes since the backup are visible trough the **differences** functionality. -Green color means that the constant was added and red that it was deleted since the backup was made. - -### Editing modes -There are three editing modes: - -- Extension mode -- l10n mode -- Override mode - -They can be chosen from rightmost select menu on top of the screen. -The select menu is visible only for administrators. - -If the user is not an admin, **Override mode** is chosen by default. For administrators the default is the **Extension mode**. - -###### Extension mode -This mode is useful for extension developers, because in this mode the **lfeditor** edits the extension files directly. -Even if copies of extension files exist in l10n folder or extension files are overridden, -**lfeditor** will still edit the extension files only. - ---- - -###### l10n mode -This mode is similar to extension mode with the only difference being that the l10n directory has higher priority than the -extension directory. This means that if there is a copy of the language file in l10n folder (e.g. de.locallang), -that copy will be edited instead of original extension file. If there is no corresponding file in l10n folder the original file will be edited. - -Here are some of characteristics of l10n mode: - -- Files can't be moved to the l10n folder. They can be edited if they already exist in l10n folder -- Merging/splitting is not allowed in l10n mode -- Renaming of a constant will rename it in the main language file (e.g. ext/.../locallang) -and in all subfiles in the **l10n** (e.g. l10n/.../de.locallang) and **ext** folder -- Deleting and adding files work similar to renaming - ---- - -###### Override mode -The purpose of this mode is making translations unaffected by changes in an extension -(e.g. when extension updates the translations will be preserved). This mode is useful for translators and is the only mode available for non-admin users. - -- If a user makes any changes in a language file, only the changed constants (or meta data) will be saved in the corresponding language file in **typo3confLFEditorOverrideFiles** -- When reading language file, LFEditor is first reading constants from files in override folder, -then it reads rest of constants from l10n folder (if there is corresponding file in l10n folder), and then reads from ext folder (if there was no file in l10n folder). - -###### Note for switch to v4 of v4 of typo3/cms-composer-installers: - -If you do switch to new composer installer, you will have to rename your Overridesfolder to use "-" instead of "_", -since the naming scheme is different. diff --git a/typo3conf/ext/lfeditor/Resources/Private/Language/da.locallang.xlf b/typo3conf/ext/lfeditor/Resources/Private/Language/da.locallang.xlf deleted file mode 100644 index 0c73d7d..0000000 --- a/typo3conf/ext/lfeditor/Resources/Private/Language/da.locallang.xlf +++ /dev/null @@ -1,518 +0,0 @@ - - - - - FileRef: EXT:lfeditor/Resources/Private/Language/locallang.xml - -Special Thanks: -Peter Klein --> danish translation -Tapio Markula --> finnish translation - module - LFEditor - Stefan Galinski - stefan@sgalinski.de - - - - Cancel - Afbryd - - - Delete - Slet - - - Rename - Omdøb - - - Save - Gem - - - Search - Søg - - - Back - Forrige - - - Next - Næste - - - Constant - Konstant - - - Constants - Konstanter - - - all - alle - - - translated - oversat - - - unknown - ukendt - - - untranslated - ikke oversat - - - Global - Global - - - loaded - indlæst - - - Local - Lokal - - - not loaded - ikke indlæst - - - System - System - - - unknown - ukendt - - - It seems that you are not allowed to use this module. - Det ser ud til at du ikke har adgang til at bruge dette modul! - - - Can't read from meta file. - Kan ikke indlæse metadata filen! - - - Can't write to meta file. - Kan ikke gemme metadata filen! - - - No backup files were found. - Backupfilen kunne ikke findes. - - - Can't delete backup file. - Backupfilen kunne ikke slettes. - - - Can't read from backup file. - Backupfilen kunne ikke læses. - - - Error! - Fejl! - - - Some language files have insufficient permissions (i.e. write permission). - Nogle sprogfiler har ikke de nødvendige rettigheder! (f.eks. skrive rettigheder) - - - Can't write to file. - Filen kunne ikke gemmes. - - - The constant already exists. - Konstanten eksisterer allerede! - - - The constant wasn't changed. - Den konstante blev ikke ændret. - - - Can't delete language file. - Sprogfilen kunne ikke slettes. - - - Can't split or merge files. - Filen kunne ikke deles/samles. - - - The file type isn't supported (i.e. localization files). - Denne extension understøtter ikke filer af denne type (f.eks. localization filer). - - - Unknown file type. - Filtypen er ukendt! - - - No constants were found. - Kunne ikke finde nogle konstanter! - - - No extensions were found. - Ingen extensions fundet! - - - No value was found in the given file. - Der er ingen værdier i denne fil! - - - No language files were found. - Der findes ingen sprogfiler! - - - No constants were found. - Programmet har modtaget en tom konstant array! - - - Please select a language with constants. - Vælg venligst et sprog! - - - Please select a constant. - Du har ikke valgt en konstant! - - - Please define a valid constant. - Du skal definere en konstant! - - - Please select a language file. - Vælg venligst en sprogfil! - - - Manage Backups - Backupstyring - - - Date of Backup - Backupdato - - - delete - slet - - - delete all - slet alt - - - only in backup - kun i backup - - - Differences between backup and original - forskelle mellem backup og original - - - only in original - kun i original - - - Meta - Meta - - - Missing backup file. - mangler backup fil - - - ok - ok - - - recover - gendan - - - State - Status - - - Add Constant - Tilføj konstant - - - constant name - konstantnavn - - - Delete Constant - Slet konstant - - - Are you sure that you wish to delete this constant? - Er du sikker på at du vil slette dette emne? - - - Edit Constant - Rediger konstant - - - Please enter new constant name in this field. The old constant will be replaced by the new one. - Indtast venligst et nyt konstantnavn i dette felt. Det gamle konstantnavn vil blive erstattet af det nye. - - - new constant name - nyt konstantnavn - - - Rename Constant - Omdøb konstant - - - Please enter a search word (can contain pcre syntax). - Indtast venligst et søgeord (kan være i PCRE format). - - - Search Result - søgeresultat - - - Search constants - Søg i konstanter - - - untranslated constant - ikke oversat konstant - - - normal constant - normal konstant - - - hide/unhide all - skjul/synligør alle - - - Root - Rod - - - Unknown constant (i.e. name changed, deleted in reference) - ukendt konstant (f.eks. ændret navn, slettet i referencen) - - - View Tree - Trævisning - - - General - Generelt - - - Email information - E-mail informationer - - - from Address - Fra adresse - - - Subject - Emne - - - The mail was sent successfully! - E-mail'en blev sendt korrekt! - - - to Address - Til adresse - - - Extension Author - Extensionejer - - - Email - E-mail - - - Name - Navn - - - csh_table - csh_table - - - Description - Beskrivelse - - - Information - Informationer - - - Options - Indstillinger - - - Merge - saml - - - Split - del - - - l10n splitting - l10n deling - - - normal splitting - normal deling - - - PHP - PHP - - - transformation - konvertering - - - XML - XML - - - All unsaved changes will be lost. Are you sure that you wish to cancel? - Alle ikke-gemte ændringer vil gå tabt. Er du sikker på, at du ønsker at annullere? - - - Warning - Advarsel - - - All unsaved changes will be lost. Are you sure that you wish to change? - Alle ikke-gemte ændringer vil gå tabt. Er du sikker på, at du ønsker at ændre? - - - Warning - Advarsel - - - Edit file - Rediger fil - - - case sensitive - case sensitive - - - complete - komplet - - - language file - sprog fil - - - l10n - l10n - - - missing original file - mangler original fil - - - The changes are saved successfully. - Filen blev gemt korrekt! - - - incomplete - ukomplet - - - merged - samlet - - - Origin - Kilde - - - Shortcut - Forkortelse - - - splitted - splittet - - - State - Status - - - Select constant - vælg konstant - - - Select constant type - vælg konstanttype - - - Select explode token - Vælg delingstegn - - - Select extension - vælg extension - - - Select extension and workspace - vælg extension og arbejdsrum - - - normal insert mode - Normalt tekstfelt - - - enhanced insert mode - Udvidet tekstfelt - - - Select language file - vælg sprogfil - - - Select up to two languages - vælg sprog og mønster - - - Nothing selected - intet valgt - - - Select reference language - vælg reference sprog - - - This table lists all backup files of the selected extension. - Denne tabel viser alle backupfiler fra den valgte extension. - - - This table lists all languages of the selected language file with additional information. - Denne tabel viser alle sprog fra den valgte sprogfil med ekstra informationer. - - - LFEditor - LFEditor - - - global - global - - - local (only BE modules) - lokal - - - - diff --git a/typo3conf/ext/lfeditor/Resources/Private/Language/da.locallang_mod.xlf b/typo3conf/ext/lfeditor/Resources/Private/Language/da.locallang_mod.xlf deleted file mode 100644 index 530572f..0000000 --- a/typo3conf/ext/lfeditor/Resources/Private/Language/da.locallang_mod.xlf +++ /dev/null @@ -1,42 +0,0 @@ - - - - - FileRef: EXT:lfeditor/Resources/Private/Language/locallang_mod.xml - -Special Thanks: -Peter Klein --> danish translation -Tapio Markula --> finnish translation - module - LFEditor - Stefan Galinski - stefan@sgalinski.de - - - - This module serves several functions for editing of language files. Translators, extension authors and simple users are supported with special functions for each of them. - -Following functions are implemented in this module: - - * Formats: PHP and XML - * enhanced insert types - * conversion from PHP to XML and vice versa - * splitting and merging of language files - * workspaces (local (only in backend modules) and global) - * simple editing of constants and languages - * flexible search and view of constants and values - * meta information handling - * backups, recovering and diff view - This module serves several functions for editing of language files. Translators and extension authors are supported in equal measure.<br /><br />Following functions are implemented in this module:<br /><br /> * Formats: PHP and XML<br /> * enhanced insert types<br /> * conversion from PHP to XML and vice versa<br /> * splitting and merging of language files<br /> * workspaces (local (only in backend modules) and global)<br /> * simple editing of constants and languages<br /> * flexible search and view of constants and values<br /> * meta information handling<br /> * backups, recovering and diff view - - - Editing of Language Files - Rediger sprogfiler - - - LFEditor - LFEditor - - - - \ No newline at end of file diff --git a/typo3conf/ext/lfeditor/Resources/Private/Language/de.locallang.xlf b/typo3conf/ext/lfeditor/Resources/Private/Language/de.locallang.xlf deleted file mode 100644 index e3eb7c3..0000000 --- a/typo3conf/ext/lfeditor/Resources/Private/Language/de.locallang.xlf +++ /dev/null @@ -1,554 +0,0 @@ - - - - - FileRef: EXT:lfeditor/Resources/Private/Language/locallang.xml - -Special Thanks: -Peter Klein --> danish translation -Tapio Markula --> finnish translation - module - LFEditor - Stefan Galinski - stefan@sgalinski.de - - - - Cancel - Abbrechen - - - Delete - Löschen - - - Refresh list of language file options, only if you have added or deleted a language file - Aktualisiert die Liste der verfügbaren Sprachdateien; nur notwendig, falls Sprachdateien gelöscht oder hinzugefügt worden sind - - - Rename - Umbenennen - - - Save - Speichern - - - Search - Suchen - - - Back - Zurück - - - Next - Weiter - - - Constant - Konstante - - - Constants - Konstanten - - - all - alle - - - translated - übersetzt - - - unknown - unbekannt - - - untranslated - nicht übersetzt - - - Global - Global - - - loaded - geladen - - - Local - Lokal - - - not loaded - nicht geladen - - - System - System - - - unknown - unbekannt - - - It seems that you are not allowed to use this module. - Sie sind nicht berechtigt dieses Modul zu nutzen! - - - Can't read from meta file. - Die Metadatei konnte nicht gelesen werden! - - - Can't write to meta file. - Die Metadatei konnte nicht geschrieben werden! - - - No backup files were found. - Es konnten keine Backup-Dateien gefunden werden! - - - Can't delete backup file. - Die Backup-Datei konnte nicht gelöscht werden! - - - Can't read from backup file. - Die Backup-Datei konnte nicht gelesen werden! - - - The following languages are not supported by TYPO3 and should be added. <br />(http://wiki.typo3.org/TYPO3_4.6#User-Defined_Languages) <br /> - Die nachfolgenden Sprachen werden nicht von TYPO3 unterstüzt und müssen hinzugefügt werden. <br />(http://wiki.typo3.org/TYPO3_4.6#User-Defined_Languages) <br /> - - - Error! - Fehler! - - - Some language files have insufficient permissions (i.e. write permission). - Einige Sprachdateien haben ungenügende Rechte (z.B. Schreibberechtigung)! - - - Can't write to file. - Die Datei konnte nicht geschrieben werden! - - - The constant already exists. - Die Konstante existiert bereits. - - - The constant wasn't changed. - Die Konstante wurde nicht verändert. - - - Can't delete language file. - Die Sprachdatei konnte nicht gelöscht werden! - - - Can't split or merge files. - Die Dateien konnten nicht aufgeteilt oder zusammengefügt werden! - - - The file type isn't supported (i.e. localization files). - Dieser Dateityp wird nicht unterstützt (z.B. Lokalisierungsdateien)! - - - Unknown file type. - Dieser Dateityp ist dem System vollkommen unbekannt! - - - No constants were found. - Es konnten keine Konstanten gefunden werden! - - - No extensions were found. - Es konnten keine Erweiterungen gefunden werden! - - - No value was found in the given file. - Es konnte kein Wert in dieser Datei gefunden werden! - - - No language files were found. - Es konnte keine Sprachdatei gefunden werden! - - - No constants were found. - Es wurden keine Konstanten übergeben! - - - Please select a language with constants. - Bitte wählen Sie eine Sprache mit Inhalt aus. - - - Please select a constant. - Sie haben keine Konstante ausgewählt. - - - Please define a valid constant. - Sie müssen eine Konstante definieren. - - - Please select a language file. - Bitte wählen Sie eine Sprachdatei aus. - - - Manage Backups - Backups verwalten - - - Date of Backup - Datum des Backups - - - delete - löschen - - - delete all - alles löschen - - - only in backup - nur im Backup - - - Differences between backup and original - Unterschiede zwischen Backup und Original - - - only in original - nur im Original - - - Meta - Meta - - - Missing backup file. - Backupdatei fehlt - - - ok - ok - - - recover - wiederherstellen - - - State - Status - - - The backup was successfully deleted. - Das Backup wurde erfolgreich gelöscht. - - - All backups were successfully deleted. - Alle Backups wurden erfolgreich gelöscht. - - - Restored successfully. - Erfolgreich wiederhergestellt. - - - Add Constant - Konstante hinzufügen - - - constant name - Konstantenname - - - Delete Constant - Konstante löschen - - - Are you sure that you wish to delete this constant? - Wollen Sie diese Konstante wirklich löschen? - - - Edit Constant - Konstante editieren - - - Please enter new constant name in this field. The old constant will be replaced by the new one. - Bitte geben Sie einen neuen Konstantennamen in dieses Feld ein. Die alte Konstante wird nach dem absenden der Daten durch diese ersetzt werden. - - - new constant name - neuer Konstantenname - - - Rename Constant - Konstante umbenennen - - - Please enter a search word (can contain pcre syntax). - Bitte geben Sie ein Suchwort an (kann PCRE-Syntax enthalten). - - - Search Result - Suchergebnisse - - - Search constants - Konstanten suchen - - - untranslated constant - nicht übersetzte Konstante - - - normal constant - normale Konstante - - - hide/unhide all - alle Einträge sichtbar/versteckt - - - Root - Wurzel - - - Unknown constant (i.e. name changed, deleted in reference) - unbekannte Konstante (z.B. Name geändert, gelöscht in Referenz) - - - View Tree - Baumansicht - - - General - Allgemeines - - - Hide/show untranslated languages - Verstecke/Zeige nicht übersetzte Sprachen - - - Email information - Email Informationen - - - from Address - von Adresse - - - Subject - Betreff - - - The mail was sent successfully! - Die Mail wurde erfolgreich versandt! - - - to Address - zu Adresse - - - Extension Author - Autor - - - Email - Email - - - Name - Name - - - csh_table - csh_table - - - Description - Beschreibung - - - Information - Informationen - - - Options - Optionen - - - Merge - zusammenfügen - - - Split - aufteilen - - - l10n splitting - l10n Aufteilung - - - normal splitting - normale Aufteilung - - - PHP - PHP - - - transformation - konvertieren - - - XML - XML - - - All unsaved changes will be lost. Are you sure that you wish to cancel? - Alle nicht gespeicherten Änderungen gehen verloren. Bist du dir sicher, dass du abbrechen möchtest? - - - Warning - Warnung - - - All unsaved changes will be lost. Are you sure that you wish to change? - Alle nicht gespeicherten Änderungen gehen verloren. Bist du dir sicher, dass du wechseln möchtest? - - - Warning - Warnung - - - Edit file - Sprachdatei editieren - - - case sensitive - case sensitive - - - complete - vollständig - - - language file - Sprachdatei - - - l10n - l10n - - - missing original file - originale Sprachdatei fehlt - - - The changes are saved successfully. - Die Datei konnte erfolgreich geschrieben werden! - - - incomplete - unvollständig - - - merged - zusammengefügt - - - Origin - Pfad - - - Shortcut - Sprachkürzel - - - splitted - aufgeteilt - - - State - Status - - - Select constant - wähle Konstante - - - Select constant type - wähle Art der Konstanten - - - Extension mode - Extension-Modus - - - l10n mode - l10n-Modus - - - Override mode - Override-Modus - - - Select explode token - Explode-Character - - - Select extension - wähle Extension - - - Select extension and workspace - wähle Extension und Workspace - - - normal insert mode - normaler Eingabemodus - - - enhanced insert mode - verbesserter Eingabemodus - - - Select language file - wähle Sprachdatei - - - Select up to two languages - Wähle bis zu zwei Sprachen - - - Nothing selected - nichts ausgewählt - - - Select reference language - wähle Referenzsprache - - - This table lists all backup files of the selected extension. - Diese Tabelle listet alle Backupdateien der selektierten Extension. - - - This table lists all languages of the selected language file with additional information. - Diese Tabelle listet alle Sprachen der selektierten Sprachdatei mit zusäauml;tzlichen Informationen. - - - LFEditor - LFEditor - - - global - global - - - local (only BE modules) - lokal (nur BE-Module) - - - - diff --git a/typo3conf/ext/lfeditor/Resources/Private/Language/de.locallang_mod.xlf b/typo3conf/ext/lfeditor/Resources/Private/Language/de.locallang_mod.xlf deleted file mode 100644 index eb9628b..0000000 --- a/typo3conf/ext/lfeditor/Resources/Private/Language/de.locallang_mod.xlf +++ /dev/null @@ -1,58 +0,0 @@ - - - - - FileRef: EXT:lfeditor/Resources/Private/Language/locallang_mod.xml - -Special Thanks: -Peter Klein --> danish translation -Tapio Markula --> finnish translation - module - LFEditor - Stefan Galinski - stefan@sgalinski.de - - - - This module serves several functions for editing of language files. Translators, extension authors and simple users are supported with special functions for each of them. - -Following functions are implemented in this module: - - * Formats: PHP and XML - * enhanced insert types - * conversion from PHP to XML and vice versa - * splitting and merging of language files - * workspaces (local (only in backend modules) and global) - * simple editing of constants and languages - * flexible search and view of constants and values - * meta information handling - * backups, recovering and diff view - Dieses Modul bietet zahlreiche Funktionen zur Bearbeitung von Sprachdateien. Übersetzer, Extension-Authoren und einfache Benutzer werden mit speziellen Funktionen unterstützt. - -Folgende Funktionen sind in diesem Modul integriert: - - * Formate: PHP und XML - * verbesserte Eingabemethoden - * Konvertierung von PHP zu XML und umgekehrt - * trennen und zuammenfügen von Sprachdateien - * Workspaces (lokal (nur BE-Module) und global) - * einfache Bearbeitung von Konstanten oder Sprachen - * Darstellung und Suche von Konstanten und Werten - * Unerstützung von Meta-Information - * Backups, Wiederherstellung und Diff-Ansicht - - - Editing of Language Files - Bearbeitung von Sprachdateien - - - LFEditor - LFEditor - - - The user can save localization changes directly to extensions? - Der Benutzer kann Lokalisierungsänderungen direkt in Erweiterungen speichern? - - - - \ No newline at end of file diff --git a/typo3conf/ext/lfeditor/Resources/Private/Language/fi.locallang.xlf b/typo3conf/ext/lfeditor/Resources/Private/Language/fi.locallang.xlf deleted file mode 100644 index 4e99dc6..0000000 --- a/typo3conf/ext/lfeditor/Resources/Private/Language/fi.locallang.xlf +++ /dev/null @@ -1,518 +0,0 @@ - - - - - FileRef: EXT:lfeditor/Resources/Private/Language/locallang.xml - -Special Thanks: -Peter Klein --> danish translation -Tapio Markula --> finnish translation - module - LFEditor - Stefan Galinski - stefan@sgalinski.de - - - - Cancel - Peruuta - - - Delete - Poista - - - Rename - Uudelleennimeä - - - Save - Tallenna - - - Search - Etsi - - - Back - Takaisin - - - Next - Seuraava - - - Constant - Vakio - - - Constants - Vakiot - - - all - kaikki - - - translated - käännetty - - - unknown - tuntematon - - - untranslated - kääntämätön - - - Global - Globaali - - - loaded - ladattu - - - Local - Paikallinen (local) - - - not loaded - lataamaton - - - System - Systeemi - - - unknown - tuntematon - - - It seems that you are not allowed to use this module. - Näyttää siltä, että et voi käyttää tätä modulia! - - - Can't read from meta file. - Metatiedostoa ei voitu lukea. - - - Can't write to meta file. - Metatiedostoon ei voitu kirjoittaa! - - - No backup files were found. - Yhtään varmuustallennustiedostoa ei löytynyt! - - - Can't delete backup file. - Varmuustallennustiedostoa ei voinut poistaa! - - - Can't read from backup file. - Varmuustallennustiedostoa ei voinut lukea! - - - Error! - Virhe! - - - Some language files have insufficient permissions (i.e. write permission). - Joillakin kielitiedostoilla on riittämättömät käyttöoikeudet (esim. kirjoitusoikeus puuttuu)! - - - Can't write to file. - Tiedostoon ei voinut kirjoittaa! - - - The constant already exists. - Tämä vakio on jo olemassa. - - - The constant wasn't changed. - Vakiona ei muutettu. - - - Can't delete language file. - Kielitiedostoa ei voinut poistaa! - - - Can't split or merge files. - Tiedostoa ei voinut yhdistää tai jakaa! - - - The file type isn't supported (i.e. localization files). - Tiedostotyyppiä ei tueta (esim. lokalisaatiotiedostot)! - - - Unknown file type. - Tämä tiedostotyyppi on tuntematon! - - - No constants were found. - Yhtään vakiota ei löytynyt! - - - No extensions were found. - Yhtään lisäosaa ei löytynyt! - - - No value was found in the given file. - Tiedostosta ei löynyt yhtään etsittyä arvoa! - - - No language files were found. - Yhtään kielitiedostoa ei löytynyt! - - - No constants were found. - Yhtään vakoita ei löytynyt! - - - Please select a language with constants. - Ole hyvä ja valitse kieli, jossa on kielivakioita. - - - Please select a constant. - Ole hyvä ja valitse vakio. - - - Please define a valid constant. - Ole hyvä ja määrittele kelvollinen vakio. - - - Please select a language file. - Ole hyvä ja valitse kielitiedosto. - - - Manage Backups - Hallitse varmuustallennuksia - - - Date of Backup - Varmuustallenteen päivämäärä - - - delete - poista - - - delete all - poista kaikki - - - only in backup - vain varmuustallenteessa - - - Differences between backup and original - Varmuustallenteen ja alkuperäisen eroavaisuudet - - - only in original - vain alkuperäisessä - - - Meta - Meta - - - Missing backup file. - varmuustallennustiedosto puuttuu - - - ok - ok - - - recover - palauta - - - State - Tila - - - Add Constant - Lisää vakio - - - constant name - vakion nimi - - - Delete Constant - Poista vakio - - - Are you sure that you wish to delete this constant? - Haluatko todella poistaa tämän vakion? - - - Edit Constant - Muokkaa vakiota - - - Please enter new constant name in this field. The old constant will be replaced by the new one. - Ole hyvä ja määrittele tähän kenttään uusi vakion nimi. Vanha vakio korvataan uudella. - - - new constant name - uusi vakion nimi - - - Rename Constant - Nimeä vakio uudelleen - - - Please enter a search word (can contain pcre syntax). - Ole hyvä ja anna etsittävä sana (voi sisältää pcre-syntaksia) - - - Search Result - Hakutulokset - - - Search constants - Etsi vakioita - - - untranslated constant - kääntämätön vakio - - - normal constant - normaali vakio - - - hide/unhide all - piilota/näytä kaikki - - - Root - Juuri - - - Unknown constant (i.e. name changed, deleted in reference) - tuntematon vakio (esim. nimi muutettu, referenssi poistettu) - - - View Tree - Näytä sanastopuu - - - General - Yleistoimenpiteet - - - Email information - S-posti informaatiot - - - from Address - osoitteesta - - - Subject - Aihe - - - The mail was sent successfully! - Sähköposti lähettiin onnistuneesti! - - - to Address - osoitteeseen - - - Extension Author - Lisäosan tekijä - - - Email - S-posti - - - Name - Nimi - - - csh_table - csh_table - - - Description - Kuvaus - - - Information - Informaatiot - - - Options - Vaihtoehdot - - - Merge - yhdistä - - - Split - jaa - - - l10n splitting - paikallistamisjako (l10n) - - - normal splitting - normaali jakaminen - - - PHP - PHP - - - transformation - muunto - - - XML - XML - - - All unsaved changes will be lost. Are you sure that you wish to cancel? - Kaikki tallentamattomat muutokset menetetään. Oletko varma, että haluat peruuttaa? - - - Warning - Varoitus - - - All unsaved changes will be lost. Are you sure that you wish to change? - Kaikki tallentamattomat muutokset menetetään. Oletko varma, että haluat muuttaa? - - - Warning - Varoitus - - - Edit file - Muokkaa tiedostoa - - - case sensitive - iso-pieni-eroava (case sensitive) - - - complete - täydellinen - - - language file - kielitiedosto - - - l10n - paikallistaminen (l10n) - - - missing original file - alkuperäinen tiedosto puuttuu - - - The changes are saved successfully. - Tiedoston kirjoittaminen onnistui! - - - incomplete - epätäydellinen - - - merged - yhdistetty - - - Origin - Alkuperä - - - Shortcut - Pikavalinta - - - splitted - jaettu - - - State - Tila - - - Select constant - valitse vakio - - - Select constant type - valitse vakion tyyppi - - - Select explode token - Valitse jakomerkintä (explode token) - - - Select extension - valitse lisäosa - - - Select extension and workspace - valitse lisäosa ja työtila - - - normal insert mode - normaali syöttömoodi - - - enhanced insert mode - kehittynyt syöttömoodi - - - Select language file - valitse kielitiedosto - - - Select up to two languages - valitse kieli ja sen mallikieli - - - Nothing selected - mitään ei ole valittu - - - Select reference language - valitse referenssikieli - - - This table lists all backup files of the selected extension. - Tämä taulukko luettelee valitun lisäosan varmuustallennetiedostot. - - - This table lists all languages of the selected language file with additional information. - Tämä taulukko luettelee kaikki valitun kielitiedoston kaikki kieliversiot lisäinformaatioineen. - - - LFEditor - LFEditor - - - global - globaali - - - local (only BE modules) - lokaali (vain tausakäyttömoduleille) - - - - diff --git a/typo3conf/ext/lfeditor/Resources/Private/Language/fi.locallang_mod.xlf b/typo3conf/ext/lfeditor/Resources/Private/Language/fi.locallang_mod.xlf deleted file mode 100644 index 669c53c..0000000 --- a/typo3conf/ext/lfeditor/Resources/Private/Language/fi.locallang_mod.xlf +++ /dev/null @@ -1,42 +0,0 @@ - - - - - FileRef: EXT:lfeditor/Resources/Private/Language/locallang_mod.xml - -Special Thanks: -Peter Klein --> danish translation -Tapio Markula --> finnish translation - module - LFEditor - Stefan Galinski - stefan@sgalinski.de - - - - This module serves several functions for editing of language files. Translators, extension authors and simple users are supported with special functions for each of them. - -Following functions are implemented in this module: - - * Formats: PHP and XML - * enhanced insert types - * conversion from PHP to XML and vice versa - * splitting and merging of language files - * workspaces (local (only in backend modules) and global) - * simple editing of constants and languages - * flexible search and view of constants and values - * meta information handling - * backups, recovering and diff view - Tämä moduli tarjoaa useita funktioita kielitiedostojen muokkaamiseksi. Lisäosien tekijät voivat käyttää tätä lisäosaa omien lisäosiensa kielitiedostojen luomisessa.<br /><br />Tässä modulissa on seuraavat funtiot:<br /><br /> * formaatit: PHP ja XML<br /> * kehittyneet syöttötyypit<br /> * konversion PHP:stä XML:ään ja päinvastoin<br /> * kielitiedostojen yhdistäminen/jakaminen (splitting/merging)<br /> * työtilat (lokaali/globaali (local/global) - lokaali vain taustakäyttömoduuleille)<br /> * yksinkertainen kielten ja niiden vakioiden muokkaus<br /> * joustavat etsintä ja vakioiden jan niiden arvojen näyttäminen<br /> * metainformaation hallinta<br /> * varmuustallennus, palautus ja diff-tiedostojen näyttäminen - - - Editing of Language Files - Kielitiedostojen muokkaus - - - LFEditor - LFEditor - - - - \ No newline at end of file diff --git a/typo3conf/ext/lfeditor/Resources/Private/Language/locallang.xlf b/typo3conf/ext/lfeditor/Resources/Private/Language/locallang.xlf deleted file mode 100644 index c1b27a6..0000000 --- a/typo3conf/ext/lfeditor/Resources/Private/Language/locallang.xlf +++ /dev/null @@ -1,423 +0,0 @@ - - - - - FileRef: EXT:lfeditor/Resources/Private/Language/locallang.xml - -Special Thanks: -Peter Klein --> danish translation -Tapio Markula --> finnish translation - module - LFEditor - Stefan Galinski - stefan@sgalinski.de - - - - Cancel - - - Delete - - - Refresh list of language file options, only if you have added or deleted a language file - - - Rename - - - Save - - - Search - - - Back - - - Next - - - Constant - - - Constants - - - all - - - translated - - - unknown - - - untranslated - - - Global - - - loaded - - - Local - - - not loaded - - - System - - - unknown - - - It seems that you are not allowed to use this module. - - - Can't read from meta file. - - - Can't write to meta file. - - - No backup files were found. - - - Can't delete backup file. - - - Can't read from backup file. - - - The following languages are not supported by TYPO3 and should be added. <br />(http://wiki.typo3.org/TYPO3_4.6#User-Defined_Languages) <br /> - - - Error! - - - Some language files have insufficient permissions (i.e. write permission). - - - Can't write to file. - - - The constant already exists. - - - The constant wasn't changed. - - - Can't delete language file. - - - Can't split or merge files. - - - The file type isn't supported (i.e. localization files). - - - Unknown file type. - - - No constants were found. - - - No extensions were found. - - - No value was found in the given file. - - - No language files were found. - - - No constants were found. - - - Please select a language with constants. - - - Please select a constant. - - - Please define a valid constant. - - - Please select a language file. - - - Manage Backups - - - Date of Backup - - - delete - - - delete all - - - only in backup - - - Differences between backup and original - - - only in original - - - Meta - - - Missing backup file. - - - ok - - - recover - - - State - - - The backup was successfully deleted. - - - All backups were successfully deleted. - - - Restored successfully. - - - Add Constant - - - constant name - - - Delete Constant - - - Are you sure that you wish to delete this constant? - - - Edit Constant - - - Please enter new constant name in this field. The old constant will be replaced by the new one. - - - new constant name - - - Rename Constant - - - Please enter a search word (can contain pcre syntax). - - - Search Result - - - Search constants - - - untranslated constant - - - normal constant - - - hide/unhide all - - - Root - - - Unknown constant (i.e. name changed, deleted in reference) - - - View Tree - - - General - - - Hide/show untranslated languages - - - Email information - - - from Address - - - Subject - - - The mail was sent successfully! - - - to Address - - - Extension Author - - - Email - - - Name - - - csh_table - - - Description - - - Information - - - Options - - - Merge - - - Split - - - l10n splitting - - - normal splitting - - - PHP - - - transformation - - - XML - - - All unsaved changes will be lost. Are you sure that you wish to cancel? - - - Warning - - - All unsaved changes will be lost. Are you sure that you wish to change? - - - Warning - - - Edit file - - - case sensitive - - - complete - - - language file - - - l10n - - - missing original file - - - The changes are saved successfully. - - - incomplete - - - merged - - - Origin - - - Shortcut - - - splitted - - - State - - - Select constant - - - Select constant type - - - Extension mode - - - l10n mode - - - Override mode - - - Select explode token - - - Select extension - - - Select extension and workspace - - - normal insert mode - - - enhanced insert mode - - - Select language file - - - Select up to two languages - - - Nothing selected - - - Select # of constants to show - - - Select reference language - - - This table lists all backup files of the selected extension. - - - This table lists all languages of the selected language file with additional information. - - - LFEditor - - - global - - - local (only BE modules) - - - - diff --git a/typo3conf/ext/lfeditor/Resources/Private/Language/locallang_mod.xlf b/typo3conf/ext/lfeditor/Resources/Private/Language/locallang_mod.xlf deleted file mode 100644 index 7218a92..0000000 --- a/typo3conf/ext/lfeditor/Resources/Private/Language/locallang_mod.xlf +++ /dev/null @@ -1,42 +0,0 @@ - - - - - FileRef: EXT:lfeditor/Resources/Private/Language/locallang_mod.xml - -Special Thanks: -Peter Klein --> danish translation -Tapio Markula --> finnish translation - module - LFEditor - Stefan Galinski - stefan@sgalinski.de - - - - This module serves several functions for editing of language files. Translators, extension authors and simple users are supported with special functions for each of them. - -Following functions are implemented in this module: - - * Formats: PHP and XML - * enhanced insert types - * conversion from PHP to XML and vice versa - * splitting and merging of language files - * workspaces (local (only in backend modules) and global) - * simple editing of constants and languages - * flexible search and view of constants and values - * meta information handling - * backups, recovering and diff view - - - Editing of Language Files - - - LFEditor - - - The user can save localization changes directly to extensions? - - - - \ No newline at end of file diff --git a/typo3conf/ext/lfeditor/Resources/Private/Language/pl.locallang.xlf b/typo3conf/ext/lfeditor/Resources/Private/Language/pl.locallang.xlf deleted file mode 100644 index 55be113..0000000 --- a/typo3conf/ext/lfeditor/Resources/Private/Language/pl.locallang.xlf +++ /dev/null @@ -1,558 +0,0 @@ - - - - - FileRef: EXT:lfeditor/Resources/Private/Language/locallang.xml - -Special Thanks: -Peter Klein --> danish translation -Tapio Markula --> finnish translation - module - LFEditor - Stefan Galinski - stefan@sgalinski.de - - - - Cancel - Anuluj - - - Delete - Usuń - - - Refresh list of language file options, only if you have added or deleted a language file - Odśwież listę opcji pliku językowego, tylko jeśli dodałeś lub usunąłeś plik językowy - - - Rename - Zmień nazwę - - - Save - Zapisz - - - Search - Szukaj - - - Back - Wróć - - - Next - Następna - - - Constant - Stała - - - Constants - Stałe - - - all - wszystkie - - - translated - przetłumaczone - - - unknown - nieznane - - - untranslated - nieprzetłumaczone - - - Global - Globalne - - - loaded - załadowana - - - Local - Lokalne - - - not loaded - niezaładowana - - - System - Systemowe - - - unknown - nieznane - - - It seems that you are not allowed to use this module. - Wygląda na to, że nie możesz korzystać z tego modułu. - - - Can't read from meta file. - Nie można czytać z pliku meta. - - - Can't write to meta file. - Nie można pisać do pliku meta. - - - No backup files were found. - Nie znaleziono plików kopii zapasowych. - - - Can't delete backup file. - Nie można usunąć pliku kopii zapasowej. - - - Can't read from backup file. - Nie można czytać z pliku kopii zapasowej. - - - The following languages are not supported by TYPO3 and should be added. <br />(http://wiki.typo3.org/TYPO3_4.6#User-Defined_Languages) <br /> - Następujące języki nie są obsługiwane przez TYPO3 i powinny zostać dodane. <br />(http://wiki.typo3.org/TYPO3_4.6#User-Defined_Languages) <br /> - - - Error! - Błąd! - - - Some language files have insufficient permissions (i.e. write permission). - Niektóre pliki językowe mają niewystarczające uprawnienia (tj. uprawnienia do zapisu). - - - Can't write to file. - Nie można pisać do pliku. - - - The constant already exists. - Stała już istnieje. - - - The constant wasn't changed. - Stała nie została zmieniona. - - - Can't delete language file. - Nie można usunąć pliku językowego. - - - Can't split or merge files. - Nie można dzielić ani scalać plików. - - - The file type isn't supported (i.e. localization files). - Typ pliku nie jest obsługiwany (tzn. pliki lokalizacyjne). - - - Unknown file type. - Nieznany typ pliku. - - - No constants were found. - Nie znaleziono stałych. - - - No extensions were found. - Nie znaleziono żadnych rozszerzeń. - - - No value was found in the given file. - W podanym pliku nie znaleziono żadnej wartości. - - - No language files were found. - Nie znaleziono plików językowych. - - - No constants were found. - Nie znaleziono stałych. - - - Please select a language with constants. - Wybierz język ze stałymi. - - - Please select a constant. - Proszę wybrać stałą. - - - Please define a valid constant. - Zdefiniuj poprawną stałą. - - - Please select a language file. - Wybierz plik językowy. - - - Manage Backups - Zarządzaj kopiami zapasowymi - - - Date of Backup - Data utworzenia kopii zapasowej - - - delete - usuń - - - delete all - usuń wszystkie - - - only in backup - tylko w kopii zapasowej - - - Differences between backup and original - Różnice między kopią zapasową a oryginałem - - - only in original - tylko w oryginale - - - Meta - Meta - - - Missing backup file. - Brak pliku kopii zapasowej. - - - ok - ok - - - recover - odzyskaj - - - State - Status - - - The backup was successfully deleted. - Kopia zapasowa została pomyślnie usunięta. - - - All backups were successfully deleted. - Wszystkie kopie zapasowe zostały pomyślnie usunięte. - - - Restored successfully. - Przywrócono pomyślnie. - - - Add Constant - Dodaj stałą - - - constant name - nazwa stałej - - - Delete Constant - Usuń stałą - - - Are you sure that you wish to delete this constant? - Czy na pewno chcesz usunąć tę stałą? - - - Edit Constant - Edytuj stałą - - - Please enter new constant name in this field. The old constant will be replaced by the new one. - Podaj nową nazwę stałej w tym polu. Stara stała zostanie zastąpiona nową. - - - new constant name - nazwa nowej stałej - - - Rename Constant - Zmień nazwę stałej - - - Please enter a search word (can contain pcre syntax). - Wprowadź szukane słowo (może zawierać składnię pcre). - - - Search Result - Wyniki wyszukiwania - - - Search constants - Wyszukaj stałe - - - untranslated constant - stała nieprzetłumaczona - - - normal constant - normalna stała - - - hide/unhide all - ukryj/odkryj wszystkie - - - Root - Korzeń - - - Unknown constant (i.e. name changed, deleted in reference) - nieznana stała (tzn. zmieniła się nazwa, usunięta w odniesieniu) - - - View Tree - Widok drzewa - - - General - Ogólne - - - Hide/show untranslated languages - Ukryj/pokaż nieprzetłumaczone języki - - - Email information - Informacja e-mail - - - from Address - z adresu - - - Subject - Temat - - - The mail was sent successfully! - Wiadomość została wysłana pomyślnie! - - - to Address - na adres - - - Extension Author - Autor rozszerzenia - - - Email - Email - - - Name - Nazwa - - - csh_table - csh_table - - - Description - Opis - - - Information - Informacja - - - Options - Opcje - - - Merge - Połącz - - - Split - Podziel - - - l10n splitting - dzielenie l10n - - - normal splitting - dzielenie normalne - - - PHP - PHP - - - transformation - przekształcenie - - - XML - XML - - - All unsaved changes will be lost. Are you sure that you wish to cancel? - Wszystkie niezapisane zmiany zostaną utracone. Czy na pewno chcesz anulować? - - - Warning - Ostrzeżenie - - - All unsaved changes will be lost. Are you sure that you wish to change? - Wszystkie niezapisane zmiany zostaną utracone. Czy na pewno chcesz anulować? - - - Warning - Ostrzeżenie - - - Edit file - Edytuj plik - - - case sensitive - wrażliwe na wielkość liter - - - complete - kompletne - - - language file - plik językowy - - - l10n - l10n - - - missing original file - brakuje oryginalnego pliku - - - The changes are saved successfully. - Zmiany zostały pomyślnie zapisane. - - - incomplete - niekompletne - - - merged - scalone - - - Origin - Źródło - - - Shortcut - Skrót - - - splitted - podzielone - - - State - Status - - - Select constant - Wybierz stałą - - - Select constant type - Wybierz typ stałej - - - Extension mode - Tryb rozszerzenia - - - l10n mode - tryb l10n - - - Override mode - Tryb zastępowania - - - Select explode token - Wybierz token rozdzielania - - - Select extension - Wybierz rozszerzenie - - - Select extension and workspace - Wybierz rozszerzenie i przestrzeń roboczą - - - normal insert mode - normalny tryb wstawiania - - - enhanced insert mode - ulepszony tryb wstawiania - - - Select language file - Wybierz plik językowy - - - Select up to two languages - Wybierz do dwóch języków - - - Nothing selected - Nic nie wybrano - - - Select # of constants to show - Wybierz # stałych, które chcesz wyświetlić - - - Select reference language - Wybierz język odniesienia - - - This table lists all backup files of the selected extension. - Ta tabela zawiera listę wszystkich plików kopii zapasowych wybranego rozszerzenia. - - - This table lists all languages of the selected language file with additional information. - Ta tabela zawiera listę wszystkich języków wybranego pliku językowego z dodatkowymi informacjami. - - - LFEditor - LFEditor - - - global - globalna - - - local (only BE modules) - lokalna (tylko moduły BE) - - - - diff --git a/typo3conf/ext/lfeditor/Resources/Private/Language/pl.locallang_mod.xlf b/typo3conf/ext/lfeditor/Resources/Private/Language/pl.locallang_mod.xlf deleted file mode 100644 index 66bbb42..0000000 --- a/typo3conf/ext/lfeditor/Resources/Private/Language/pl.locallang_mod.xlf +++ /dev/null @@ -1,58 +0,0 @@ - - - - - FileRef: EXT:lfeditor/Resources/Private/Language/locallang_mod.xml - - Special Thanks: - Peter Klein --> danish translation - Tapio Markula --> finnish translation - module - LFEditor - Stefan Galinski - stefan@sgalinski.de - - - - This module serves several functions for editing of language files. Translators, extension authors and simple users are supported with special functions for each of them. - -Following functions are implemented in this module: - - * Formats: PHP and XML - * enhanced insert types - * conversion from PHP to XML and vice versa - * splitting and merging of language files - * workspaces (local (only in backend modules) and global) - * simple editing of constants and languages - * flexible search and view of constants and values - * meta information handling - * backups, recovering and diff view - Ten moduł obsługuje kilka funkcji do edycji plików językowych. Tłumacze, autorzy rozszerzeń i zwykli użytkownicy są wspierani specjalnymi funkcjami dla każdego z nich. - -Następujące funkcje są zaimplementowane w tym module: - - * Formaty: PHP and XML - * ulepszone typy wstawiania - * konwersja z PHP na XML i odwrotnie - * dzielenie i łączenie plików językowych - * przestrzenie robocze (lokalne (tylko w modułach backendowych) i globalne) - * prosta edycja stałych i języków - * elastyczne wyszukiwanie i wyświetlanie stałych i wartości - * obsługa meta-informacji - * kopie zapasowe, odzyskiwanie i wyświetlanie różnic - - - Editing of Language Files - Edycja Plików Językowych - - - LFEditor - LFEditor - - - The user can save localization changes directly to extensions? - Użytkownik może zapisywać lokalizację bezpośrednio do rozszerzenia? - - - - diff --git a/typo3conf/ext/lfeditor/Resources/Private/Layouts/Default.html b/typo3conf/ext/lfeditor/Resources/Private/Layouts/Default.html deleted file mode 100644 index c002cf6..0000000 --- a/typo3conf/ext/lfeditor/Resources/Private/Layouts/Default.html +++ /dev/null @@ -1,112 +0,0 @@ -{namespace lfe=SGalinski\Lfeditor\ViewHelpers} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/typo3conf/ext/lfeditor/Resources/Private/Partials/SelectConstant.html b/typo3conf/ext/lfeditor/Resources/Private/Partials/SelectConstant.html deleted file mode 100644 index 25fbc50..0000000 --- a/typo3conf/ext/lfeditor/Resources/Private/Partials/SelectConstant.html +++ /dev/null @@ -1,14 +0,0 @@ -{namespace lfe=SGalinski\Lfeditor\ViewHelpers} - - - - - - - - - diff --git a/typo3conf/ext/lfeditor/Resources/Private/Partials/SelectExtensionAndLanguageFile.html b/typo3conf/ext/lfeditor/Resources/Private/Partials/SelectExtensionAndLanguageFile.html deleted file mode 100644 index d18d7e5..0000000 --- a/typo3conf/ext/lfeditor/Resources/Private/Partials/SelectExtensionAndLanguageFile.html +++ /dev/null @@ -1,43 +0,0 @@ -{namespace lfe=SGalinski\Lfeditor\ViewHelpers} -{namespace core=TYPO3\CMS\Core\ViewHelpers} - - - - - {extensionLabel} - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/typo3conf/ext/lfeditor/Resources/Private/Partials/SelectLanguageAndReference.html b/typo3conf/ext/lfeditor/Resources/Private/Partials/SelectLanguageAndReference.html deleted file mode 100644 index e23a209..0000000 --- a/typo3conf/ext/lfeditor/Resources/Private/Partials/SelectLanguageAndReference.html +++ /dev/null @@ -1,27 +0,0 @@ -{namespace lfe=SGalinski\Lfeditor\ViewHelpers} - - - - - - - - - - - - - - - - - - diff --git a/typo3conf/ext/lfeditor/Resources/Private/Partials/SelectNumConstants.html b/typo3conf/ext/lfeditor/Resources/Private/Partials/SelectNumConstants.html deleted file mode 100644 index 8149dc1..0000000 --- a/typo3conf/ext/lfeditor/Resources/Private/Partials/SelectNumConstants.html +++ /dev/null @@ -1,14 +0,0 @@ -{namespace lfe=SGalinski\Lfeditor\ViewHelpers} - - - - - - - - - diff --git a/typo3conf/ext/lfeditor/Resources/Private/Partials/SelectReferenceLanguage.html b/typo3conf/ext/lfeditor/Resources/Private/Partials/SelectReferenceLanguage.html deleted file mode 100644 index b2ca924..0000000 --- a/typo3conf/ext/lfeditor/Resources/Private/Partials/SelectReferenceLanguage.html +++ /dev/null @@ -1,12 +0,0 @@ -{namespace lfe=SGalinski\Lfeditor\ViewHelpers} - - - - - - - diff --git a/typo3conf/ext/lfeditor/Resources/Private/Partials/TreeElement.html b/typo3conf/ext/lfeditor/Resources/Private/Partials/TreeElement.html deleted file mode 100644 index 7e710b9..0000000 --- a/typo3conf/ext/lfeditor/Resources/Private/Partials/TreeElement.html +++ /dev/null @@ -1,46 +0,0 @@ -{namespace lfe=SGalinski\Lfeditor\ViewHelpers} - - - - - - - - - - - - - - - - - - - - {treeNode.label} - - - - - - - - - {treeNode.label} - - - - - - diff --git a/typo3conf/ext/lfeditor/Resources/Private/Sources/ExtensionIcons.ai b/typo3conf/ext/lfeditor/Resources/Private/Sources/ExtensionIcons.ai deleted file mode 100644 index 676d850..0000000 --- a/typo3conf/ext/lfeditor/Resources/Private/Sources/ExtensionIcons.ai +++ /dev/null @@ -1,268 +0,0 @@ -%PDF-1.5 % -1 0 obj <>/OCGs[5 0 R 21 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <>stream - - - - - Adobe Illustrator CC 2017 (Macintosh) - 2016-11-04T18:57:35+01:00 - 2016-11-04T19:31:19+01:00 - 2016-11-04T19:31:19+01:00 - - - - 256 - 256 - JPEG - /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAAEAAwER AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE 1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp 0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo +DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9Map/eJ8v44qgsVdirsV dirsVdirsVdirsVdirsVdirsVdirsVdirsVcCQajYjocVR9rqHRJj8n/AK4qj8VdirsVdirsVdir sVdirsVdirsVdiqXap/eJ8v44qgsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVRF revD8LfFH4eHyxVNI5UkUMhqMVXYq7FXYq7FXYq7FXYq7FXYq7FUu1T+8T5fxxVBYqqW8DTuUUgE Cu+Koj9Fzfzr+OKu/Rc386/jirv0XN/Ov44q79Fzfzr+OKu/Rc386/jirv0XN/Ov44q79Fzfzr+O Ku/Rc386/jirv0XN/Ov44q79Fzfzr+OKu/Rc386/jirv0XN/Ov44q79Fzfzr+OKrJrCSKMyFgQKb Cvc0xVDYq7FXYq7FV8M0kTckNPEdjiqaW13HMKD4X7qf4Yqr4q7FXYq7FXYq7FXYq7FXYql2qf3i fL+OKoLFUXpn+9Df6h/WMVTPFXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FVC/8A95H+j9YxVKMVdirs VdirsVcCQQQaEdCMVTG11ANRJtm7P2PzxVG4q7FXYq7FWGeZPzCis5XtNLVZ5k2kuG3jU+CgU5H3 6fPNjp9AZC5bB1Wq7SETww3PexGbzn5mlcsb51r2QKoH0AZnjSYh0dbLXZj/ABI7TPzD121cC6Zb yH9pXAV6ezKB+IOV5NBjly2Lbi7SyR5+oPRNF1uw1e0FzaNWm0kbbOjeDDNRmwyxmi7zBnjljcVu qf3ifL+OVNyCxVF6Z/vQ3+of1jFUzxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxVQv/APeR/o/WMVSj FXYq7FXYq7FXYq7FUVa3zxUV/ij/ABHyxVM0kSRQyGqnvireKvI/zs/M0aZbyeWdIlpqVwtL+4Q7 wRMP7sEftuOvgvudszTYb9R5ODq89DhHN5N5c83vbcbTUGL2/SObqyex8VzawyVsXTZMN7hnEckc iK8bB0YVVlNQR7EZkOIuxVOvKOsyaXrUL8qW87CK4XsVY0r/ALE75jarDxwPeHL0ec48g7jzeoap /eJ8v45z706CxVF6Z/vQ3+of1jFUzxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxVQv/APeR/o/WMVSj FXYq7FXYq7FXYq7FXYqqQXEkLVQ7d17HFWN/mZ+Z1r5Y0b07Qh9cvFItYDv6a9DM/sP2fE/I5fgw 8Z8nH1GfgHm+Y7i4nuZ5Li4kaWeZjJLK5qzMxqzEnqSc2gFOoJtVtLb1G5sPgH4nMnBi4jZ5OLqM 3CKHNkOka1cafJx+3bMfji/ivgczJQtwIzpmVneW93AJoG5IeviD4EdjlJFNwKuoJYBftE7U8cCv atU/vE+X8c5Z7JBYqi9M/wB6G/1D+sYqmeKuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KqF//vI/0frG KpRirsVdirsVdirsVdirsVSTzf5qsPLOjSahdfG/2La3Bo0spGyj27k9hlmPGZmg15cogLL5o1vW dQ1rU59Sv5PUuZ2qx7KOyqOyqNhm2hERFB0s5mRsoa3gMr06KPtHLsWPiPk0ZsogPNM1UKAoFAOg zZAUKDqiSTZWTSrEhY/QPE5HJMRFs8eMzNBS03W7/T7o3EL1Df3kR+ww8CP45rvEN27Pwo1T2T8s Vg8z6hHcxArBZMsl2jfssN0T35EfdXIarUCMNuZZaPSmWQXyG71nVP7xPl/HNG9EgsVRemf70N/q H9YxVf5iOqDy/qZ0kV1UWk508bb3Hpt6XXb7dOuIUvii61DzyLmUXdzqYueR9YSvcB+dd+XI1rXx y/Zp3Uv0j5w/5atQ/wCDn/rjsh36R84f8tWof8HP/XHZXfpHzh/y1ah/wc/9cdld+kfOH/LVqH/B z/1x2V36R84f8tWof8HP/XHZXfpHzh/y1ah/wc/9cdld+kfOH/LVqH/Bz/1x2V36R84f8tWof8HP /XHZXfpHzh/y1ah/wc/9cdlZ9+SN75+k/MLTkhmvpbIlv0ksrStD6HBqmTmePX7P+V0yMqplG7fV 2VNqhf8A+8j/AEfrGKpRirsVdirsVdirsVdiqE1XVbHStPn1C+lENrbqXkc/gAO5J2A7nJRiSaDG UhEWXzT508333mjWHvbisdulUs7atRHHX/iTftHNrixiAp02bKZm0jijaRwq9T+GXwgZGg485iIs pnFGsaBV6Dv45s4QERQdVOZkbLbuqKWY0A64ZSAFlEYkmglk8zSvyPT9keAzWZMhkbdrixiApM/K vljU/MutQaTpyVllNZJTXhFGPtSOfAfj065TOYiLLfjxmZoPrDyp5W0vyzo0OlaclIo/illP25ZC Pikc+Jp9HTNTkmZGy7nHjEBQVtU/vE+X8cg2ILFUXpn+9Df6h/WMVTPFXYq7FXYq7FXYq7FXYq7F XYq7FXYq7FVK6jaSBkX7RpT6CDiqX/o658B9+Ku/R1z4D78Vd+jrnwH34q79HXPgPvxV36OufAff irv0dc+A+/FVstnLFE8srIkUalpHZgFVVFSST2AxV84fmd5/k8yakbSzcjRbRiIBuPWcbGVh/wAR B7e5zaYMPALPN1Gpz8ZocmEKpYhQKk9BmQBezikgCymdvAIkp1Y/aObLFi4R5urzZeM+SoTQVPTL WpLrq4MrUX7A6e/vmuzZeI7cnZYMPCLPNuwsLzUL2GysomnurhxHDEgqWZugygkAWXJAJNB9Uflt 5As/J+iiH4ZdUuQH1C6A6t2jTvwTt49c1WbKZnydxgwiA82XZS3pdqn94ny/jiqCxVF6Z/vQ3+of 1jFUzxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KvBfzu/M765LJ5X0ab/AESI 8dUuUP8AeOD/AHKkfsr+14nbtvn6bDXqLrdXqL9IeN5muCmFpbemObD4z+AzPwYuHc83XajNxGhy ROZDioG8uakxIdv2j/DMLUZr9Ic/TYa9RQoBJAAqTsAOtcxHMfSH5N/lkPL1kNa1WL/c3dp+7jb/ AI9om/Z/12/a8OnjXXajNxGhydrpcHCLPN6bmK5bsVS7VP7xPl/HFUFiqL0z/ehv9Q/rGKr/ADDq cmlaBqeqRxevJYWk90kP85hjZwu383GmIUvlC4/5yC/NeWZ5E1hIEY1WGO1tSijwHOJ2p82OXcAa uIqf/K/fza/6vv8A06Wf/VHHgC8Rd/yv382v+r7/ANOln/1Rx4AvEXf8r9/Nr/q+/wDTpZ/9UceA LxF3/K/fza/6vv8A06Wf/VHHgC8Rd/yv382v+r7/ANOln/1Rx4AvEXf8r9/Nr/q+/wDTpZ/9UceA LxF3/K/fza/6vv8A06Wf/VHHgC8Rd/yv382v+r7/ANOln/1Rx4AvEXf8r9/Nr/q+/wDTpZ/9UceA LxF3/K/fza/6vv8A06Wf/VHHgC8Rd/yv382v+r7/ANOln/1Rx4AvEXf8r9/Nr/q+/wDTpZ/9UceA LxF3/K/fza/6vv8A06Wf/VHHgC8RZv8Ak/8AnV591nzvY6JrVympWl/6iEmGKJ4ikbSB1MKR1+xv yGRlEUmMjb6MytsdirsVeV/nP+Z36DtH0DSJaaxcr/pMydbeFh2PaRx08Bv4ZlabDxbnk4eqz8I4 RzfOubJ1aMs7atJXG37I/jmXp8P8RcLU5v4QjczHBQt3c8BwQ/Gep8BmNny1sOblafDxbnkgMwXY va/yQ/LH1Gi816zD+7X4tJtnH2j2uGB7D9j/AILwzB1Ob+EOfpNP/Efg9zzBdi7FXYql2qf3ifL+ OKoLFUXpn+9Df6h/WMVTMgEEEVB2IOKsSm/KT8tZpXlk8vWfOQlm4oVFT7KQBh4ijhCn/wAqf/LL /qXbT/gW/rjxFeEO/wCVP/ll/wBS7af8C39ceIrwh3/Kn/yy/wCpdtP+Bb+uPEV4Q7/lT/5Zf9S7 af8AAt/XHiK8Id/yp/8ALL/qXbT/AIFv648RXhDv+VP/AJZf9S7af8C39ceIrwh3/Kn/AMsv+pdt P+Bb+uPEV4Q7/lT/AOWX/Uu2n/At/XHiK8Id/wAqf/LL/qXbT/gW/rjxFeEO/wCVP/ll/wBS7af8 C39ceIrwh3/Kn/yy/wCpdtP+Bb+uPEV4Q7/lT/5Zf9S7af8AAt/XHiK8Id/yp/8ALL/qXbT/AIFv 648RXhCaaD5E8naBctdaNpFtZXLrwaeNPj4nqAxqQD7YklQE9wJdirDPzO/MO18oaOTGVl1i7BWx tzvTsZXH8i/idvEi7Dh4z5NGfMIDzfLV3d3V5dS3d1K01zO5kmlc1ZmY1JJzagU6cmzZXWtv6jcm +wPxzIwYuI2eTjZ83CKHNMc2DrVG5nESbbufsjKs2XhHm3YcXGfJLSSSSTUnqc1pNuzAp6L+UP5Z v5n1EanqUZGg2b/GDt9YkG/pD/JH7Z+j5Y2ozcIoc3L02DjNnk+l0RERURQqKAFUCgAHQAZrHbN4 q7FXYql2qf3ifL+OKoLFUXpn+9Df6h/WMVTPFXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7 FUl84ebNM8raJNql+1QvwwQD7cspHwov8T2G+Tx4zI0GvLkEBZfJ/mXzFqfmLWbjVtRk53E52UfY jQfZjQdlUf1O+baEBEUHTZJmRsoCCFpXoNlH2jl+LGZFx8uUQFpmqqqhVFAOgzZAACg6uUiTZWyy rEhZvoHicjOYiLLLHjMjQSuSRpHLN1Oa2cjI2XawgIigyHyN5MvfNOri1jrHZw0e9uabIhPQf5TU +Ef0yjLlEBbkYcJma6PqzQtOstN0e1sLKIQ2tugSKNegH8STuT3OamUiTZdzGIAoI/Al2KuxV2Kp dqn94ny/jiqCxVF6Z/vQ3+of1jFUTqupW2l6ZealdEi1sYJLmcqKkRwoXag7mi4q8Dn/AOcrbn1n 9Dy4no1Pp+pdHlx7FqRUrlnA18an/wBDW6h/1LkX/SU3/VLHgXjd/wBDW6h/1LkX/SU3/VLHgXjd /wBDW6h/1LkX/SU3/VLHgXjd/wBDW6h/1LkX/SU3/VLHgXjd/wBDW6h/1LkX/SU3/VLHgXjd/wBD W6h/1LkX/SU3/VLHgXjd/wBDW6h/1LkX/SU3/VLHgXjd/wBDW6h/1LkX/SU3/VLHgXjd/wBDW6h/ 1LkX/SU3/VLHgXjd/wBDW6h/1LkX/SU3/VLHgXjd/wBDW6h/1LkX/SU3/VLHgXjd/wBDW6h/1LkX /SU3/VLHgXjd/wBDW6h/1LkX/SU3/VLHgXjd/wBDW6h/1LkX/SU3/VLHgXjXJ/zlVqUjhE8txFm2 A+tN/wBUsIxWaQctCyw7z1581fzjqaXl8ogghXha2cbFo4gd2IJpVmPVqeHhmyxYhAU6rNmMzbHI 42kcKvU5fGJkaDjzmIiymkUSxIFX6T4nNlCAiKDqsmQyNlczKqlmNAOpyRIAssYxJNBLJ52levRR 9kZrcuQyLtMWIQCM0DQtQ13VYNNsE5zzHdj9lFH2nc9lUf51yicxEWXIhAyNB9L+VfLOn+XNHi02 zFQvxTzEfFLIftO38B2GanJkMjZdzixiAoMxs/8AeaP5ZBsVcVdirsVdiqXap/eJ8v44qgsVRemf 70N/qH9YxVG3tla31nPZXcYmtbqN4biJujxyKVdTTsVNMVePz/8AOLfkt5neLU9QijZiUj5QtxB7 VMdTT3yfGWHAFn/QrHk//q7ah98H/VPHjK8Dv+hWPJ//AFdtQ++D/qnjxleB3/QrHk//AKu2offB /wBU8eMrwO/6FY8n/wDV21D74P8AqnjxleB3/QrHk/8A6u2offB/1Tx4yvA7/oVjyf8A9XbUPvg/ 6p48ZXgd/wBCseT/APq7ah98H/VPHjK8Dv8AoVjyf/1dtQ++D/qnjxleB3/QrHk//q7ah98H/VPH jK8Dv+hWPJ//AFdtQ++D/qnjxleB3/QrHk//AKu2offB/wBU8eMrwO/6FY8n/wDV21D74P8Aqnjx leB3/QrHk/8A6u2offB/1Tx4yvAtf/nFvyaiM76xfqiglmJgAAHUk+njxleAPGNc0ny1p+tXEPl+ ee7sIj6cd3c8eUhH2mUIqUU9q7/qzZYcfCLPN1eozcRockIASQBuT0GXgW4pNJlbW4iTf7Z+0f4Z scOLhHm6zNl4z5K2XNKXXVx6jcV+wPxOa/Pl4jQ5Oy0+HhFnmttLS6vLqK0tYmmuZ3EcMSCrMzGg AGY5NOSBZoPo38u/Itv5W0v94Fk1W5AN5ONwO4jQ/wAq/id/DNVmzcZ8ncafDwDzZblLenNn/vNH 8sVVcVdirsVdiqXap/eJ8v44qgsVRemf70N/qH9YxVM8VdirsVdirsVdirsVdirsVdirsVdirsVd irsVeG/nd+Z/NpvKmjS/AtU1a5Q9T3t1I7D/AHZ/wPjmdpsP8Rdfq9R/CPi8TzOdej7O24D1HHxn oPAZnYMNbnm6/UZuLYckVmS4iCvLnrEh/wBY/wAMw9Rm/hDnabD/ABFB5iOa+ivyY/LD9CWqeYNX iprFyn+iwON7eJh1I7SOOvgNvHNdqc3FsOTtNLp+EcR5s2zEcx2KpzZ/7zR/LFVXFXYq7FXYql2q f3ifL+OKoLFUXpn+9Df6h/WMVTCaaGCGSeZ1jhiUvJI5CqqqKliT0AGKvNZ/+cjPywimeNbu5lCE gSx278Wp3XlxNPoyXAWPGFP/AKGQ/LL/AH/d/wDSO39ceArxh3/QyH5Zf7/u/wDpHb+uPAV4w7/o ZD8sv9/3f/SO39ceArxh3/QyH5Zf7/u/+kdv648BXjDv+hkPyy/3/d/9I7f1x4CvGHf9DIfll/v+ 7/6R2/rjwFeMO/6GQ/LL/f8Ad/8ASO39ceArxh3/AEMh+WX+/wC7/wCkdv648BXjDv8AoZD8sv8A f93/ANI7f1x4CvGHf9DIfll/v+7/AOkdv648BXjDv+hkPyy/3/d/9I7f1x4CvGHf9DIfll/v+7/6 R2/rjwFeMJL5y/5yC0e80GS38qGf69cVjN3LH6YiQj4mSpqX7Dw65kYMFmzycXU6jhFDm8NJJJJN SdyTmxdWirO25UkcbD7I8ffMvT4b9RcPU5q9IR2ZrgIa7ufTHBT8Z/AZj58vDsOblafDxGzyS/MB 2L2P8kvywF7JH5o1mKtnE1dMtnH946n++YH9lT9nxO/bfC1OavSHO0unv1F73mA7JIcVdiqc2f8A vNH8sVVcVdirsVdiqXap/eJ8v44qgsVRemf70N/qH9YxVW1zS4tX0XUNKmcpDqFtNayOv2lWaMxk ivcBsQr5tn/5xa88rM4g1PTJIQT6byPcIxXsWUQuAfbkct4w18BWf9CufmB/1cNJ/wCR1z/2T48Y RwF3/Qrn5gf9XDSf+R1z/wBk+PGF4C7/AKFc/MD/AKuGk/8AI65/7J8eMLwF3/Qrn5gf9XDSf+R1 z/2T48YXgLv+hXPzA/6uGk/8jrn/ALJ8eMLwF3/Qrn5gf9XDSf8Akdc/9k+PGF4C7/oVz8wP+rhp P/I65/7J8eMLwF3/AEK5+YH/AFcNJ/5HXP8A2T48YXgLv+hXPzA/6uGk/wDI65/7J8eMLwF3/Qrn 5gf9XDSf+R1z/wBk+PGF4C7/AKFc/MD/AKuGk/8AI65/7J8eMLwFjvnH8mtd8oW9vPrGpac5uH4x W1tJM8zAbswV4YxxHck5bhjxlpzz4B5pIiKihVFFGwGbECnVkkmyiLW3MrVP2B19/bL8OLiO/Jxs +bgFDmmIAAoOgzYutU7icRJXqx+yMqy5OEebbhxGZ8ksZizFiak9TmtJs2XaAACgz/8AKb8tpfNe qfXL5GTQrJgbhunrONxCp/4mR0HuRmPnzcAoc3K02DjNnk+nIoooYkhiQRxRqEjjUAKqqKAADoAM 1btwF2KpDirsVTmz/wB5o/liqrirsVdirsVS7VP7xPl/HFUFiqL0z/ehv9Q/rGKpnirsVdirsVdi rsVdirsVdirsVdirsVSnzT5n0vy1os+q6i9IohSOMfblkP2Y0Hi34dTtk4QMjQYZMggLL5O81eZ9 T8za1PquovWWU0jjX7EUY+zGg8F/tzbQgIig6XJkMzZSyCFpX4jp+0fAZdjxmRpoy5BAWmaIqKFU UAzZxiAKDqpSJNlqWRY0LN0H44JzERZTCBkaCWSyNI5Zup7eGayczI2XawgIigyHyH5J1Dzdriaf bVjtko99d0qsUVevuzdFH8K5RlyCAtyMOIzNPq3RtG07RtMt9M06EQWlsvCNB+LMe7Mdye5zVSkZ Gy7mMREUEbkWTsVSHFXYqnNn/vNH8sVVcVdirsVdiqXap/eJ8v44qgsVRemf70N/qH9YxVM8VSqb zb5VgleGbWbGKaMlZI3uYVZWHUEFqg4aRaz/ABn5P/6vun/9JUH/ADXjRWw7/Gfk/wD6vun/APSV B/zXjRWw7/Gfk/8A6vun/wDSVB/zXjRWw7/Gfk//AKvun/8ASVB/zXjRWw7/ABn5P/6vun/9JUH/ ADXjRWw7/Gfk/wD6vun/APSVB/zXjRWw7/Gfk/8A6vun/wDSVB/zXjRWw7/Gfk//AKvun/8ASVB/ zXjRWw7/ABn5P/6vun/9JUH/ADXjRWwsm88eTIYXlfXbDhGpZuNzCxoBXZVYkn2GERJNIMgBZfNX 5k+f7zzhrZmHKLSrYlNPtT2XvI4G3N+/h0zaYcQgPN1GfMZnyYmiM7BVFScvjEk0HGlIRFlM4YVi TiOvc+JzZ48YiKdVkyGZtezBQSTQDqckTW7AAk0EsuJzK9eij7IzW5cnEfJ2mHEIDzVNOsZL++gs 43jiadwglmdY41r1Z3YgKBlMpCIsuRCBkaD6f8ir5A8r6NBpNhrWnyzuQ1zOLmDnPM21aBvoVew9 81WWZmbLucWMQFBm2VNrsVdiqQ4q7FU5s/8AeaP5Yqq4q7FXYq7FUu1T+8T5fxxVBYqi9M/3ob/U P6xiq/zDZ317oGp2dhL6F9c2k8NpPUrwlkjZY3qNxxYg4hS+OLj8p/zJhneJ/Lt8zoSGaOIyKT7O nJW+g5dxBp4Sp/8AKrfzG/6lvUP+keT+mHiC0Xf8qt/Mb/qW9Q/6R5P6Y8QWi7/lVv5jf9S3qH/S PJ/THiC0Xf8AKrfzG/6lvUP+keT+mPEFou/5Vb+Y3/Ut6h/0jyf0x4gtF3/KrfzG/wCpb1D/AKR5 P6Y8QWi7/lVv5jf9S3qH/SPJ/THiC0Xf8qt/Mb/qW9Q/6R5P6Y8QWi0fyu/MVQSfLmoADck270p9 2PEFooGwsDb1eUfvjtTrxH0ZnYcVbnm67Pm4jQ5IwAk0G5PTLwHGJTK2txEtT9s9T/DNjhxcI83V 583GfJXy5pS+7ufUPBT8A/E5gZ8vEaHJ2Onw8Is81GCCa4mjggjaWaVgkUSAszMxoFVRuSTmMS5Q Fom+/Ln8x7iSi+W9RES/ZH1eTf36ZgZcwkfJ2WHBwjzQ8f5VfmQ7qi+W78FjQFoGUb+JagH05VxB v4S+vfImlappHk7R9M1WT1dQtLZIrhuXOhA2Xl34Ci19spPNtCe4EuxVIcVdiqc2f+80fyxVVxV2 KuxV2Kpdqn94ny/jiqCxVF6Z/vQ3+of1jFUzxV2KuxV2KuxV2KuxV2KuxV2KvFPzv/M701m8qaNL +8b4dWuUP2R3t1I7n9v/AIHxzN02H+IuBq9R/CPi8MzPdcjrO24j1HHxH7I8MzdPhrcuBqc1+kck XmU4aDvLnrEh3/aP8MxNRm/hDm6bD/EUFmG5z6C/JT8sTpcCeZdYhpqU61sLdxvBGw+2wPR3B+ge 5212pzX6RydnpdPXqPN65mI5rsVdirsVdiqQ4q7FU5s/95o/liqrirsVdirsVS7VP7xPl/HFUFiq L0z/AHob/UP6xiqZ4q7FXYq7FXYq7FXYq7FXYq85/N78zE8saedM02QHXrxDwI3+rxnb1T/lH9gf T88nT4eI2eTi6nPwChzfNDu7uzuxZ2JLMTUknqSc2TqUTZ23I+o4+EfZHicysGG9zycTUZq9I5o/ M516Hurj014r9s/hlGfLwihzcnBh4jZ5Jdmvdk9b/JX8sP0rPH5l1iGumQNWxt3G08in7bA9Y0P3 n2G+Hqc9ekc3N0unv1Hk+g817s3Yq7FXYq7FXYqkOKuxVObP/eaP5Yqq4q7FXYq7FUu1T+8T5fxx VBYqi9M/3ob/AFD+sYqv8xXGpW3l/U7jS4/V1KG0nksYqcuU6xsYl496uBthCl8X3H5jfmI88jS+ ZNVSQsS6rdzxgGu4CKyqvyAy6g02Vn/KxPzA/wCpm1b/AKTrn/mvGgtl3/KxPzA/6mbVv+k65/5r xoLZd/ysT8wP+pm1b/pOuf8AmvGgtl3/ACsT8wP+pm1b/pOuf+a8aC2Xf8rE/MD/AKmbVv8ApOuf +a8aC2Xf8rE/MD/qZtW/6Trn/mvGgtlXtPPX5hXEvEeZtWCjd2+vXOw/4PJ48XEWrLm4AqXd5eXl w9zeXEt1cyU9S4ndpJGoABydyWOw75sIgAUHVykSbLra3MrVP2B1P8MyMOLiPk4+fNwDzTIAAUGw HQZsQHWE2pzzLElTux+yMry5BENmLEZlLGZmYsxqT1Oa0kk2XaxiAKCEvrwW8dF3lb7I8PfKMuTh Hm34cXGfJuDz755t4Y4IPMWpwwRKEiijvLhUVVFAqqHAAA6AZgEW7MbKn/KxPzA/6mbVv+k65/5r xoJsu/5WJ+YH/Uzat/0nXP8AzXjQWy7/AJWJ+YH/AFM2rf8ASdc/8140Fsu/5WJ+YH/Uzat/0nXP /NeNBbL0f8hPO3n7UfP9vp9zqV7qmmTRTNfrdSyXCxIkbFJA0hfh+84rt1rTIyAplEm305lTYkOK uxVObP8A3mj+WKquKuxV2KuxVLtU/vE+X8cVQWKovTP96G/1D+sYqmeKoOfRNGuJWlnsLeWVt2ke JGY/MkVxtVP/AA75f/6tlp/yIj/5pxtad/h3y/8A9Wy0/wCREf8AzTja07/Dvl//AKtlp/yIj/5p xtad/h3y/wD9Wy0/5ER/8042tO/w75f/AOrZaf8AIiP/AJpxtad/h3y//wBWy0/5ER/8042tPK/P /lzQtbvbiCO3jtRAfTt5oEVCrLsxooAYFq7HMEa+ePKSPp7m2ekjkhR597xnVfLmpaXe/VrpKBqm OZd0dR3U/wAOudLo80dQLj8fJ53V4zg+r4ea+NFRAq9Bm6jERFB0cpGRsukkWNCzdBjOQiLKYQMj QSuWVpXLN9A8BmsnMyNl2uPGIignnknydqXmzXYtMs/gj+3d3JFViiB+Jj4nso7nKcmQQFlvxYjM 0H1JpPknytpenQWFvptu0UChQ8sSPIx7s7EVLE7nNTKZkbLuYQERQRf+HfL/AP1bLT/kRH/zTkbZ 07/Dvl//AKtlp/yIj/5pxtad/h3y/wD9Wy0/5ER/8042tO/w75f/AOrZaf8AIiP/AJpxtad/h3y/ /wBWy0/5ER/8042tIm0sLGzVltLeK3VjVliRUBPieIGKq+KpDirsVTmz/wB5o/liqrirsVdirsVS 7VP7xPl/HFUFiqL0z/ehv9Q/rGKpnirsVdirsVdirsVdiqE1a9FjptxdHrGh4f6x2X8TleWfDEll CNmnlZJJJJqTuSc0bsENf2Frf2zW90geNvvB7FT2OXafUTwz4oGi059PDLHhmLDzrzD5butIcyV9 WyJ+Cfw9n8D+vO47P7Vx6iNH0zHMfqeM1/Zk8B29UDyP62KXNwZX22QfZH8cnmy8R8k4cXAPNX0f R9Q1jU7fTNOiM95cuEiQfiSeyqNyewyiUgBZciMTI0H1b5C8kad5R0NLC2pJdSUe+u6UaWSn4KvR R2+dc1OXKZm3c4cQgKZJlba7FXYq7FXYq7FXYq7FUhxV2KpzZ/7zR/LFVXFXYq7FXYql2qf3ifL+ OKoLFUXpn+9Df6h/WMVVde1VNI0PUdWeMypp9rNdNEuxYQRmQqPc8aYhS+ZZf+cnPzDaV2jg0+OM klE9GRqDsKmTfLeANXGVv/QzX5jf760//kRJ/wBVceALxl3/AEM1+Y3++tP/AOREn/VXHgC8Zd/0 M1+Y3++tP/5ESf8AVXHgC8Zd/wBDNfmN/vrT/wDkRJ/1Vx4AvGXf9DNfmN/vrT/+REn/AFVx4AvG WW+TPzM84+c7G7bWBbJZQSIsQt42QtIAS3Isz7KCPvzW9oSAqIcvSi7KfZrHMdiqyWKKaNopUEkb ji6MAVIPYg4YyINjmgxBFF5x5p/L+4tXN1o6PPbsfitVq0iVP7Pdl/Ee+dHoe0xP0z2l397otX2e Y+qG8fue0/lL+WsXlXSxe3yBtevUH1htj6KHcQqfH+cjqfYZZnzcZocmemwcAs83oGY7kuxV2Kux V2KuxV2KuxV2KpDirsVTmz/3mj+WKquKuxV2KuxVLtU/vE+X8cVQWKovTP8Aehv9Q/rGKpjJHHLG 0cih43BV0YAqykUIIPUHFWBy/kN+U8kjSNoKhnJYhbm7RanwVZgoHsBkuIseELP+VBflL/1Yv+nu 8/6rY8ZXhDv+VBflL/1Yv+nu8/6rY8ZXhDv+VBflL/1Yv+nu8/6rY8ZXhDv+VBflL/1Yv+nu8/6r Y8ZXhDv+VBflL/1Yv+nu8/6rY8ZXhDHY9G0LR5JrHQ7YWmmpIxiiDvJ7FuUjOx5Uruc0eoyccyXY YocMaVMpbHYqm2keWdR1Kjqvo2x6zuNiP8kdWy/Fp5T8g1zyiLNtJ8vadpqhok9SfvO+7fR/L9Gb LFp4w5c3FnkMkzy9rdirsVdirsVdirsVdirsVdiqQ4q7FU5s/wDeaP5Yqq4q7FXYq7FUu1T+8T5f xxVBYqi9M/3ob/UP6xiqZ4q7FXYq7FXYq7FUu8w6ithpE8xYLIw9OHeh5vsKfLrlWefDAlnjFyDz HNI56L0/Sr7UJfTtYi9PtP0Vfm2Tx4pTOzGUwObM9H8nWNpxlu6XVwN6Efu1Psvf6c2WLSRjudy4 s8xPJkIAAoOmZbS7FXYq7FXYq7FXYq7FXYq7FXYq7FUhxV2KpzZ/7zR/LFVXFXYq7FXYql2qf3if L+OKoLFVS3naBy6gEkU3xVEfpSb+RfxxV36Um/kX8cVd+lJv5F/HFXfpSb+RfxxV36Um/kX8cVd+ lJv5F/HFXl/5+eVvOHnHQtLtvLxX1bK7+sywep6JY8CqSKzELVKn78IrqgovyB5T8yW+jQDzhNDc 6gmxS3J3QAcfVfar9a8fvzDOjhxX07m8Z5VT0GC8FvEsUEMcca/ZRRQZlRiAKDUTap+lJv5F/HCh 36Um/kX8cVd+lJv5F/HFXfpSb+RfxxV36Um/kX8cVd+lJv5F/HFXfpSb+RfxxV36Um/kX8cVd+lJ v5F/HFXfpSb+RfxxV36Um/kX8cVd+lJv5F/HFXfpSb+RfxxVB4q7FU5s/wDeaP5Yqq4q7FXYq7FU u1T+8T5fxxVBYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F U5s/95o/liqrirsVdirsVS7VP7xPl/HFUFirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdir sVdirsVdirsVdirsVdirsVTmz/3mj+WKquKuxV2KuxV//9k= - - - - 1 - False - False - - 321.945007 - 321.945007 - Pixels - - - - Cyan - Magenta - Yellow - Black - - - - - - Standard-Farbfeldgruppe - 0 - - - - application/pdf - proof:pdf - xmp.did:3b30c183-002d-4eb9-8cf3-048a17611350 - uuid:dcf3ca03-e76e-244d-91cb-c8540000c814 - xmp.did:3b30c183-002d-4eb9-8cf3-048a17611350 - - proof:pdf - - - - - saved - xmp.iid:3b30c183-002d-4eb9-8cf3-048a17611350 - 2016-11-04T18:57:35+01:00 - Adobe Illustrator CC 2017 (Macintosh) - / - - - - Document - - - - - - - - - - - - - - - - - - - - - - - - - endstream endobj 3 0 obj <> endobj 7 0 obj <>/Resources<>/Properties<>>>/Thumb 26 0 R/TrimBox[0.0 0.0 321.945 321.945]/Type/Page>> endobj 23 0 obj <>stream -HVK1)r'BY %oWBO\}>ݽdrNۜ>~_2TɵeyfԻt) 3fؔ ?/˛S'5OXz[wco&Drٌ4'1ƊO] -x\Nd?XWa*a`XA$0jzXvxCHغ(kuU5(yމMRV[ 47}?+ցJ(}['\Hb~C? 47s_ }t'0~;U=vUѴ'迫qKČe^팿WᇺS+vin}/pW}?+~e߯w].F]Gk|uj;ِ;yݕ? }ZS7sOO)g~^wxK ƿ ; ZSQJKAR; .ƒI[T|(ͷB3] R!CE.dRdV]d,-^jx/.Jt*ޥ": *uβD2FQoSzqP1|D9@Pq5!wH%kg*DAl#+m$Z!` -5|oNo3+[?]3D|#ኳ"S Rp!GK& -Vpcx7 F٨ endstream endobj 26 0 obj <>stream -8;Wk$4`\La%"p"!48U)/Oua):c8Tg"n+'(V-N\j]prap:'RhSTleOKHU5-b3N+XmF -,OE^D_rdleW%Ph -BF'u#1$,K0h9WI!GtBn%-H`bfM_ZcpFs\(LHh3'HM/elKaBi'4S^sLI9Vh&LK9F`/ -#]2s%?3>Zsgl[c;RXFSL3MCG5jhm^%YB*cL-,XNR -eQ.MBrcG3!I!)K4FSWVPb(&BIA`u,D>q-&?t&sq*eW"Z/'?i'3T!7h>Ko'\52GP2*MJno#gk;MpLkWqtqh0#_*$Y -gC)#@~> endstream endobj 27 0 obj [/Indexed/DeviceRGB 255 28 0 R] endobj 28 0 obj <>stream -8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0 -b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup` -E1r!/,*0[*9.aFIR2&b-C#soRZ7Dl%MLY\.?d>Mn -6%Q2oYfNRF$$+ON<+]RUJmC0InDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j$XKrcYp0n+Xl_nU*O( -l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~> endstream endobj 21 0 obj <> endobj 29 0 obj [/View/Design] endobj 30 0 obj <>>> endobj 25 0 obj <> endobj 24 0 obj <> endobj 31 0 obj <> endobj 32 0 obj <>stream -%!PS-Adobe-3.0 %%Creator: Adobe Illustrator(R) 17.0 %%AI8_CreatorVersion: 21.0.0 %%For: (Josef Glatz) () %%Title: (ExtensionIcons.ai) %%CreationDate: 04.11.16 19:31 %%Canvassize: 16383 %%BoundingBox: 0 0 322 322 %%HiResBoundingBox: 0 0 321.945007280856 321.945007324219 %%DocumentProcessColors: Cyan Magenta Yellow Black %AI5_FileFormat 13.0 %AI12_BuildNumber: 223 %AI3_ColorUsage: Color %AI7_ImageSettings: 0 %%RGBProcessColor: 0 0 0 ([Passermarken]) %AI3_Cropmarks: 0 0 321.945007324219 321.945007324219 %AI3_TemplateBox: 161.5 160.445007324219 161.5 160.445007324219 %AI3_TileBox: -118.527496337891 -219.027496337891 440.472503662109 563.972503662109 %AI3_DocumentPreview: None %AI5_ArtSize: 14400 14400 %AI5_RulerUnits: 6 %AI9_ColorModel: 1 %AI5_ArtFlags: 0 0 0 1 0 0 1 0 0 %AI5_TargetResolution: 800 %AI5_NumLayers: 1 %AI17_Begin_Content_if_version_gt:17 1 %AI9_OpenToView: -51.1749582243028 391.524407184041 1.41425260068127 1428 847 18 0 0 6 43 0 0 0 1 1 0 1 1 0 1 %AI17_Alternate_Content %AI9_OpenToView: -51.1749582243028 391.524407184041 1.41425260068127 1428 847 18 0 0 6 43 0 0 0 1 1 0 1 1 0 1 %AI17_End_Versioned_Content %AI5_OpenViewLayers: 7 %%PageOrigin:-318 -320.054992675781 %AI7_GridSettings: 72 8 72 8 1 0 0.800000011920929 0.800000011920929 0.800000011920929 0.899999976158142 0.899999976158142 0.899999976158142 %AI9_Flatten: 1 %AI12_CMSettings: 00.MS %%EndComments endstream endobj 33 0 obj <>stream -%%BoundingBox: 0 0 322 322 %%HiResBoundingBox: 0 0 321.945007280856 321.945007324219 %AI7_Thumbnail: 128 128 8 %%BeginData: 19800 Hex Bytes %0000330000660000990000CC0033000033330033660033990033CC0033FF %0066000066330066660066990066CC0066FF009900009933009966009999 %0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66 %00FF9900FFCC3300003300333300663300993300CC3300FF333300333333 %3333663333993333CC3333FF3366003366333366663366993366CC3366FF %3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99 %33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033 %6600666600996600CC6600FF6633006633336633666633996633CC6633FF %6666006666336666666666996666CC6666FF669900669933669966669999 %6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33 %66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF %9933009933339933669933999933CC9933FF996600996633996666996699 %9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33 %99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF %CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399 %CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933 %CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF %CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC %FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699 %FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33 %FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100 %000011111111220000002200000022222222440000004400000044444444 %550000005500000055555555770000007700000077777777880000008800 %000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB %DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF %00FF0000FFFFFF0000FF00FFFFFF00FFFFFF %524C45FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFF %A8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FF %FFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FD36FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FD36FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FD34FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FD36FFA8FFFFFFA8FFFFFFA8FFFFFF %A8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FF %FFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFF %A8FFA8FD32FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FD30FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FD2EFFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FD2EFFA8FFFFFFA8FFFFFFA8FF %FFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFF %A8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FF %FFFFA8FFFFFFA8FFFFFFA8FFA8FD2CFFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FD2CFFA8FFA8FFA8FFA8FD39FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FD2AFFA8FFA8FFA8FFA8FFA8FD39FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FD2AFFA8FFFFFF %A8FD3BFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FD1BFFAFFF %AFFD0AFFA8FFA8FFA8FFA8FFA8FD39FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FD15FFA9855A6136615A6184FD08FFA8FFA8FF %A8FFA8FD39FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FD13FFA96136615A615A615A615AAFFD05FFA8FFA8FFA8FFA8FFA8 %FD39FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FD11FF8461366036615A6036615A603685FD05FFA8FFFFFFA8FFA8FD39FF %A8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FD %0FFF7E3660615A615A615A615A615A615AAFFFFFFFA8FFA8FFA8FFA8FD3B %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FD0DFFA82F06355A615A615A615A615A615A615AFD04FFA8FFA8FFA8FFA8 %FD39FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FD0BFFA8532E2F2E355A615A615A615A615A615A6185FFFFA8FF %A8FFA8FFA8FFA8FD39FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FD08FF53062F2E2F062F36615A615A6036 %615A603685FD05FFA8FFFFFFA8FD3BFFA8FFFFFFA8FFFFFFA8FFFFFFA8FF %FFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FD06FF5A062F2F2F2E2F2F %36368560615A615A615A6160FFFFA8FFA8FFA8FFA8FFA8FD39FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FD04FF84062F2E2F2E2F2E360D302F615A615A615A615A61FFFFFFA8FF %A8FFA8FFA8FD39FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFFFA8062F2E2F2E2F2E360D363036 %2F6160615A615A615AFFFFA8FFA8FFA8FFA8FFA8FD39FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %A82E2F282F2E2F282F0D360D360D300D5A5A6036615A61FFFFFFA8FFFFFF %A8FFA8FD39FFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFF %A8FFFFFFA8FFFFFFA8FD05FF2F2F2E2F2F2F2E3536362F36303630362F5A %60615A6184FFFFA8FFA8FFA8FFA8FD3BFFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF2F2F2E2F2E2F2E %2F0D360D360D360D362E2F2E5A5A6136AFFFFFFFA8FFA8FFA8FFA8FD39FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FF592F2E2F2E2F2E2F30360D3630360D362F2F2E2F2E593685 %FFFFFFA8FFA8FFA8FFA8FFA8FD39FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF592F2E2F062F2E2F0D360D %360D360D360D2F2E2F062F062FA9FD06FFA8FFFFFFA8FD06FF7D527D5259 %527D5259527D5259527D5259527D5259527D5259527D5259527D5259527D %5259527D525952A8FD0AFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFF %FFA8FFFFFFA8FFFFFFA8FFFFFF7E2F2E2F2E2F2E2F2F3630362F363036FD %042F2E2F2E2F84FD04FFA8FFA8FFA8FFA8FFA8FD04FF7E00270527052705 %270527052705270527052705270527052705270527052705270527052705 %270527052705A8FD08FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA82F062F2E2F2E2F2F360D360D360D360D2F %2E2F2E2F2E2F7EFD06FFA8FFA8FFA8FFA8FD05FF7D272728272827282728 %272827282728272827282728272827282728272827282728272827282728 %27282727A8FD07FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8592E2F2E2F2E2F2F3630360D3630360D2F2E2F %2E2F2E2F59FD06FFA8FFA8FFA8FFA8FFA8FD05FF52522852285228522852 %285228522852285228522852285228522852285228522852285228522852 %275253FD09FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA859062F2E2F062F2E360D360D360D360D2F282F2E2F282F %53FD08FFA8FFFFFFA8FFA8FD39FFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFF %A8FFFFFFA8FFFFFFA8FFFFFFA8FFFF7E0C2F2F2F2E2F2F36303630362F36 %36352E2F2F2F2E2F2FFD08FFA8FFA8FFA8FFA8FD3BFFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA884062F2E2F2E2F2E36 %0D360D360D360D2F2E2F2E2F2E2F2EFD0AFFA8FFA8FFA8FFA8FD3BFFA8FF %FFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFA80C2F2E2F %2E2F2E360D3630360D3630362E2F2E2F2E2F2EA9FD09FFA8FFA8FFA8FFA8 %FFA8FD54FFAF2E2F282F2E2F282F0D360D360D360D362E2F062F2E2F0684 %FD0DFFA8FFFFFFA8FD55FF2F2F2E2F2F2F2E3536362F36303630362F2F2E %2F2F2F0684FD0BFFA8FFA8FFA8FFA8FFA8FD53FF532F2E2F2E2F2E2F0D36 %0D360D360D362E2F2E2F2E2F0659FD0DFFA8FFA8FFA8FFA8FD53FF592F2E %2F2E2F2E2F2F360D3630360D362F2F2E2F2E2F0C59FD0DFFA8FFA8FFA8FF %A8FFA8FD51FF7D2F2E2F062F2E2F0D360D360D360D360D2F2E2F062F062F %A8FD0EFFA8FFFFFFA8FFA8FD51FFA82F2E2F2EFD042F3630362F3630362F %2F2E2F2E2F2E2FA8FD0EFFA8FFA8FFA8FFA8FD07FF522E2728272E272827 %2E2728272E2728272E2728272E2728272E2728272E2728272E2728272E27 %28272E2728272E2728272E2728272E2728272E7DFD0FFFA82F062F2E2F2E %2F2F360D360D360D360D2F2E2F2E2F2E2F7EFD10FFA8FFA8FFA8FFA8FD05 %FF7D27272827282728272827282728272827282728272827282728272827 %282728272827282728272827282728272827282728272827282728272827 %28A8FD0EFF592E2F2E2F2E2F2F3630360D3630360D2F2E2F2E2F2E2F59FD %10FFA8FFA8FFA8FFA8FFA8FD04FF7E002705270527052705270527052705 %270527052705270527052705270527052705270527052705270527052705 %2705270527052705270527052727FD0EFF59062F2E2F062F2E360D360D36 %0D360D2F282F2E2F282F2FFD14FFA8FFFFFFA8FD06FF7D527D5259527D52 %59527D5259527D5259527D5259527D5259527D5259527D5259527D525952 %7D5259527D5259527D5259527D5259527D525952A8FD0DFF840C2F2F2F2E %2F2F36303630362F3636352E2F2F2F2E2F2FFD12FFA8FFA8FFA8FFA8FFA8 %FD4CFFA8062F2E2F2E2F2E360D360D360D360D352E2F2E2F2E2F2EAFFD13 %FFA8FFA8FFA8FFA8FD4CFFA92E2F2E2F2E2F2E360D3630360D3630362E2F %2E2F2E2F2EA8FD13FFA8FFA8FFA8FFA8FFA8FD4BFF2E2E282F2E2F282F0D %360D360D360D362E2F062F2E2F0684FD15FFA8FFFFFFA8FFA8FD4BFF532F %2E2F2F2F2E3530362F36303630362F2F2E2F2F2F0C7EFD15FFA8FFA8FFA8 %FFA8FD4BFF532F2E2F2E2F2E2F0D360D360D360D360D2F2E2F2E2F0653A8 %FD16FFA8FFA8FFA8FFA8FD49FF7E2F2E2F2E2F2E2F2F360D3630360D362F %2F2E2F2E2F2E59A8FD16FFA8FFA8FFA8FFA8FFA8FD47FF7E2F2E2F062F2E %2F0D360D360D360D360D2F2E2F062F0C2F7EFFA8FD18FFA8FFFFFFA8FD47 %FFA82F2E2F2EFD042F3630362F3630362F2F2E2F2E2F2E2F7EFFA8FD16FF %A8FFA8FFA8FFA8FFA8FD06FFA8A8FFA8A8A8FFA8A8A8FFA8A8A8FFA8A8A8 %FFA8A8A8FFA8A8A8FFA8A8A8FFA8A8A8FFA8A8A8FFA8A8A8FFA8A8A8FFA8 %A8A8FFA8A8A8FFA8A8A8FFA8A8A8FFA82F062F2E2F2E2F2F360D360D360D %360D2F2E2F2E2F2E2F59FFA8FFA8FD16FFA8FFA8FFA8FFA8FD05FFA85227 %2E272E272E272E272E272E272E272E272E272E272E272E272E272E272E27 %2E272E272E272E272E272E272E272E272E272E272E272E272E272E272E27 %28272F2E2F2E2F2E2F2F3630360D3630360D2F2E2F2E2F2E2F53FFFFFFA8 %FD16FFA8FFA8FFA8FFA8FFA8FD04FF7DF827272705272727052727270527 %272705272727052727270527272705272727052727270527272705272727 %052727270527272705272727052727270527272E062F2E2F062F2E360D36 %0D360D360D2F282F2E2F282F2FFFA8FFA8FFA8FD16FFA8FFFFFFA8FFA8FD %05FF7DFD0427282727272827272728272727282727272827272728272727 %282727272827272728272727282727272827272728272727282727272827 %272728272EFD042F2E2F2F36303630362F3636352E2F2F2F2E2F2FAFFD04 %FFA8FD16FFA8FFA8FFA8FFA8FD07FF7D7D537D527D537D527D537D527D53 %7D527D537D527D537D527D537D527D537D527D537D527D537D527D537D52 %7D537D527D537D527D537D527D537D53532E2F2E2F2E2F2E360D360D360D %360D352E2F2E2F2E2F06A8CFFFA8FFA8FFA8FD16FFA8FFA8FFA8FFA8FD43 %FF2F2F2E2F2E2F2E350D3630360D3630362E2F2E2F2E2F2E84CFFFA8FFA8 %FFA8FD16FFA8FFA8FFA8FFA8FFA8FD41FF2E2E282F2E2F282F0D360D360D %360D362E2F062F2E2F067ECAFFA8FFA8FFA8FFA8FD18FFA8FFFFFFA8FD41 %FF592F2E2F2F2F2E3530362F36303630362F2F2E2F2F2F0C5AFFFFA8FFFF %FFA8FFA8FD16FFA8FFA8FFA8FFA8FFA8FD3FFF592F2E2F2E2F2E2F0D360D %360D360D360D2F2E2F2E2F0653A8FFA8FFA8FFA8FFA8FFA8FD16FFA8FFA8 %FFA8FFA8FD3FFF7E2F2E2F2E2F2E2F2F360D3630360D362F2F2E2F2E2F2E %2FA9FFFFFFA8FFA8FFA8FFA8FD16FFA8FFA8FFA8FFA8FFA8FD3DFF842F2E %2F062F2E2F0D360D360D360D360D2F2E2F062F0C2E84FFFFFFA8FFA8FFA8 %FFA8FFA8FD16FFA8FFFFFFA8FFA8FD3DFFA82F2E2F2EFD042F3630362F36 %30362F2F2E2F2E2F2F2F7EFD05FFA8FFA8FFFFFFA8FD16FFA8FFA8FFA8FF %A8FD3DFFAF2F062F2E2F2E2F2F360D360D360D360D2F2E2F2E2F2E2F59FD %05FFA8FFA8FFA8FFA8FFA8FD16FFA8FFA8FFA8FFA8FD07FFFD35A8592E2F %2E2F2E2F2F3630360D3630360D2F2E2F2E2F2E2F53FD07FFA8FFA8FFA8FF %A8FD16FFA8FFA8FFA8FFA8FFA8FD04FFA827270527272705272727052727 %270527272705272727052727270527272705272727052727270527272705 %272727052727270527272E062F2E2F062F2E360D360D360D360D2F282F2E %2F282F2EFD07FFA8FFA8FFA8FFA8FFA8FD18FFA8FFFFFFA8FD05FF7D2727 %2E272E272E272E272E272E272E272E272E272E272E272E272E272E272E27 %2E272E272E272E272E272E272E272E272E272E272E2E2F2F2F2E2F2F3630 %3630362F3636362E2F2F2F2E2F2FFD09FFA8FFFFFFA8FFA8FD16FFA8FFA8 %FFA8FFA8FFA8FD04FFA80527002705270027052700270527002705270027 %052700270527002705270027052700270527002705270027052700270527 %052E2E2F2E2F2E2F2E350D360D360D360D362E2F2E2F2E2F06A8FD08FFA8 %FFA8FFA8FFA8FFA8FD16FFA8FFA8FFA8FFA8FD06FFA87D7D7D7E7D7D7D7E %7D7D7D7E7D7D7D7E7D7D7D7E7D7D7D7E7D7D7D7E7D7D7D7E7D7D7D7E7D7D %7D7E7D7D7D7E7D7D7D7E7D7D2E2F2E2F2E2F2E350D3630360D3630362E2F %2E2F2E2F2E84FD0AFFA8FFA8FFA8FFA8FD16FFA8FFA8FFA8FFA8FFA8FD37 %FF532F062F2E2F282F0D360D360D360D362E2F062F2E2F067EFD0AFFA8FF %A8FFA8FFA8FFA8FD16FFA8FFFFFFA8FFA8FD37FF592F2E2F2F2F2E353036 %2F36303630362F2F2E2F2F2F0C5AFD0CFFA8FFA8FFFFFFA8FD16FFA8FFA8 %FFA8FFA8FD37FF592F2E2F2E2F2E2F0D360D360D360D360D2F2E2F2E2F06 %2FA8FD0BFFA8FFA8FFA8FFA8FFA8FD16FFA8FFA8FFA8FFA8FD35FF842F2E %2F2E2F2E2F2F360D3630360D362F2F2E2F2E2F2E2FA8FD0DFFA8FFA8FFA8 %FFA8FD16FFA8FFA8FFA8FFA8FFA8FD33FF842F062F062F2E2F0D360D360D %360D360D2F2E2F062F2E2E7EFD0DFFA8FFA8FFA8FFA8FFA8FD18FFA8FFFF %FFA8FD33FFA9592E2F2EFD042F3630362F3630362F2F2E2F2E2F2F2F7EFD %0FFFA8FFFFFFA8FFA8FD16FFA8FFA8FFA8FFA8FFA8FD32FF53062F2E2F2E %2F2F360D360D360D360D2F2E2F2E2F2E2F59FD0FFFA8FFA8FFA8FFA8FFA8 %FD16FFA8FFA8FFA8FFA8FD32FF7E0C2F2E2F2E2F2F3630360D3630360D35 %2E2F2E2F2E2F59FD11FFA8FFA8FFA8FFA8FD16FFA8FFA8FFA8FFA8FFA8FD %05FFA8847D847DA87D847DA87D847DA87D847DA87D847DA87D847DA87D84 %7DA87D847DA87D847DA87D847DA87D59062F2E2F062F2E300D360D360D36 %0D2F282F2E2F062F2E7D7DA87DA8FD0CFFA8FFA8FFA8FFA8FFA8FD16FFA8 %FFFFFFA8FFA8FD05FFA82E27282728272827282728272827282728272827 %282728272827282728272827282728272827282728272E2E2F2F2F2E2F2E %36303630362F3636362E2F2F2F2E2F2F2E27282727057EFD0CFFA8FFA8FF %FFFFA8FD16FFA8FFA8FFA8FFA8FD06FF7DF8282727272827272728272727 %282727272827272728272727282727272827272728272727282727272E2E %2F2E2F2E2F2E350D360D360D360D362E2F2E2F2E2F2E2E27272728272728 %FD0BFFA8FFA8FFA8FFA8FFA8FD16FFA8FFA8FFA8FFA8FD05FFA828052827 %272728272727282727272827272728272727282727272827272728272727 %2827272728272E2E2F2E2F2E2F2E2F0D3630360D3630362E2F2E2F2E2F2E %2E272827272728277EFD0CFFA8FFA8FFA8FFA8FD16FFA8FFA8FFA8FFA8FF %A8FD05FFA87E7DA87D847DA87D847DA87D847DA87D847DA87D847DA87D84 %7DA87D847DA87D847DA87D847D842E2F062F2E2F282F0D360D360D360D36 %2E2F062F2E2F06597D847DA87D847DA8FD0CFFA8FFA8FFA8FFA8FFA8FD18 %FFA8FFFFFFA8FD2DFF7E2F2E2F2F2F2E3530362F3630362F362F2F2E2F2F %2F2E59FD16FFA8FFFFFFA8FFA8FD16FFA8FFA8FFA8FFA8FFA8FD2BFF7D2F %2E2F2E2F2E2F0D360D360D360D360D2F2E2F2E2F0C2FA8FD15FFA8FFA8FF %A8FFA8FFA8FD16FFA8FFA8FFA8FFA8FD2BFF842F2E2F2E2F2E2F2F360D36 %30360D362F2F2E2F2E2F2E2FA8FD17FFA8FFA8FFA8FFA8FD16FFA8FFA8FF %A8FFA8FFA8FD29FFA82F062F062F2E2F0D360D360D360D360D2F2E2F062F %2E2E7DFD17FFA8FFA8FFA8FFA8FFA8FD16FFA8FFFFFFA8FFA8FD2AFF592E %2F2EFD042F3630362F3630362F2F2E2F2E2F2F2F59FD19FFA8FFA8FFFFFF %A8FD16FFA8FFA8FFA8FFA8FD2AFF59062F2E2F2E2F2F360D360D360D360D %2F2E2F2E2F2E2F53FD19FFA8FFA8FFA8FFA8FFA8FD16FFA8FFA8FFA8FFA8 %FD28FF7E0C2F2E2F2E2F2E3630360D3630360D352E2F2E2F2E2F2FFD1BFF %A8FFA8FFA8FFA8FD16FFA8FFA8FFA8FFA8FFA8FD26FF84062F2E2F062F2E %2F0D360D360D360D2F282F2E2F062F2FFD1BFFA8FFA8FFA8FFA8FFA8FD18 %FFA8FFFFFFA8FD06FFA87D847D7E7D847D7E7D847D7E7D847D7E7D847D7E %7D847D7E7D847D7E7D847D7E2E2F2F2F2E2F2E36303630362F3636362E2F %2F2F2E2F2E597D847D7E7D847D7E7D847D7E7D847D7E7D847D7E7DFD07FF %A8FFFFFFA8FFA8FD16FFA8FFA8FFA8FFA8FFA8FD04FFA805270027052700 %27052700270527002705270027052700270527002705270027062F2E2F2E %2F282F0D360D360D360D362E2F2E2F2E2F2E2E2727002705270027052700 %270527002705270027052728FD05FFA8FFA8FFA8FFA8FFA8FD16FFA8FFA8 %FFA8FFA8FD05FF7D272728272E2728272E2728272E2728272E2728272E27 %28272E2728272E272E2E2F2E2F2E2F2E2F0D3630360D3630362E2F2E2F2E %2F2F2E272E2728272E2728272E2728272E2728272E2728272E2728A8FD05 %FFA8FFA8FFA8FFA8FD16FFA8FFA8FFA8FFA8FFA8FD04FFA8FD0427052727 %2705272727052727270527272705272727052727270528062F062F2E2F28 %2F0D360D360D360D362E2F062F2E2F062E27270527272705272727052727 %270527272705272727052752FD05FFA8FFA8FFA8FFA8FFA8FD16FFA8FFFF %FFA8FFA8FD07FFFD1BA8AF7D592E2F2F2F2E2F30362F3630362F362F2F2E %2F2F2F2E59FD19A8FD07FFA8FFA8FFFFFFA8FD16FFA8FFA8FFA8FFA8FD24 %FFC9A059062F2E2F0D360D360D360D360D2F2E2F2E2F2E2FA8FD1FFFA8FF %A8FFA8FFA8FFA8FD16FFA8FFA8FFA8FFA8FD23FFA0C9A77D0C2F2F360D36 %30360D362F2F2E2F2E2F2E2FA8FD21FFA8FFA8FFA8FFA8FD16FFA8FFA8FF %A8FFA8FFA8FD21FFA7A0A0A7A07D0D360D360D360D360D2F2E2F062F2E2E %7DFD21FFA8FFA8FFA8FFA8FFA8FD18FFA8FFFFFFA8FD22FFA7A0A7A7A7A6 %A736362F3630362F352E2F2E2F2F2F59FD23FFA8FFFFFFA8FFA8FD16FFA8 %FFA8FFA8FFA8FFA8FD21FFA0A7A0A7A0A7A0A72F0E0D360D2F282F2E2F2E %2F2FFD23FFA8FFA8FFA8FFA8FFA8FD16FFA8FFA8FFA8FFA8FD21FFA7A7A1 %A7A0A7A1A7A0A759360D352E2F2E2F2E2F2FFD25FFA8FFA8FFA8FFA8FD16 %FFA8FFA8FFA8FFA8FFA8FD20FFA77CA7A0A7A0A7A0A7A0A7592F062F2E2F %282F2EA8FD24FFA8FFA8FFA8FFA8FFA8FD16FFA8FFFFFFA8FFA8FD21FFA0 %A7A7A7A0A7A7A7A0A7A7C97C2F2F2F2E2F2EA8FD26FFA8FFA8FFFFFFA8FD %16FFA8FFA8FFA8FFA8FD07FF7D7D537D527D537D527D537D527D537D527D %537D527D537D527D7CA7A0A7A0A7A0A7A0A7A0A7A0A77C2F0C2F0684FD26 %FFA8FFA8FFA8FFA8FFA8FD16FFA8FFA8FFA8FFA8FD05FF7D270527272705 %27272705272727052727270527272705FD0427A7A7A7A0A7A1A7A0A7A1A7 %A0A7A1C9A059065AFD28FFA8FFA8FFA8FFA8FD16FFA8FFA8FFA8FFA8FFA8 %FD04FF7DF827052727270527272705272727052727270527272705270552 %A0A7A0A7A0A7A0A7A0A7A0A7A0A7A0A77C7DA9FD27FFA8FFA8FFA8FFA8FF %A8FD18FFA8FFFFFFA8FD05FFA85227522852275228522752285227522852 %275228522752282E7CC9A7A7A0A7A7A7A0A7A7A7A0A7A1A7A1CFFD2AFFA8 %FFFFFFA8FFA8FD16FFA8FFA8FFA8FFA8FFA8FD07FFA8FFFFFFA8FFFFFFA8 %FFFFFFA8FFFFFFA8FFFFFFA8FFA8A7A0A7A0A7A0A7A0A7A0A7A0A7A0A7A7 %FD2BFFA8FFA8FFA8FFA8FFA8FD16FFA8FFA8FFA8FFA8FD1EFFCFA0A7A0A7 %A1A7A0A7A1A7A0A7A0C9CAFD2DFFA8FFA8FFA8FFA8FD16FFA8FFA8FFA8FF %A8FFA8FD1DFFA1A7A0A7A0A7A0A7A0A7A0A0A0CFFD2EFFA8FFA8FFA8FFA8 %FFA8FD16FFA8FFFFFFA8FFA8FD1DFFCFA7A1A7A0A7A7A7A0A7A0A7A8FD31 %FFA8FFA8FFFFFFA8FD16FFA8FFA8FFA8FFA8FD1EFFCAA0A7A0A7A0A7A0A7 %A0CACFFD31FFA8FFA8FFA8FFA8FFA8FD16FFA8FFA8FFA8FFA8FD1DFFA7A7 %A0A7A1A7A0A7A7FD35FFA8FFA8FFA8FFA8FD16FFA8FFA8FFA8FFA8FFA8FD %1BFFA8A7A0A7A0A7A0A7A8FD35FFA8FFA8FFA8FFA8FFA8FD18FFA8FFFFFF %A8FD1CFF7D27FD04A7CFFD38FFA8FFFFFFA8FFA8FD16FFA8FFA8FFA8FFA8 %FFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFF27 %00F87CA7FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFF %FFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8 %FFA8FFA8FFA8FFA8FFA8FD16FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFFF7D2752A8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FD16 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FD16FFA8FFFFFFA8FFFFFFA8 %FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFF %FFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8 %FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFF %FFA8FFFFFFA8FD16FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FD16FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FD16FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FD18FFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFF %FFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8 %FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFF %FFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFA8FD16FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FD16FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FD16 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FD12FFFF %%EndData endstream endobj 34 0 obj <>stream -%AI12_CompressedDataxܽz(|^w &C79 1`lp6`r7LXi3n/s>3xVWIR%UIvKOccf^$aK&Ws}:Rlx̏Fz|4$n -|ysu5:evaE'Sl7pho~Q3HpxcDQx4 -f -ۿP0j6A
- * - * - * - * - *