diff --git a/solid/composer.json b/solid/composer.json index fc168b98..7f3d9953 100644 --- a/solid/composer.json +++ b/solid/composer.json @@ -28,10 +28,10 @@ "ext-openssl": "*", "laminas/laminas-diactoros": "^3.8", "lcobucci/jwt": "^4.1", - "pdsinterop/flysystem-nextcloud": "^0.4", + "pdsinterop/flysystem-nextcloud": "v0.5.0", "pdsinterop/flysystem-rdf": "^0.7", - "pdsinterop/solid-auth": "^0.15", - "pdsinterop/solid-crud": "^0.9", + "pdsinterop/solid-auth": "v0.16.0", + "pdsinterop/solid-crud": "v0.10.0", "phrity/websocket": "^3.5", "sweetrdf/easyrdf": ">=1.15.0 <1.16.0" }, diff --git a/solid/composer.lock b/solid/composer.lock index bd357e11..ad46bf64 100644 --- a/solid/composer.lock +++ b/solid/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": "810d62b35b9afa921782c76fe07ce8d3", + "content-hash": "613a5e0b3294ebc2a7c22b82325b60c7", "packages": [ { "name": "brick/math", @@ -211,16 +211,16 @@ }, { "name": "laminas/laminas-diactoros", - "version": "3.8.0", + "version": "3.9.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-diactoros.git", - "reference": "60c182916b2749480895601649563970f3f12ec4" + "reference": "4ab9fe10869ac0cd46fa78e641b6d0f4389bc6b4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-diactoros/zipball/60c182916b2749480895601649563970f3f12ec4", - "reference": "60c182916b2749480895601649563970f3f12ec4", + "url": "https://api.github.com/repos/laminas/laminas-diactoros/zipball/4ab9fe10869ac0cd46fa78e641b6d0f4389bc6b4", + "reference": "4ab9fe10869ac0cd46fa78e641b6d0f4389bc6b4", "shasum": "" }, "require": { @@ -236,6 +236,7 @@ "psr/http-message-implementation": "^1.1 || ^2.0" }, "require-dev": { + "boundwize/structarmed": "^0.17.7", "ext-curl": "*", "ext-dom": "*", "ext-gd": "*", @@ -291,11 +292,11 @@ }, "funding": [ { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" + "url": "https://crowdfunding.linuxfoundation.org/initiatives/laminas-project", + "type": "custom" } ], - "time": "2025-10-12T15:31:36+00:00" + "time": "2026-10-08T08:19:47+00:00" }, { "name": "lcobucci/clock", @@ -767,20 +768,21 @@ }, { "name": "league/uri", - "version": "7.8.1", + "version": "7.9.1", "source": { "type": "git", "url": "https://github.com/thephpleague/uri.git", - "reference": "08cf38e3924d4f56238125547b5720496fac8fd4" + "reference": "40403f5c3141457a61f7f1aba6706e8fa4a0ece5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/uri/zipball/08cf38e3924d4f56238125547b5720496fac8fd4", - "reference": "08cf38e3924d4f56238125547b5720496fac8fd4", + "url": "https://api.github.com/repos/thephpleague/uri/zipball/40403f5c3141457a61f7f1aba6706e8fa4a0ece5", + "reference": "40403f5c3141457a61f7f1aba6706e8fa4a0ece5", "shasum": "" }, "require": { - "league/uri-interfaces": "^7.8.1", + "ext-mbstring": "*", + "league/uri-interfaces": "^7.9.1", "php": "^8.1", "psr/http-factory": "^1" }, @@ -853,7 +855,7 @@ "docs": "https://uri.thephpleague.com", "forum": "https://thephpleague.slack.com", "issues": "https://github.com/thephpleague/uri-src/issues", - "source": "https://github.com/thephpleague/uri/tree/7.8.1" + "source": "https://github.com/thephpleague/uri/tree/7.9.1" }, "funding": [ { @@ -861,20 +863,20 @@ "type": "github" } ], - "time": "2026-03-15T20:22:25+00:00" + "time": "2026-10-27T07:14:23+00:00" }, { "name": "league/uri-interfaces", - "version": "7.8.1", + "version": "7.9.1", "source": { "type": "git", "url": "https://github.com/thephpleague/uri-interfaces.git", - "reference": "85d5c77c5d6d3af6c54db4a78246364908f3c928" + "reference": "994300a79e17f179112dc259f8df0c4de982f736" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/85d5c77c5d6d3af6c54db4a78246364908f3c928", - "reference": "85d5c77c5d6d3af6c54db4a78246364908f3c928", + "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/994300a79e17f179112dc259f8df0c4de982f736", + "reference": "994300a79e17f179112dc259f8df0c4de982f736", "shasum": "" }, "require": { @@ -937,7 +939,7 @@ "docs": "https://uri.thephpleague.com", "forum": "https://thephpleague.slack.com", "issues": "https://github.com/thephpleague/uri-src/issues", - "source": "https://github.com/thephpleague/uri-interfaces/tree/7.8.1" + "source": "https://github.com/thephpleague/uri-interfaces/tree/7.9.1" }, "funding": [ { @@ -945,7 +947,7 @@ "type": "github" } ], - "time": "2026-03-08T20:05:35+00:00" + "time": "2026-10-27T07:14:23+00:00" }, { "name": "nyholm/psr7", @@ -1077,16 +1079,16 @@ }, { "name": "pdsinterop/flysystem-nextcloud", - "version": "v0.4.0", + "version": "v0.5.0", "source": { "type": "git", "url": "https://github.com/pdsinterop/flysystem-nextcloud.git", - "reference": "8dfba7efd8f05d3c328ab3de33db3b0de168a974" + "reference": "6b5024718cf8df55f0e8cb2f864efb6b25928f3a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pdsinterop/flysystem-nextcloud/zipball/8dfba7efd8f05d3c328ab3de33db3b0de168a974", - "reference": "8dfba7efd8f05d3c328ab3de33db3b0de168a974", + "url": "https://api.github.com/repos/pdsinterop/flysystem-nextcloud/zipball/6b5024718cf8df55f0e8cb2f864efb6b25928f3a", + "reference": "6b5024718cf8df55f0e8cb2f864efb6b25928f3a", "shasum": "" }, "require": { @@ -1111,9 +1113,9 @@ "description": "Flysystem adapter for the Nextcloud filesystem.", "support": { "issues": "https://github.com/pdsinterop/flysystem-nextcloud/issues", - "source": "https://github.com/pdsinterop/flysystem-nextcloud/tree/v0.4.0" + "source": "https://github.com/pdsinterop/flysystem-nextcloud/tree/v0.5.0" }, - "time": "2026-10-06T09:11:33+00:00" + "time": "2026-11-03T11:12:08+00:00" }, { "name": "pdsinterop/flysystem-rdf", @@ -1159,16 +1161,16 @@ }, { "name": "pdsinterop/solid-auth", - "version": "v0.15.0", + "version": "v0.16.0", "source": { "type": "git", "url": "https://github.com/pdsinterop/php-solid-auth.git", - "reference": "55d82119d588f34f167b879a69b2cf213ba53691" + "reference": "94cea51a8379987270a464abdf1b742644e5e7f9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pdsinterop/php-solid-auth/zipball/55d82119d588f34f167b879a69b2cf213ba53691", - "reference": "55d82119d588f34f167b879a69b2cf213ba53691", + "url": "https://api.github.com/repos/pdsinterop/php-solid-auth/zipball/94cea51a8379987270a464abdf1b742644e5e7f9", + "reference": "94cea51a8379987270a464abdf1b742644e5e7f9", "shasum": "" }, "require": { @@ -1202,22 +1204,22 @@ "description": "OAuth2, OpenID and OIDC for Solid Server implementations.", "support": { "issues": "https://github.com/pdsinterop/php-solid-auth/issues", - "source": "https://github.com/pdsinterop/php-solid-auth/tree/v0.15.0" + "source": "https://github.com/pdsinterop/php-solid-auth/tree/v0.16.0" }, - "time": "2026-10-06T09:03:10+00:00" + "time": "2026-11-03T10:47:34+00:00" }, { "name": "pdsinterop/solid-crud", - "version": "v0.9.0", + "version": "v0.10.0", "source": { "type": "git", "url": "https://github.com/pdsinterop/php-solid-crud.git", - "reference": "6f1d44445ac70f7901400df89d195d6555eb12a9" + "reference": "4a4f927a43880242bfefe1793d4fd7a43be8871a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pdsinterop/php-solid-crud/zipball/6f1d44445ac70f7901400df89d195d6555eb12a9", - "reference": "6f1d44445ac70f7901400df89d195d6555eb12a9", + "url": "https://api.github.com/repos/pdsinterop/php-solid-crud/zipball/4a4f927a43880242bfefe1793d4fd7a43be8871a", + "reference": "4a4f927a43880242bfefe1793d4fd7a43be8871a", "shasum": "" }, "require": { @@ -1249,9 +1251,9 @@ "description": "Solid HTTPS REST API specification compliant implementation for handling Resource CRUD", "support": { "issues": "https://github.com/pdsinterop/php-solid-crud/issues", - "source": "https://github.com/pdsinterop/php-solid-crud/tree/v0.9.0" + "source": "https://github.com/pdsinterop/php-solid-crud/tree/v0.10.0" }, - "time": "2026-10-05T09:39:10+00:00" + "time": "2026-11-03T10:48:35+00:00" }, { "name": "phrity/comparison", @@ -1597,16 +1599,16 @@ }, { "name": "phrity/util-interpolator", - "version": "1.1.1", + "version": "1.1.2", "source": { "type": "git", "url": "https://github.com/sirn-se/phrity-util-interpolator.git", - "reference": "18b0362d2aff60984c530808333c5e64c80c3e50" + "reference": "44cef5cca373d10d479eaea4654428170f5eaa1a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sirn-se/phrity-util-interpolator/zipball/18b0362d2aff60984c530808333c5e64c80c3e50", - "reference": "18b0362d2aff60984c530808333c5e64c80c3e50", + "url": "https://api.github.com/repos/sirn-se/phrity-util-interpolator/zipball/44cef5cca373d10d479eaea4654428170f5eaa1a", + "reference": "44cef5cca373d10d479eaea4654428170f5eaa1a", "shasum": "" }, "require": { @@ -1616,9 +1618,9 @@ }, "require-dev": { "phpstan/phpstan": "^2.0", - "phpunit/phpunit": "^10.0 || ^11.0 || ^12.0", + "phpunit/phpunit": "^10.0 || ^11.0 || ^12.0 || ^13.0", "robiningelbrecht/phpunit-coverage-tools": "^1.9", - "squizlabs/php_codesniffer": "^3.5 || ^4.0" + "squizlabs/php_codesniffer": "^4.0" }, "type": "library", "autoload": { @@ -1645,9 +1647,9 @@ ], "support": { "issues": "https://github.com/sirn-se/phrity-util-interpolator/issues", - "source": "https://github.com/sirn-se/phrity-util-interpolator/tree/1.1.1" + "source": "https://github.com/sirn-se/phrity-util-interpolator/tree/1.1.2" }, - "time": "2025-12-05T21:35:25+00:00" + "time": "2026-10-25T12:14:18+00:00" }, { "name": "phrity/util-transformer", diff --git a/solid/lib/Controller/StorageController.php b/solid/lib/Controller/StorageController.php index fdd6f21e..7d4650ee 100644 --- a/solid/lib/Controller/StorageController.php +++ b/solid/lib/Controller/StorageController.php @@ -248,14 +248,14 @@ private function initializeStorage($userId) { } // Generate default folders and ACLs: - if (!$this->filesystem->fileExists("/inbox")) { + if (!$this->filesystem->directoryExists("/inbox")) { $this->filesystem->createDirectory("/inbox"); } if (!$this->filesystem->fileExists("/inbox/.acl")) { $inboxAcl = $this->generatePublicAppendAcl($userId); $this->filesystem->write("/inbox/.acl", $inboxAcl); } - if (!$this->filesystem->fileExists("/settings")) { + if (!$this->filesystem->directoryExists("/settings")) { $this->filesystem->createDirectory("/settings"); } if (!$this->filesystem->fileExists("/settings/privateTypeIndex.ttl")) { @@ -270,14 +270,14 @@ private function initializeStorage($userId) { $preferences = $this->generateDefaultPreferences($userId); $this->filesystem->write("/settings/preferences.ttl", $preferences); } - if (!$this->filesystem->fileExists("/public")) { + if (!$this->filesystem->directoryExists("/public")) { $this->filesystem->createDirectory("/public"); } if (!$this->filesystem->fileExists("/public/.acl")) { $publicAcl = $this->generatePublicReadAcl($userId); $this->filesystem->write("/public/.acl", $publicAcl); } - if (!$this->filesystem->fileExists("/private")) { + if (!$this->filesystem->directoryExists("/private")) { $this->filesystem->createDirectory("/private"); } }