Merge remote-tracking branch 'origin/master'

# Conflicts:
#	tests/Client.php
This commit is contained in:
Sergio 2020-09-28 09:26:24 +02:00
commit c34faca4d2
15 changed files with 143 additions and 433 deletions

View file

@ -3,7 +3,7 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
## [3.2] - WIP
## [3.2.0] - 2020-09-05
### Added
- Added support to use Azure Blob Storage account as storage location.
- Support for other S3-compatible storage endpoint.

View file

@ -16,11 +16,11 @@ use Psr\Container\ContainerInterface as Container;
use Psr\Http\Message\ServerRequestInterface as Request;
use Psr\Http\Server\RequestHandlerInterface as RequestHandler;
if (!file_exists(BASE_DIR.'config.php') && is_dir(BASE_DIR.'install/')) {
if (!file_exists(CONFIG_FILE) && is_dir(BASE_DIR.'install/')) {
header('Location: ./install/');
exit();
} else {
if (!file_exists(BASE_DIR.'config.php') && !is_dir(BASE_DIR.'install/')) {
if (!file_exists(CONFIG_FILE) && !is_dir(BASE_DIR.'install/')) {
exit('Cannot find the config file.');
}
}
@ -48,7 +48,7 @@ $config = array_replace_recursive([
'base_domain' => null,
'user_domain' => null,
],
], require BASE_DIR.'config.php');
], require CONFIG_FILE);
$builder = new ContainerBuilder();

View file

@ -1,7 +1,7 @@
{
"name": "sergix44/xbackbone",
"license": "AGPL-3.0",
"version": "3.1.4",
"license": "AGPL-3.0-only",
"version": "3.2.0",
"description": "A lightweight ShareX PHP backend",
"type": "project",
"require": {

467
composer.lock generated
View file

@ -4,20 +4,20 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "e3493373b5fac08c5ff8397e894cc0d6",
"content-hash": "11bc581c5e40efe7f2494be71ff6cac0",
"packages": [
{
"name": "aws/aws-sdk-php",
"version": "3.151.3",
"version": "3.155.3",
"source": {
"type": "git",
"url": "https://github.com/aws/aws-sdk-php.git",
"reference": "6deca431ad8d061face518bdde2072445385f45a"
"reference": "da40d5d22acbe542f37c44c78ee520005a6c81a2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/6deca431ad8d061face518bdde2072445385f45a",
"reference": "6deca431ad8d061face518bdde2072445385f45a",
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/da40d5d22acbe542f37c44c78ee520005a6c81a2",
"reference": "da40d5d22acbe542f37c44c78ee520005a6c81a2",
"shasum": ""
},
"require": {
@ -89,7 +89,7 @@
"s3",
"sdk"
],
"time": "2020-08-31T18:25:57+00:00"
"time": "2020-09-25T18:12:28+00:00"
},
{
"name": "erusev/parsedown",
@ -189,16 +189,16 @@
},
{
"name": "google/auth",
"version": "v1.11.1",
"version": "v1.13.0",
"source": {
"type": "git",
"url": "https://github.com/googleapis/google-auth-library-php.git",
"reference": "bb959e91bd8ffbd352ab76cbf11d656ce6435088"
"reference": "173191f5defd1d9ae8bdfc28da31b63eb73dd34e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/googleapis/google-auth-library-php/zipball/bb959e91bd8ffbd352ab76cbf11d656ce6435088",
"reference": "bb959e91bd8ffbd352ab76cbf11d656ce6435088",
"url": "https://api.github.com/repos/googleapis/google-auth-library-php/zipball/173191f5defd1d9ae8bdfc28da31b63eb73dd34e",
"reference": "173191f5defd1d9ae8bdfc28da31b63eb73dd34e",
"shasum": ""
},
"require": {
@ -237,20 +237,20 @@
"google",
"oauth2"
],
"time": "2020-07-27T18:33:35+00:00"
"time": "2020-09-18T20:03:05+00:00"
},
{
"name": "google/cloud-core",
"version": "v1.38.0",
"version": "v1.39.0",
"source": {
"type": "git",
"url": "https://github.com/googleapis/google-cloud-php-core.git",
"reference": "5379a3a2ffae2b6ad7eb55a4fa56acdd694a460e"
"reference": "f9e7421beac89fd7d9006a13a6b39b89dd86c92e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/googleapis/google-cloud-php-core/zipball/5379a3a2ffae2b6ad7eb55a4fa56acdd694a460e",
"reference": "5379a3a2ffae2b6ad7eb55a4fa56acdd694a460e",
"url": "https://api.github.com/repos/googleapis/google-cloud-php-core/zipball/f9e7421beac89fd7d9006a13a6b39b89dd86c92e",
"reference": "f9e7421beac89fd7d9006a13a6b39b89dd86c92e",
"shasum": ""
},
"require": {
@ -298,24 +298,24 @@
"Apache-2.0"
],
"description": "Google Cloud PHP shared dependency, providing functionality useful to all components.",
"time": "2020-07-21T18:59:47+00:00"
"time": "2020-09-08T20:52:20+00:00"
},
{
"name": "google/cloud-storage",
"version": "v1.22.0",
"version": "v1.23.0",
"source": {
"type": "git",
"url": "https://github.com/googleapis/google-cloud-php-storage.git",
"reference": "9412bf831a3fdd895378203b7e42b782deee8795"
"reference": "42f7dfb248318aa152b4491b72279035df0d0900"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/googleapis/google-cloud-php-storage/zipball/9412bf831a3fdd895378203b7e42b782deee8795",
"reference": "9412bf831a3fdd895378203b7e42b782deee8795",
"url": "https://api.github.com/repos/googleapis/google-cloud-php-storage/zipball/42f7dfb248318aa152b4491b72279035df0d0900",
"reference": "42f7dfb248318aa152b4491b72279035df0d0900",
"shasum": ""
},
"require": {
"google/cloud-core": "^1.37",
"google/cloud-core": "^1.39",
"google/crc32": "^0.1.0"
},
"require-dev": {
@ -349,7 +349,7 @@
"Apache-2.0"
],
"description": "Cloud Storage Client for PHP",
"time": "2020-07-21T18:59:47+00:00"
"time": "2020-09-08T20:52:20+00:00"
},
{
"name": "google/crc32",
@ -445,16 +445,6 @@
"Guzzle-Factory",
"http"
],
"funding": [
{
"url": "https://github.com/GrahamCampbell",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/graham-campbell/guzzle-factory",
"type": "tidelift"
}
],
"time": "2020-05-02T14:45:48+00:00"
},
{
@ -849,12 +839,6 @@
"sftp",
"storage"
],
"funding": [
{
"url": "https://offset.earth/frankdejonge",
"type": "other"
}
],
"time": "2020-08-23T07:39:11+00:00"
},
{
@ -947,16 +931,16 @@
},
{
"name": "league/mime-type-detection",
"version": "1.4.0",
"version": "1.5.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/mime-type-detection.git",
"reference": "fda190b62b962d96a069fcc414d781db66d65b69"
"reference": "ea2fbfc988bade315acd5967e6d02274086d0f28"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/fda190b62b962d96a069fcc414d781db66d65b69",
"reference": "fda190b62b962d96a069fcc414d781db66d65b69",
"url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/ea2fbfc988bade315acd5967e6d02274086d0f28",
"reference": "ea2fbfc988bade315acd5967e6d02274086d0f28",
"shasum": ""
},
"require": {
@ -984,17 +968,7 @@
}
],
"description": "Mime-type detection for Flysystem",
"funding": [
{
"url": "https://github.com/frankdejonge",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/league/flysystem",
"type": "tidelift"
}
],
"time": "2020-08-09T10:34:01+00:00"
"time": "2020-09-21T18:10:53+00:00"
},
{
"name": "maennchen/zipstream-php",
@ -1055,12 +1029,6 @@
"stream",
"zip"
],
"funding": [
{
"url": "https://opencollective.com/zipstream",
"type": "open_collective"
}
],
"time": "2020-05-30T13:11:16+00:00"
},
{
@ -1226,16 +1194,6 @@
"logging",
"psr-3"
],
"funding": [
{
"url": "https://github.com/Seldaek",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/monolog/monolog",
"type": "tidelift"
}
],
"time": "2020-07-23T08:35:51+00:00"
},
{
@ -1389,16 +1347,16 @@
},
{
"name": "opis/closure",
"version": "3.5.6",
"version": "3.5.7",
"source": {
"type": "git",
"url": "https://github.com/opis/closure.git",
"reference": "e8d34df855b0a0549a300cb8cb4db472556e8aa9"
"reference": "4531e53afe2fc660403e76fb7644e95998bff7bf"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/opis/closure/zipball/e8d34df855b0a0549a300cb8cb4db472556e8aa9",
"reference": "e8d34df855b0a0549a300cb8cb4db472556e8aa9",
"url": "https://api.github.com/repos/opis/closure/zipball/4531e53afe2fc660403e76fb7644e95998bff7bf",
"reference": "4531e53afe2fc660403e76fb7644e95998bff7bf",
"shasum": ""
},
"require": {
@ -1446,7 +1404,7 @@
"serialization",
"serialize"
],
"time": "2020-08-11T08:46:50+00:00"
"time": "2020-09-06T17:02:15+00:00"
},
{
"name": "paragonie/random_compat",
@ -1539,16 +1497,16 @@
},
{
"name": "php-di/php-di",
"version": "6.2.2",
"version": "6.2.3",
"source": {
"type": "git",
"url": "https://github.com/PHP-DI/PHP-DI.git",
"reference": "40140b5bca07c5fed6919a0f1029ff67617faccd"
"reference": "63c444646f5f41d84818af1c780abed8ebcc082c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/PHP-DI/PHP-DI/zipball/40140b5bca07c5fed6919a0f1029ff67617faccd",
"reference": "40140b5bca07c5fed6919a0f1029ff67617faccd",
"url": "https://api.github.com/repos/PHP-DI/PHP-DI/zipball/63c444646f5f41d84818af1c780abed8ebcc082c",
"reference": "63c444646f5f41d84818af1c780abed8ebcc082c",
"shasum": ""
},
"require": {
@ -1597,17 +1555,7 @@
"ioc",
"psr11"
],
"funding": [
{
"url": "https://github.com/mnapoli",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/php-di/php-di",
"type": "tidelift"
}
],
"time": "2020-08-23T16:23:17+00:00"
"time": "2020-09-24T12:21:43+00:00"
},
{
"name": "php-di/phpdoc-reader",
@ -2208,30 +2156,20 @@
"micro",
"router"
],
"funding": [
{
"url": "https://opencollective.com/slimphp",
"type": "open_collective"
},
{
"url": "https://tidelift.com/funding/github/packagist/slim/slim",
"type": "tidelift"
}
],
"time": "2020-04-14T20:49:48+00:00"
},
{
"name": "spatie/dropbox-api",
"version": "1.15.0",
"version": "1.16.0",
"source": {
"type": "git",
"url": "https://github.com/spatie/dropbox-api.git",
"reference": "0cac9d3b613514cba2fef7b8f00b41a7b9d2b2a3"
"reference": "c294ce5ec69e16fb19879451e3a0944b7291f826"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/spatie/dropbox-api/zipball/0cac9d3b613514cba2fef7b8f00b41a7b9d2b2a3",
"reference": "0cac9d3b613514cba2fef7b8f00b41a7b9d2b2a3",
"url": "https://api.github.com/repos/spatie/dropbox-api/zipball/c294ce5ec69e16fb19879451e3a0944b7291f826",
"reference": "c294ce5ec69e16fb19879451e3a0944b7291f826",
"shasum": ""
},
"require": {
@ -2275,7 +2213,7 @@
"spatie",
"v2"
],
"time": "2020-07-10T15:17:57+00:00"
"time": "2020-09-25T08:07:36+00:00"
},
{
"name": "spatie/flysystem-dropbox",
@ -2436,20 +2374,6 @@
"polyfill",
"portable"
],
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2020-07-14T12:35:20+00:00"
},
{
@ -2521,20 +2445,6 @@
"portable",
"shim"
],
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2020-08-04T06:02:08+00:00"
},
{
@ -2602,20 +2512,6 @@
"portable",
"shim"
],
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2020-07-14T12:35:20+00:00"
},
{
@ -2679,20 +2575,6 @@
"portable",
"shim"
],
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2020-07-14T12:35:20+00:00"
},
{
@ -2756,20 +2638,6 @@
"portable",
"shim"
],
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2020-07-14T12:35:20+00:00"
},
{
@ -2829,20 +2697,6 @@
"portable",
"shim"
],
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2020-07-14T12:35:20+00:00"
},
{
@ -2908,16 +2762,6 @@
"keywords": [
"templating"
],
"funding": [
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/twig/twig",
"type": "tidelift"
}
],
"time": "2020-08-05T15:09:04+00:00"
}
],
@ -2975,20 +2819,6 @@
}
],
"description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)",
"funding": [
{
"url": "https://packagist.com",
"type": "custom"
},
{
"url": "https://github.com/composer",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/composer/composer",
"type": "tidelift"
}
],
"time": "2020-08-25T05:50:16+00:00"
},
{
@ -3033,20 +2863,6 @@
"Xdebug",
"performance"
],
"funding": [
{
"url": "https://packagist.com",
"type": "custom"
},
{
"url": "https://github.com/composer",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/composer/composer",
"type": "tidelift"
}
],
"time": "2020-08-19T10:27:58+00:00"
},
{
@ -3103,42 +2919,28 @@
"constructor",
"instantiate"
],
"funding": [
{
"url": "https://www.doctrine-project.org/sponsorship.html",
"type": "custom"
},
{
"url": "https://www.patreon.com/phpdoctrine",
"type": "patreon"
},
{
"url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator",
"type": "tidelift"
}
],
"time": "2020-05-29T17:27:14+00:00"
},
{
"name": "jean85/pretty-package-versions",
"version": "1.5.0",
"version": "1.5.1",
"source": {
"type": "git",
"url": "https://github.com/Jean85/pretty-package-versions.git",
"reference": "e9f4324e88b8664be386d90cf60fbc202e1f7fc9"
"reference": "a917488320c20057da87f67d0d40543dd9427f7a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/e9f4324e88b8664be386d90cf60fbc202e1f7fc9",
"reference": "e9f4324e88b8664be386d90cf60fbc202e1f7fc9",
"url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/a917488320c20057da87f67d0d40543dd9427f7a",
"reference": "a917488320c20057da87f67d0d40543dd9427f7a",
"shasum": ""
},
"require": {
"composer/package-versions-deprecated": "^1.8.0",
"php": "^7.0"
"php": "^7.0|^8.0"
},
"require-dev": {
"phpunit/phpunit": "^6.0"
"phpunit/phpunit": "^6.0|^8.5|^9.2"
},
"type": "library",
"extra": {
@ -3168,7 +2970,7 @@
"release",
"versions"
],
"time": "2020-06-23T06:23:06+00:00"
"time": "2020-09-14T08:43:34+00:00"
},
{
"name": "myclabs/deep-copy",
@ -3216,12 +3018,6 @@
"object",
"object graph"
],
"funding": [
{
"url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy",
"type": "tidelift"
}
],
"time": "2020-06-29T13:22:24+00:00"
},
{
@ -3563,16 +3359,16 @@
},
{
"name": "nette/robot-loader",
"version": "v3.3.0",
"version": "v3.3.1",
"source": {
"type": "git",
"url": "https://github.com/nette/robot-loader.git",
"reference": "737ff8ee1709eff053d9cc27e6c661d82395bd8b"
"reference": "15c1ecd0e6e69e8d908dfc4cca7b14f3b850a96b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nette/robot-loader/zipball/737ff8ee1709eff053d9cc27e6c661d82395bd8b",
"reference": "737ff8ee1709eff053d9cc27e6c661d82395bd8b",
"url": "https://api.github.com/repos/nette/robot-loader/zipball/15c1ecd0e6e69e8d908dfc4cca7b14f3b850a96b",
"reference": "15c1ecd0e6e69e8d908dfc4cca7b14f3b850a96b",
"shasum": ""
},
"require": {
@ -3622,7 +3418,7 @@
"nette",
"trait"
],
"time": "2020-07-28T13:34:12+00:00"
"time": "2020-09-15T15:14:17+00:00"
},
{
"name": "nette/schema",
@ -3760,16 +3556,16 @@
},
{
"name": "nikic/php-parser",
"version": "v4.9.1",
"version": "v4.10.2",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
"reference": "88e519766fc58bd46b8265561fb79b54e2e00b28"
"reference": "658f1be311a230e0907f5dfe0213742aff0596de"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/88e519766fc58bd46b8265561fb79b54e2e00b28",
"reference": "88e519766fc58bd46b8265561fb79b54e2e00b28",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/658f1be311a230e0907f5dfe0213742aff0596de",
"reference": "658f1be311a230e0907f5dfe0213742aff0596de",
"shasum": ""
},
"require": {
@ -3808,7 +3604,7 @@
"parser",
"php"
],
"time": "2020-08-30T16:15:20+00:00"
"time": "2020-09-26T10:30:38+00:00"
},
{
"name": "phar-io/manifest",
@ -4016,16 +3812,16 @@
},
{
"name": "phpdocumentor/type-resolver",
"version": "1.3.0",
"version": "1.4.0",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/TypeResolver.git",
"reference": "e878a14a65245fbe78f8080eba03b47c3b705651"
"reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e878a14a65245fbe78f8080eba03b47c3b705651",
"reference": "e878a14a65245fbe78f8080eba03b47c3b705651",
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0",
"reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0",
"shasum": ""
},
"require": {
@ -4057,7 +3853,7 @@
}
],
"description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
"time": "2020-06-27T10:12:23+00:00"
"time": "2020-09-17T18:55:26+00:00"
},
{
"name": "phpspec/prophecy",
@ -5149,7 +4945,7 @@
},
{
"name": "symfony/browser-kit",
"version": "v4.4.12",
"version": "v4.4.13",
"source": {
"type": "git",
"url": "https://github.com/symfony/browser-kit.git",
@ -5204,34 +5000,20 @@
],
"description": "Symfony BrowserKit Component",
"homepage": "https://symfony.com",
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2020-05-22T17:28:00+00:00"
},
{
"name": "symfony/console",
"version": "v4.4.12",
"version": "v4.4.13",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "1f601a29fd7591a0316bffbc0d7550a5953c6c1c"
"reference": "b39fd99b9297b67fb7633b7d8083957a97e1e727"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/1f601a29fd7591a0316bffbc0d7550a5953c6c1c",
"reference": "1f601a29fd7591a0316bffbc0d7550a5953c6c1c",
"url": "https://api.github.com/repos/symfony/console/zipball/b39fd99b9297b67fb7633b7d8083957a97e1e727",
"reference": "b39fd99b9297b67fb7633b7d8083957a97e1e727",
"shasum": ""
},
"require": {
@ -5295,25 +5077,11 @@
],
"description": "Symfony Console Component",
"homepage": "https://symfony.com",
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2020-08-17T07:39:58+00:00"
"time": "2020-09-02T07:07:21+00:00"
},
{
"name": "symfony/dom-crawler",
"version": "v5.1.4",
"version": "v5.1.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/dom-crawler.git",
@ -5371,25 +5139,11 @@
],
"description": "Symfony DomCrawler Component",
"homepage": "https://symfony.com",
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2020-08-12T08:45:47+00:00"
},
{
"name": "symfony/finder",
"version": "v4.4.12",
"version": "v4.4.13",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
@ -5434,20 +5188,6 @@
],
"description": "Symfony Finder Component",
"homepage": "https://symfony.com",
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2020-08-17T09:56:45+00:00"
},
{
@ -5510,20 +5250,6 @@
"portable",
"shim"
],
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2020-07-14T12:35:20+00:00"
},
{
@ -5590,34 +5316,20 @@
"portable",
"shim"
],
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2020-07-14T12:35:20+00:00"
},
{
"name": "symfony/service-contracts",
"version": "v2.1.3",
"version": "v2.2.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
"reference": "58c7475e5457c5492c26cc740cc0ad7464be9442"
"reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/58c7475e5457c5492c26cc740cc0ad7464be9442",
"reference": "58c7475e5457c5492c26cc740cc0ad7464be9442",
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/d15da7ba4957ffb8f1747218be9e1a121fd298a1",
"reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1",
"shasum": ""
},
"require": {
@ -5630,7 +5342,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.1-dev"
"dev-master": "2.2-dev"
},
"thanks": {
"name": "symfony/contracts",
@ -5666,21 +5378,7 @@
"interoperability",
"standards"
],
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2020-07-06T13:23:11+00:00"
"time": "2020-09-07T11:33:47+00:00"
},
{
"name": "theseer/tokenizer",
@ -5720,12 +5418,6 @@
}
],
"description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
"funding": [
{
"url": "https://github.com/theseer",
"type": "github"
}
],
"time": "2020-07-12T23:59:07+00:00"
},
{
@ -5790,6 +5482,5 @@
"ext-pdo": "*",
"ext-zip": "*"
},
"platform-dev": [],
"plugin-api-version": "1.1.0"
"platform-dev": []
}

1
docs/CNAME Normal file
View file

@ -0,0 +1 @@
xbackbone.app

View file

@ -8,7 +8,7 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
## [3.2] - WIP
## [3.2.0] - 2020-09-05
### Added
- Added support to use Azure Blob Storage account as storage location.
- Support for other S3-compatible storage endpoint.

View file

@ -20,4 +20,3 @@ All those who make the recurring donations, the names or logos will be inserted
## Sponsors
+ [@philw95](https://github.com/philw95)
+ [@Fabl0s](https://github.com/Fabl0s)

View file

@ -5,6 +5,7 @@ require __DIR__.'/vendor/autoload.php';
define('BASE_DIR', realpath(__DIR__).DIRECTORY_SEPARATOR);
define('PLATFORM_VERSION', json_decode(file_get_contents('composer.json'))->version);
define('CONFIG_FILE', BASE_DIR.'config.php');
$app = require_once __DIR__.'/bootstrap/app.php';
$app->run();

46
package-lock.json generated
View file

@ -3,9 +3,9 @@
"lockfileVersion": 1,
"dependencies": {
"@fortawesome/fontawesome-free": {
"version": "5.13.0",
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.13.0.tgz",
"integrity": "sha512-xKOeQEl5O47GPZYIMToj6uuA2syyFlq9EMSl2ui0uytjY9xbe8XS0pexNWmxrdcCyNGyDmLyYw5FtKsalBUeOg=="
"version": "5.14.0",
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.14.0.tgz",
"integrity": "sha512-OfdMsF+ZQgdKHP9jUbmDcRrP0eX90XXrsXIdyjLbkmSBzmMXPABB8eobUJtivaupucYaByz6WNe1PI1JuYm3qA=="
},
"abbrev": {
"version": "1.1.1",
@ -103,9 +103,9 @@
}
},
"bootstrap": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.4.1.tgz",
"integrity": "sha512-tbx5cHubwE6e2ZG7nqM3g/FZ5PQEDMWmMGNrCUBVRPHXTJaH7CBDdsLeu3eCh3B1tzAxTnAbtmrzvWEvT2NNEA=="
"version": "4.5.2",
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.5.2.tgz",
"integrity": "sha512-vlGn0bcySYl/iV+BGA544JkkZP5LB3jsmkeKLFQakCOwCM3AOk7VkldBz4jrzSe+Z0Ezn99NVXa1o45cQY4R6A=="
},
"bootstrap4-toggle": {
"version": "3.6.1",
@ -359,9 +359,9 @@
}
},
"dropzone": {
"version": "5.7.0",
"resolved": "https://registry.npmjs.org/dropzone/-/dropzone-5.7.0.tgz",
"integrity": "sha512-kOltiZXH5cO/72I22JjE+w6BoT6uaVLfWdFMsi1PMKFkU6BZWpqRwjnsRm0o6ANGTBuZar5Piu7m/CbKqRPiYg=="
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/dropzone/-/dropzone-5.7.2.tgz",
"integrity": "sha512-m217bJHtf0J1IiKn4Tv6mnu1h5QvQNBnKZ39gma7hzGQhIZMxYq1vYEHs4AVd4ThFwmALys+52NAOD4zdLTG4w=="
},
"duplexer": {
"version": "0.1.1",
@ -862,9 +862,9 @@
"integrity": "sha512-FK1vmMj8BbEipEy8DLIvp71t5UsC7n2D6En/UfM/91PCwmOpj6f2iu0Y0coRC62KSRHHC+dquM2xMULV/X7NFg=="
},
"highlightjs-line-numbers.js": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/highlightjs-line-numbers.js/-/highlightjs-line-numbers.js-2.7.0.tgz",
"integrity": "sha512-2kgZkfGy3TB6rF1o1XJtUThDyraLAFd6iiAIE1MEH89om8VwyHsal6BBnIOP2yOuq2TCuuGd0YD6aGHa6iq3/g=="
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/highlightjs-line-numbers.js/-/highlightjs-line-numbers.js-2.8.0.tgz",
"integrity": "sha512-TEf1gw0c8mb8nan0QwliqS7obT4cpUd9hzsGzsZLweteNnWea/VIqy5/aQqsa5wnz9lnvmtAkS1ZtDTjB/goYQ=="
},
"hooker": {
"version": "0.2.3",
@ -962,9 +962,9 @@
"dev": true
},
"jquery": {
"version": "3.5.0",
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.0.tgz",
"integrity": "sha512-Xb7SVYMvygPxbFMpTFQiHh1J7HClEaThguL15N/Gg37Lri/qKyhRGZYzHRyLH8Stq3Aow0LsHO2O2ci86fCrNQ=="
"version": "3.5.1",
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz",
"integrity": "sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg=="
},
"js-yaml": {
"version": "3.13.1",
@ -1327,14 +1327,14 @@
}
},
"plyr": {
"version": "3.5.10",
"resolved": "https://registry.npmjs.org/plyr/-/plyr-3.5.10.tgz",
"integrity": "sha512-wbbSuzk3yKVOmYWQUnxG1bxikqZNkxZmL3OjS1DFVU0D2Uko1evGY72LuD9rm/HnNCNzcTuc0c6MCn7bRRpUTA==",
"version": "3.6.2",
"resolved": "https://registry.npmjs.org/plyr/-/plyr-3.6.2.tgz",
"integrity": "sha512-CjAhRDtzyGqMRte9Phj4FsZFegS9VxW60boOhQsAnZHuiFG3yVBRcodWsGZ79GuXHHelc4DxMHO+z0QggY+9qQ==",
"requires": {
"core-js": "^3.6.4",
"core-js": "^3.6.5",
"custom-event-polyfill": "^1.0.7",
"loadjs": "^4.2.0",
"rangetouch": "^2.0.0",
"rangetouch": "^2.0.1",
"url-polyfill": "^1.1.8"
}
},
@ -1657,9 +1657,9 @@
"dev": true
},
"url-polyfill": {
"version": "1.1.8",
"resolved": "https://registry.npmjs.org/url-polyfill/-/url-polyfill-1.1.8.tgz",
"integrity": "sha512-Ey61F4FEqhcu1vHSOMmjl0Vd/RPRLEjMj402qszD/dhMBrVfoUsnIj8KSZo2yj+eIlxJGKFdnm6ES+7UzMgZ3Q=="
"version": "1.1.10",
"resolved": "https://registry.npmjs.org/url-polyfill/-/url-polyfill-1.1.10.tgz",
"integrity": "sha512-vSaPpaRgBrf41+Uky1myiSh6gpcbw8FpwHYnEy0abxndojOBnIs+yh/49gKYFLtUMP9qoNWjn6j9aUVy23Ie2A=="
},
"util-deprecate": {
"version": "1.0.2",

View file

@ -1,14 +1,14 @@
{
"dependencies": {
"@fortawesome/fontawesome-free": "^5.13.0",
"bootstrap": "^4.4.1",
"bootstrap": "^4.5.2",
"bootstrap4-toggle": "^3.6.1",
"clipboard": "^2.0.6",
"dropzone": "^5.7.0",
"dropzone": "^5.7.2",
"highlightjs": "^9.16.2",
"highlightjs-line-numbers.js": "^2.7.0",
"jquery": "^3.5.0",
"plyr": "^3.5.10",
"plyr": "^3.6.2",
"popper.js": "^1.16.1",
"tooltip.js": "^1.3.3"
},

View file

@ -26,4 +26,8 @@
lowUpperBound="70"
highLowerBound="90"/>
</logging>
<php>
<server name="HTTP_HOST" value="localhost"/>
<server name="HTTPS" value="false"/>
</php>
</phpunit>

View file

@ -3,6 +3,7 @@
namespace Tests;
use App\Database\Migrator;
use GuzzleHttp\Psr7\ServerRequest;
use Symfony\Component\BrowserKit\AbstractBrowser;
use Symfony\Component\BrowserKit\Response;
@ -11,17 +12,13 @@ class Client extends AbstractBrowser
{
protected function doRequest($request)
{
if (!defined('BASE_DIR')) {
define('BASE_DIR', realpath(__DIR__.'/../').DIRECTORY_SEPARATOR);
}
if (!defined('PLATFORM_VERSION')) {
define('PLATFORM_VERSION', json_decode(file_get_contents(BASE_DIR.'composer.json'))->version);
}
/** @var \Slim\App $app */
$app = require BASE_DIR.'bootstrap/app.php';
$response = $app->handle(new ServerRequest($request->getMethod(), $request->getUri(), [], $request->getContent()));
$migrator = new Migrator($app->getContainer()->get('database'), BASE_DIR.'resources/schemas');
$migrator->migrate();
$response = $app->handle(new ServerRequest($request->getMethod(), $request->getUri(), [], $request->getContent()));
return new Response($response->getBody()->getContents(), $response->getStatusCode(), $response->getHeaders());
}

View file

@ -12,9 +12,6 @@ abstract class TestCase extends BaseTestCase
protected function setUp()
{
$_SERVER['HTTP_HOST'] = 'http://localhost';
$_SERVER['HTTPS'] = false;
$this->client = new Client();
}

View file

@ -1,3 +1,7 @@
<?php
define('BASE_DIR', realpath(__DIR__.'/../').DIRECTORY_SEPARATOR);
define('PLATFORM_VERSION', json_decode(file_get_contents(BASE_DIR.'composer.json'))->version);
define('CONFIG_FILE', BASE_DIR.'tests/config.test.php');
ob_start();

16
tests/config.test.php Normal file
View file

@ -0,0 +1,16 @@
<?php
return [
'base_path' => 'http://localhost',
'debug' => true,
'db' =>
[
'connection' => 'sqlite',
'dsn' => ':memory:',
],
'storage' =>
[
'driver' => 'local',
'path' => 'storage/test',
],
];