diff --git a/.travis.yml b/.travis.yml
index d066747db..8311f7d20 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -23,5 +23,7 @@ before_script:
- php artisan migrate --force -n --database=mysql_testing
- php artisan db:seed --force -n --class=DummyContentSeeder --database=mysql_testing
+script: vendor/bin/phpunit --configuration phpunit.xml
+
after_failure:
- cat storage/logs/laravel.log
diff --git a/app/Auth/Access/SocialAuthService.php b/app/Auth/Access/SocialAuthService.php
index 0d46b9f88..9c8d1a81f 100644
--- a/app/Auth/Access/SocialAuthService.php
+++ b/app/Auth/Access/SocialAuthService.php
@@ -5,6 +5,7 @@ use BookStack\Auth\UserRepo;
use BookStack\Exceptions\SocialDriverNotConfigured;
use BookStack\Exceptions\SocialSignInAccountNotUsed;
use BookStack\Exceptions\UserRegistrationException;
+use Illuminate\Support\Str;
use Laravel\Socialite\Contracts\Factory as Socialite;
use Laravel\Socialite\Contracts\User as SocialUser;
@@ -104,6 +105,7 @@ class SocialAuthService
$socialAccount = $this->socialAccount->where('driver_id', '=', $socialId)->first();
$isLoggedIn = auth()->check();
$currentUser = user();
+ $titleCaseDriver = Str::title($socialDriver);
// When a user is not logged in and a matching SocialAccount exists,
// Simply log the user into the application.
@@ -117,26 +119,26 @@ class SocialAuthService
if ($isLoggedIn && $socialAccount === null) {
$this->fillSocialAccount($socialDriver, $socialUser);
$currentUser->socialAccounts()->save($this->socialAccount);
- session()->flash('success', trans('settings.users_social_connected', ['socialAccount' => title_case($socialDriver)]));
+ session()->flash('success', trans('settings.users_social_connected', ['socialAccount' => $titleCaseDriver]));
return redirect($currentUser->getEditUrl());
}
// When a user is logged in and the social account exists and is already linked to the current user.
if ($isLoggedIn && $socialAccount !== null && $socialAccount->user->id === $currentUser->id) {
- session()->flash('error', trans('errors.social_account_existing', ['socialAccount' => title_case($socialDriver)]));
+ session()->flash('error', trans('errors.social_account_existing', ['socialAccount' => $titleCaseDriver]));
return redirect($currentUser->getEditUrl());
}
// When a user is logged in, A social account exists but the users do not match.
if ($isLoggedIn && $socialAccount !== null && $socialAccount->user->id != $currentUser->id) {
- session()->flash('error', trans('errors.social_account_already_used_existing', ['socialAccount' => title_case($socialDriver)]));
+ session()->flash('error', trans('errors.social_account_already_used_existing', ['socialAccount' => $titleCaseDriver]));
return redirect($currentUser->getEditUrl());
}
// Otherwise let the user know this social account is not used by anyone.
- $message = trans('errors.social_account_not_used', ['socialAccount' => title_case($socialDriver)]);
+ $message = trans('errors.social_account_not_used', ['socialAccount' => $titleCaseDriver]);
if (setting('registration-enabled')) {
- $message .= trans('errors.social_account_register_instructions', ['socialAccount' => title_case($socialDriver)]);
+ $message .= trans('errors.social_account_register_instructions', ['socialAccount' => $titleCaseDriver]);
}
throw new SocialSignInAccountNotUsed($message, '/login');
@@ -157,7 +159,7 @@ class SocialAuthService
abort(404, trans('errors.social_driver_not_found'));
}
if (!$this->checkDriverConfigured($driver)) {
- throw new SocialDriverNotConfigured(trans('errors.social_driver_not_configured', ['socialAccount' => title_case($socialDriver)]));
+ throw new SocialDriverNotConfigured(trans('errors.social_driver_not_configured', ['socialAccount' => Str::title($socialDriver)]));
}
return $driver;
@@ -244,7 +246,7 @@ class SocialAuthService
public function detachSocialAccount($socialDriver)
{
user()->socialAccounts()->where('driver', '=', $socialDriver)->delete();
- session()->flash('success', trans('settings.users_social_disconnected', ['socialAccount' => title_case($socialDriver)]));
+ session()->flash('success', trans('settings.users_social_disconnected', ['socialAccount' => Str::title($socialDriver)]));
return redirect(user()->getEditUrl());
}
diff --git a/app/Auth/Access/UserTokenService.php b/app/Auth/Access/UserTokenService.php
index 34f3b2851..09a2f761b 100644
--- a/app/Auth/Access/UserTokenService.php
+++ b/app/Auth/Access/UserTokenService.php
@@ -5,6 +5,7 @@ use BookStack\Exceptions\UserTokenExpiredException;
use BookStack\Exceptions\UserTokenNotFoundException;
use Carbon\Carbon;
use Illuminate\Database\Connection as Database;
+use Illuminate\Support\Str;
use stdClass;
class UserTokenService
@@ -73,9 +74,9 @@ class UserTokenService
*/
protected function generateToken() : string
{
- $token = str_random(24);
+ $token = Str::random(24);
while ($this->tokenExists($token)) {
- $token = str_random(25);
+ $token = Str::random(25);
}
return $token;
}
diff --git a/app/Auth/Permissions/PermissionsRepo.php b/app/Auth/Permissions/PermissionsRepo.php
index 18d5089be..e7840ff76 100644
--- a/app/Auth/Permissions/PermissionsRepo.php
+++ b/app/Auth/Permissions/PermissionsRepo.php
@@ -3,6 +3,7 @@
use BookStack\Auth\Permissions;
use BookStack\Auth\Role;
use BookStack\Exceptions\PermissionsException;
+use Illuminate\Support\Str;
class PermissionsRepo
{
@@ -66,7 +67,7 @@ class PermissionsRepo
$role->name = str_replace(' ', '-', strtolower($roleData['display_name']));
// Prevent duplicate names
while ($this->role->where('name', '=', $role->name)->count() > 0) {
- $role->name .= strtolower(str_random(2));
+ $role->name .= strtolower(Str::random(2));
}
$role->save();
diff --git a/app/Config/app.php b/app/Config/app.php
index d4ef8fe25..b4a1076a9 100755
--- a/app/Config/app.php
+++ b/app/Config/app.php
@@ -136,6 +136,7 @@ return [
// Laravel
'App' => Illuminate\Support\Facades\App::class,
+ 'Arr' => Illuminate\Support\Arr::class,
'Artisan' => Illuminate\Support\Facades\Artisan::class,
'Auth' => Illuminate\Support\Facades\Auth::class,
'Blade' => Illuminate\Support\Facades\Blade::class,
@@ -165,6 +166,7 @@ return [
'Schema' => Illuminate\Support\Facades\Schema::class,
'Session' => Illuminate\Support\Facades\Session::class,
'Storage' => Illuminate\Support\Facades\Storage::class,
+ 'Str' => Illuminate\Support\Str::class,
'URL' => Illuminate\Support\Facades\URL::class,
'Validator' => Illuminate\Support\Facades\Validator::class,
'View' => Illuminate\Support\Facades\View::class,
diff --git a/app/Config/auth.php b/app/Config/auth.php
index 7bf1ae772..cd74c2739 100644
--- a/app/Config/auth.php
+++ b/app/Config/auth.php
@@ -36,6 +36,7 @@ return [
'api' => [
'driver' => 'token',
'provider' => 'users',
+ 'hash' => false,
],
],
diff --git a/app/Config/broadcasting.php b/app/Config/broadcasting.php
index 3d9eb78f9..7aaaa5693 100644
--- a/app/Config/broadcasting.php
+++ b/app/Config/broadcasting.php
@@ -24,9 +24,13 @@ return [
'pusher' => [
'driver' => 'pusher',
- 'key' => env('PUSHER_KEY'),
- 'secret' => env('PUSHER_SECRET'),
+ 'key' => env('PUSHER_APP_KEY'),
+ 'secret' => env('PUSHER_APP_SECRET'),
'app_id' => env('PUSHER_APP_ID'),
+ 'options' => [
+ 'cluster' => env('PUSHER_APP_CLUSTER'),
+ 'useTLS' => true,
+ ],
],
'redis' => [
@@ -38,6 +42,11 @@ return [
'driver' => 'log',
],
+ 'null' => [
+ 'driver' => 'null',
+ ],
+
+
],
];
diff --git a/app/Config/database.php b/app/Config/database.php
index 82156bd9d..a98b46a2c 100644
--- a/app/Config/database.php
+++ b/app/Config/database.php
@@ -59,14 +59,9 @@ return [
// Many of those shown here are unsupported by BookStack.
'connections' => [
- 'sqlite' => [
- 'driver' => 'sqlite',
- 'database' => storage_path('database.sqlite'),
- 'prefix' => '',
- ],
-
'mysql' => [
'driver' => 'mysql',
+ 'url' => env('DATABASE_URL'),
'host' => $mysql_host,
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
@@ -79,10 +74,14 @@ return [
'prefix_indexes' => true,
'strict' => false,
'engine' => null,
+ 'options' => extension_loaded('pdo_mysql') ? array_filter([
+ PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
+ ]) : [],
],
'mysql_testing' => [
'driver' => 'mysql',
+ 'url' => env('TEST_DATABASE_URL'),
'host' => '127.0.0.1',
'database' => 'bookstack-test',
'username' => env('MYSQL_USER', 'bookstack-test'),
@@ -94,27 +93,6 @@ return [
'strict' => false,
],
- 'pgsql' => [
- 'driver' => 'pgsql',
- 'host' => env('DB_HOST', 'localhost'),
- 'database' => env('DB_DATABASE', 'forge'),
- 'username' => env('DB_USERNAME', 'forge'),
- 'password' => env('DB_PASSWORD', ''),
- 'charset' => 'utf8',
- 'prefix' => '',
- 'schema' => 'public',
- ],
-
- 'sqlsrv' => [
- 'driver' => 'sqlsrv',
- 'host' => env('DB_HOST', 'localhost'),
- 'database' => env('DB_DATABASE', 'forge'),
- 'username' => env('DB_USERNAME', 'forge'),
- 'password' => env('DB_PASSWORD', ''),
- 'charset' => 'utf8',
- 'prefix' => '',
- ],
-
],
// Migration Repository Table
diff --git a/app/Config/queue.php b/app/Config/queue.php
index f0dd24fd3..46f6962c5 100644
--- a/app/Config/queue.php
+++ b/app/Config/queue.php
@@ -17,6 +17,7 @@ return [
// Queue connection configuration
'connections' => [
+
'sync' => [
'driver' => 'sync',
],
@@ -25,38 +26,15 @@ return [
'driver' => 'database',
'table' => 'jobs',
'queue' => 'default',
- 'expire' => 60,
- ],
-
- 'beanstalkd' => [
- 'driver' => 'beanstalkd',
- 'host' => 'localhost',
- 'queue' => 'default',
- 'ttr' => 60,
- ],
-
- 'sqs' => [
- 'driver' => 'sqs',
- 'key' => 'your-public-key',
- 'secret' => 'your-secret-key',
- 'queue' => 'your-queue-url',
- 'region' => 'us-east-1',
- ],
-
- 'iron' => [
- 'driver' => 'iron',
- 'host' => 'mq-aws-us-east-1.iron.io',
- 'token' => 'your-token',
- 'project' => 'your-project-id',
- 'queue' => 'your-queue-name',
- 'encrypt' => true,
+ 'retry_after' => 90,
],
'redis' => [
'driver' => 'redis',
'connection' => 'default',
- 'queue' => 'default',
- 'expire' => 60,
+ 'queue' => env('REDIS_QUEUE', 'default'),
+ 'retry_after' => 90,
+ 'block_for' => null,
],
],
diff --git a/app/Config/services.php b/app/Config/services.php
index 569c0fb48..2136f8116 100644
--- a/app/Config/services.php
+++ b/app/Config/services.php
@@ -22,28 +22,6 @@ return [
// Callback URL for social authentication methods
'callback_url' => env('APP_URL', false),
- 'mailgun' => [
- 'domain' => '',
- 'secret' => '',
- 'endpoint' => '',
- ],
-
- 'ses' => [
- 'key' => '',
- 'secret' => '',
- 'region' => 'us-east-1',
- ],
-
- 'stripe' => [
- 'model' => \BookStack\Auth\User::class,
- 'key' => '',
- 'secret' => '',
- 'webhook' => [
- 'secret' => '',
- 'tolerance' => 300,
- ],
- ],
-
'github' => [
'client_id' => env('GITHUB_APP_ID', false),
'client_secret' => env('GITHUB_APP_SECRET', false),
diff --git a/app/Entities/BreadcrumbsViewComposer.php b/app/Entities/BreadcrumbsViewComposer.php
index 97ddbc2dc..e46d54ec2 100644
--- a/app/Entities/BreadcrumbsViewComposer.php
+++ b/app/Entities/BreadcrumbsViewComposer.php
@@ -23,8 +23,9 @@ class BreadcrumbsViewComposer
public function compose(View $view)
{
$crumbs = $view->getData()['crumbs'];
- if (array_first($crumbs) instanceof Book) {
- $shelf = $this->entityContextManager->getContextualShelfForBook(array_first($crumbs));
+ $firstCrumb = $crumbs[0] ?? null;
+ if ($firstCrumb instanceof Book) {
+ $shelf = $this->entityContextManager->getContextualShelfForBook($firstCrumb);
if ($shelf) {
array_unshift($crumbs, $shelf);
$view->with('crumbs', $crumbs);
diff --git a/app/Entities/SearchService.php b/app/Entities/SearchService.php
index 9e7cfdd0c..ee9b87786 100644
--- a/app/Entities/SearchService.php
+++ b/app/Entities/SearchService.php
@@ -6,6 +6,7 @@ use Illuminate\Database\Eloquent\Builder as EloquentBuilder;
use Illuminate\Database\Query\Builder;
use Illuminate\Database\Query\JoinClause;
use Illuminate\Support\Collection;
+use Illuminate\Support\Str;
class SearchService
{
@@ -210,7 +211,7 @@ class SearchService
// Handle filters
foreach ($terms['filters'] as $filterTerm => $filterValue) {
- $functionName = camel_case('filter_' . $filterTerm);
+ $functionName = Str::camel('filter_' . $filterTerm);
if (method_exists($this, $functionName)) {
$this->$functionName($entitySelect, $entity, $filterValue);
}
@@ -514,7 +515,7 @@ class SearchService
protected function filterSortBy(EloquentBuilder $query, Entity $model, $input)
{
- $functionName = camel_case('sort_by_' . $input);
+ $functionName = Str::camel('sort_by_' . $input);
if (method_exists($this, $functionName)) {
$this->$functionName($query, $model);
}
diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php
index 83bd307e4..3b9738835 100644
--- a/app/Http/Controllers/Auth/RegisterController.php
+++ b/app/Http/Controllers/Auth/RegisterController.php
@@ -19,6 +19,7 @@ use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Routing\Redirector;
use Illuminate\Support\Facades\Hash;
+use Illuminate\Support\Str;
use Laravel\Socialite\Contracts\User as SocialUser;
use Validator;
@@ -78,7 +79,7 @@ class RegisterController extends Controller
return Validator::make($data, [
'name' => 'required|min:2|max:255',
'email' => 'required|email|max:255|unique:users',
- 'password' => 'required|min:6',
+ 'password' => 'required|min:8',
]);
}
@@ -262,7 +263,7 @@ class RegisterController extends Controller
$userData = [
'name' => $socialUser->getName(),
'email' => $socialUser->getEmail(),
- 'password' => str_random(30)
+ 'password' => Str::random(30)
];
return $this->registerUser($userData, $socialAccount, $emailVerified);
}
diff --git a/app/Http/Controllers/Auth/UserInviteController.php b/app/Http/Controllers/Auth/UserInviteController.php
index 5d9373f45..cfeb69648 100644
--- a/app/Http/Controllers/Auth/UserInviteController.php
+++ b/app/Http/Controllers/Auth/UserInviteController.php
@@ -62,7 +62,7 @@ class UserInviteController extends Controller
public function setPassword(string $token, Request $request)
{
$this->validate($request, [
- 'password' => 'required|min:6'
+ 'password' => 'required|min:8'
]);
try {
diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php
index c9d2560ba..156256cb9 100644
--- a/app/Http/Controllers/UserController.php
+++ b/app/Http/Controllers/UserController.php
@@ -8,6 +8,7 @@ use BookStack\Exceptions\UserUpdateException;
use BookStack\Uploads\ImageRepo;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
+use Illuminate\Support\Str;
class UserController extends Controller
{
@@ -92,7 +93,7 @@ class UserController extends Controller
$user = $this->user->fill($request->all());
if ($authMethod === 'standard') {
- $user->password = bcrypt($request->get('password', str_random(32)));
+ $user->password = bcrypt($request->get('password', Str::random(32)));
} elseif ($authMethod === 'ldap') {
$user->external_auth_id = $request->get('external_auth_id');
}
diff --git a/app/Uploads/Attachment.php b/app/Uploads/Attachment.php
index 8720d3c09..3f0b447df 100644
--- a/app/Uploads/Attachment.php
+++ b/app/Uploads/Attachment.php
@@ -13,7 +13,7 @@ class Attachment extends Ownable
*/
public function getFileName()
{
- if (str_contains($this->name, '.')) {
+ if (strpos($this->name, '.') !== false) {
return $this->name;
}
return $this->name . '.' . $this->extension;
diff --git a/app/Uploads/AttachmentService.php b/app/Uploads/AttachmentService.php
index 6e875a1e7..ae4fb6e96 100644
--- a/app/Uploads/AttachmentService.php
+++ b/app/Uploads/AttachmentService.php
@@ -2,6 +2,7 @@
use BookStack\Exceptions\FileUploadException;
use Exception;
+use Illuminate\Support\Str;
use Symfony\Component\HttpFoundation\File\UploadedFile;
class AttachmentService extends UploadService
@@ -185,9 +186,9 @@ class AttachmentService extends UploadService
$storage = $this->getStorage();
$basePath = 'uploads/files/' . Date('Y-m-M') . '/';
- $uploadFileName = str_random(16) . '.' . $uploadedFile->getClientOriginalExtension();
+ $uploadFileName = Str::random(16) . '.' . $uploadedFile->getClientOriginalExtension();
while ($storage->exists($basePath . $uploadFileName)) {
- $uploadFileName = str_random(3) . $uploadFileName;
+ $uploadFileName = Str::random(3) . $uploadFileName;
}
$attachmentPath = $basePath . $uploadFileName;
diff --git a/app/Uploads/ImageService.php b/app/Uploads/ImageService.php
index 860230d00..e7668471b 100644
--- a/app/Uploads/ImageService.php
+++ b/app/Uploads/ImageService.php
@@ -7,6 +7,7 @@ use DB;
use Exception;
use Illuminate\Contracts\Cache\Repository as Cache;
use Illuminate\Contracts\Filesystem\Factory as FileSystem;
+use Illuminate\Support\Str;
use Intervention\Image\Exception\NotSupportedException;
use Intervention\Image\ImageManager;
use phpDocumentor\Reflection\Types\Integer;
@@ -140,12 +141,12 @@ class ImageService extends UploadService
$imagePath = '/uploads/images/' . $type . '/' . Date('Y-m') . '/';
while ($storage->exists($imagePath . $imageName)) {
- $imageName = str_random(3) . $imageName;
+ $imageName = Str::random(3) . $imageName;
}
$fullPath = $imagePath . $imageName;
if ($secureUploads) {
- $fullPath = $imagePath . str_random(16) . '-' . $imageName;
+ $fullPath = $imagePath . Str::random(16) . '-' . $imageName;
}
try {
@@ -220,7 +221,7 @@ class ImageService extends UploadService
$storage->put($thumbFilePath, $thumbData);
$storage->setVisibility($thumbFilePath, 'public');
- $this->cache->put('images-' . $image->id . '-' . $thumbFilePath, $thumbFilePath, 60 * 72);
+ $this->cache->put('images-' . $image->id . '-' . $thumbFilePath, $thumbFilePath, 60 * 60 * 72);
return $this->getPublicUrl($thumbFilePath);
}
diff --git a/composer.json b/composer.json
index 4741d4d7e..b8c3e5536 100644
--- a/composer.json
+++ b/composer.json
@@ -13,7 +13,7 @@
"ext-mbstring": "*",
"ext-gd": "*",
"ext-curl": "*",
- "laravel/framework": "5.7.*",
+ "laravel/framework": "5.8.*",
"fideloper/proxy": "^4.0",
"intervention/image": "^2.5",
"laravel/socialite": "^4.2",
@@ -35,8 +35,8 @@
"filp/whoops": "^2.0",
"fzaninotto/faker": "^1.4",
"mockery/mockery": "^1.0",
- "phpunit/phpunit": "^7.0",
- "nunomaduro/collision": "^2.0",
+ "phpunit/phpunit": "^7.5",
+ "nunomaduro/collision": "^3.0",
"laravel/browser-kit-testing": "^4.2.1",
"barryvdh/laravel-ide-helper": "^2.6.4",
"barryvdh/laravel-debugbar": "^3.2.8",
diff --git a/composer.lock b/composer.lock
index b3838ecf8..bf072fef8 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": "a007281b1a87cb6fc78975c49f20b3e8",
+ "content-hash": "e1ffc91b76f0e5949245144507d6dddc",
"packages": [
{
"name": "aws/aws-sdk-php",
- "version": "3.110.11",
+ "version": "3.112.0",
"source": {
"type": "git",
"url": "https://github.com/aws/aws-sdk-php.git",
- "reference": "3f222649634fa039c59f58082e60159a6bb59bbf"
+ "reference": "1e21446c6780a3b9b5e4315bd6d4347d2c3381eb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/3f222649634fa039c59f58082e60159a6bb59bbf",
- "reference": "3f222649634fa039c59f58082e60159a6bb59bbf",
+ "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/1e21446c6780a3b9b5e4315bd6d4347d2c3381eb",
+ "reference": "1e21446c6780a3b9b5e4315bd6d4347d2c3381eb",
"shasum": ""
},
"require": {
@@ -87,7 +87,7 @@
"s3",
"sdk"
],
- "time": "2019-09-06T18:21:14+00:00"
+ "time": "2019-09-12T18:09:53+00:00"
},
{
"name": "barryvdh/laravel-dompdf",
@@ -1312,45 +1312,45 @@
},
{
"name": "laravel/framework",
- "version": "v5.7.28",
+ "version": "v5.8.35",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
- "reference": "8e69728f1c80a024588adbd24c65c4fcf9aa9192"
+ "reference": "5a9e4d241a8b815e16c9d2151e908992c38db197"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/framework/zipball/8e69728f1c80a024588adbd24c65c4fcf9aa9192",
- "reference": "8e69728f1c80a024588adbd24c65c4fcf9aa9192",
+ "url": "https://api.github.com/repos/laravel/framework/zipball/5a9e4d241a8b815e16c9d2151e908992c38db197",
+ "reference": "5a9e4d241a8b815e16c9d2151e908992c38db197",
"shasum": ""
},
"require": {
"doctrine/inflector": "^1.1",
"dragonmantank/cron-expression": "^2.0",
+ "egulias/email-validator": "^2.0",
"erusev/parsedown": "^1.7",
+ "ext-json": "*",
"ext-mbstring": "*",
"ext-openssl": "*",
- "laravel/nexmo-notification-channel": "^1.0",
- "laravel/slack-notification-channel": "^1.0",
"league/flysystem": "^1.0.8",
"monolog/monolog": "^1.12",
- "nesbot/carbon": "^1.26.3",
+ "nesbot/carbon": "^1.26.3 || ^2.0",
"opis/closure": "^3.1",
"php": "^7.1.3",
"psr/container": "^1.0",
"psr/simple-cache": "^1.0",
"ramsey/uuid": "^3.7",
"swiftmailer/swiftmailer": "^6.0",
- "symfony/console": "^4.1",
- "symfony/debug": "^4.1",
- "symfony/finder": "^4.1",
- "symfony/http-foundation": "^4.1",
- "symfony/http-kernel": "^4.1",
- "symfony/process": "^4.1",
- "symfony/routing": "^4.1",
- "symfony/var-dumper": "^4.1",
+ "symfony/console": "^4.2",
+ "symfony/debug": "^4.2",
+ "symfony/finder": "^4.2",
+ "symfony/http-foundation": "^4.2",
+ "symfony/http-kernel": "^4.2",
+ "symfony/process": "^4.2",
+ "symfony/routing": "^4.2",
+ "symfony/var-dumper": "^4.2",
"tijsverkoyen/css-to-inline-styles": "^2.2.1",
- "vlucas/phpdotenv": "^2.2"
+ "vlucas/phpdotenv": "^3.3"
},
"conflict": {
"tightenco/collect": "<5.5.33"
@@ -1393,17 +1393,18 @@
"league/flysystem-cached-adapter": "^1.0",
"mockery/mockery": "^1.0",
"moontoast/math": "^1.1",
- "orchestra/testbench-core": "3.7.*",
- "pda/pheanstalk": "^3.0|^4.0",
- "phpunit/phpunit": "^7.5",
+ "orchestra/testbench-core": "3.8.*",
+ "pda/pheanstalk": "^4.0",
+ "phpunit/phpunit": "^7.5|^8.0",
"predis/predis": "^1.1.1",
- "symfony/css-selector": "^4.1",
- "symfony/dom-crawler": "^4.1",
+ "symfony/css-selector": "^4.2",
+ "symfony/dom-crawler": "^4.2",
"true/punycode": "^2.1"
},
"suggest": {
"aws/aws-sdk-php": "Required to use the SQS queue driver and SES mail driver (^3.0).",
"doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6).",
+ "ext-gd": "Required to use Illuminate\\Http\\Testing\\FileFactory::image().",
"ext-pcntl": "Required to use all features of the queue worker.",
"ext-posix": "Required to use all features of the queue worker.",
"filp/whoops": "Required for friendly error pages in development (^2.1.4).",
@@ -1416,17 +1417,18 @@
"league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0).",
"moontoast/math": "Required to use ordered UUIDs (^1.1).",
"nexmo/client": "Required to use the Nexmo transport (^1.0).",
- "pda/pheanstalk": "Required to use the beanstalk queue driver (^3.0|^4.0).",
+ "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).",
"predis/predis": "Required to use the redis cache and queue drivers (^1.0).",
"pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^3.0).",
- "symfony/css-selector": "Required to use some of the crawler integration testing tools (^4.1).",
- "symfony/dom-crawler": "Required to use most of the crawler integration testing tools (^4.1).",
- "symfony/psr-http-message-bridge": "Required to psr7 bridging features (^1.0)."
+ "symfony/css-selector": "Required to use some of the crawler integration testing tools (^4.2).",
+ "symfony/dom-crawler": "Required to use most of the crawler integration testing tools (^4.2).",
+ "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^1.1).",
+ "wildbit/swiftmailer-postmark": "Required to use Postmark mail driver (^3.0)."
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "5.7-dev"
+ "dev-master": "5.8-dev"
}
},
"autoload": {
@@ -1454,121 +1456,7 @@
"framework",
"laravel"
],
- "time": "2019-02-26T15:41:34+00:00"
- },
- {
- "name": "laravel/nexmo-notification-channel",
- "version": "v1.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/laravel/nexmo-notification-channel.git",
- "reference": "03edd42a55b306ff980c9950899d5a2b03260d48"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/laravel/nexmo-notification-channel/zipball/03edd42a55b306ff980c9950899d5a2b03260d48",
- "reference": "03edd42a55b306ff980c9950899d5a2b03260d48",
- "shasum": ""
- },
- "require": {
- "nexmo/client": "^1.0",
- "php": "^7.1.3"
- },
- "require-dev": {
- "illuminate/notifications": "~5.7",
- "mockery/mockery": "^1.0",
- "phpunit/phpunit": "^7.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0-dev"
- },
- "laravel": {
- "providers": [
- "Illuminate\\Notifications\\NexmoChannelServiceProvider"
- ]
- }
- },
- "autoload": {
- "psr-4": {
- "Illuminate\\Notifications\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Taylor Otwell",
- "email": "taylor@laravel.com"
- }
- ],
- "description": "Nexmo Notification Channel for laravel.",
- "keywords": [
- "laravel",
- "nexmo",
- "notifications"
- ],
- "time": "2018-12-04T12:57:08+00:00"
- },
- {
- "name": "laravel/slack-notification-channel",
- "version": "v1.0.3",
- "source": {
- "type": "git",
- "url": "https://github.com/laravel/slack-notification-channel.git",
- "reference": "6e164293b754a95f246faf50ab2bbea3e4923cc9"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/laravel/slack-notification-channel/zipball/6e164293b754a95f246faf50ab2bbea3e4923cc9",
- "reference": "6e164293b754a95f246faf50ab2bbea3e4923cc9",
- "shasum": ""
- },
- "require": {
- "guzzlehttp/guzzle": "^6.0",
- "php": "^7.1.3"
- },
- "require-dev": {
- "illuminate/notifications": "~5.7",
- "mockery/mockery": "^1.0",
- "phpunit/phpunit": "^7.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0-dev"
- },
- "laravel": {
- "providers": [
- "Illuminate\\Notifications\\SlackChannelServiceProvider"
- ]
- }
- },
- "autoload": {
- "psr-4": {
- "Illuminate\\Notifications\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Taylor Otwell",
- "email": "taylor@laravel.com"
- }
- ],
- "description": "Slack Notification Channel for laravel.",
- "keywords": [
- "laravel",
- "notifications",
- "slack"
- ],
- "time": "2018-12-12T13:12:06+00:00"
+ "time": "2019-09-03T16:44:30+00:00"
},
{
"name": "laravel/socialite",
@@ -1634,61 +1522,6 @@
],
"time": "2019-09-03T15:27:17+00:00"
},
- {
- "name": "lcobucci/jwt",
- "version": "3.3.1",
- "source": {
- "type": "git",
- "url": "https://github.com/lcobucci/jwt.git",
- "reference": "a11ec5f4b4d75d1fcd04e133dede4c317aac9e18"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/lcobucci/jwt/zipball/a11ec5f4b4d75d1fcd04e133dede4c317aac9e18",
- "reference": "a11ec5f4b4d75d1fcd04e133dede4c317aac9e18",
- "shasum": ""
- },
- "require": {
- "ext-mbstring": "*",
- "ext-openssl": "*",
- "php": "^5.6 || ^7.0"
- },
- "require-dev": {
- "mikey179/vfsstream": "~1.5",
- "phpmd/phpmd": "~2.2",
- "phpunit/php-invoker": "~1.1",
- "phpunit/phpunit": "^5.7 || ^7.3",
- "squizlabs/php_codesniffer": "~2.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.1-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Lcobucci\\JWT\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Luís Otávio Cobucci Oblonczyk",
- "role": "Developer",
- "email": "lcobucci@gmail.com"
- }
- ],
- "description": "A simple library to work with JSON Web Token and JSON Web Signature",
- "keywords": [
- "JWS",
- "jwt"
- ],
- "time": "2019-05-24T18:30:49+00:00"
- },
{
"name": "league/flysystem",
"version": "1.0.55",
@@ -2077,54 +1910,6 @@
],
"time": "2019-06-11T09:07:59+00:00"
},
- {
- "name": "nexmo/client",
- "version": "1.8.1",
- "source": {
- "type": "git",
- "url": "https://github.com/Nexmo/nexmo-php.git",
- "reference": "182d41a02ebd3e4be147baea45458ccfe2f528c4"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/Nexmo/nexmo-php/zipball/182d41a02ebd3e4be147baea45458ccfe2f528c4",
- "reference": "182d41a02ebd3e4be147baea45458ccfe2f528c4",
- "shasum": ""
- },
- "require": {
- "lcobucci/jwt": "^3.2",
- "php": ">=5.6",
- "php-http/client-implementation": "^1.0",
- "php-http/guzzle6-adapter": "^1.0",
- "zendframework/zend-diactoros": "^1.8.4 || ^2.0"
- },
- "require-dev": {
- "estahn/phpunit-json-assertions": "^1.0.0",
- "php-http/mock-client": "^0.3.0",
- "phpunit/phpunit": "^5.7",
- "squizlabs/php_codesniffer": "^3.1"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Nexmo\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Tim Lytle",
- "email": "tim@nexmo.com",
- "homepage": "http://twitter.com/tjlytle",
- "role": "Developer"
- }
- ],
- "description": "PHP Client for using Nexmo's API.",
- "time": "2019-05-13T20:27:43+00:00"
- },
{
"name": "opis/closure",
"version": "3.4.0",
@@ -2270,28 +2055,28 @@
},
{
"name": "phenx/php-svg-lib",
- "version": "v0.3.2",
+ "version": "v0.3.3",
"source": {
"type": "git",
"url": "https://github.com/PhenX/php-svg-lib.git",
- "reference": "ccc46ef6340d4b8a4a68047e68d8501ea961442c"
+ "reference": "5fa61b65e612ce1ae15f69b3d223cb14ecc60e32"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PhenX/php-svg-lib/zipball/ccc46ef6340d4b8a4a68047e68d8501ea961442c",
- "reference": "ccc46ef6340d4b8a4a68047e68d8501ea961442c",
+ "url": "https://api.github.com/repos/PhenX/php-svg-lib/zipball/5fa61b65e612ce1ae15f69b3d223cb14ecc60e32",
+ "reference": "5fa61b65e612ce1ae15f69b3d223cb14ecc60e32",
"shasum": ""
},
"require": {
- "sabberworm/php-css-parser": "8.1.*"
+ "sabberworm/php-css-parser": "^8.3"
},
"require-dev": {
- "phpunit/phpunit": "~5.0"
+ "phpunit/phpunit": "^5.5|^6.5"
},
"type": "library",
"autoload": {
- "psr-0": {
- "Svg\\": "src/"
+ "psr-4": {
+ "Svg\\": "src/Svg"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -2306,173 +2091,57 @@
],
"description": "A library to read, parse and export to PDF SVG files.",
"homepage": "https://github.com/PhenX/php-svg-lib",
- "time": "2018-06-03T10:10:03+00:00"
+ "time": "2019-09-11T20:02:13+00:00"
},
{
- "name": "php-http/guzzle6-adapter",
- "version": "v1.1.1",
+ "name": "phpoption/phpoption",
+ "version": "1.5.0",
"source": {
"type": "git",
- "url": "https://github.com/php-http/guzzle6-adapter.git",
- "reference": "a56941f9dc6110409cfcddc91546ee97039277ab"
+ "url": "https://github.com/schmittjoh/php-option.git",
+ "reference": "94e644f7d2051a5f0fcf77d81605f152eecff0ed"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-http/guzzle6-adapter/zipball/a56941f9dc6110409cfcddc91546ee97039277ab",
- "reference": "a56941f9dc6110409cfcddc91546ee97039277ab",
+ "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/94e644f7d2051a5f0fcf77d81605f152eecff0ed",
+ "reference": "94e644f7d2051a5f0fcf77d81605f152eecff0ed",
"shasum": ""
},
"require": {
- "guzzlehttp/guzzle": "^6.0",
- "php": ">=5.5.0",
- "php-http/httplug": "^1.0"
- },
- "provide": {
- "php-http/async-client-implementation": "1.0",
- "php-http/client-implementation": "1.0"
+ "php": ">=5.3.0"
},
"require-dev": {
- "ext-curl": "*",
- "php-http/adapter-integration-tests": "^0.4"
+ "phpunit/phpunit": "4.7.*"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.2-dev"
+ "dev-master": "1.3-dev"
}
},
"autoload": {
- "psr-4": {
- "Http\\Adapter\\Guzzle6\\": "src/"
+ "psr-0": {
+ "PhpOption\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "MIT"
+ "Apache2"
],
"authors": [
{
- "name": "Márk Sági-Kazár",
- "email": "mark.sagikazar@gmail.com"
- },
- {
- "name": "David de Boer",
- "email": "david@ddeboer.nl"
+ "name": "Johannes M. Schmitt",
+ "email": "schmittjoh@gmail.com"
}
],
- "description": "Guzzle 6 HTTP Adapter",
- "homepage": "http://httplug.io",
+ "description": "Option Type for PHP",
"keywords": [
- "Guzzle",
- "http"
+ "language",
+ "option",
+ "php",
+ "type"
],
- "time": "2016-05-10T06:13:32+00:00"
- },
- {
- "name": "php-http/httplug",
- "version": "v1.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-http/httplug.git",
- "reference": "1c6381726c18579c4ca2ef1ec1498fdae8bdf018"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-http/httplug/zipball/1c6381726c18579c4ca2ef1ec1498fdae8bdf018",
- "reference": "1c6381726c18579c4ca2ef1ec1498fdae8bdf018",
- "shasum": ""
- },
- "require": {
- "php": ">=5.4",
- "php-http/promise": "^1.0",
- "psr/http-message": "^1.0"
- },
- "require-dev": {
- "henrikbjorn/phpspec-code-coverage": "^1.0",
- "phpspec/phpspec": "^2.4"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.1-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Http\\Client\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Eric GELOEN",
- "email": "geloen.eric@gmail.com"
- },
- {
- "name": "Márk Sági-Kazár",
- "email": "mark.sagikazar@gmail.com"
- }
- ],
- "description": "HTTPlug, the HTTP client abstraction for PHP",
- "homepage": "http://httplug.io",
- "keywords": [
- "client",
- "http"
- ],
- "time": "2016-08-31T08:30:17+00:00"
- },
- {
- "name": "php-http/promise",
- "version": "v1.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-http/promise.git",
- "reference": "dc494cdc9d7160b9a09bd5573272195242ce7980"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-http/promise/zipball/dc494cdc9d7160b9a09bd5573272195242ce7980",
- "reference": "dc494cdc9d7160b9a09bd5573272195242ce7980",
- "shasum": ""
- },
- "require-dev": {
- "henrikbjorn/phpspec-code-coverage": "^1.0",
- "phpspec/phpspec": "^2.4"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.1-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Http\\Promise\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Márk Sági-Kazár",
- "email": "mark.sagikazar@gmail.com"
- },
- {
- "name": "Joel Wurtz",
- "email": "joel.wurtz@gmail.com"
- }
- ],
- "description": "Promise used for asynchronous HTTP requests",
- "homepage": "http://httplug.io",
- "keywords": [
- "promise"
- ],
- "time": "2016-01-26T13:27:02+00:00"
+ "time": "2015-07-25T16:39:46+00:00"
},
{
"name": "predis/predis",
@@ -2573,58 +2242,6 @@
],
"time": "2017-02-14T16:28:37+00:00"
},
- {
- "name": "psr/http-factory",
- "version": "1.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/http-factory.git",
- "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be",
- "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be",
- "shasum": ""
- },
- "require": {
- "php": ">=7.0.0",
- "psr/http-message": "^1.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Psr\\Http\\Message\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
- }
- ],
- "description": "Common interfaces for PSR-7 HTTP message factories",
- "keywords": [
- "factory",
- "http",
- "message",
- "psr",
- "psr-17",
- "psr-7",
- "request",
- "response"
- ],
- "time": "2019-04-30T12:38:16+00:00"
- },
{
"name": "psr/http-message",
"version": "1.0.1",
@@ -2894,23 +2511,24 @@
},
{
"name": "sabberworm/php-css-parser",
- "version": "8.1.0",
+ "version": "8.3.0",
"source": {
"type": "git",
"url": "https://github.com/sabberworm/PHP-CSS-Parser.git",
- "reference": "850cbbcbe7fbb155387a151ea562897a67e242ef"
+ "reference": "91bcc3e3fdb7386c9a2e0e0aa09ca75cc43f121f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sabberworm/PHP-CSS-Parser/zipball/850cbbcbe7fbb155387a151ea562897a67e242ef",
- "reference": "850cbbcbe7fbb155387a151ea562897a67e242ef",
+ "url": "https://api.github.com/repos/sabberworm/PHP-CSS-Parser/zipball/91bcc3e3fdb7386c9a2e0e0aa09ca75cc43f121f",
+ "reference": "91bcc3e3fdb7386c9a2e0e0aa09ca75cc43f121f",
"shasum": ""
},
"require": {
"php": ">=5.3.2"
},
"require-dev": {
- "phpunit/phpunit": "*"
+ "codacy/coverage": "^1.4",
+ "phpunit/phpunit": "~4.8"
},
"type": "library",
"autoload": {
@@ -2934,7 +2552,7 @@
"parser",
"stylesheet"
],
- "time": "2016-07-19T19:14:21+00:00"
+ "time": "2019-02-22T07:42:52+00:00"
},
{
"name": "socialiteproviders/discord",
@@ -3012,16 +2630,16 @@
},
{
"name": "socialiteproviders/manager",
- "version": "v3.4.1",
+ "version": "v3.4.2",
"source": {
"type": "git",
"url": "https://github.com/SocialiteProviders/Manager.git",
- "reference": "e79a1abb21f153f4a46d1a60abc72cba82d55f35"
+ "reference": "e3e8e78b9a3060801cd008941a0894a0a0c479e1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/SocialiteProviders/Manager/zipball/e79a1abb21f153f4a46d1a60abc72cba82d55f35",
- "reference": "e79a1abb21f153f4a46d1a60abc72cba82d55f35",
+ "url": "https://api.github.com/repos/SocialiteProviders/Manager/zipball/e3e8e78b9a3060801cd008941a0894a0a0c479e1",
+ "reference": "e3e8e78b9a3060801cd008941a0894a0a0c479e1",
"shasum": ""
},
"require": {
@@ -3065,7 +2683,7 @@
}
],
"description": "Easily add new or override built-in providers in Laravel Socialite.",
- "time": "2019-09-05T22:58:45+00:00"
+ "time": "2019-09-09T03:07:52+00:00"
},
{
"name": "socialiteproviders/microsoft-azure",
@@ -4636,29 +4254,30 @@
},
{
"name": "vlucas/phpdotenv",
- "version": "v2.6.1",
+ "version": "v3.6.0",
"source": {
"type": "git",
"url": "https://github.com/vlucas/phpdotenv.git",
- "reference": "2a7dcf7e3e02dc5e701004e51a6f304b713107d5"
+ "reference": "1bdf24f065975594f6a117f0f1f6cabf1333b156"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/2a7dcf7e3e02dc5e701004e51a6f304b713107d5",
- "reference": "2a7dcf7e3e02dc5e701004e51a6f304b713107d5",
+ "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/1bdf24f065975594f6a117f0f1f6cabf1333b156",
+ "reference": "1bdf24f065975594f6a117f0f1f6cabf1333b156",
"shasum": ""
},
"require": {
- "php": ">=5.3.9",
+ "php": "^5.4 || ^7.0",
+ "phpoption/phpoption": "^1.5",
"symfony/polyfill-ctype": "^1.9"
},
"require-dev": {
- "phpunit/phpunit": "^4.8.35 || ^5.0"
+ "phpunit/phpunit": "^4.8.35 || ^5.0 || ^6.0 || ^7.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.6-dev"
+ "dev-master": "3.6-dev"
}
},
"autoload": {
@@ -4671,10 +4290,15 @@
"BSD-3-Clause"
],
"authors": [
+ {
+ "name": "Graham Campbell",
+ "email": "graham@alt-three.com",
+ "homepage": "https://gjcampbell.co.uk/"
+ },
{
"name": "Vance Lucas",
"email": "vance@vancelucas.com",
- "homepage": "http://www.vancelucas.com"
+ "homepage": "https://vancelucas.com/"
}
],
"description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.",
@@ -4683,73 +4307,7 @@
"env",
"environment"
],
- "time": "2019-01-29T11:11:52+00:00"
- },
- {
- "name": "zendframework/zend-diactoros",
- "version": "2.1.3",
- "source": {
- "type": "git",
- "url": "https://github.com/zendframework/zend-diactoros.git",
- "reference": "279723778c40164bcf984a2df12ff2c6ec5e61c1"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/zendframework/zend-diactoros/zipball/279723778c40164bcf984a2df12ff2c6ec5e61c1",
- "reference": "279723778c40164bcf984a2df12ff2c6ec5e61c1",
- "shasum": ""
- },
- "require": {
- "php": "^7.1",
- "psr/http-factory": "^1.0",
- "psr/http-message": "^1.0"
- },
- "provide": {
- "psr/http-factory-implementation": "1.0",
- "psr/http-message-implementation": "1.0"
- },
- "require-dev": {
- "ext-dom": "*",
- "ext-libxml": "*",
- "http-interop/http-factory-tests": "^0.5.0",
- "php-http/psr7-integration-tests": "dev-master",
- "phpunit/phpunit": "^7.0.2",
- "zendframework/zend-coding-standard": "~1.0.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.1.x-dev",
- "dev-develop": "2.2.x-dev",
- "dev-release-1.8": "1.8.x-dev"
- }
- },
- "autoload": {
- "files": [
- "src/functions/create_uploaded_file.php",
- "src/functions/marshal_headers_from_sapi.php",
- "src/functions/marshal_method_from_sapi.php",
- "src/functions/marshal_protocol_version_from_sapi.php",
- "src/functions/marshal_uri_from_sapi.php",
- "src/functions/normalize_server.php",
- "src/functions/normalize_uploaded_files.php",
- "src/functions/parse_cookie_header.php"
- ],
- "psr-4": {
- "Zend\\Diactoros\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "description": "PSR HTTP Message implementations",
- "keywords": [
- "http",
- "psr",
- "psr-7"
- ],
- "time": "2019-07-10T16:13:25+00:00"
+ "time": "2019-09-10T21:37:39+00:00"
}
],
"packages-dev": [
@@ -4823,28 +4381,28 @@
},
{
"name": "barryvdh/laravel-ide-helper",
- "version": "v2.6.4",
+ "version": "v2.6.5",
"source": {
"type": "git",
"url": "https://github.com/barryvdh/laravel-ide-helper.git",
- "reference": "16eb4f65ee0d51b1f1182d56ae28ee00a70ce75a"
+ "reference": "8740a9a158d3dd5cfc706a9d4cc1bf7a518f99f3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/16eb4f65ee0d51b1f1182d56ae28ee00a70ce75a",
- "reference": "16eb4f65ee0d51b1f1182d56ae28ee00a70ce75a",
+ "url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/8740a9a158d3dd5cfc706a9d4cc1bf7a518f99f3",
+ "reference": "8740a9a158d3dd5cfc706a9d4cc1bf7a518f99f3",
"shasum": ""
},
"require": {
"barryvdh/reflection-docblock": "^2.0.6",
"composer/composer": "^1.6",
+ "doctrine/dbal": "~2.3",
"illuminate/console": "^5.5|^6",
"illuminate/filesystem": "^5.5|^6",
"illuminate/support": "^5.5|^6",
"php": ">=7"
},
"require-dev": {
- "doctrine/dbal": "~2.3",
"illuminate/config": "^5.5|^6",
"illuminate/view": "^5.5|^6",
"phpro/grumphp": "^0.14",
@@ -4852,9 +4410,6 @@
"scrutinizer/ocular": "~1.1",
"squizlabs/php_codesniffer": "^3"
},
- "suggest": {
- "doctrine/dbal": "Load information from the database about models for phpdocs (~2.3)"
- },
"type": "library",
"extra": {
"branch-alias": {
@@ -4893,7 +4448,7 @@
"phpstorm",
"sublime"
],
- "time": "2019-09-03T17:51:13+00:00"
+ "time": "2019-09-08T09:56:38+00:00"
},
{
"name": "barryvdh/reflection-docblock",
@@ -5902,16 +5457,16 @@
},
{
"name": "nunomaduro/collision",
- "version": "v2.1.1",
+ "version": "v3.0.1",
"source": {
"type": "git",
"url": "https://github.com/nunomaduro/collision.git",
- "reference": "b5feb0c0d92978ec7169232ce5d70d6da6b29f63"
+ "reference": "af42d339fe2742295a54f6fdd42aaa6f8c4aca68"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nunomaduro/collision/zipball/b5feb0c0d92978ec7169232ce5d70d6da6b29f63",
- "reference": "b5feb0c0d92978ec7169232ce5d70d6da6b29f63",
+ "url": "https://api.github.com/repos/nunomaduro/collision/zipball/af42d339fe2742295a54f6fdd42aaa6f8c4aca68",
+ "reference": "af42d339fe2742295a54f6fdd42aaa6f8c4aca68",
"shasum": ""
},
"require": {
@@ -5921,10 +5476,10 @@
"symfony/console": "~2.8|~3.3|~4.0"
},
"require-dev": {
- "laravel/framework": "5.7.*",
+ "laravel/framework": "5.8.*",
"nunomaduro/larastan": "^0.3.0",
- "phpstan/phpstan": "^0.10",
- "phpunit/phpunit": "~7.3"
+ "phpstan/phpstan": "^0.11",
+ "phpunit/phpunit": "~8.0"
},
"type": "library",
"extra": {
@@ -5962,7 +5517,7 @@
"php",
"symfony"
],
- "time": "2018-11-21T21:40:54+00:00"
+ "time": "2019-03-07T21:35:13+00:00"
},
{
"name": "phar-io/manifest",
@@ -6068,35 +5623,33 @@
},
{
"name": "phpdocumentor/reflection-common",
- "version": "1.0.1",
+ "version": "2.0.0",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/ReflectionCommon.git",
- "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6"
+ "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6",
- "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/63a995caa1ca9e5590304cd845c15ad6d482a62a",
+ "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a",
"shasum": ""
},
"require": {
- "php": ">=5.5"
+ "php": ">=7.1"
},
"require-dev": {
- "phpunit/phpunit": "^4.6"
+ "phpunit/phpunit": "~6"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0.x-dev"
+ "dev-master": "2.x-dev"
}
},
"autoload": {
"psr-4": {
- "phpDocumentor\\Reflection\\": [
- "src"
- ]
+ "phpDocumentor\\Reflection\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -6118,30 +5671,30 @@
"reflection",
"static analysis"
],
- "time": "2017-09-11T18:02:19+00:00"
+ "time": "2018-08-07T13:53:10+00:00"
},
{
"name": "phpdocumentor/reflection-docblock",
- "version": "4.3.1",
+ "version": "4.3.2",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
- "reference": "bdd9f737ebc2a01c06ea7ff4308ec6697db9b53c"
+ "reference": "b83ff7cfcfee7827e1e78b637a5904fe6a96698e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/bdd9f737ebc2a01c06ea7ff4308ec6697db9b53c",
- "reference": "bdd9f737ebc2a01c06ea7ff4308ec6697db9b53c",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/b83ff7cfcfee7827e1e78b637a5904fe6a96698e",
+ "reference": "b83ff7cfcfee7827e1e78b637a5904fe6a96698e",
"shasum": ""
},
"require": {
"php": "^7.0",
- "phpdocumentor/reflection-common": "^1.0.0",
- "phpdocumentor/type-resolver": "^0.4.0",
+ "phpdocumentor/reflection-common": "^1.0.0 || ^2.0.0",
+ "phpdocumentor/type-resolver": "~0.4 || ^1.0.0",
"webmozart/assert": "^1.0"
},
"require-dev": {
- "doctrine/instantiator": "~1.0.5",
+ "doctrine/instantiator": "^1.0.5",
"mockery/mockery": "^1.0",
"phpunit/phpunit": "^6.4"
},
@@ -6169,41 +5722,40 @@
}
],
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
- "time": "2019-04-30T17:48:53+00:00"
+ "time": "2019-09-12T14:27:41+00:00"
},
{
"name": "phpdocumentor/type-resolver",
- "version": "0.4.0",
+ "version": "1.0.1",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/TypeResolver.git",
- "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7"
+ "reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7",
- "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7",
+ "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/2e32a6d48972b2c1976ed5d8967145b6cec4a4a9",
+ "reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9",
"shasum": ""
},
"require": {
- "php": "^5.5 || ^7.0",
- "phpdocumentor/reflection-common": "^1.0"
+ "php": "^7.1",
+ "phpdocumentor/reflection-common": "^2.0"
},
"require-dev": {
- "mockery/mockery": "^0.9.4",
- "phpunit/phpunit": "^5.2||^4.8.24"
+ "ext-tokenizer": "^7.1",
+ "mockery/mockery": "~1",
+ "phpunit/phpunit": "^7.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0.x-dev"
+ "dev-master": "1.x-dev"
}
},
"autoload": {
"psr-4": {
- "phpDocumentor\\Reflection\\": [
- "src/"
- ]
+ "phpDocumentor\\Reflection\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -6216,7 +5768,8 @@
"email": "me@mikevanriel.com"
}
],
- "time": "2017-07-14T14:27:02+00:00"
+ "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
+ "time": "2019-08-22T18:11:29+00:00"
},
{
"name": "phpspec/prophecy",
diff --git a/phpunit.xml b/phpunit.xml
index 1f88f897b..21f81e32c 100644
--- a/phpunit.xml
+++ b/phpunit.xml
@@ -19,33 +19,33 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/public/svg/403.svg b/public/svg/403.svg
deleted file mode 100644
index 682aa9827..000000000
--- a/public/svg/403.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/svg/404.svg b/public/svg/404.svg
deleted file mode 100644
index b6cd6f237..000000000
--- a/public/svg/404.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/svg/500.svg b/public/svg/500.svg
deleted file mode 100644
index 9927e8d75..000000000
--- a/public/svg/500.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/svg/503.svg b/public/svg/503.svg
deleted file mode 100644
index 6ad109336..000000000
--- a/public/svg/503.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/resources/lang/ar/auth.php b/resources/lang/ar/auth.php
index bad0910a2..8c822a5a7 100644
--- a/resources/lang/ar/auth.php
+++ b/resources/lang/ar/auth.php
@@ -27,7 +27,7 @@ return [
'email' => 'البريد الإلكتروني',
'password' => 'كلمة المرور',
'password_confirm' => 'تأكيد كلمة المرور',
- 'password_hint' => 'يجب أن تكون أكثر من 5 حروف',
+ 'password_hint' => 'يجب أن تكون أكثر من 7 حروف',
'forgot_password' => 'نسيت كلمة المرور؟',
'remember_me' => 'تذكرني',
'ldap_email_hint' => 'الرجاء إدخال عنوان بريد إلكتروني لاستخدامه مع الحساب.',
diff --git a/resources/lang/cs/auth.php b/resources/lang/cs/auth.php
index 69d6f0b97..27cb33880 100644
--- a/resources/lang/cs/auth.php
+++ b/resources/lang/cs/auth.php
@@ -21,7 +21,7 @@ return [
'email' => 'Email',
'password' => 'Heslo',
'password_confirm' => 'Potvrdit heslo',
- 'password_hint' => 'Musí mít víc než 5 znaků',
+ 'password_hint' => 'Musí mít víc než 7 znaků',
'forgot_password' => 'Zapomněli jste heslo?',
'remember_me' => 'Neodhlašovat',
'ldap_email_hint' => 'Zadejte email, který chcete přiřadit k tomuto účtu.',
diff --git a/resources/lang/de/auth.php b/resources/lang/de/auth.php
index 46d4070b8..b367fc63b 100644
--- a/resources/lang/de/auth.php
+++ b/resources/lang/de/auth.php
@@ -25,7 +25,7 @@ return [
'email' => 'E-Mail',
'password' => 'Passwort',
'password_confirm' => 'Passwort bestätigen',
- 'password_hint' => 'Mindestlänge: 5 Zeichen',
+ 'password_hint' => 'Mindestlänge: 7 Zeichen',
'forgot_password' => 'Passwort vergessen?',
'remember_me' => 'Angemeldet bleiben',
'ldap_email_hint' => 'Bitte geben Sie eine E-Mail-Adresse ein, um diese mit dem Account zu nutzen.',
diff --git a/resources/lang/en/auth.php b/resources/lang/en/auth.php
index 37346097f..6961e049b 100644
--- a/resources/lang/en/auth.php
+++ b/resources/lang/en/auth.php
@@ -21,7 +21,7 @@ return [
'email' => 'Email',
'password' => 'Password',
'password_confirm' => 'Confirm Password',
- 'password_hint' => 'Must be over 5 characters',
+ 'password_hint' => 'Must be over 7 characters',
'forgot_password' => 'Forgot Password?',
'remember_me' => 'Remember Me',
'ldap_email_hint' => 'Please enter an email to use for this account.',
diff --git a/resources/lang/en/passwords.php b/resources/lang/en/passwords.php
index 9f7d9e3cb..f41ca7868 100644
--- a/resources/lang/en/passwords.php
+++ b/resources/lang/en/passwords.php
@@ -6,7 +6,7 @@
*/
return [
- 'password' => 'Passwords must be at least six characters and match the confirmation.',
+ 'password' => 'Passwords must be at least eight characters and match the confirmation.',
'user' => "We can't find a user with that e-mail address.",
'token' => 'This password reset token is invalid.',
'sent' => 'We have e-mailed your password reset link!',
diff --git a/resources/lang/en/validation.php b/resources/lang/en/validation.php
index 6f8fcb781..76b57a2a3 100644
--- a/resources/lang/en/validation.php
+++ b/resources/lang/en/validation.php
@@ -30,6 +30,7 @@ return [
'digits' => 'The :attribute must be :digits digits.',
'digits_between' => 'The :attribute must be between :min and :max digits.',
'email' => 'The :attribute must be a valid email address.',
+ 'ends_with' => 'The :attribute must end with one of the following: :values',
'filled' => 'The :attribute field is required.',
'gt' => [
'numeric' => 'The :attribute must be greater than :value.',
diff --git a/resources/lang/es/auth.php b/resources/lang/es/auth.php
index c93751a10..5da1a2d44 100644
--- a/resources/lang/es/auth.php
+++ b/resources/lang/es/auth.php
@@ -21,7 +21,7 @@ return [
'email' => 'Correo electrónico',
'password' => 'Contraseña',
'password_confirm' => 'Confirmar Contraseña',
- 'password_hint' => 'Debe contener más de 5 caracteres',
+ 'password_hint' => 'Debe contener más de 7 caracteres',
'forgot_password' => '¿Contraseña Olvidada?',
'remember_me' => 'Recordarme',
'ldap_email_hint' => 'Por favor introduzca un mail para utilizar con esta cuenta.',
diff --git a/resources/lang/es_AR/auth.php b/resources/lang/es_AR/auth.php
index 4899b3d89..cd616e4bf 100644
--- a/resources/lang/es_AR/auth.php
+++ b/resources/lang/es_AR/auth.php
@@ -27,7 +27,7 @@ return [
'email' => 'Correo electrónico',
'password' => 'Contraseña',
'password_confirm' => 'Confirmar contraseña',
- 'password_hint' => 'Debe contener al menos 5 caracteres',
+ 'password_hint' => 'Debe contener al menos 7 caracteres',
'forgot_password' => '¿Olvidó la contraseña?',
'remember_me' => 'Recordarme',
'ldap_email_hint' => 'Por favor introduzca un correo electrónico para utilizar con esta cuenta.',
diff --git a/resources/lang/fr/auth.php b/resources/lang/fr/auth.php
index c9ce6a4d7..89908c8c4 100644
--- a/resources/lang/fr/auth.php
+++ b/resources/lang/fr/auth.php
@@ -27,7 +27,7 @@ return [
'email' => 'E-mail',
'password' => 'Mot de passe',
'password_confirm' => 'Confirmez le mot de passe',
- 'password_hint' => 'Doit faire plus de 5 caractères',
+ 'password_hint' => 'Doit faire plus de 7 caractères',
'forgot_password' => 'Mot de passe oublié ?',
'remember_me' => 'Se souvenir de moi',
'ldap_email_hint' => "Merci d'entrer une adresse e-mail pour ce compte",
diff --git a/resources/lang/hu/auth.php b/resources/lang/hu/auth.php
index a1809b0de..d96509d05 100644
--- a/resources/lang/hu/auth.php
+++ b/resources/lang/hu/auth.php
@@ -21,7 +21,7 @@ return [
'email' => 'Email',
'password' => 'Jelszó',
'password_confirm' => 'Jelszó megerősítése',
- 'password_hint' => 'Öt karakternél hosszabbnak kell lennie',
+ 'password_hint' => 'Négy karakternél hosszabbnak kell lennie',
'forgot_password' => 'Elfelejtett jelszó?',
'remember_me' => 'Emlékezzen rám',
'ldap_email_hint' => 'A fiókhoz használt email cím megadása.',
diff --git a/resources/lang/it/auth.php b/resources/lang/it/auth.php
index 68fee41a5..59af1fe0d 100755
--- a/resources/lang/it/auth.php
+++ b/resources/lang/it/auth.php
@@ -27,7 +27,7 @@ return [
'email' => 'Email',
'password' => 'Password',
'password_confirm' => 'Conferma Password',
- 'password_hint' => 'Deve essere più di 5 caratteri',
+ 'password_hint' => 'Deve essere più di 7 caratteri',
'forgot_password' => 'Password dimenticata?',
'remember_me' => 'Ricordami',
'ldap_email_hint' => 'Inserisci un email per usare quest\'account.',
diff --git a/resources/lang/ja/auth.php b/resources/lang/ja/auth.php
index 4d5aee8b3..fdfac5f39 100644
--- a/resources/lang/ja/auth.php
+++ b/resources/lang/ja/auth.php
@@ -27,7 +27,7 @@ return [
'email' => 'メールアドレス',
'password' => 'パスワード',
'password_confirm' => 'パスワード (確認)',
- 'password_hint' => '5文字以上である必要があります',
+ 'password_hint' => '7文字以上である必要があります',
'forgot_password' => 'パスワードをお忘れですか?',
'remember_me' => 'ログイン情報を保存する',
'ldap_email_hint' => 'このアカウントで使用するEメールアドレスを入力してください。',
diff --git a/resources/lang/kr/auth.php b/resources/lang/kr/auth.php
index 671ddc654..36534f0d4 100644
--- a/resources/lang/kr/auth.php
+++ b/resources/lang/kr/auth.php
@@ -27,7 +27,7 @@ return [
'email' => '이메일',
'password' => '비밀번호',
'password_confirm' => '비밀번호 (확인)',
- 'password_hint' => '5자 이상이어야 합니다.',
+ 'password_hint' => '7자 이상이어야 합니다.',
'forgot_password' => '비밀번호를 잊으셨습니까?',
'remember_me' => '자동로그인',
'ldap_email_hint' => '이 계정에서 사용하는 이메일을 입력해 주세요.',
diff --git a/resources/lang/nl/auth.php b/resources/lang/nl/auth.php
index 31bd330cc..30dfdd78d 100644
--- a/resources/lang/nl/auth.php
+++ b/resources/lang/nl/auth.php
@@ -27,7 +27,7 @@ return [
'email' => 'Email',
'password' => 'Wachtwoord',
'password_confirm' => 'Wachtwoord Bevestigen',
- 'password_hint' => 'Minimaal 6 tekens',
+ 'password_hint' => 'Minimaal 8 tekens',
'forgot_password' => 'Wachtwoord vergeten?',
'remember_me' => 'Mij onthouden',
'ldap_email_hint' => 'Geef een email op waarmee je dit account wilt gebruiken.',
diff --git a/resources/lang/pl/auth.php b/resources/lang/pl/auth.php
index 5cec651a9..40c458c61 100644
--- a/resources/lang/pl/auth.php
+++ b/resources/lang/pl/auth.php
@@ -27,7 +27,7 @@ return [
'email' => 'E-mail',
'password' => 'Hasło',
'password_confirm' => 'Potwierdzenie hasła',
- 'password_hint' => 'Musi mieć więcej niż 5 znaków',
+ 'password_hint' => 'Musi mieć więcej niż 7 znaków',
'forgot_password' => 'Zapomniałem hasła',
'remember_me' => 'Zapamiętaj mnie',
'ldap_email_hint' => 'Wprowadź adres e-mail dla tego konta.',
diff --git a/resources/lang/pt_BR/auth.php b/resources/lang/pt_BR/auth.php
index 20dc690af..79f743617 100644
--- a/resources/lang/pt_BR/auth.php
+++ b/resources/lang/pt_BR/auth.php
@@ -21,7 +21,7 @@ return [
'email' => 'E-mail',
'password' => 'Senha',
'password_confirm' => 'Confirmar Senha',
- 'password_hint' => 'Senha deverá ser maior que 5 caracteres',
+ 'password_hint' => 'Senha deverá ser maior que 7 caracteres',
'forgot_password' => 'Esqueceu a senha?',
'remember_me' => 'Lembrar de mim',
'ldap_email_hint' => 'Por favor, digite um e-mail para essa conta.',
diff --git a/resources/lang/ru/auth.php b/resources/lang/ru/auth.php
index 3a1fbbf97..c70e85d61 100644
--- a/resources/lang/ru/auth.php
+++ b/resources/lang/ru/auth.php
@@ -27,7 +27,7 @@ return [
'email' => 'Email',
'password' => 'Пароль',
'password_confirm' => 'Подтверждение пароля',
- 'password_hint' => 'Должен быть больше 5 символов',
+ 'password_hint' => 'Должен быть больше 7 символов',
'forgot_password' => 'Забыли пароль?',
'remember_me' => 'Запомнить меня',
'ldap_email_hint' => 'Введите email адрес для данной учетной записи.',
diff --git a/resources/lang/sk/auth.php b/resources/lang/sk/auth.php
index 2fa69ac3e..69004e87a 100644
--- a/resources/lang/sk/auth.php
+++ b/resources/lang/sk/auth.php
@@ -27,7 +27,7 @@ return [
'email' => 'Email',
'password' => 'Heslo',
'password_confirm' => 'Potvrdiť heslo',
- 'password_hint' => 'Musí mať viac ako 5 znakov',
+ 'password_hint' => 'Musí mať viac ako 7 znakov',
'forgot_password' => 'Zabudli ste heslo?',
'remember_me' => 'Zapamätať si ma',
'ldap_email_hint' => 'Zadajte prosím email, ktorý sa má použiť pre tento účet.',
diff --git a/resources/lang/sv/auth.php b/resources/lang/sv/auth.php
index 30e1a1937..4eb2be028 100644
--- a/resources/lang/sv/auth.php
+++ b/resources/lang/sv/auth.php
@@ -27,7 +27,7 @@ return [
'email' => 'E-post',
'password' => 'Lösenord',
'password_confirm' => 'Bekräfta lösenord',
- 'password_hint' => 'Måste vara fler än 5 tecken',
+ 'password_hint' => 'Måste vara fler än 7 tecken',
'forgot_password' => 'Glömt lösenord?',
'remember_me' => 'Kom ihåg mig',
'ldap_email_hint' => 'Vänligen ange en e-postadress att använda till kontot.',
diff --git a/resources/lang/uk/auth.php b/resources/lang/uk/auth.php
index cd73f92db..32b35a156 100644
--- a/resources/lang/uk/auth.php
+++ b/resources/lang/uk/auth.php
@@ -21,7 +21,7 @@ return [
'email' => 'Email',
'password' => 'Пароль',
'password_confirm' => 'Підтвердження пароля',
- 'password_hint' => 'Має бути більше 5 символів',
+ 'password_hint' => 'Має бути більше 7 символів',
'forgot_password' => 'Забули пароль?',
'remember_me' => 'Запам’ятати мене',
'ldap_email_hint' => 'Введіть email для цього облікового запису.',
diff --git a/resources/lang/zh_CN/auth.php b/resources/lang/zh_CN/auth.php
index 046f2360b..f4159826c 100644
--- a/resources/lang/zh_CN/auth.php
+++ b/resources/lang/zh_CN/auth.php
@@ -27,7 +27,7 @@ return [
'email' => 'Email地址',
'password' => '密码',
'password_confirm' => '确认密码',
- 'password_hint' => '必须超过5个字符',
+ 'password_hint' => '必须超过7个字符',
'forgot_password' => '忘记密码?',
'remember_me' => '记住我',
'ldap_email_hint' => '请输入用于此帐户的电子邮件。',
diff --git a/resources/lang/zh_TW/auth.php b/resources/lang/zh_TW/auth.php
index f44ac8af0..9e7fcd036 100644
--- a/resources/lang/zh_TW/auth.php
+++ b/resources/lang/zh_TW/auth.php
@@ -27,7 +27,7 @@ return [
'email' => 'Email位址',
'password' => '密碼',
'password_confirm' => '確認密碼',
- 'password_hint' => '必須超過5個字元',
+ 'password_hint' => '必須超過7個字元',
'forgot_password' => '忘記密碼?',
'remember_me' => '記住我',
'ldap_email_hint' => '請輸入用於此帳號的電子郵件。',
diff --git a/storage/framework/cache/data/.gitignore b/storage/framework/cache/data/.gitignore
deleted file mode 100755
index d6b7ef32c..000000000
--- a/storage/framework/cache/data/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*
-!.gitignore
diff --git a/tests/Auth/AuthTest.php b/tests/Auth/AuthTest.php
index 42b44c152..eb83faded 100644
--- a/tests/Auth/AuthTest.php
+++ b/tests/Auth/AuthTest.php
@@ -81,7 +81,7 @@ class AuthTest extends BrowserKitTest
->press('Create Account')
->see('The name must be at least 2 characters.')
->see('The email must be a valid email address.')
- ->see('The password must be at least 6 characters.')
+ ->see('The password must be at least 8 characters.')
->seePageIs('/register');
}
diff --git a/tests/Auth/LdapTest.php b/tests/Auth/LdapTest.php
index 5923ef377..fe28698df 100644
--- a/tests/Auth/LdapTest.php
+++ b/tests/Auth/LdapTest.php
@@ -15,7 +15,7 @@ class LdapTest extends BrowserKitTest
protected $mockUser;
protected $resourceId = 'resource-test';
- public function setUp()
+ public function setUp(): void
{
parent::setUp();
if (!defined('LDAP_OPT_REFERRALS')) define('LDAP_OPT_REFERRALS', 1);
diff --git a/tests/Auth/UserInviteTest.php b/tests/Auth/UserInviteTest.php
index 331262690..d200134a5 100644
--- a/tests/Auth/UserInviteTest.php
+++ b/tests/Auth/UserInviteTest.php
@@ -6,6 +6,7 @@ use BookStack\Auth\User;
use BookStack\Notifications\UserInvite;
use Carbon\Carbon;
use DB;
+use Illuminate\Support\Str;
use Notification;
class UserInviteTest extends TestCase
@@ -68,11 +69,13 @@ class UserInviteTest extends TestCase
$inviteService->sendInvitation($user);
$token = DB::table('user_invites')->where('user_id', '=', $user->id)->first()->token;
+ $this->get('/register/invite/' . $token);
$shortPassword = $this->followingRedirects()->post('/register/invite/' . $token, [
- 'password' => 'mypas',
+ 'password' => 'mypassw',
]);
- $shortPassword->assertSee('The password must be at least 6 characters.');
+ $shortPassword->assertSee('The password must be at least 8 characters.');
+ $this->get('/register/invite/' . $token);
$noPassword = $this->followingRedirects()->post('/register/invite/' . $token, [
'password' => '',
]);
@@ -85,10 +88,10 @@ class UserInviteTest extends TestCase
public function test_non_existent_invite_token_redirects_to_home()
{
- $setPasswordPageResp = $this->get('/register/invite/' . str_random(12));
+ $setPasswordPageResp = $this->get('/register/invite/' . Str::random(12));
$setPasswordPageResp->assertRedirect('/');
- $setPasswordResp = $this->post('/register/invite/' . str_random(12), ['password' => 'Password Test']);
+ $setPasswordResp = $this->post('/register/invite/' . Str::random(12), ['password' => 'Password Test']);
$setPasswordResp->assertRedirect('/');
}
diff --git a/tests/BrowserKitTest.php b/tests/BrowserKitTest.php
index ab0d9d898..b81afe311 100644
--- a/tests/BrowserKitTest.php
+++ b/tests/BrowserKitTest.php
@@ -21,7 +21,7 @@ abstract class BrowserKitTest extends TestCase
*/
protected $baseUrl = 'http://localhost';
- public function tearDown()
+ public function tearDown() : void
{
\DB::disconnect();
parent::tearDown();
diff --git a/tests/Entity/BookShelfTest.php b/tests/Entity/BookShelfTest.php
index 158fb5ca1..5c7673847 100644
--- a/tests/Entity/BookShelfTest.php
+++ b/tests/Entity/BookShelfTest.php
@@ -4,6 +4,7 @@ use BookStack\Auth\Role;
use BookStack\Auth\User;
use BookStack\Entities\Book;
use BookStack\Entities\Bookshelf;
+use Illuminate\Support\Str;
class BookShelfTest extends TestCase
{
@@ -55,8 +56,8 @@ class BookShelfTest extends TestCase
{
$booksToInclude = Book::take(2)->get();
$shelfInfo = [
- 'name' => 'My test book' . str_random(4),
- 'description' => 'Test book description ' . str_random(10)
+ 'name' => 'My test book' . Str::random(4),
+ 'description' => 'Test book description ' . Str::random(10)
];
$resp = $this->asEditor()->post('/shelves', array_merge($shelfInfo, [
'books' => $booksToInclude->implode('id', ','),
@@ -120,8 +121,8 @@ class BookShelfTest extends TestCase
$booksToInclude = Book::take(2)->get();
$shelfInfo = [
- 'name' => 'My test book' . str_random(4),
- 'description' => 'Test book description ' . str_random(10)
+ 'name' => 'My test book' . Str::random(4),
+ 'description' => 'Test book description ' . Str::random(10)
];
$resp = $this->asEditor()->put($shelf->getUrl(), array_merge($shelfInfo, [
diff --git a/tests/Entity/CommentSettingTest.php b/tests/Entity/CommentSettingTest.php
index 2683f57cb..967e550a7 100644
--- a/tests/Entity/CommentSettingTest.php
+++ b/tests/Entity/CommentSettingTest.php
@@ -3,7 +3,7 @@
class CommentSettingTest extends BrowserKitTest {
protected $page;
- public function setUp() {
+ public function setUp(): void {
parent::setUp();
$this->page = \BookStack\Entities\Page::first();
}
diff --git a/tests/Entity/ExportTest.php b/tests/Entity/ExportTest.php
index e3a74f64d..9a2d32028 100644
--- a/tests/Entity/ExportTest.php
+++ b/tests/Entity/ExportTest.php
@@ -4,6 +4,7 @@
use BookStack\Entities\Chapter;
use BookStack\Entities\Page;
use BookStack\Uploads\HttpFetcher;
+use Illuminate\Support\Str;
class ExportTest extends TestCase
{
@@ -79,7 +80,7 @@ class ExportTest extends TestCase
public function test_book_html_export_shows_chapter_descriptions()
{
- $chapterDesc = 'My custom test chapter description ' . str_random(12);
+ $chapterDesc = 'My custom test chapter description ' . Str::random(12);
$chapter = Chapter::query()->first();
$chapter->description = $chapterDesc;
$chapter->save();
diff --git a/tests/Entity/MarkdownTest.php b/tests/Entity/MarkdownTest.php
index c481e444f..5d3af4f6e 100644
--- a/tests/Entity/MarkdownTest.php
+++ b/tests/Entity/MarkdownTest.php
@@ -4,7 +4,7 @@ class MarkdownTest extends BrowserKitTest
{
protected $page;
- public function setUp()
+ public function setUp(): void
{
parent::setUp();
$this->page = \BookStack\Entities\Page::first();
diff --git a/tests/Entity/PageDraftTest.php b/tests/Entity/PageDraftTest.php
index f15651f39..f29231c39 100644
--- a/tests/Entity/PageDraftTest.php
+++ b/tests/Entity/PageDraftTest.php
@@ -8,7 +8,7 @@ class PageDraftTest extends BrowserKitTest
protected $page;
protected $pageRepo;
- public function setUp()
+ public function setUp(): void
{
parent::setUp();
$this->page = \BookStack\Entities\Page::first();
diff --git a/tests/Entity/SortTest.php b/tests/Entity/SortTest.php
index a3c20e84c..cad6d3c01 100644
--- a/tests/Entity/SortTest.php
+++ b/tests/Entity/SortTest.php
@@ -10,7 +10,7 @@ class SortTest extends TestCase
{
protected $book;
- public function setUp()
+ public function setUp(): void
{
parent::setUp();
$this->book = Book::first();
diff --git a/tests/LanguageTest.php b/tests/LanguageTest.php
index d9b8655ee..c8bc44451 100644
--- a/tests/LanguageTest.php
+++ b/tests/LanguageTest.php
@@ -8,7 +8,7 @@ class LanguageTest extends TestCase
/**
* LanguageTest constructor.
*/
- public function setUp()
+ public function setUp(): void
{
parent::setUp();
$this->langs = array_diff(scandir(resource_path('lang')), ['..', '.', 'check.php', 'format.php']);
diff --git a/tests/Permissions/RestrictionsTest.php b/tests/Permissions/RestrictionsTest.php
index a7f681a37..f6e07c0f1 100644
--- a/tests/Permissions/RestrictionsTest.php
+++ b/tests/Permissions/RestrictionsTest.php
@@ -21,7 +21,7 @@ class RestrictionsTest extends BrowserKitTest
*/
protected $viewer;
- public function setUp()
+ public function setUp(): void
{
parent::setUp();
$this->user = $this->getEditor();
diff --git a/tests/Permissions/RolesTest.php b/tests/Permissions/RolesTest.php
index a1f193643..371cffc0f 100644
--- a/tests/Permissions/RolesTest.php
+++ b/tests/Permissions/RolesTest.php
@@ -11,7 +11,7 @@ class RolesTest extends BrowserKitTest
{
protected $user;
- public function setUp()
+ public function setUp(): void
{
parent::setUp();
$this->user = $this->getViewer();
diff --git a/tests/Unit/ConfigTest.php b/tests/Unit/ConfigTest.php
index 967915af9..ec9967227 100644
--- a/tests/Unit/ConfigTest.php
+++ b/tests/Unit/ConfigTest.php
@@ -50,11 +50,14 @@ class ConfigTest extends TestCase
protected function checkEnvConfigResult(string $envName, $envVal, string $configKey, string $expectedResult)
{
$originalVal = getenv($envName);
+
$envString = $envName . (is_null($envVal) ? '' : '=') . ($envVal ?? '');
putenv($envString);
$this->refreshApplication();
$this->assertEquals($expectedResult, config($configKey));
- putenv($envString = $envName . (empty($originalVal) ? '' : '=') . ($originalVal ?? ''));
+
+ $envString = $envName . (empty($originalVal) ? '' : '=') . ($originalVal ?? '');
+ putenv($envString);
}
}
\ No newline at end of file
diff --git a/tests/Unit/PageRepoTest.php b/tests/Unit/PageRepoTest.php
index 41e7c2f78..c5e094b63 100644
--- a/tests/Unit/PageRepoTest.php
+++ b/tests/Unit/PageRepoTest.php
@@ -10,7 +10,7 @@ class PageRepoTest extends TestCase
*/
protected $pageRepo;
- protected function setUp()
+ protected function setUp(): void
{
parent::setUp();
$this->pageRepo = app()->make(PageRepo::class);
diff --git a/tests/Uploads/ImageTest.php b/tests/Uploads/ImageTest.php
index f92653378..4d3e8a498 100644
--- a/tests/Uploads/ImageTest.php
+++ b/tests/Uploads/ImageTest.php
@@ -4,6 +4,7 @@ use BookStack\Entities\Repos\PageRepo;
use BookStack\Uploads\Image;
use BookStack\Entities\Page;
use BookStack\Uploads\ImageService;
+use Illuminate\Support\Str;
use Tests\TestCase;
class ImageTest extends TestCase
@@ -43,7 +44,7 @@ class ImageTest extends TestCase
$imgDetails = $this->uploadGalleryImage();
$image = Image::query()->first();
- $newName = str_random();
+ $newName = Str::random();
$update = $this->put('/images/' . $image->id, ['name' => $newName]);
$update->assertSuccessful();
$update->assertJson([
@@ -89,7 +90,7 @@ class ImageTest extends TestCase
$searchHitRequest = $this->get("/images/gallery?page=1&uploaded_to={$pageId}&search={$namePartial}");
$searchHitRequest->assertSuccessful()->assertJson($resultJson);
- $namePartial = str_random(16);
+ $namePartial = Str::random(16);
$searchHitRequest = $this->get("/images/gallery?page=1&uploaded_to={$pageId}&search={$namePartial}");
$searchHitRequest->assertSuccessful()->assertExactJson($emptyJson);
}
@@ -208,7 +209,7 @@ class ImageTest extends TestCase
$encodedImageContent = base64_encode(file_get_contents($expectedPath));
$export = $this->get($page->getUrl('/export/html'));
- $this->assertTrue(str_contains($export->getContent(), $encodedImageContent), 'Uploaded image in export content');
+ $this->assertTrue(strpos($export->getContent(), $encodedImageContent) !== false, 'Uploaded image in export content');
if (file_exists($expectedPath)) {
unlink($expectedPath);
diff --git a/tests/UserProfileTest.php b/tests/UserProfileTest.php
index a7c7505a8..fc1a529ae 100644
--- a/tests/UserProfileTest.php
+++ b/tests/UserProfileTest.php
@@ -4,7 +4,7 @@ class UserProfileTest extends BrowserKitTest
{
protected $user;
- public function setUp()
+ public function setUp(): void
{
parent::setUp();
$this->user = \BookStack\Auth\User::all()->last();