From 9e58c72e4f472d6a65b3ff7ae4828bede07354c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bjo=CC=88rn=20Fromme?= Date: Mon, 2 Dec 2019 19:50:15 +0100 Subject: [PATCH 1/3] Implement ical feed for contingents --- composer.json | 2 + composer.lock | 143 +++++++++++++++++- .../Controller/AjaxContingentController.php | 51 +++++++ .../Configuration/TypoScript/setup.typoscript | 32 ++++ .../ext/ep_products/ext_localconf.php | 11 ++ 5 files changed, 238 insertions(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 62c02aa3..eb328350 100644 --- a/composer.json +++ b/composer.json @@ -20,7 +20,9 @@ "georgringer/news": "^7.2", "gridelementsteam/gridelements": "^9.2", "helhum/typo3-console": "^5.6", + "kigkonsult/icalcreator": "^2.29", "league/csv": "^9.2", + "league/period": "^4.9", "pixelant/pxa-social-feed": "^2.0", "symfony/http-client": "^4.3", "symfony/options-resolver": "^4.2", diff --git a/composer.lock b/composer.lock index d5dc9cb1..56fa0ef8 100644 --- a/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": "5ee4c536b0be04461f96a14634b32be3", + "content-hash": "bb5a69b6fd8737b6af09a7beaaa27b89", "packages": [ { "name": "algo26-matthias/idna-convert", @@ -1266,6 +1266,71 @@ ], "time": "2018-12-09T12:06:13+00:00" }, + { + "name": "kigkonsult/icalcreator", + "version": "v2.29.14", + "source": { + "type": "git", + "url": "https://github.com/iCalcreator/iCalcreator.git", + "reference": "af69b2c08a871d65d64c486b4b3c1a4ca8ebfa35" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/iCalcreator/iCalcreator/zipball/af69b2c08a871d65d64c486b4b3c1a4ca8ebfa35", + "reference": "af69b2c08a871d65d64c486b4b3c1a4ca8ebfa35", + "shasum": "" + }, + "require": { + "ext-openssl": "*", + "ext-simplexml": "*", + "ext-zlib": "*", + "php": ">=5.6" + }, + "require-dev": { + "phpunit/phpunit": "6.5.13" + }, + "type": "library", + "autoload": { + "files": [ + "autoload.php" + ], + "psr-4": { + "Kigkonsult\\Icalcreator\\": [ + "src/", + "src/Util/", + "src/Traits/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Kjell-Inge Gustafsson", + "email": "ical@kigkonsult.se" + } + ], + "description": "iCalcreator is the PHP implementation of rfc2445/rfc5545, management of calendar information", + "keywords": [ + "calendar", + "daylight", + "management", + "rfc2445", + "rfc5545", + "rfc6321", + "standard", + "vCalendar", + "valarm", + "vevent", + "vfreebusy", + "vjournal", + "vtimezone", + "vtodo" + ], + "time": "2019-09-04T00:00:00+00:00" + }, { "name": "league/csv", "version": "9.4.1", @@ -1335,6 +1400,82 @@ ], "time": "2019-10-17T06:05:32+00:00" }, + { + "name": "league/period", + "version": "4.9.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/period.git", + "reference": "b30d2cb474939beaeae8b45ea5aac0edd3ffbf78" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/period/zipball/b30d2cb474939beaeae8b45ea5aac0edd3ffbf78", + "reference": "b30d2cb474939beaeae8b45ea5aac0edd3ffbf78", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": "^7.1.3" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.0", + "infection/infection": "^0.13", + "phpstan/phpstan": "^0.11", + "phpstan/phpstan-phpunit": "^0.11", + "phpstan/phpstan-strict-rules": "^0.11", + "phpunit/phpunit": "^7.0|^8.0", + "symfony/var-dumper": "^4.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.x-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Period\\": "src" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ignace Nyamagana Butera", + "email": "nyamsprod@gmail.com", + "homepage": "https://github.com/nyamsprod/", + "role": "Developer" + } + ], + "description": "Time range API for PHP", + "homepage": "http://period.thephpleague.com", + "keywords": [ + "boundaries", + "calendar", + "collection", + "date", + "dateinterval", + "dateperiod", + "datetime", + "gap", + "intersections", + "interval", + "period", + "range", + "schedule", + "sequence", + "time", + "timeline", + "unions" + ], + "time": "2019-09-02T06:27:10+00:00" + }, { "name": "nikic/php-parser", "version": "v4.3.0", diff --git a/public/typo3conf/ext/ep_products/Classes/Controller/AjaxContingentController.php b/public/typo3conf/ext/ep_products/Classes/Controller/AjaxContingentController.php index 252aad59..1e36d0d7 100644 --- a/public/typo3conf/ext/ep_products/Classes/Controller/AjaxContingentController.php +++ b/public/typo3conf/ext/ep_products/Classes/Controller/AjaxContingentController.php @@ -27,10 +27,13 @@ namespace EP\EpProducts\Controller; * This copyright notice MUST APPEAR in all copies of the script! ***************************************************************/ +use EP\EpProducts\Domain\Model\Contingent; use EP\EpProducts\Domain\Model\Hotel; use EP\EpProducts\Domain\Model\Product; use EP\EpProducts\Domain\Repository\ContingentRepository; use EP\EpProducts\Service\ContingentDataService; +use Kigkonsult\Icalcreator\Vcalendar; +use League\Period\Period; use TYPO3\CMS\Extbase\Mvc\Controller\ActionController; class AjaxContingentController extends ActionController @@ -100,4 +103,52 @@ class AjaxContingentController extends ActionController return \json_encode($rooms); } + /** + * @param Hotel $hotel + * @param string $year + * @param string $month + * @param int $months + */ + public function icalAction(Hotel $hotel) + { + $range = Period::after(new \DateTime('now'), '1 year'); + + $events = $this->contingentRepository->getEvents( + \DateTime::createFromImmutable($range->getStartDate()), + \DateTime::createFromImmutable($range->getEndDate()), + ['hotel' => $hotel] + ); + + $vcalendar = Vcalendar::factory([ Vcalendar::UNIQUE_ID => 'www.ep-reisen.de' ]); + + foreach ($events as $event) { + /** @var Contingent $event */ + $paxTotal = $event->getPax(); + $paxAvaiable = $event->getAvailable(); + + if ($paxTotal > 0) { + $percentageBooked = round($paxAvaiable / $paxTotal * 100); + } else { + $percentageBooked = 100; + } + + if ($percentageBooked >= 75) { + $dtStart = $event->getBegin(); + $dtEnd = clone $event->getBegin(); + $dtEnd->modify('+1 day'); + $vcalendar + ->newVevent() + ->setDtstart($dtStart) + ->setDtend($dtEnd) + ->setSummary('Unavailable') + ->setDescription(sprintf('Unavailable on %s', $dtStart->format('d M Y'))) + ; + } + } + + + + return $vcalendar->vtimezonePopulate()->createCalendar(); + } + } diff --git a/public/typo3conf/ext/ep_products/Configuration/TypoScript/setup.typoscript b/public/typo3conf/ext/ep_products/Configuration/TypoScript/setup.typoscript index 286ff92e..8a241ef6 100644 --- a/public/typo3conf/ext/ep_products/Configuration/TypoScript/setup.typoscript +++ b/public/typo3conf/ext/ep_products/Configuration/TypoScript/setup.typoscript @@ -128,6 +128,7 @@ tx_epproducts_ajax_json { AjaxContingent { 1 = list 2 = rooms + 3 = ical } AjaxWatchlist { 1 = list @@ -144,6 +145,37 @@ tx_epproducts_ajax_html < tx_epproducts_ajax_json tx_epproducts_ajax_html.typeNum = 1702 tx_epproducts_ajax_html.config.additionalHeaders.10.header = Content-type:text/html +tx_epproducts_ical = PAGE +tx_epproducts_ical { + typeNum = 1710 + config { + disableAllHeaderCode = 1 + disablePrefixComment = 1 + additionalHeaders.1.header = Cache-Control: no-cache, no-store, must-revalidate + additionalHeaders.10.header = Content-type: text/calendar + additionalHeaders.20.header = Content-disposition: attachment; filename=ep-reisen.ical + xhtml_cleaning = 0 + admPanel = 0 + debug = 0 + no_cache = 1 + } + + 10 = USER_INT + 10 { + userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run + extensionName = EpProducts + pluginName = ical + vendorName = EP + controller = AjaxContingent + action = ical + switchableControllerActions { + AjaxContingent { + 1 = ical + } + } + } +} + lib.bookingWidget = USER lib.bookingWidget { userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run diff --git a/public/typo3conf/ext/ep_products/ext_localconf.php b/public/typo3conf/ext/ep_products/ext_localconf.php index 055f9900..dece1da6 100644 --- a/public/typo3conf/ext/ep_products/ext_localconf.php +++ b/public/typo3conf/ext/ep_products/ext_localconf.php @@ -358,6 +358,17 @@ $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks'][\EP\EpProducts\T ] ); +\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin( + 'EP.' . $_EXTKEY, + 'ical', + [ + 'AjaxContingent' => 'ical', + ], + [ + 'AjaxContingent' => 'ical', + ] +); + $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms/layout/class.tx_cms_layout.php']['tt_content_drawItem']['ep_products'] = \EP\EpProducts\Hook\PageLayoutView::class; From 2beb92553223bc0bec7db4120c5f13dee01fd171 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bjo=CC=88rn=20Fromme?= Date: Wed, 4 Dec 2019 13:18:38 +0100 Subject: [PATCH 2/3] Bump php version --- composer.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index eb328350..614c0597 100644 --- a/composer.json +++ b/composer.json @@ -7,7 +7,7 @@ "license": "GPL-2.0+", "type": "project", "require": { - "php": "^7.2", + "php": "^7.3", "ext-curl": "*", "ext-json": "*", "ext-libxml": "*", @@ -88,7 +88,7 @@ "config": { "sort-packages": true, "platform": { - "php": "7.2.17" + "php": "7.3.10" } } } From 7c47d9f2e93942200a1540a533f3061af95d585c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bjo=CC=88rn=20Fromme?= Date: Wed, 4 Dec 2019 13:18:46 +0100 Subject: [PATCH 3/3] Update project dependencies --- composer.lock | 244 +++++++++++++++++++++++++------------------------- 1 file changed, 120 insertions(+), 124 deletions(-) diff --git a/composer.lock b/composer.lock index 56fa0ef8..85c0b93d 100644 --- a/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": "bb5a69b6fd8737b6af09a7beaaa27b89", + "content-hash": "3c9082df3930a24daad45b684ce6c58a", "packages": [ { "name": "algo26-matthias/idna-convert", @@ -217,16 +217,16 @@ }, { "name": "doctrine/cache", - "version": "1.9.1", + "version": "1.10.0", "source": { "type": "git", "url": "https://github.com/doctrine/cache.git", - "reference": "89a5c76c39c292f7798f964ab3c836c3f8192a55" + "reference": "382e7f4db9a12dc6c19431743a2b096041bcdd62" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/cache/zipball/89a5c76c39c292f7798f964ab3c836c3f8192a55", - "reference": "89a5c76c39c292f7798f964ab3c836c3f8192a55", + "url": "https://api.github.com/repos/doctrine/cache/zipball/382e7f4db9a12dc6c19431743a2b096041bcdd62", + "reference": "382e7f4db9a12dc6c19431743a2b096041bcdd62", "shasum": "" }, "require": { @@ -293,10 +293,9 @@ "memcached", "php", "redis", - "riak", "xcache" ], - "time": "2019-11-15T14:31:57+00:00" + "time": "2019-11-29T15:36:20+00:00" }, { "name": "doctrine/dbal", @@ -1976,16 +1975,16 @@ }, { "name": "symfony/cache", - "version": "v5.0.0", + "version": "v5.0.1", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "32bd1f9be1684bba768a6834037706cf0950843c" + "reference": "d8df2c5a3ba88430c559145bc8b944cb578f9d65" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/32bd1f9be1684bba768a6834037706cf0950843c", - "reference": "32bd1f9be1684bba768a6834037706cf0950843c", + "url": "https://api.github.com/repos/symfony/cache/zipball/d8df2c5a3ba88430c559145bc8b944cb578f9d65", + "reference": "d8df2c5a3ba88430c559145bc8b944cb578f9d65", "shasum": "" }, "require": { @@ -2051,24 +2050,24 @@ "caching", "psr6" ], - "time": "2019-11-18T17:27:11+00:00" + "time": "2019-11-28T14:20:16+00:00" }, { "name": "symfony/cache-contracts", - "version": "v2.0.0", + "version": "v2.0.1", "source": { "type": "git", "url": "https://github.com/symfony/cache-contracts.git", - "reference": "a91281de82119a7a07481b892f709d88da592cd3" + "reference": "23ed8bfc1a4115feca942cb5f1aacdf3dcdf3c16" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/a91281de82119a7a07481b892f709d88da592cd3", - "reference": "a91281de82119a7a07481b892f709d88da592cd3", + "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/23ed8bfc1a4115feca942cb5f1aacdf3dcdf3c16", + "reference": "23ed8bfc1a4115feca942cb5f1aacdf3dcdf3c16", "shasum": "" }, "require": { - "php": "^7.2.9", + "php": "^7.2.5", "psr/cache": "^1.0" }, "suggest": { @@ -2109,20 +2108,20 @@ "interoperability", "standards" ], - "time": "2019-11-09T09:18:34+00:00" + "time": "2019-11-18T17:27:11+00:00" }, { "name": "symfony/console", - "version": "v4.4.0", + "version": "v4.4.1", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "35d9077f495c6d184d9930f7a7ecbd1ad13c7ab8" + "reference": "f0aea3df20d15635b3cb9730ca5eea1c65b7f201" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/35d9077f495c6d184d9930f7a7ecbd1ad13c7ab8", - "reference": "35d9077f495c6d184d9930f7a7ecbd1ad13c7ab8", + "url": "https://api.github.com/repos/symfony/console/zipball/f0aea3df20d15635b3cb9730ca5eea1c65b7f201", + "reference": "f0aea3df20d15635b3cb9730ca5eea1c65b7f201", "shasum": "" }, "require": { @@ -2185,11 +2184,11 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2019-11-13T07:39:40+00:00" + "time": "2019-12-01T10:06:17+00:00" }, { "name": "symfony/expression-language", - "version": "v4.4.0", + "version": "v4.4.1", "source": { "type": "git", "url": "https://github.com/symfony/expression-language.git", @@ -2240,7 +2239,7 @@ }, { "name": "symfony/finder", - "version": "v4.4.0", + "version": "v4.4.1", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", @@ -2289,26 +2288,24 @@ }, { "name": "symfony/http-client", - "version": "v4.4.0", + "version": "v4.4.1", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "233f73babb157deac7289119aa3d0e871bac8def" + "reference": "6c235cf15d8b516b41204a28d555685191409729" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/233f73babb157deac7289119aa3d0e871bac8def", - "reference": "233f73babb157deac7289119aa3d0e871bac8def", + "url": "https://api.github.com/repos/symfony/http-client/zipball/6c235cf15d8b516b41204a28d555685191409729", + "reference": "6c235cf15d8b516b41204a28d555685191409729", "shasum": "" }, "require": { "php": "^7.1.3", "psr/log": "^1.0", "symfony/http-client-contracts": "^1.1.8|^2", - "symfony/polyfill-php73": "^1.11" - }, - "conflict": { - "symfony/http-kernel": "<4.4" + "symfony/polyfill-php73": "^1.11", + "symfony/service-contracts": "^1.0|^2" }, "provide": { "php-http/async-client-implementation": "*", @@ -2323,8 +2320,7 @@ "psr/http-client": "^1.0", "symfony/dependency-injection": "^4.3|^5.0", "symfony/http-kernel": "^4.4", - "symfony/process": "^4.2|^5.0", - "symfony/service-contracts": "^1.0|^2" + "symfony/process": "^4.2|^5.0" }, "type": "library", "extra": { @@ -2356,24 +2352,24 @@ ], "description": "Symfony HttpClient component", "homepage": "https://symfony.com", - "time": "2019-11-18T12:47:27+00:00" + "time": "2019-11-29T16:55:58+00:00" }, { "name": "symfony/http-client-contracts", - "version": "v2.0.0", + "version": "v2.0.1", "source": { "type": "git", "url": "https://github.com/symfony/http-client-contracts.git", - "reference": "f1aa62591e44a737d4589a0913ac49b84313c19d" + "reference": "378868b61b85c5cac6822d4f84e26999c9f2e881" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/f1aa62591e44a737d4589a0913ac49b84313c19d", - "reference": "f1aa62591e44a737d4589a0913ac49b84313c19d", + "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/378868b61b85c5cac6822d4f84e26999c9f2e881", + "reference": "378868b61b85c5cac6822d4f84e26999c9f2e881", "shasum": "" }, "require": { - "php": "^7.2.9" + "php": "^7.2.5" }, "suggest": { "symfony/http-client-implementation": "" @@ -2413,11 +2409,11 @@ "interoperability", "standards" ], - "time": "2019-11-09T09:18:34+00:00" + "time": "2019-11-26T23:25:11+00:00" }, { "name": "symfony/inflector", - "version": "v5.0.0", + "version": "v5.0.1", "source": { "type": "git", "url": "https://github.com/symfony/inflector.git", @@ -2475,16 +2471,16 @@ }, { "name": "symfony/intl", - "version": "v5.0.0", + "version": "v5.0.1", "source": { "type": "git", "url": "https://github.com/symfony/intl.git", - "reference": "1a700ae25f25f1f7b2201da020184bff5a8912c0" + "reference": "41f910d47883c6ab37087ca4a3332e21e1d682f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/intl/zipball/1a700ae25f25f1f7b2201da020184bff5a8912c0", - "reference": "1a700ae25f25f1f7b2201da020184bff5a8912c0", + "url": "https://api.github.com/repos/symfony/intl/zipball/41f910d47883c6ab37087ca4a3332e21e1d682f4", + "reference": "41f910d47883c6ab37087ca4a3332e21e1d682f4", "shasum": "" }, "require": { @@ -2546,11 +2542,11 @@ "l10n", "localization" ], - "time": "2019-11-18T17:27:11+00:00" + "time": "2019-11-26T23:25:11+00:00" }, { "name": "symfony/options-resolver", - "version": "v4.4.0", + "version": "v4.4.1", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", @@ -2604,16 +2600,16 @@ }, { "name": "symfony/polyfill-ctype", - "version": "v1.12.0", + "version": "v1.13.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "550ebaac289296ce228a706d0867afc34687e3f4" + "reference": "f8f0b461be3385e56d6de3dbb5a0df24c0c275e3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/550ebaac289296ce228a706d0867afc34687e3f4", - "reference": "550ebaac289296ce228a706d0867afc34687e3f4", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/f8f0b461be3385e56d6de3dbb5a0df24c0c275e3", + "reference": "f8f0b461be3385e56d6de3dbb5a0df24c0c275e3", "shasum": "" }, "require": { @@ -2625,7 +2621,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.12-dev" + "dev-master": "1.13-dev" } }, "autoload": { @@ -2658,20 +2654,20 @@ "polyfill", "portable" ], - "time": "2019-08-06T08:03:45+00:00" + "time": "2019-11-27T13:56:44+00:00" }, { "name": "symfony/polyfill-intl-icu", - "version": "v1.12.0", + "version": "v1.13.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-icu.git", - "reference": "66810b9d6eb4af54d543867909d65ab9af654d7e" + "reference": "b3dffd68afa61ca70f2327f2dd9bbeb6aa53d70b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/66810b9d6eb4af54d543867909d65ab9af654d7e", - "reference": "66810b9d6eb4af54d543867909d65ab9af654d7e", + "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/b3dffd68afa61ca70f2327f2dd9bbeb6aa53d70b", + "reference": "b3dffd68afa61ca70f2327f2dd9bbeb6aa53d70b", "shasum": "" }, "require": { @@ -2684,7 +2680,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.12-dev" + "dev-master": "1.13-dev" } }, "autoload": { @@ -2716,20 +2712,20 @@ "portable", "shim" ], - "time": "2019-08-06T08:03:45+00:00" + "time": "2019-11-27T13:56:44+00:00" }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.12.0", + "version": "v1.13.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "6af626ae6fa37d396dc90a399c0ff08e5cfc45b2" + "reference": "6f9c239e61e1b0c9229a28ff89a812dc449c3d46" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/6af626ae6fa37d396dc90a399c0ff08e5cfc45b2", - "reference": "6af626ae6fa37d396dc90a399c0ff08e5cfc45b2", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/6f9c239e61e1b0c9229a28ff89a812dc449c3d46", + "reference": "6f9c239e61e1b0c9229a28ff89a812dc449c3d46", "shasum": "" }, "require": { @@ -2743,7 +2739,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.12-dev" + "dev-master": "1.13-dev" } }, "autoload": { @@ -2778,20 +2774,20 @@ "portable", "shim" ], - "time": "2019-08-06T08:03:45+00:00" + "time": "2019-11-27T13:56:44+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.12.0", + "version": "v1.13.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "b42a2f66e8f1b15ccf25652c3424265923eb4f17" + "reference": "7b4aab9743c30be783b73de055d24a39cf4b954f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/b42a2f66e8f1b15ccf25652c3424265923eb4f17", - "reference": "b42a2f66e8f1b15ccf25652c3424265923eb4f17", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/7b4aab9743c30be783b73de055d24a39cf4b954f", + "reference": "7b4aab9743c30be783b73de055d24a39cf4b954f", "shasum": "" }, "require": { @@ -2803,7 +2799,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.12-dev" + "dev-master": "1.13-dev" } }, "autoload": { @@ -2837,20 +2833,20 @@ "portable", "shim" ], - "time": "2019-08-06T08:03:45+00:00" + "time": "2019-11-27T14:18:11+00:00" }, { "name": "symfony/polyfill-php72", - "version": "v1.12.0", + "version": "v1.13.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "04ce3335667451138df4307d6a9b61565560199e" + "reference": "66fea50f6cb37a35eea048d75a7d99a45b586038" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/04ce3335667451138df4307d6a9b61565560199e", - "reference": "04ce3335667451138df4307d6a9b61565560199e", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/66fea50f6cb37a35eea048d75a7d99a45b586038", + "reference": "66fea50f6cb37a35eea048d75a7d99a45b586038", "shasum": "" }, "require": { @@ -2859,7 +2855,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.12-dev" + "dev-master": "1.13-dev" } }, "autoload": { @@ -2892,20 +2888,20 @@ "portable", "shim" ], - "time": "2019-08-06T08:03:45+00:00" + "time": "2019-11-27T13:56:44+00:00" }, { "name": "symfony/polyfill-php73", - "version": "v1.12.0", + "version": "v1.13.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "2ceb49eaccb9352bff54d22570276bb75ba4a188" + "reference": "4b0e2222c55a25b4541305a053013d5647d3a25f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/2ceb49eaccb9352bff54d22570276bb75ba4a188", - "reference": "2ceb49eaccb9352bff54d22570276bb75ba4a188", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/4b0e2222c55a25b4541305a053013d5647d3a25f", + "reference": "4b0e2222c55a25b4541305a053013d5647d3a25f", "shasum": "" }, "require": { @@ -2914,7 +2910,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.12-dev" + "dev-master": "1.13-dev" } }, "autoload": { @@ -2950,20 +2946,20 @@ "portable", "shim" ], - "time": "2019-08-06T08:03:45+00:00" + "time": "2019-11-27T16:25:15+00:00" }, { "name": "symfony/process", - "version": "v4.4.0", + "version": "v4.4.1", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "75ad33d9b6f25325ebc396d68ad86fd74bcfbb06" + "reference": "51c0135ef3f44c5803b33dc60e96bf4f77752726" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/75ad33d9b6f25325ebc396d68ad86fd74bcfbb06", - "reference": "75ad33d9b6f25325ebc396d68ad86fd74bcfbb06", + "url": "https://api.github.com/repos/symfony/process/zipball/51c0135ef3f44c5803b33dc60e96bf4f77752726", + "reference": "51c0135ef3f44c5803b33dc60e96bf4f77752726", "shasum": "" }, "require": { @@ -2999,20 +2995,20 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2019-10-28T20:30:34+00:00" + "time": "2019-11-28T13:33:56+00:00" }, { "name": "symfony/property-access", - "version": "v4.4.0", + "version": "v4.4.1", "source": { "type": "git", "url": "https://github.com/symfony/property-access.git", - "reference": "4df120cbe473d850eb59f75c341915955e45f25b" + "reference": "bafdc8c3a9d2671af4a81baec0fcc4687c0c17bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-access/zipball/4df120cbe473d850eb59f75c341915955e45f25b", - "reference": "4df120cbe473d850eb59f75c341915955e45f25b", + "url": "https://api.github.com/repos/symfony/property-access/zipball/bafdc8c3a9d2671af4a81baec0fcc4687c0c17bc", + "reference": "bafdc8c3a9d2671af4a81baec0fcc4687c0c17bc", "shasum": "" }, "require": { @@ -3066,20 +3062,20 @@ "property path", "reflection" ], - "time": "2019-10-12T00:35:04+00:00" + "time": "2019-12-01T10:50:45+00:00" }, { "name": "symfony/routing", - "version": "v4.4.0", + "version": "v4.4.1", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "cf6d72cf0348775f5243b8389169a7096221ea40" + "reference": "51f3f20ad29329a0bdf5c0e2f722d3764b065273" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/cf6d72cf0348775f5243b8389169a7096221ea40", - "reference": "cf6d72cf0348775f5243b8389169a7096221ea40", + "url": "https://api.github.com/repos/symfony/routing/zipball/51f3f20ad29329a0bdf5c0e2f722d3764b065273", + "reference": "51f3f20ad29329a0bdf5c0e2f722d3764b065273", "shasum": "" }, "require": { @@ -3142,20 +3138,20 @@ "uri", "url" ], - "time": "2019-11-20T13:44:34+00:00" + "time": "2019-12-01T08:39:58+00:00" }, { "name": "symfony/serializer", - "version": "v4.4.0", + "version": "v4.4.1", "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "57116a962eb0c5e165009535f1e1d2e7024e78de" + "reference": "842637bdcbed31c7dc62b3c30dfc8949f6457968" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/57116a962eb0c5e165009535f1e1d2e7024e78de", - "reference": "57116a962eb0c5e165009535f1e1d2e7024e78de", + "url": "https://api.github.com/repos/symfony/serializer/zipball/842637bdcbed31c7dc62b3c30dfc8949f6457968", + "reference": "842637bdcbed31c7dc62b3c30dfc8949f6457968", "shasum": "" }, "require": { @@ -3223,24 +3219,24 @@ ], "description": "Symfony Serializer Component", "homepage": "https://symfony.com", - "time": "2019-11-13T07:39:40+00:00" + "time": "2019-11-28T13:33:56+00:00" }, { "name": "symfony/service-contracts", - "version": "v2.0.0", + "version": "v2.0.1", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "9d99e1556417bf227a62e14856d630672bf10eaf" + "reference": "144c5e51266b281231e947b51223ba14acf1a749" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/9d99e1556417bf227a62e14856d630672bf10eaf", - "reference": "9d99e1556417bf227a62e14856d630672bf10eaf", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/144c5e51266b281231e947b51223ba14acf1a749", + "reference": "144c5e51266b281231e947b51223ba14acf1a749", "shasum": "" }, "require": { - "php": "^7.2.9", + "php": "^7.2.5", "psr/container": "^1.0" }, "suggest": { @@ -3281,20 +3277,20 @@ "interoperability", "standards" ], - "time": "2019-11-09T09:18:34+00:00" + "time": "2019-11-18T17:27:11+00:00" }, { "name": "symfony/var-exporter", - "version": "v5.0.0", + "version": "v5.0.1", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "e2f1eeb12edacf744c4b359a859204578fdf8549" + "reference": "1b9653e68d5b701bf6d9c91bdd3660078c9f4f28" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/e2f1eeb12edacf744c4b359a859204578fdf8549", - "reference": "e2f1eeb12edacf744c4b359a859204578fdf8549", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/1b9653e68d5b701bf6d9c91bdd3660078c9f4f28", + "reference": "1b9653e68d5b701bf6d9c91bdd3660078c9f4f28", "shasum": "" }, "require": { @@ -3341,11 +3337,11 @@ "instantiate", "serialize" ], - "time": "2019-11-18T17:27:11+00:00" + "time": "2019-12-01T08:48:26+00:00" }, { "name": "symfony/yaml", - "version": "v4.4.0", + "version": "v4.4.1", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", @@ -5198,16 +5194,16 @@ }, { "name": "typo3fluid/fluid", - "version": "2.6.7", + "version": "2.6.8", "source": { "type": "git", "url": "https://github.com/TYPO3/Fluid.git", - "reference": "f16399308a0d161e9544d03f3e67875dca18e83c" + "reference": "854c3b682aa4d2899f4246276cc60ad52cd8e34e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3/Fluid/zipball/f16399308a0d161e9544d03f3e67875dca18e83c", - "reference": "f16399308a0d161e9544d03f3e67875dca18e83c", + "url": "https://api.github.com/repos/TYPO3/Fluid/zipball/854c3b682aa4d2899f4246276cc60ad52cd8e34e", + "reference": "854c3b682aa4d2899f4246276cc60ad52cd8e34e", "shasum": "" }, "require": { @@ -5233,7 +5229,7 @@ "LGPL-3.0-or-later" ], "description": "The TYPO3 Fluid template rendering engine", - "time": "2019-11-05T13:59:42+00:00" + "time": "2019-12-02T06:33:10+00:00" }, { "name": "wazum/pagetree-resizable", @@ -5616,7 +5612,7 @@ "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": "^7.2", + "php": "^7.3", "ext-curl": "*", "ext-json": "*", "ext-libxml": "*", @@ -5625,6 +5621,6 @@ }, "platform-dev": [], "platform-overrides": { - "php": "7.2.17" + "php": "7.3.10" } }