From 63cfb03a0662766a9e663eae10ac02d8c57c96a7 Mon Sep 17 00:00:00 2001 From: Max Tiessen Date: Mon, 18 Dec 2023 09:49:14 +0100 Subject: [PATCH 01/11] add php-exif dependency --- composer.json | 2 + composer.lock | 269 +++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 270 insertions(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 6d7909886..f232993d0 100644 --- a/composer.json +++ b/composer.json @@ -32,6 +32,8 @@ "laravel/framework": "^10.0", "laravel/tinker": "^2.8", "laravel/ui": "^4.0", + "league/flysystem-aws-s3-v3": "^3.12", + "lychee-org/php-exif": "^1.0", "msurguy/honeypot": "^1.0", "pgvector/pgvector": "^0.1.4", "php-ffmpeg/php-ffmpeg": "^1.0", diff --git a/composer.lock b/composer.lock index 2f0a46f09..6bb7175c9 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": "ca56d5f114fc956ac8efe6bcdefe8180", + "content-hash": "b05cc8ab987e8f1b7189e566cdef4962", "packages": [ { "name": "bacon/bacon-qr-code", @@ -1258,6 +1258,61 @@ ], "time": "2023-10-12T05:21:21+00:00" }, + { + "name": "fylax/forceutf8", + "version": "v3.0.3", + "source": { + "type": "git", + "url": "https://github.com/Fylax/forceutf8.git", + "reference": "efaa4ec353ce35931ef469632fece63df4c5a301" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Fylax/forceutf8/zipball/efaa4ec353ce35931ef469632fece63df4c5a301", + "reference": "efaa4ec353ce35931ef469632fece63df4c5a301", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.6" + }, + "suggest": { + "ext-iconv": "To convert non-UTF-8 strings to UTF-8", + "ext-mbstring": "To convert non-UTF-8 strings to UTF-8" + }, + "type": "library", + "extra": { + "thanks": { + "name": "neitanod/forceutf8", + "url": "https://github.com/neitanod/forceutf8" + } + }, + "autoload": { + "psr-4": { + "ForceUTF8\\": "ForceUTF8" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nico Caprioli", + "email": "nico.caprioli@gmail.com", + "role": "Developer" + } + ], + "description": "PHP Class Encoding featuring popular Encoding::toUTF8() function --formerly known as forceUTF8()-- that fixes mixed encoded strings.", + "homepage": "https://github.com/Fylax/forceutf8", + "support": { + "issues": "https://github.com/Fylax/forceutf8/issues", + "source": "https://github.com/Fylax/forceutf8/tree/v3.0.3" + }, + "time": "2023-06-06T09:49:33+00:00" + }, { "name": "graham-campbell/result-type", "version": "v1.1.2", @@ -2636,6 +2691,79 @@ ], "time": "2023-10-17T14:13:20+00:00" }, + { + "name": "lychee-org/php-exif", + "version": "v1.0.2", + "source": { + "type": "git", + "url": "https://github.com/LycheeOrg/php-exif.git", + "reference": "12c4976d2dea44fc4eb3b9dd33428b95ba7461c0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/LycheeOrg/php-exif/zipball/12c4976d2dea44fc4eb3b9dd33428b95ba7461c0", + "reference": "12c4976d2dea44fc4eb3b9dd33428b95ba7461c0", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "fylax/forceutf8": "^3.0.1", + "php": "^8.1", + "php-ffmpeg/php-ffmpeg": "^1.0", + "thecodingmachine/safe": "^2.2" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.3", + "infection/infection": "^0.26.13", + "lychee-org/phpstan-lychee": "^1.0.1", + "php-parallel-lint/php-parallel-lint": "^1.2", + "phpmd/phpmd": "^2.9", + "phpunit/phpunit": "^9.5.10", + "squizlabs/php_codesniffer": "^3.5", + "thecodingmachine/phpstan-safe-rule": "^1.2" + }, + "suggest": { + "FFmpeg": "Use FFmpeg/FFprobe as adapter", + "ext-exif": "Use exif PHP extension as adapter", + "ext-imagick": "Use ImageMagick as adapter", + "ext-mbstring": "Support UTC-16 characters in EXIF data with exif PHP extension", + "lib-exiftool": "Use perl lib exiftool as adapter" + }, + "type": "library", + "autoload": { + "psr-0": { + "PHPExif": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Tom Van Herreweghe", + "homepage": "http://theanalogguy.be", + "role": "Developer" + } + ], + "description": "Object-Oriented EXIF parsing", + "keywords": [ + "IPTC", + "ImageMagick", + "exif", + "exiftool", + "ffmpeg", + "ffprobe", + "imagick", + "jpeg", + "tiff" + ], + "support": { + "issues": "https://github.com/LycheeOrg/php-exif/issues", + "source": "https://github.com/LycheeOrg/php-exif/tree/v1.0.2" + }, + "time": "2023-04-11T11:03:27+00:00" + }, { "name": "monolog/monolog", "version": "3.5.0", @@ -7008,6 +7136,145 @@ ], "time": "2023-11-30T10:32:10+00:00" }, + { + "name": "thecodingmachine/safe", + "version": "v2.5.0", + "source": { + "type": "git", + "url": "https://github.com/thecodingmachine/safe.git", + "reference": "3115ecd6b4391662b4931daac4eba6b07a2ac1f0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thecodingmachine/safe/zipball/3115ecd6b4391662b4931daac4eba6b07a2ac1f0", + "reference": "3115ecd6b4391662b4931daac4eba6b07a2ac1f0", + "shasum": "" + }, + "require": { + "php": "^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.5", + "phpunit/phpunit": "^9.5", + "squizlabs/php_codesniffer": "^3.2", + "thecodingmachine/phpstan-strict-rules": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2.x-dev" + } + }, + "autoload": { + "files": [ + "deprecated/apc.php", + "deprecated/array.php", + "deprecated/datetime.php", + "deprecated/libevent.php", + "deprecated/misc.php", + "deprecated/password.php", + "deprecated/mssql.php", + "deprecated/stats.php", + "deprecated/strings.php", + "lib/special_cases.php", + "deprecated/mysqli.php", + "generated/apache.php", + "generated/apcu.php", + "generated/array.php", + "generated/bzip2.php", + "generated/calendar.php", + "generated/classobj.php", + "generated/com.php", + "generated/cubrid.php", + "generated/curl.php", + "generated/datetime.php", + "generated/dir.php", + "generated/eio.php", + "generated/errorfunc.php", + "generated/exec.php", + "generated/fileinfo.php", + "generated/filesystem.php", + "generated/filter.php", + "generated/fpm.php", + "generated/ftp.php", + "generated/funchand.php", + "generated/gettext.php", + "generated/gmp.php", + "generated/gnupg.php", + "generated/hash.php", + "generated/ibase.php", + "generated/ibmDb2.php", + "generated/iconv.php", + "generated/image.php", + "generated/imap.php", + "generated/info.php", + "generated/inotify.php", + "generated/json.php", + "generated/ldap.php", + "generated/libxml.php", + "generated/lzf.php", + "generated/mailparse.php", + "generated/mbstring.php", + "generated/misc.php", + "generated/mysql.php", + "generated/network.php", + "generated/oci8.php", + "generated/opcache.php", + "generated/openssl.php", + "generated/outcontrol.php", + "generated/pcntl.php", + "generated/pcre.php", + "generated/pgsql.php", + "generated/posix.php", + "generated/ps.php", + "generated/pspell.php", + "generated/readline.php", + "generated/rpminfo.php", + "generated/rrd.php", + "generated/sem.php", + "generated/session.php", + "generated/shmop.php", + "generated/sockets.php", + "generated/sodium.php", + "generated/solr.php", + "generated/spl.php", + "generated/sqlsrv.php", + "generated/ssdeep.php", + "generated/ssh2.php", + "generated/stream.php", + "generated/strings.php", + "generated/swoole.php", + "generated/uodbc.php", + "generated/uopz.php", + "generated/url.php", + "generated/var.php", + "generated/xdiff.php", + "generated/xml.php", + "generated/xmlrpc.php", + "generated/yaml.php", + "generated/yaz.php", + "generated/zip.php", + "generated/zlib.php" + ], + "classmap": [ + "lib/DateTime.php", + "lib/DateTimeImmutable.php", + "lib/Exceptions/", + "deprecated/Exceptions/", + "generated/Exceptions/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHP core functions that throw exceptions instead of returning FALSE on error", + "support": { + "issues": "https://github.com/thecodingmachine/safe/issues", + "source": "https://github.com/thecodingmachine/safe/tree/v2.5.0" + }, + "time": "2023-04-05T11:54:14+00:00" + }, { "name": "tijsverkoyen/css-to-inline-styles", "version": "2.2.6", From 957fd668b91409c698cc7a37e266a0d3a39f0406 Mon Sep 17 00:00:00 2001 From: Max Tiessen Date: Mon, 18 Dec 2023 10:58:46 +0100 Subject: [PATCH 02/11] add exiftool to docker-container (app and worker) --- .docker/app.dockerfile | 2 ++ .docker/worker.dockerfile | 2 ++ 2 files changed, 4 insertions(+) diff --git a/.docker/app.dockerfile b/.docker/app.dockerfile index 07555e352..bf76aaca2 100644 --- a/.docker/app.dockerfile +++ b/.docker/app.dockerfile @@ -27,6 +27,8 @@ RUN apk add --no-cache \ soap \ && apk del --purge .build-deps +RUN apk add --no-cache exiftool + # Configure proxy if there is any. See: https://stackoverflow.com/a/2266500/1796523 RUN [ -z "$HTTP_PROXY" ] || pear config-set http_proxy $HTTP_PROXY RUN apk add --no-cache yaml \ diff --git a/.docker/worker.dockerfile b/.docker/worker.dockerfile index 3f22309f5..c19abb397 100644 --- a/.docker/worker.dockerfile +++ b/.docker/worker.dockerfile @@ -37,6 +37,8 @@ RUN apk add --no-cache \ zip \ && apk del --purge .build-deps +RUN apk add --no-cache exiftool + # Configure proxy if there is any. See: https://stackoverflow.com/a/2266500/1796523 RUN [ -z "$HTTP_PROXY" ] || pear config-set http_proxy $HTTP_PROXY RUN apk add --no-cache yaml \ From 235befd398c5f14a1f839081569f7be9efe89994 Mon Sep 17 00:00:00 2001 From: Max Tiessen Date: Mon, 18 Dec 2023 11:29:00 +0100 Subject: [PATCH 03/11] add missing composer.lock dependencies --- composer.lock | 285 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 283 insertions(+), 2 deletions(-) diff --git a/composer.lock b/composer.lock index 6bb7175c9..6829586a7 100644 --- a/composer.lock +++ b/composer.lock @@ -4,8 +4,157 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "b05cc8ab987e8f1b7189e566cdef4962", + "content-hash": "8e1711e7b2c6d1f6121c8e1dc98b9613", "packages": [ + { + "name": "aws/aws-crt-php", + "version": "v1.2.4", + "source": { + "type": "git", + "url": "https://github.com/awslabs/aws-crt-php.git", + "reference": "eb0c6e4e142224a10b08f49ebf87f32611d162b2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/awslabs/aws-crt-php/zipball/eb0c6e4e142224a10b08f49ebf87f32611d162b2", + "reference": "eb0c6e4e142224a10b08f49ebf87f32611d162b2", + "shasum": "" + }, + "require": { + "php": ">=5.5" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35||^5.6.3||^9.5", + "yoast/phpunit-polyfills": "^1.0" + }, + "suggest": { + "ext-awscrt": "Make sure you install awscrt native extension to use any of the functionality." + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "AWS SDK Common Runtime Team", + "email": "aws-sdk-common-runtime@amazon.com" + } + ], + "description": "AWS Common Runtime for PHP", + "homepage": "https://github.com/awslabs/aws-crt-php", + "keywords": [ + "amazon", + "aws", + "crt", + "sdk" + ], + "support": { + "issues": "https://github.com/awslabs/aws-crt-php/issues", + "source": "https://github.com/awslabs/aws-crt-php/tree/v1.2.4" + }, + "time": "2023-11-08T00:42:13+00:00" + }, + { + "name": "aws/aws-sdk-php", + "version": "3.294.1", + "source": { + "type": "git", + "url": "https://github.com/aws/aws-sdk-php.git", + "reference": "63c720229a9c9cdedff6bac98d6e72be8cc241f1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/63c720229a9c9cdedff6bac98d6e72be8cc241f1", + "reference": "63c720229a9c9cdedff6bac98d6e72be8cc241f1", + "shasum": "" + }, + "require": { + "aws/aws-crt-php": "^1.2.3", + "ext-json": "*", + "ext-pcre": "*", + "ext-simplexml": "*", + "guzzlehttp/guzzle": "^6.5.8 || ^7.4.5", + "guzzlehttp/promises": "^1.4.0 || ^2.0", + "guzzlehttp/psr7": "^1.9.1 || ^2.4.5", + "mtdowling/jmespath.php": "^2.6", + "php": ">=7.2.5", + "psr/http-message": "^1.0 || ^2.0" + }, + "require-dev": { + "andrewsville/php-token-reflection": "^1.4", + "aws/aws-php-sns-message-validator": "~1.0", + "behat/behat": "~3.0", + "composer/composer": "^1.10.22", + "dms/phpunit-arraysubset-asserts": "^0.4.0", + "doctrine/cache": "~1.4", + "ext-dom": "*", + "ext-openssl": "*", + "ext-pcntl": "*", + "ext-sockets": "*", + "nette/neon": "^2.3", + "paragonie/random_compat": ">= 2", + "phpunit/phpunit": "^5.6.3 || ^8.5 || ^9.5", + "psr/cache": "^1.0", + "psr/simple-cache": "^1.0", + "sebastian/comparator": "^1.2.3 || ^4.0", + "yoast/phpunit-polyfills": "^1.0" + }, + "suggest": { + "aws/aws-php-sns-message-validator": "To validate incoming SNS notifications", + "doctrine/cache": "To use the DoctrineCacheAdapter", + "ext-curl": "To send requests using cURL", + "ext-openssl": "Allows working with CloudFront private distributions and verifying received SNS messages", + "ext-sockets": "To use client-side monitoring" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Aws\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Amazon Web Services", + "homepage": "http://aws.amazon.com" + } + ], + "description": "AWS SDK for PHP - Use Amazon Web Services in your PHP project", + "homepage": "http://aws.amazon.com/sdkforphp", + "keywords": [ + "amazon", + "aws", + "cloud", + "dynamodb", + "ec2", + "glacier", + "s3", + "sdk" + ], + "support": { + "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", + "issues": "https://github.com/aws/aws-sdk-php/issues", + "source": "https://github.com/aws/aws-sdk-php/tree/3.294.1" + }, + "time": "2023-12-15T19:25:52+00:00" + }, { "name": "bacon/bacon-qr-code", "version": "2.0.8", @@ -2575,6 +2724,72 @@ ], "time": "2023-12-04T10:16:17+00:00" }, + { + "name": "league/flysystem-aws-s3-v3", + "version": "3.22.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/flysystem-aws-s3-v3.git", + "reference": "9808919ee5d819730d9582d4e1673e8d195c38d8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/9808919ee5d819730d9582d4e1673e8d195c38d8", + "reference": "9808919ee5d819730d9582d4e1673e8d195c38d8", + "shasum": "" + }, + "require": { + "aws/aws-sdk-php": "^3.220.0", + "league/flysystem": "^3.10.0", + "league/mime-type-detection": "^1.0.0", + "php": "^8.0.2" + }, + "conflict": { + "guzzlehttp/guzzle": "<7.0", + "guzzlehttp/ringphp": "<1.1.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "League\\Flysystem\\AwsS3V3\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frankdejonge.nl" + } + ], + "description": "AWS S3 filesystem adapter for Flysystem.", + "keywords": [ + "Flysystem", + "aws", + "file", + "files", + "filesystem", + "s3", + "storage" + ], + "support": { + "issues": "https://github.com/thephpleague/flysystem-aws-s3-v3/issues", + "source": "https://github.com/thephpleague/flysystem-aws-s3-v3/tree/3.22.0" + }, + "funding": [ + { + "url": "https://ecologi.com/frankdejonge", + "type": "custom" + }, + { + "url": "https://github.com/frankdejonge", + "type": "github" + } + ], + "time": "2023-11-18T14:03:37+00:00" + }, { "name": "league/flysystem-local", "version": "3.23.0", @@ -2928,6 +3143,72 @@ }, "time": "2023-01-30T22:58:33+00:00" }, + { + "name": "mtdowling/jmespath.php", + "version": "2.7.0", + "source": { + "type": "git", + "url": "https://github.com/jmespath/jmespath.php.git", + "reference": "bbb69a935c2cbb0c03d7f481a238027430f6440b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/jmespath/jmespath.php/zipball/bbb69a935c2cbb0c03d7f481a238027430f6440b", + "reference": "bbb69a935c2cbb0c03d7f481a238027430f6440b", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0", + "symfony/polyfill-mbstring": "^1.17" + }, + "require-dev": { + "composer/xdebug-handler": "^3.0.3", + "phpunit/phpunit": "^8.5.33" + }, + "bin": [ + "bin/jp.php" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7-dev" + } + }, + "autoload": { + "files": [ + "src/JmesPath.php" + ], + "psr-4": { + "JmesPath\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Declaratively specify how to extract elements from a JSON document", + "keywords": [ + "json", + "jsonpath" + ], + "support": { + "issues": "https://github.com/jmespath/jmespath.php/issues", + "source": "https://github.com/jmespath/jmespath.php/tree/2.7.0" + }, + "time": "2023-08-25T10:54:48+00:00" + }, { "name": "nesbot/carbon", "version": "2.72.0", @@ -12216,5 +12497,5 @@ "platform-overrides": { "php": "8.1.13" }, - "plugin-api-version": "2.2.0" + "plugin-api-version": "2.6.0" } From f471c4bfcef04ca0288ee74372dd0db27b9fce6a Mon Sep 17 00:00:00 2001 From: Max Tiessen Date: Mon, 18 Dec 2023 15:14:13 +0100 Subject: [PATCH 04/11] remove unnecessary dependency --- composer.json | 1 - composer.lock | 283 +------------------------------------------------- 2 files changed, 1 insertion(+), 283 deletions(-) diff --git a/composer.json b/composer.json index f232993d0..dd88790da 100644 --- a/composer.json +++ b/composer.json @@ -32,7 +32,6 @@ "laravel/framework": "^10.0", "laravel/tinker": "^2.8", "laravel/ui": "^4.0", - "league/flysystem-aws-s3-v3": "^3.12", "lychee-org/php-exif": "^1.0", "msurguy/honeypot": "^1.0", "pgvector/pgvector": "^0.1.4", diff --git a/composer.lock b/composer.lock index 6829586a7..69e980d9d 100644 --- a/composer.lock +++ b/composer.lock @@ -4,157 +4,8 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "8e1711e7b2c6d1f6121c8e1dc98b9613", + "content-hash": "fe5a60aeae3f5a7851322ed3af9b8dcb", "packages": [ - { - "name": "aws/aws-crt-php", - "version": "v1.2.4", - "source": { - "type": "git", - "url": "https://github.com/awslabs/aws-crt-php.git", - "reference": "eb0c6e4e142224a10b08f49ebf87f32611d162b2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/awslabs/aws-crt-php/zipball/eb0c6e4e142224a10b08f49ebf87f32611d162b2", - "reference": "eb0c6e4e142224a10b08f49ebf87f32611d162b2", - "shasum": "" - }, - "require": { - "php": ">=5.5" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35||^5.6.3||^9.5", - "yoast/phpunit-polyfills": "^1.0" - }, - "suggest": { - "ext-awscrt": "Make sure you install awscrt native extension to use any of the functionality." - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "AWS SDK Common Runtime Team", - "email": "aws-sdk-common-runtime@amazon.com" - } - ], - "description": "AWS Common Runtime for PHP", - "homepage": "https://github.com/awslabs/aws-crt-php", - "keywords": [ - "amazon", - "aws", - "crt", - "sdk" - ], - "support": { - "issues": "https://github.com/awslabs/aws-crt-php/issues", - "source": "https://github.com/awslabs/aws-crt-php/tree/v1.2.4" - }, - "time": "2023-11-08T00:42:13+00:00" - }, - { - "name": "aws/aws-sdk-php", - "version": "3.294.1", - "source": { - "type": "git", - "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "63c720229a9c9cdedff6bac98d6e72be8cc241f1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/63c720229a9c9cdedff6bac98d6e72be8cc241f1", - "reference": "63c720229a9c9cdedff6bac98d6e72be8cc241f1", - "shasum": "" - }, - "require": { - "aws/aws-crt-php": "^1.2.3", - "ext-json": "*", - "ext-pcre": "*", - "ext-simplexml": "*", - "guzzlehttp/guzzle": "^6.5.8 || ^7.4.5", - "guzzlehttp/promises": "^1.4.0 || ^2.0", - "guzzlehttp/psr7": "^1.9.1 || ^2.4.5", - "mtdowling/jmespath.php": "^2.6", - "php": ">=7.2.5", - "psr/http-message": "^1.0 || ^2.0" - }, - "require-dev": { - "andrewsville/php-token-reflection": "^1.4", - "aws/aws-php-sns-message-validator": "~1.0", - "behat/behat": "~3.0", - "composer/composer": "^1.10.22", - "dms/phpunit-arraysubset-asserts": "^0.4.0", - "doctrine/cache": "~1.4", - "ext-dom": "*", - "ext-openssl": "*", - "ext-pcntl": "*", - "ext-sockets": "*", - "nette/neon": "^2.3", - "paragonie/random_compat": ">= 2", - "phpunit/phpunit": "^5.6.3 || ^8.5 || ^9.5", - "psr/cache": "^1.0", - "psr/simple-cache": "^1.0", - "sebastian/comparator": "^1.2.3 || ^4.0", - "yoast/phpunit-polyfills": "^1.0" - }, - "suggest": { - "aws/aws-php-sns-message-validator": "To validate incoming SNS notifications", - "doctrine/cache": "To use the DoctrineCacheAdapter", - "ext-curl": "To send requests using cURL", - "ext-openssl": "Allows working with CloudFront private distributions and verifying received SNS messages", - "ext-sockets": "To use client-side monitoring" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "files": [ - "src/functions.php" - ], - "psr-4": { - "Aws\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Amazon Web Services", - "homepage": "http://aws.amazon.com" - } - ], - "description": "AWS SDK for PHP - Use Amazon Web Services in your PHP project", - "homepage": "http://aws.amazon.com/sdkforphp", - "keywords": [ - "amazon", - "aws", - "cloud", - "dynamodb", - "ec2", - "glacier", - "s3", - "sdk" - ], - "support": { - "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", - "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.294.1" - }, - "time": "2023-12-15T19:25:52+00:00" - }, { "name": "bacon/bacon-qr-code", "version": "2.0.8", @@ -2724,72 +2575,6 @@ ], "time": "2023-12-04T10:16:17+00:00" }, - { - "name": "league/flysystem-aws-s3-v3", - "version": "3.22.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/flysystem-aws-s3-v3.git", - "reference": "9808919ee5d819730d9582d4e1673e8d195c38d8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/9808919ee5d819730d9582d4e1673e8d195c38d8", - "reference": "9808919ee5d819730d9582d4e1673e8d195c38d8", - "shasum": "" - }, - "require": { - "aws/aws-sdk-php": "^3.220.0", - "league/flysystem": "^3.10.0", - "league/mime-type-detection": "^1.0.0", - "php": "^8.0.2" - }, - "conflict": { - "guzzlehttp/guzzle": "<7.0", - "guzzlehttp/ringphp": "<1.1.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "League\\Flysystem\\AwsS3V3\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Frank de Jonge", - "email": "info@frankdejonge.nl" - } - ], - "description": "AWS S3 filesystem adapter for Flysystem.", - "keywords": [ - "Flysystem", - "aws", - "file", - "files", - "filesystem", - "s3", - "storage" - ], - "support": { - "issues": "https://github.com/thephpleague/flysystem-aws-s3-v3/issues", - "source": "https://github.com/thephpleague/flysystem-aws-s3-v3/tree/3.22.0" - }, - "funding": [ - { - "url": "https://ecologi.com/frankdejonge", - "type": "custom" - }, - { - "url": "https://github.com/frankdejonge", - "type": "github" - } - ], - "time": "2023-11-18T14:03:37+00:00" - }, { "name": "league/flysystem-local", "version": "3.23.0", @@ -3143,72 +2928,6 @@ }, "time": "2023-01-30T22:58:33+00:00" }, - { - "name": "mtdowling/jmespath.php", - "version": "2.7.0", - "source": { - "type": "git", - "url": "https://github.com/jmespath/jmespath.php.git", - "reference": "bbb69a935c2cbb0c03d7f481a238027430f6440b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/jmespath/jmespath.php/zipball/bbb69a935c2cbb0c03d7f481a238027430f6440b", - "reference": "bbb69a935c2cbb0c03d7f481a238027430f6440b", - "shasum": "" - }, - "require": { - "php": "^7.2.5 || ^8.0", - "symfony/polyfill-mbstring": "^1.17" - }, - "require-dev": { - "composer/xdebug-handler": "^3.0.3", - "phpunit/phpunit": "^8.5.33" - }, - "bin": [ - "bin/jp.php" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.7-dev" - } - }, - "autoload": { - "files": [ - "src/JmesPath.php" - ], - "psr-4": { - "JmesPath\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - }, - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Declaratively specify how to extract elements from a JSON document", - "keywords": [ - "json", - "jsonpath" - ], - "support": { - "issues": "https://github.com/jmespath/jmespath.php/issues", - "source": "https://github.com/jmespath/jmespath.php/tree/2.7.0" - }, - "time": "2023-08-25T10:54:48+00:00" - }, { "name": "nesbot/carbon", "version": "2.72.0", From 9c1e4c51f54d2db67117340e063b6eb6f6cb247e Mon Sep 17 00:00:00 2001 From: Max Tiessen Date: Tue, 19 Dec 2023 14:18:32 +0100 Subject: [PATCH 05/11] add PHP geo-projection package proj4 --- composer.json | 1 + composer.lock | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 66 insertions(+), 1 deletion(-) diff --git a/composer.json b/composer.json index dd88790da..f48b89ce7 100644 --- a/composer.json +++ b/composer.json @@ -36,6 +36,7 @@ "msurguy/honeypot": "^1.0", "pgvector/pgvector": "^0.1.4", "php-ffmpeg/php-ffmpeg": "^1.0", + "proj4php/proj4php": "^2.0", "pusher/pusher-php-server": "^7.2", "ramsey/uuid": "^4.0", "ramsey/uuid-doctrine": "^1.8" diff --git a/composer.lock b/composer.lock index 69e980d9d..29bdca873 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": "fe5a60aeae3f5a7851322ed3af9b8dcb", + "content-hash": "2337527e0666eea68db80327510a9e62", "packages": [ { "name": "bacon/bacon-qr-code", @@ -3677,6 +3677,70 @@ ], "time": "2023-11-12T21:59:55+00:00" }, + { + "name": "proj4php/proj4php", + "version": "2.0.13", + "source": { + "type": "git", + "url": "https://github.com/proj4php/proj4php.git", + "reference": "17f2a5eea4f587f46ad7d0c62a4855d6b734ac69" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/proj4php/proj4php/zipball/17f2a5eea4f587f46ad7d0c62a4855d6b734ac69", + "reference": "17f2a5eea4f587f46ad7d0c62a4855d6b734ac69", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "9.*" + }, + "type": "library", + "autoload": { + "psr-4": { + "proj4php\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-2.1" + ], + "authors": [ + { + "name": "julien2512", + "email": "moquet.julien@gmail.com", + "homepage": "https://github.com/julien2512", + "role": "Developer" + }, + { + "name": "Jason Judge", + "email": "jason.judge@academe.co.uk", + "homepage": "http://academe.co.uk", + "role": "Developer" + }, + { + "name": "Nick Blackwell", + "email": "nickblackwell82@gmail.com", + "homepage": "https://people.ok.ubc.ca/nblackwe", + "role": "Developer" + } + ], + "description": "A PHP-Class for geographic coordinates transformation using proj4 definitions, thanks to a translation from Proj4JS", + "homepage": "https://github.com/proj4php/proj4php", + "keywords": [ + "coordinates", + "geographic", + "proj4", + "proj4js" + ], + "support": { + "issues": "https://github.com/proj4php/proj4php/issues", + "source": "https://github.com/proj4php/proj4php/tree/2.0.13" + }, + "time": "2023-05-10T04:07:19+00:00" + }, { "name": "psr/cache", "version": "3.0.0", From de13189183850b24f08524a86e35f53007440536 Mon Sep 17 00:00:00 2001 From: Max Tiessen Date: Fri, 19 Jan 2024 09:59:26 +0100 Subject: [PATCH 06/11] update proj4php to latest version (critical bugfix) --- composer.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/composer.lock b/composer.lock index 29bdca873..421b622ea 100644 --- a/composer.lock +++ b/composer.lock @@ -3679,16 +3679,16 @@ }, { "name": "proj4php/proj4php", - "version": "2.0.13", + "version": "2.0.14", "source": { "type": "git", "url": "https://github.com/proj4php/proj4php.git", - "reference": "17f2a5eea4f587f46ad7d0c62a4855d6b734ac69" + "reference": "56101a421c0d5d05652abd7fba22466cb6bad92b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/proj4php/proj4php/zipball/17f2a5eea4f587f46ad7d0c62a4855d6b734ac69", - "reference": "17f2a5eea4f587f46ad7d0c62a4855d6b734ac69", + "url": "https://api.github.com/repos/proj4php/proj4php/zipball/56101a421c0d5d05652abd7fba22466cb6bad92b", + "reference": "56101a421c0d5d05652abd7fba22466cb6bad92b", "shasum": "" }, "require": { @@ -3737,9 +3737,9 @@ ], "support": { "issues": "https://github.com/proj4php/proj4php/issues", - "source": "https://github.com/proj4php/proj4php/tree/2.0.13" + "source": "https://github.com/proj4php/proj4php/tree/2.0.14" }, - "time": "2023-05-10T04:07:19+00:00" + "time": "2024-01-08T18:41:31+00:00" }, { "name": "psr/cache", From eba25768afd1d72cc88fb878986c9e9f2c686722 Mon Sep 17 00:00:00 2001 From: Max Tiessen Date: Fri, 19 Jan 2024 11:02:13 +0100 Subject: [PATCH 07/11] remove proj4php from core --- composer.json | 1 - composer.lock | 66 +-------------------------------------------------- 2 files changed, 1 insertion(+), 66 deletions(-) diff --git a/composer.json b/composer.json index f48b89ce7..dd88790da 100644 --- a/composer.json +++ b/composer.json @@ -36,7 +36,6 @@ "msurguy/honeypot": "^1.0", "pgvector/pgvector": "^0.1.4", "php-ffmpeg/php-ffmpeg": "^1.0", - "proj4php/proj4php": "^2.0", "pusher/pusher-php-server": "^7.2", "ramsey/uuid": "^4.0", "ramsey/uuid-doctrine": "^1.8" diff --git a/composer.lock b/composer.lock index 421b622ea..5288bfd2c 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": "2337527e0666eea68db80327510a9e62", + "content-hash": "b05cc8ab987e8f1b7189e566cdef4962", "packages": [ { "name": "bacon/bacon-qr-code", @@ -3677,70 +3677,6 @@ ], "time": "2023-11-12T21:59:55+00:00" }, - { - "name": "proj4php/proj4php", - "version": "2.0.14", - "source": { - "type": "git", - "url": "https://github.com/proj4php/proj4php.git", - "reference": "56101a421c0d5d05652abd7fba22466cb6bad92b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/proj4php/proj4php/zipball/56101a421c0d5d05652abd7fba22466cb6bad92b", - "reference": "56101a421c0d5d05652abd7fba22466cb6bad92b", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "9.*" - }, - "type": "library", - "autoload": { - "psr-4": { - "proj4php\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-2.1" - ], - "authors": [ - { - "name": "julien2512", - "email": "moquet.julien@gmail.com", - "homepage": "https://github.com/julien2512", - "role": "Developer" - }, - { - "name": "Jason Judge", - "email": "jason.judge@academe.co.uk", - "homepage": "http://academe.co.uk", - "role": "Developer" - }, - { - "name": "Nick Blackwell", - "email": "nickblackwell82@gmail.com", - "homepage": "https://people.ok.ubc.ca/nblackwe", - "role": "Developer" - } - ], - "description": "A PHP-Class for geographic coordinates transformation using proj4 definitions, thanks to a translation from Proj4JS", - "homepage": "https://github.com/proj4php/proj4php", - "keywords": [ - "coordinates", - "geographic", - "proj4", - "proj4js" - ], - "support": { - "issues": "https://github.com/proj4php/proj4php/issues", - "source": "https://github.com/proj4php/proj4php/tree/2.0.14" - }, - "time": "2024-01-08T18:41:31+00:00" - }, { "name": "psr/cache", "version": "3.0.0", From ec042df4fe1f576a3f134b23a147d9b2918bdd95 Mon Sep 17 00:00:00 2001 From: Max Tiessen Date: Fri, 19 Jan 2024 11:13:03 +0100 Subject: [PATCH 08/11] update composer.lock hash --- composer.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.lock b/composer.lock index 5288bfd2c..69e980d9d 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": "b05cc8ab987e8f1b7189e566cdef4962", + "content-hash": "fe5a60aeae3f5a7851322ed3af9b8dcb", "packages": [ { "name": "bacon/bacon-qr-code", From 3577945dd93a1a6e008ae38b899f284479e024fa Mon Sep 17 00:00:00 2001 From: Max T Date: Thu, 18 Jul 2024 11:14:34 +0200 Subject: [PATCH 09/11] Changed exiftool install from using apk add to apt-get --- .docker/worker.dockerfile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.docker/worker.dockerfile b/.docker/worker.dockerfile index 765e762d8..8147c4327 100644 --- a/.docker/worker.dockerfile +++ b/.docker/worker.dockerfile @@ -6,6 +6,7 @@ LABEL org.opencontainers.image.source https://github.com/biigle/core RUN LC_ALL=C.UTF-8 apt-get update \ && apt-get install -y --no-install-recommends \ + exiftool \ ffmpeg \ python3 \ python3-numpy \ @@ -48,8 +49,6 @@ RUN LC_ALL=C.UTF-8 apt-get update \ && apt-get clean \ && rm -r /var/lib/apt/lists/* -RUN apk add --no-cache exiftool - # Configure proxy if there is any. See: https://stackoverflow.com/a/2266500/1796523 RUN [ -z "$HTTP_PROXY" ] || pear config-set http_proxy $HTTP_PROXY From 7c2fc62fbb855c7729c3d977881a492c3c9611e9 Mon Sep 17 00:00:00 2001 From: Max T Date: Fri, 26 Jul 2024 16:15:17 +0200 Subject: [PATCH 10/11] Added public storage disk for geo-overlays --- config/filesystems.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/config/filesystems.php b/config/filesystems.php index 68fd13004..965b21506 100644 --- a/config/filesystems.php +++ b/config/filesystems.php @@ -64,6 +64,13 @@ 'driver' => 'local', 'root' => storage_path('ifdos'), ], + + 'geo-overlays' => [ + 'driver' => 'local', + 'root' => storage_path('app/public/geo-overlays'), + 'url' => env('APP_URL').'/storage/geo-overlays', + 'visibility' => 'public', + ], ], /* From 2830562916f176028b686c618f7067c4de89a769 Mon Sep 17 00:00:00 2001 From: Max T Date: Tue, 20 Aug 2024 10:48:51 +0200 Subject: [PATCH 11/11] Revert "Added public storage disk for geo-overlays" (needs to be done in dev-modules branch) This reverts commit 7c2fc62fbb855c7729c3d977881a492c3c9611e9. --- config/filesystems.php | 7 ------- 1 file changed, 7 deletions(-) diff --git a/config/filesystems.php b/config/filesystems.php index 965b21506..68fd13004 100644 --- a/config/filesystems.php +++ b/config/filesystems.php @@ -64,13 +64,6 @@ 'driver' => 'local', 'root' => storage_path('ifdos'), ], - - 'geo-overlays' => [ - 'driver' => 'local', - 'root' => storage_path('app/public/geo-overlays'), - 'url' => env('APP_URL').'/storage/geo-overlays', - 'visibility' => 'public', - ], ], /*