diff --git a/Libs/Utils/ICalTimeZoneBuilder.php b/Libs/Utils/ICalTimeZoneBuilder.php new file mode 100644 index 00000000..7dc93acf --- /dev/null +++ b/Libs/Utils/ICalTimeZoneBuilder.php @@ -0,0 +1,184 @@ +format('Y'); + return [new DateTime('1/1/'.$year, $time_zone), new DateTime('1/1/'.($year + 1), $time_zone)]; + } + /** + * @param array $trans + * @param int $former_offset + * @return DateTime + */ + private static function convertStartDateFromUTC2Local(array $trans, $former_offset){ + $dt = new DateTime($trans['time'], new DateTimeZone('UTC')); + $hours = abs($former_offset); + // START TIME IS ON UTC and should be converted to local using former offset + if($former_offset >= 0 ) + $dt->add(new DateInterval("PT{$hours}H")); + else + $dt->sub(new DateInterval("PT{$hours}H")); + return $dt; + } + /** + * @param DateTime $dt + * @return RecurrenceRule + */ + private static function calculateRecurrenceRule(DateTime $dt){ + $r_rule = new RecurrenceRule(); + $r_rule->setFreq(RecurrenceRule::FREQ_YEARLY); + $r_rule->setByMonth(intval($dt->format('m'))); + $r_rule->setByDay + ( + self::translate2ByDay($dt) + ); + return $r_rule; + } + /** + * @param $offset + * @return string + */ + private static function calculateOffsetFrom($offset){ + return sprintf('%s%02d%02d', $offset >= 0 ? '+' : '-', abs($offset), abs(($offset - floor($offset)) * 60)); + } + /** + * @param $offset + * @return string + */ + private static function calculateOffsetTo($offset){ + return sprintf('%s%02d%02d', $offset >= 0 ? '+' : '-', abs($offset), abs(($offset - floor($offset)) * 60)); + } + /** + * @param DateTimeZone $time_zone + * @param string $calendar_prod_id + * @param bool $with_calendar_envelope + * @return Calendar|Timezone + */ + public static function build(DateTimeZone $time_zone, $calendar_prod_id, $with_calendar_envelope = true){ + // get all transitions for one current year and next + list($start_range, $end_range) = self::calculateTimeRangeForTransitions($time_zone); + $transitions = $time_zone->getTransitions($start_range->getTimestamp(), $end_range->getTimestamp()); + $vTimezone = new Timezone($time_zone->getName()); + $former_offset = null; + foreach ($transitions as $i => $trans) { + $current_time_zone_rule = null; + // skip the first entry... + if ($i == 0) { + // ... but remember the offset for the next TZOFFSETFROM value + $former_offset = $trans['offset'] / 3600; + continue; + } + // daylight saving time definition + if ($trans['isdst']) { + $current_time_zone_rule = new TimezoneRule(TimezoneRule::TYPE_DAYLIGHT);; + } + // standard time definition + else { + $current_time_zone_rule = new TimezoneRule(TimezoneRule::TYPE_STANDARD);; + } + if ($current_time_zone_rule) { + $offset = $trans['offset'] / 3600; + $dt = self::convertStartDateFromUTC2Local($trans, $former_offset); + $current_time_zone_rule->setDtStart($dt); + $current_time_zone_rule->setTzOffsetFrom(self::calculateOffsetFrom($former_offset)); + $current_time_zone_rule->setTzOffsetTo(self::calculateOffsetTo($offset)); + // add abbreviated timezone name if available + if (!empty($trans['abbr'])) { + $current_time_zone_rule->setTzName($trans['abbr']); + } + $former_offset = $offset; + $current_time_zone_rule->setRecurrenceRule(self::calculateRecurrenceRule($dt)); + $vTimezone->addComponent($current_time_zone_rule); + } + } + if($with_calendar_envelope) { + $vCalendar = new Calendar(sprintf("'-//%s//EN'", $calendar_prod_id)); + $vCalendar->setTimezone($vTimezone); + return $vCalendar; + }; + return $vTimezone; + } + /** + * The BYDAY rule part specifies a COMMA-separated list of days of + * the week; SU indicates Sunday; MO indicates Monday; TU indicates + * Tuesday; WE indicates Wednesday; TH indicates Thursday; FR + * indicates Friday; and SA indicates Saturday. + * Each BYDAY value can also be preceded by a positive (+n) or + * negative (-n) integer. + * @see https://tools.ietf.org/html/rfc5545#section-3.3.10 (BYDAY) + * @see http://php.net/manual/en/datetime.formats.relative.php + * @param DateTime $dt) + * @return string + */ + private static function translate2ByDay(DateTime $dt){ + $day_name = substr(strtoupper($dt->format('D')), 0,2); + $ordinals = ['first', 'second', 'third', 'fourth', 'last']; + $day_nbr = 0; + $is_last = false; + foreach($ordinals as $idx => $ord){ + $dt_n = self::buildOrdinalDateTime($ord, $dt); + if($dt_n->format('Y-m-d') == $dt->format('Y-m-d')){ + $day_nbr = $idx + 1; + if($ord == 'last'){ + $is_last = true; + $day_nbr = 1; + } + break; + } + } + return sprintf('%s%s%s', $is_last? '-':'', $day_nbr, $day_name); + } + /** + * @param string $ord + * @param DateTime $dt + * @return DateTime + */ + private static function buildOrdinalDateTime($ord, DateTime $dt){ + return new DateTime + ( + date + ("Y-m-d", + strtotime + ( + sprintf + ( + self::GetOrdinalDayQuery, + $ord, + $dt->format('l'), + $dt->format('F'), + $dt->format('Y') + ) + ) + ) + ); + } + const GetOrdinalDayQuery = '%s %s of %s %s'; +} diff --git a/composer.json b/composer.json index b2fff89c..1c4c4965 100644 --- a/composer.json +++ b/composer.json @@ -48,7 +48,8 @@ "stripe/stripe-php": "^6.37", "symfony/yaml": "4.2.2", "tecnickcom/tcpdf": "^6.2", - "league/flysystem-aws-s3-v3": "^1.0" + "league/flysystem-aws-s3-v3": "^1.0", + "eluceo/ical": "^0.15.0" }, "require-dev": { "filp/whoops": "^2.0", diff --git a/composer.lock b/composer.lock index 608683cb..150929c6 100644 --- a/composer.lock +++ b/composer.lock @@ -4,20 +4,20 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "d69d9cd7118942b7482145f29363535a", + "content-hash": "5c278ba8a545150643c1d55aa6a8f570", "packages": [ { "name": "aws/aws-sdk-php", - "version": "3.183.9", + "version": "3.185.2", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "3b3aafdceac4cb820e2ae65a8785e4d07db471a7" + "reference": "0e6ece3f9c4ab26bb20183c697fd36e1d55c1053" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/3b3aafdceac4cb820e2ae65a8785e4d07db471a7", - "reference": "3b3aafdceac4cb820e2ae65a8785e4d07db471a7", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/0e6ece3f9c4ab26bb20183c697fd36e1d55c1053", + "reference": "0e6ece3f9c4ab26bb20183c697fd36e1d55c1053", "shasum": "" }, "require": { @@ -89,7 +89,7 @@ "s3", "sdk" ], - "time": "2021-05-28T18:28:19+00:00" + "time": "2021-06-25T18:19:14+00:00" }, { "name": "bacon/bacon-qr-code", @@ -578,31 +578,32 @@ }, { "name": "doctrine/dbal", - "version": "2.13.1", + "version": "2.13.2", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "c800380457948e65bbd30ba92cc17cda108bf8c9" + "reference": "8dd39d2ead4409ce652fd4f02621060f009ea5e4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/c800380457948e65bbd30ba92cc17cda108bf8c9", - "reference": "c800380457948e65bbd30ba92cc17cda108bf8c9", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/8dd39d2ead4409ce652fd4f02621060f009ea5e4", + "reference": "8dd39d2ead4409ce652fd4f02621060f009ea5e4", "shasum": "" }, "require": { - "doctrine/cache": "^1.0", + "doctrine/cache": "^1.0|^2.0", "doctrine/deprecations": "^0.5.3", "doctrine/event-manager": "^1.0", "ext-pdo": "*", "php": "^7.1 || ^8" }, "require-dev": { - "doctrine/coding-standard": "8.2.0", + "doctrine/coding-standard": "9.0.0", "jetbrains/phpstorm-stubs": "2020.2", "phpstan/phpstan": "0.12.81", - "phpunit/phpunit": "^7.5.20|^8.5|9.5.0", + "phpunit/phpunit": "^7.5.20|^8.5|9.5.5", "squizlabs/php_codesniffer": "3.6.0", + "symfony/cache": "^4.4", "symfony/console": "^2.0.5|^3.0|^4.0|^5.0", "vimeo/psalm": "4.6.4" }, @@ -663,7 +664,7 @@ "sqlserver", "sqlsrv" ], - "time": "2021-04-17T17:30:19+00:00" + "time": "2021-06-18T21:48:39+00:00" }, { "name": "doctrine/deprecations", @@ -1399,6 +1400,57 @@ ], "time": "2021-04-01T18:37:14+00:00" }, + { + "name": "eluceo/ical", + "version": "0.15.1", + "source": { + "type": "git", + "url": "https://github.com/markuspoerschke/iCal.git", + "reference": "bdd24747587f6f9b10770a7b873a13e273f85f39" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/markuspoerschke/iCal/zipball/bdd24747587f6f9b10770a7b873a13e273f85f39", + "reference": "bdd24747587f6f9b10770a7b873a13e273f85f39", + "shasum": "" + }, + "require": { + "php": ">=7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" + }, + "suggest": { + "ext-mbstring": "Massive performance enhancement of line folding" + }, + "type": "library", + "autoload": { + "psr-4": { + "Eluceo\\iCal\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Markus Poerschke", + "email": "markus@eluceo.de", + "role": "Developer" + } + ], + "description": "The eluceo/iCal package offers a abstraction layer for creating iCalendars. You can easily create iCal files by using PHP object instead of typing your *.ics file by hand. The output will follow RFC 5545 as best as possible.", + "homepage": "https://github.com/markuspoerschke/iCal", + "keywords": [ + "calendar", + "iCalendar", + "ical", + "ics", + "php calendar" + ], + "time": "2019-08-06T20:33:43+00:00" + }, { "name": "erusev/parsedown", "version": "1.7.4", @@ -1545,16 +1597,16 @@ }, { "name": "firebase/php-jwt", - "version": "v5.3.0", + "version": "v5.4.0", "source": { "type": "git", "url": "https://github.com/firebase/php-jwt.git", - "reference": "3c2d70f2e64e2922345e89f2ceae47d2463faae1" + "reference": "d2113d9b2e0e349796e72d2a63cf9319100382d2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/firebase/php-jwt/zipball/3c2d70f2e64e2922345e89f2ceae47d2463faae1", - "reference": "3c2d70f2e64e2922345e89f2ceae47d2463faae1", + "url": "https://api.github.com/repos/firebase/php-jwt/zipball/d2113d9b2e0e349796e72d2a63cf9319100382d2", + "reference": "d2113d9b2e0e349796e72d2a63cf9319100382d2", "shasum": "" }, "require": { @@ -1563,6 +1615,9 @@ "require-dev": { "phpunit/phpunit": ">=4.8 <=9" }, + "suggest": { + "paragonie/sodium_compat": "Support EdDSA (Ed25519) signatures when libsodium is not present" + }, "type": "library", "autoload": { "psr-4": { @@ -1591,7 +1646,7 @@ "jwt", "php" ], - "time": "2021-05-20T17:37:02+00:00" + "time": "2021-06-23T19:00:23+00:00" }, { "name": "glenscott/url-normalizer", @@ -1632,21 +1687,21 @@ }, { "name": "google/apiclient", - "version": "v2.9.1", + "version": "v2.10.1", "source": { "type": "git", "url": "https://github.com/googleapis/google-api-php-client.git", - "reference": "2fb6e702aca5d68203fa737f89f6f774022494c6" + "reference": "11871e94006ce7a419bb6124d51b6f9ace3f679b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/googleapis/google-api-php-client/zipball/2fb6e702aca5d68203fa737f89f6f774022494c6", - "reference": "2fb6e702aca5d68203fa737f89f6f774022494c6", + "url": "https://api.github.com/repos/googleapis/google-api-php-client/zipball/11871e94006ce7a419bb6124d51b6f9ace3f679b", + "reference": "11871e94006ce7a419bb6124d51b6f9ace3f679b", "shasum": "" }, "require": { "firebase/php-jwt": "~2.0||~3.0||~4.0||~5.0", - "google/apiclient-services": "~0.13", + "google/apiclient-services": "~0.200", "google/auth": "^1.10", "guzzlehttp/guzzle": "~5.3.3||~6.0||~7.0", "guzzlehttp/psr7": "^1.2", @@ -1656,7 +1711,7 @@ }, "require-dev": { "cache/filesystem-adapter": "^0.3.2|^1.1", - "composer/composer": "^1.10", + "composer/composer": "^1.10.22", "dealerdirect/phpcodesniffer-composer-installer": "^0.7", "phpcompatibility/php-compatibility": "^9.2", "phpunit/phpunit": "^5.7||^8.5.13", @@ -1693,33 +1748,36 @@ "keywords": [ "google" ], - "time": "2021-01-19T17:48:59+00:00" + "time": "2021-06-25T14:25:44+00:00" }, { "name": "google/apiclient-services", - "version": "v0.177.0", + "version": "v0.201.1", "source": { "type": "git", "url": "https://github.com/googleapis/google-api-php-client-services.git", - "reference": "316cbf9b02c575a140d8cbeca48a3ca0070fcd5a" + "reference": "ee1072221acf7c32e3de9b18e11fec3ab23ec38f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/googleapis/google-api-php-client-services/zipball/316cbf9b02c575a140d8cbeca48a3ca0070fcd5a", - "reference": "316cbf9b02c575a140d8cbeca48a3ca0070fcd5a", + "url": "https://api.github.com/repos/googleapis/google-api-php-client-services/zipball/ee1072221acf7c32e3de9b18e11fec3ab23ec38f", + "reference": "ee1072221acf7c32e3de9b18e11fec3ab23ec38f", "shasum": "" }, "require": { - "php": ">=5.4" + "php": ">=5.6" }, "require-dev": { - "phpunit/phpunit": "^4.8|^5" + "phpunit/phpunit": "^5.7||^8.5.13" }, "type": "library", "autoload": { - "psr-0": { - "Google_Service_": "src" - } + "psr-4": { + "Google\\Service\\": "src" + }, + "files": [ + "autoload.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1730,20 +1788,20 @@ "keywords": [ "google" ], - "time": "2021-05-15T11:18:02+00:00" + "time": "2021-06-27T11:20:22+00:00" }, { "name": "google/auth", - "version": "v1.15.1", + "version": "v1.16.0", "source": { "type": "git", "url": "https://github.com/googleapis/google-auth-library-php.git", - "reference": "4e0c9367719df9703e96f5ad613041b87742471c" + "reference": "c747738d2dd450f541f09f26510198fbedd1c8a0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/googleapis/google-auth-library-php/zipball/4e0c9367719df9703e96f5ad613041b87742471c", - "reference": "4e0c9367719df9703e96f5ad613041b87742471c", + "url": "https://api.github.com/repos/googleapis/google-auth-library-php/zipball/c747738d2dd450f541f09f26510198fbedd1c8a0", + "reference": "c747738d2dd450f541f09f26510198fbedd1c8a0", "shasum": "" }, "require": { @@ -1751,7 +1809,7 @@ "guzzlehttp/guzzle": "^5.3.1|^6.2.1|^7.0", "guzzlehttp/psr7": "^1.2", "php": ">=5.4", - "psr/cache": "^1.0", + "psr/cache": "^1.0|^2.0", "psr/http-message": "^1.0" }, "require-dev": { @@ -1782,7 +1840,7 @@ "google", "oauth2" ], - "time": "2021-04-21T17:42:05+00:00" + "time": "2021-06-22T18:06:03+00:00" }, { "name": "graham-campbell/guzzle-factory", @@ -2773,16 +2831,16 @@ }, { "name": "league/flysystem", - "version": "1.1.3", + "version": "1.1.4", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "9be3b16c877d477357c015cec057548cf9b2a14a" + "reference": "f3ad69181b8afed2c9edf7be5a2918144ff4ea32" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/9be3b16c877d477357c015cec057548cf9b2a14a", - "reference": "9be3b16c877d477357c015cec057548cf9b2a14a", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/f3ad69181b8afed2c9edf7be5a2918144ff4ea32", + "reference": "f3ad69181b8afed2c9edf7be5a2918144ff4ea32", "shasum": "" }, "require": { @@ -2798,7 +2856,6 @@ "phpunit/phpunit": "^8.5.8" }, "suggest": { - "ext-fileinfo": "Required for MimeType", "ext-ftp": "Allows you to use FTP server storage", "ext-openssl": "Allows you to use FTPS server storage", "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2", @@ -2854,7 +2911,7 @@ "sftp", "storage" ], - "time": "2020-08-23T07:39:11+00:00" + "time": "2021-06-23T21:56:05+00:00" }, { "name": "league/flysystem-aws-s3-v3", @@ -3085,16 +3142,16 @@ }, { "name": "mtdowling/jmespath.php", - "version": "2.6.0", + "version": "2.6.1", "source": { "type": "git", "url": "https://github.com/jmespath/jmespath.php.git", - "reference": "42dae2cbd13154083ca6d70099692fef8ca84bfb" + "reference": "9b87907a81b87bc76d19a7fb2d61e61486ee9edb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/jmespath/jmespath.php/zipball/42dae2cbd13154083ca6d70099692fef8ca84bfb", - "reference": "42dae2cbd13154083ca6d70099692fef8ca84bfb", + "url": "https://api.github.com/repos/jmespath/jmespath.php/zipball/9b87907a81b87bc76d19a7fb2d61e61486ee9edb", + "reference": "9b87907a81b87bc76d19a7fb2d61e61486ee9edb", "shasum": "" }, "require": { @@ -3102,7 +3159,7 @@ "symfony/polyfill-mbstring": "^1.17" }, "require-dev": { - "composer/xdebug-handler": "^1.4", + "composer/xdebug-handler": "^1.4 || ^2.0", "phpunit/phpunit": "^4.8.36 || ^7.5.15" }, "bin": [ @@ -3138,7 +3195,7 @@ "json", "jsonpath" ], - "time": "2020-07-31T21:01:56+00:00" + "time": "2021-06-14T00:11:39+00:00" }, { "name": "muxinc/mux-php", @@ -3486,20 +3543,20 @@ }, { "name": "paragonie/random_compat", - "version": "v9.99.99", + "version": "v9.99.100", "source": { "type": "git", "url": "https://github.com/paragonie/random_compat.git", - "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95" + "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", - "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/996434e5492cb4c3edcb9168db6fbb1359ef965a", + "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a", "shasum": "" }, "require": { - "php": "^7" + "php": ">= 7" }, "require-dev": { "phpunit/phpunit": "4.*|5.*", @@ -3527,7 +3584,7 @@ "pseudorandom", "random" ], - "time": "2018-07-02T15:55:56+00:00" + "time": "2020-10-15T08:29:30+00:00" }, { "name": "php-amqplib/php-amqplib", @@ -3672,16 +3729,16 @@ }, { "name": "phpseclib/phpseclib", - "version": "3.0.8", + "version": "3.0.9", "source": { "type": "git", "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "d9615a6fb970d9933866ca8b4036ec3407b020b6" + "reference": "a127a5133804ff2f47ae629dd529b129da616ad7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/d9615a6fb970d9933866ca8b4036ec3407b020b6", - "reference": "d9615a6fb970d9933866ca8b4036ec3407b020b6", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/a127a5133804ff2f47ae629dd529b129da616ad7", + "reference": "a127a5133804ff2f47ae629dd529b129da616ad7", "shasum": "" }, "require": { @@ -3761,7 +3818,7 @@ "x.509", "x509" ], - "time": "2021-04-19T03:20:48+00:00" + "time": "2021-06-14T06:54:45+00:00" }, { "name": "pion/laravel-chunk-upload", @@ -4266,21 +4323,21 @@ }, { "name": "ramsey/uuid", - "version": "3.9.3", + "version": "3.x-dev", "source": { "type": "git", "url": "https://github.com/ramsey/uuid.git", - "reference": "7e1633a6964b48589b142d60542f9ed31bd37a92" + "reference": "ec2f6b00414daacdd2c4fc97e87710fd1c3df409" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/7e1633a6964b48589b142d60542f9ed31bd37a92", - "reference": "7e1633a6964b48589b142d60542f9ed31bd37a92", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/ec2f6b00414daacdd2c4fc97e87710fd1c3df409", + "reference": "ec2f6b00414daacdd2c4fc97e87710fd1c3df409", "shasum": "" }, "require": { "ext-json": "*", - "paragonie/random_compat": "^1 | ^2 | 9.99.99", + "paragonie/random_compat": "^1 | ^2 | ^9.99.99", "php": "^5.4 | ^7 | ^8", "symfony/polyfill-ctype": "^1.8" }, @@ -4349,7 +4406,7 @@ "identifier", "uuid" ], - "time": "2020-02-21T04:36:14+00:00" + "time": "2021-02-01T16:54:58+00:00" }, { "name": "s-ichikawa/laravel-sendgrid-driver", @@ -4470,16 +4527,16 @@ }, { "name": "sokil/php-isocodes", - "version": "3.3.8", + "version": "3.3.9", "source": { "type": "git", "url": "https://github.com/sokil/php-isocodes.git", - "reference": "a3422f91ff1a0378d32e647054af79e333f6c68f" + "reference": "b635d41861693fd03892e6c890948b6b2d0c8a16" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sokil/php-isocodes/zipball/a3422f91ff1a0378d32e647054af79e333f6c68f", - "reference": "a3422f91ff1a0378d32e647054af79e333f6c68f", + "url": "https://api.github.com/repos/sokil/php-isocodes/zipball/b635d41861693fd03892e6c890948b6b2d0c8a16", + "reference": "b635d41861693fd03892e6c890948b6b2d0c8a16", "shasum": "" }, "require": { @@ -4520,20 +4577,20 @@ } ], "description": "ISO country, subdivision, language, currency and script definitions and their translations. Based on pythons pycountry and Debian's iso-codes.", - "time": "2021-05-02T07:30:10+00:00" + "time": "2021-06-02T22:44:46+00:00" }, { "name": "spatie/dropbox-api", - "version": "1.18.0", + "version": "1.19.0", "source": { "type": "git", "url": "https://github.com/spatie/dropbox-api.git", - "reference": "b0b5642a40552c225fca98718a73228cfcd7f2d6" + "reference": "22ed7792e7ede170520f030e32ff0edde2337842" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/dropbox-api/zipball/b0b5642a40552c225fca98718a73228cfcd7f2d6", - "reference": "b0b5642a40552c225fca98718a73228cfcd7f2d6", + "url": "https://api.github.com/repos/spatie/dropbox-api/zipball/22ed7792e7ede170520f030e32ff0edde2337842", + "reference": "22ed7792e7ede170520f030e32ff0edde2337842", "shasum": "" }, "require": { @@ -4577,7 +4634,7 @@ "spatie", "v2" ], - "time": "2021-05-27T11:54:57+00:00" + "time": "2021-06-18T06:34:17+00:00" }, { "name": "spatie/flysystem-dropbox", @@ -4633,21 +4690,21 @@ }, { "name": "spatie/laravel-cors", - "version": "1.6.0", + "version": "1.7.0", "source": { "type": "git", "url": "https://github.com/spatie/laravel-cors.git", - "reference": "d74099d57821d5a72ae21416c0be0dcd58779355" + "reference": "3ef534929531c609bc395610590b5bba204a4b44" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-cors/zipball/d74099d57821d5a72ae21416c0be0dcd58779355", - "reference": "d74099d57821d5a72ae21416c0be0dcd58779355", + "url": "https://api.github.com/repos/spatie/laravel-cors/zipball/3ef534929531c609bc395610590b5bba204a4b44", + "reference": "3ef534929531c609bc395610590b5bba204a4b44", "shasum": "" }, "require": { "illuminate/support": "5.5.*|5.6.*|5.7.*|5.8.*|^6.0", - "php": "^7.2" + "php": "^7.2|^8.0" }, "require-dev": { "orchestra/testbench": "3.5.*|3.6.*|3.7.*|3.8.*|^4.0", @@ -4689,7 +4746,7 @@ "spatie" ], "abandoned": "laravel/framework", - "time": "2019-09-04T06:55:15+00:00" + "time": "2021-06-10T21:37:38+00:00" }, { "name": "stripe/stripe-php", @@ -5455,16 +5512,16 @@ }, { "name": "symfony/mime", - "version": "v5.3.0", + "version": "v5.3.2", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "ed710d297b181f6a7194d8172c9c2423d58e4852" + "reference": "47dd7912152b82d0d4c8d9040dbc93d6232d472a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/ed710d297b181f6a7194d8172c9c2423d58e4852", - "reference": "ed710d297b181f6a7194d8172c9c2423d58e4852", + "url": "https://api.github.com/repos/symfony/mime/zipball/47dd7912152b82d0d4c8d9040dbc93d6232d472a", + "reference": "47dd7912152b82d0d4c8d9040dbc93d6232d472a", "shasum": "" }, "require": { @@ -5517,7 +5574,7 @@ "mime", "mime-type" ], - "time": "2021-05-26T17:43:10+00:00" + "time": "2021-06-09T10:58:01+00:00" }, { "name": "symfony/polyfill-ctype", @@ -6837,16 +6894,16 @@ "packages-dev": [ { "name": "filp/whoops", - "version": "2.12.1", + "version": "2.13.0", "source": { "type": "git", "url": "https://github.com/filp/whoops.git", - "reference": "c13c0be93cff50f88bbd70827d993026821914dd" + "reference": "2edbc73a4687d9085c8f20f398eebade844e8424" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/c13c0be93cff50f88bbd70827d993026821914dd", - "reference": "c13c0be93cff50f88bbd70827d993026821914dd", + "url": "https://api.github.com/repos/filp/whoops/zipball/2edbc73a4687d9085c8f20f398eebade844e8424", + "reference": "2edbc73a4687d9085c8f20f398eebade844e8424", "shasum": "" }, "require": { @@ -6894,7 +6951,7 @@ "throwable", "whoops" ], - "time": "2021-04-25T12:00:00+00:00" + "time": "2021-06-04T12:00:00+00:00" }, { "name": "fzaninotto/faker",