Pull in the upstream changes to sync up with 8.4.4

This commit is contained in:
Kevin MacMartin 2020-12-09 16:00:01 -05:00
parent 64dfd30725
commit ecda451890
35 changed files with 174 additions and 202 deletions

View file

@ -8,6 +8,7 @@ APP_DEBUG=true
APP_URL=http://localhost APP_URL=http://localhost
LOG_CHANNEL=stack LOG_CHANNEL=stack
LOG_LEVEL=debug
BS_HOST=localhost BS_HOST=localhost

View file

@ -1 +1 @@
fa43c0a333d623a393fa33c27a1376f69ef3f301 0717bb0291a51ab63dd220ce4db8b7fa82e23787

View file

@ -27,29 +27,14 @@ class Handler extends ExceptionHandler
]; ];
/** /**
* Report or log an exception. * Register the exception handling callbacks for the application.
* *
* @param \Throwable $exception
* @return void * @return void
*
* @throws \Exception
*/ */
public function report(Throwable $exception) public function register()
{ {
parent::report($exception); $this->reportable(function (Throwable $e) {
} //
});
/**
* Render an exception into an HTTP response.
*
* @param \Illuminate\Http\Request $request
* @param \Throwable $exception
* @return \Symfony\Component\HttpFoundation\Response
*
* @throws \Throwable
*/
public function render($request, Throwable $exception)
{
return parent::render($request, $exception);
} }
} }

View file

@ -4,7 +4,7 @@ namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider; use App\Providers\RouteServiceProvider;
use App\User; use App\Models\User;
use App\Dashboard; use App\Dashboard;
use Illuminate\Foundation\Auth\RegistersUsers; use Illuminate\Foundation\Auth\RegistersUsers;
use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Hash;
@ -61,7 +61,7 @@ class RegisterController extends Controller
* Create a new user instance after a valid registration. * Create a new user instance after a valid registration.
* *
* @param array $data * @param array $data
* @return \App\User * @return \App\Models\User
*/ */
protected function create(array $data) protected function create(array $data)
{ {

View file

@ -7,7 +7,7 @@ use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
use Auth; use Auth;
use File; use File;
use Image; use Image;
use App\User; use App\Models\User;
use App\Dashboard; use App\Dashboard;
class DashboardController extends Controller { class DashboardController extends Controller {

View file

@ -14,10 +14,10 @@ class Kernel extends HttpKernel
* @var array * @var array
*/ */
protected $middleware = [ protected $middleware = [
// \App\Http\Middleware\TrustHosts::class, \App\Http\Middleware\TrustHosts::class,
\App\Http\Middleware\TrustProxies::class, \App\Http\Middleware\TrustProxies::class,
\Fruitcake\Cors\HandleCors::class, \Fruitcake\Cors\HandleCors::class,
\App\Http\Middleware\CheckForMaintenanceMode::class, \App\Http\Middleware\PreventRequestsDuringMaintenance::class,
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class, \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
\App\Http\Middleware\TrimStrings::class, \App\Http\Middleware\TrimStrings::class,
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class, \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
@ -40,7 +40,7 @@ class Kernel extends HttpKernel
], ],
'api' => [ 'api' => [
'throttle:120,1', 'throttle:api',
\Illuminate\Routing\Middleware\SubstituteBindings::class, \Illuminate\Routing\Middleware\SubstituteBindings::class,
], ],
]; ];
@ -55,7 +55,6 @@ class Kernel extends HttpKernel
protected $routeMiddleware = [ protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class, 'auth' => \App\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class, 'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
'can' => \Illuminate\Auth\Middleware\Authorize::class, 'can' => \Illuminate\Auth\Middleware\Authorize::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,

View file

@ -2,9 +2,9 @@
namespace App\Http\Middleware; namespace App\Http\Middleware;
use Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode as Middleware; use Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance as Middleware;
class CheckForMaintenanceMode extends Middleware class PreventRequestsDuringMaintenance extends Middleware
{ {
/** /**
* The URIs that should be reachable while maintenance mode is enabled. * The URIs that should be reachable while maintenance mode is enabled.

View file

@ -4,6 +4,7 @@ namespace App\Http\Middleware;
use App\Providers\RouteServiceProvider; use App\Providers\RouteServiceProvider;
use Closure; use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
class RedirectIfAuthenticated class RedirectIfAuthenticated
@ -13,13 +14,17 @@ class RedirectIfAuthenticated
* *
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
* @param \Closure $next * @param \Closure $next
* @param string|null $guard * @param string|null ...$guards
* @return mixed * @return mixed
*/ */
public function handle($request, Closure $next, $guard = null) public function handle(Request $request, Closure $next, ...$guards)
{ {
if (Auth::guard($guard)->check()) { $guards = empty($guards) ? [null] : $guards;
return redirect(RouteServiceProvider::HOME);
foreach ($guards as $guard) {
if (Auth::guard($guard)->check()) {
return redirect(RouteServiceProvider::HOME);
}
} }
return $next($request); return $next($request);

View file

@ -3,7 +3,7 @@
namespace App\Models; namespace App\Models;
use Parsedown; use Parsedown;
use App\User; use App\Models\User;
use App\Models\BlogTags; use App\Models\BlogTags;
class Blog extends DashboardModel class Blog extends DashboardModel

View file

@ -1,8 +1,9 @@
<?php <?php
namespace App; namespace App\Models;
use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable; use Illuminate\Notifications\Notifiable;
use Hash; use Hash;
@ -10,7 +11,7 @@ use App\Traits\Timestamp;
class User extends Authenticatable class User extends Authenticatable
{ {
use Notifiable; use HasFactory, Notifiable;
use Timestamp; use Timestamp;
/** /**
@ -19,7 +20,10 @@ class User extends Authenticatable
* @var array * @var array
*/ */
protected $fillable = [ protected $fillable = [
'name', 'email', 'password', 'api_token' 'name',
'email',
'password',
'api_token'
]; ];
/** /**
@ -28,7 +32,9 @@ class User extends Authenticatable
* @var array * @var array
*/ */
protected $hidden = [ protected $hidden = [
'password', 'remember_token', 'api_token' 'password',
'remember_token',
'api_token'
]; ];
/** /**

View file

@ -13,7 +13,7 @@ class AuthServiceProvider extends ServiceProvider
* @var array * @var array
*/ */
protected $policies = [ protected $policies = [
// 'App\Model' => 'App\Policies\ModelPolicy', // 'App\Models\Model' => 'App\Policies\ModelPolicy',
]; ];
/** /**

View file

@ -27,8 +27,6 @@ class EventServiceProvider extends ServiceProvider
*/ */
public function boot() public function boot()
{ {
parent::boot();
// //
} }
} }

View file

@ -2,27 +2,32 @@
namespace App\Providers; namespace App\Providers;
use Illuminate\Cache\RateLimiting\Limit;
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider; use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\RateLimiter;
use Illuminate\Support\Facades\Route; use Illuminate\Support\Facades\Route;
class RouteServiceProvider extends ServiceProvider class RouteServiceProvider extends ServiceProvider
{ {
/**
* This namespace is applied to your controller routes.
*
* In addition, it is set as the URL generator's root namespace.
*
* @var string
*/
protected $namespace = 'App\Http\Controllers';
/** /**
* The path to the "home" route for your application. * The path to the "home" route for your application.
* *
* This is used by Laravel authentication to redirect users after login.
*
* @var string * @var string
*/ */
public const HOME = '/dashboard'; public const HOME = '/dashboard';
/**
* The controller namespace for the application.
*
* When present, controller route declarations will automatically be prefixed with this namespace.
*
* @var string|null
*/
// protected $namespace = 'App\\Http\\Controllers';
/** /**
* Define your route model bindings, pattern filters, etc. * Define your route model bindings, pattern filters, etc.
* *
@ -30,51 +35,29 @@ class RouteServiceProvider extends ServiceProvider
*/ */
public function boot() public function boot()
{ {
// $this->configureRateLimiting();
parent::boot(); $this->routes(function () {
Route::prefix('api')
->middleware('api')
->namespace($this->namespace)
->group(base_path('routes/api.php'));
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/web.php'));
});
} }
/** /**
* Define the routes for the application. * Configure the rate limiters for the application.
* *
* @return void * @return void
*/ */
public function map() protected function configureRateLimiting()
{ {
$this->mapApiRoutes(); RateLimiter::for('api', function (Request $request) {
return Limit::perMinute(60)->by(optional($request->user())->id ?: $request->ip());
$this->mapWebRoutes(); });
//
}
/**
* Define the "web" routes for the application.
*
* These routes all receive session state, CSRF protection, etc.
*
* @return void
*/
protected function mapWebRoutes()
{
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/web.php'));
}
/**
* Define the "api" routes for the application.
*
* These routes are typically stateless.
*
* @return void
*/
protected function mapApiRoutes()
{
Route::prefix('api')
->middleware('api')
->namespace($this->namespace)
->group(base_path('routes/api.php'));
} }
} }

View file

@ -8,27 +8,27 @@
], ],
"license": "MIT", "license": "MIT",
"require": { "require": {
"php": "^7.2.5", "php": "^7.3|^8.0",
"doctrine/dbal": "^2.10", "doctrine/dbal": "^2.10",
"erusev/parsedown": "^1.7", "erusev/parsedown": "^1.7",
"fideloper/proxy": "^4.2", "fideloper/proxy": "^4.4",
"fruitcake/laravel-cors": "^2.0", "fruitcake/laravel-cors": "^2.0",
"guzzlehttp/guzzle": "^6.3", "guzzlehttp/guzzle": "^7.0.1",
"intervention/image": "^2.5", "intervention/image": "^2.5",
"laravel/framework": "^7.24", "laravel/framework": "^8.12",
"laravel/helpers": "^1.2", "laravel/helpers": "^1.2",
"laravel/tinker": "^2.0", "laravel/tinker": "^2.5",
"laravel/ui": "^2.1", "laravel/ui": "^2.1",
"phpoffice/phpspreadsheet": "^1.14", "phpoffice/phpspreadsheet": "^1.14",
"radic/blade-extensions": "^7.4.0", "radic/blade-extensions": "^7.4.0",
"spatie/laravel-newsletter": "^4.8" "spatie/laravel-newsletter": "^4.8"
}, },
"require-dev": { "require-dev": {
"facade/ignition": "^2.0", "facade/ignition": "^2.5",
"fzaninotto/faker": "^1.9.1", "fakerphp/faker": "^1.9.1",
"mockery/mockery": "^1.3.1", "mockery/mockery": "^1.4.2",
"nunomaduro/collision": "^4.1", "nunomaduro/collision": "^5.0",
"phpunit/phpunit": "^8.5" "phpunit/phpunit": "^9.3.3"
}, },
"config": { "config": {
"optimize-autoloader": true, "optimize-autoloader": true,
@ -42,12 +42,10 @@
}, },
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"App\\": "app/" "App\\": "app/",
}, "Database\\Factories\\": "database/factories/",
"classmap": [ "Database\\Seeders\\": "database/seeders/"
"database/seeds", }
"database/factories"
]
}, },
"autoload-dev": { "autoload-dev": {
"psr-4": { "psr-4": {

View file

@ -222,7 +222,7 @@ return [
'Password' => Illuminate\Support\Facades\Password::class, 'Password' => Illuminate\Support\Facades\Password::class,
'Queue' => Illuminate\Support\Facades\Queue::class, 'Queue' => Illuminate\Support\Facades\Queue::class,
'Redirect' => Illuminate\Support\Facades\Redirect::class, 'Redirect' => Illuminate\Support\Facades\Redirect::class,
'Redis' => Illuminate\Support\Facades\Redis::class, // 'Redis' => Illuminate\Support\Facades\Redis::class,
'Request' => Illuminate\Support\Facades\Request::class, 'Request' => Illuminate\Support\Facades\Request::class,
'Response' => Illuminate\Support\Facades\Response::class, 'Response' => Illuminate\Support\Facades\Response::class,
'Route' => Illuminate\Support\Facades\Route::class, 'Route' => Illuminate\Support\Facades\Route::class,

View file

@ -68,7 +68,7 @@ return [
'providers' => [ 'providers' => [
'users' => [ 'users' => [
'driver' => 'eloquent', 'driver' => 'eloquent',
'model' => App\User::class, 'model' => App\Models\User::class,
], ],
// 'users' => [ // 'users' => [

View file

@ -41,6 +41,11 @@ return [
], ],
], ],
'ably' => [
'driver' => 'ably',
'key' => env('ABLY_KEY'),
],
'redis' => [ 'redis' => [
'driver' => 'redis', 'driver' => 'redis',
'connection' => 'default', 'connection' => 'default',

View file

@ -13,9 +13,6 @@ return [
| using this caching library. This connection is used when another is | using this caching library. This connection is used when another is
| not explicitly specified when executing a given caching function. | not explicitly specified when executing a given caching function.
| |
| Supported: "apc", "array", "database", "file",
| "memcached", "redis", "dynamodb"
|
*/ */
'default' => env('CACHE_DRIVER', 'file'), 'default' => env('CACHE_DRIVER', 'file'),
@ -29,6 +26,9 @@ return [
| well as their drivers. You may even define multiple stores for the | well as their drivers. You may even define multiple stores for the
| same cache driver to group types of items stored in your caches. | same cache driver to group types of items stored in your caches.
| |
| Supported drivers: "apc", "array", "database", "file",
| "memcached", "redis", "dynamodb", "null"
|
*/ */
'stores' => [ 'stores' => [

View file

@ -15,7 +15,7 @@ return [
| |
*/ */
'paths' => ['api/*'], 'paths' => ['api/*', 'sanctum/csrf-cookie'],
'allowed_methods' => ['*'], 'allowed_methods' => ['*'],

View file

@ -15,19 +15,6 @@ return [
'default' => env('FILESYSTEM_DRIVER', 'local'), 'default' => env('FILESYSTEM_DRIVER', 'local'),
/*
|--------------------------------------------------------------------------
| Default Cloud Filesystem Disk
|--------------------------------------------------------------------------
|
| Many applications store files both locally and in the cloud. For this
| reason, you may specify a default "cloud" driver here. This driver
| will be bound as the Cloud disk implementation in the container.
|
*/
'cloud' => env('FILESYSTEM_CLOUD', 's3'),
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
| Filesystem Disks | Filesystem Disks

View file

@ -44,13 +44,13 @@ return [
'single' => [ 'single' => [
'driver' => 'single', 'driver' => 'single',
'path' => storage_path('logs/laravel.log'), 'path' => storage_path('logs/laravel.log'),
'level' => 'debug', 'level' => env('LOG_LEVEL', 'debug'),
], ],
'daily' => [ 'daily' => [
'driver' => 'daily', 'driver' => 'daily',
'path' => storage_path('logs/laravel.log'), 'path' => storage_path('logs/laravel.log'),
'level' => 'debug', 'level' => env('LOG_LEVEL', 'debug'),
'days' => 14, 'days' => 14,
], ],
@ -59,12 +59,12 @@ return [
'url' => env('LOG_SLACK_WEBHOOK_URL'), 'url' => env('LOG_SLACK_WEBHOOK_URL'),
'username' => 'Laravel Log', 'username' => 'Laravel Log',
'emoji' => ':boom:', 'emoji' => ':boom:',
'level' => 'critical', 'level' => env('LOG_LEVEL', 'critical'),
], ],
'papertrail' => [ 'papertrail' => [
'driver' => 'monolog', 'driver' => 'monolog',
'level' => 'debug', 'level' => env('LOG_LEVEL', 'debug'),
'handler' => SyslogUdpHandler::class, 'handler' => SyslogUdpHandler::class,
'handler_with' => [ 'handler_with' => [
'host' => env('PAPERTRAIL_URL'), 'host' => env('PAPERTRAIL_URL'),
@ -83,12 +83,12 @@ return [
'syslog' => [ 'syslog' => [
'driver' => 'syslog', 'driver' => 'syslog',
'level' => 'debug', 'level' => env('LOG_LEVEL', 'debug'),
], ],
'errorlog' => [ 'errorlog' => [
'driver' => 'errorlog', 'driver' => 'errorlog',
'level' => 'debug', 'level' => env('LOG_LEVEL', 'debug'),
], ],
'null' => [ 'null' => [

View file

@ -81,7 +81,7 @@ return [
*/ */
'failed' => [ 'failed' => [
'driver' => env('QUEUE_FAILED_DRIVER', 'database'), 'driver' => env('QUEUE_FAILED_DRIVER', 'database-uuids'),
'database' => env('DB_CONNECTION', 'mysql'), 'database' => env('DB_CONNECTION', 'mysql'),
'table' => 'failed_jobs', 'table' => 'failed_jobs',
], ],

View file

@ -1,28 +1,33 @@
<?php <?php
/** @var \Illuminate\Database\Eloquent\Factory $factory */ namespace Database\Factories;
use App\User; use App\Models\User;
use Faker\Generator as Faker; use Illuminate\Database\Eloquent\Factories\Factory;
use Illuminate\Support\Str; use Illuminate\Support\Str;
/* class UserFactory extends Factory
|-------------------------------------------------------------------------- {
| Model Factories /**
|-------------------------------------------------------------------------- * The name of the factory's corresponding model.
| *
| This directory should contain each of the model factory definitions for * @var string
| your application. Factories provide a convenient way to generate new */
| model instances for testing / seeding your application's database. protected $model = User::class;
|
*/
$factory->define(User::class, function (Faker $faker) { /**
return [ * Define the model's default state.
'name' => $faker->name, *
'email' => $faker->unique()->safeEmail, * @return array
'email_verified_at' => now(), */
'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password public function definition()
'remember_token' => Str::random(10), {
]; return [
}); 'name' => $this->faker->name,
'email' => $this->faker->unique()->safeEmail,
'email_verified_at' => now(),
'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
'remember_token' => Str::random(10),
];
}
}

View file

@ -14,7 +14,8 @@ class CreateFailedJobsTable extends Migration
public function up() public function up()
{ {
Schema::create('failed_jobs', function (Blueprint $table) { Schema::create('failed_jobs', function (Blueprint $table) {
$table->bigIncrements('id'); $table->id();
$table->string('uuid')->unique();
$table->text('connection'); $table->text('connection');
$table->text('queue'); $table->text('queue');
$table->longText('payload'); $table->longText('payload');

View file

@ -1,5 +1,7 @@
<?php <?php
namespace Database\Seeders;
use Illuminate\Database\Seeder; use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
@ -12,7 +14,6 @@ class DatabaseSeeder extends Seeder
*/ */
public function run() public function run()
{ {
Model::unguard(); // \App\Models\User::factory(10)->create();
Model::reguard();
} }
} }

View file

@ -12,11 +12,11 @@
<directory suffix="Test.php">./tests/Feature</directory> <directory suffix="Test.php">./tests/Feature</directory>
</testsuite> </testsuite>
</testsuites> </testsuites>
<filter> <coverage processUncoveredFiles="true">
<whitelist processUncoveredFilesFromWhitelist="true"> <include>
<directory suffix=".php">./app</directory> <directory suffix=".php">./app</directory>
</whitelist> </include>
</filter> </coverage>
<php> <php>
<server name="APP_ENV" value="testing"/> <server name="APP_ENV" value="testing"/>
<server name="BCRYPT_ROUNDS" value="4"/> <server name="BCRYPT_ROUNDS" value="4"/>

View file

@ -1,23 +1,33 @@
<?php <?php
/** use Illuminate\Contracts\Http\Kernel;
* Laravel - A PHP Framework For Web Artisans use Illuminate\Http\Request;
*
* @package Laravel
* @author Taylor Otwell <taylor@laravel.com>
*/
define('LARAVEL_START', microtime(true)); define('LARAVEL_START', microtime(true));
/*
|--------------------------------------------------------------------------
| Check If Application Is Under Maintenance
|--------------------------------------------------------------------------
|
| If the application is maintenance / demo mode via the "down" command we
| will require this file so that any prerendered template can be shown
| instead of starting the framework, which could cause an exception.
|
*/
if (file_exists(__DIR__.'/../storage/framework/maintenance.php')) {
require __DIR__.'/../storage/framework/maintenance.php';
}
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
| Register The Auto Loader | Register The Auto Loader
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
| |
| Composer provides a convenient, automatically generated class loader for | Composer provides a convenient, automatically generated class loader for
| our application. We just need to utilize it! We'll simply require it | this application. We just need to utilize it! We'll simply require it
| into the script here so that we don't have to worry about manual | into the script here so we don't need to manually load our classes.
| loading any of our classes later on. It feels great to relax.
| |
*/ */
@ -25,36 +35,21 @@ require __DIR__.'/../vendor/autoload.php';
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
| Turn On The Lights | Run The Application
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
| |
| We need to illuminate PHP development, so let us turn on the lights. | Once we have the application, we can handle the incoming request using
| This bootstraps the framework and gets it ready for use, then it | the application's HTTP kernel. Then, we will send the response back
| will load up this application so that we can run it and send | to this client's browser, allowing them to enjoy our application.
| the responses back to the browser and delight our users.
| |
*/ */
$app = require_once __DIR__.'/../bootstrap/app.php'; $app = require_once __DIR__.'/../bootstrap/app.php';
/* $kernel = $app->make(Kernel::class);
|--------------------------------------------------------------------------
| Run The Application
|--------------------------------------------------------------------------
|
| Once we have the application, we can handle the incoming request
| through the kernel, and send the associated response back to
| the client's browser allowing them to enjoy the creative
| and wonderful application we have prepared for them.
|
*/
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class); $response = tap($kernel->handle(
$request = Request::capture()
$response = $kernel->handle( ))->send();
$request = Illuminate\Http\Request::capture()
);
$response->send();
$kernel->terminate($request, $response); $kernel->terminate($request, $response);

View file

@ -3,7 +3,7 @@
A Hypothetical website template for bootstrapping new projects. A Hypothetical website template for bootstrapping new projects.
* Written and maintained by Kevin MacMartin * Written and maintained by Kevin MacMartin
* Based on Laravel 7.25.0 * Based on Laravel 8.4.4
## Setup ## Setup

0
resources/css/app.css vendored Normal file
View file

View file

@ -14,6 +14,7 @@ return [
*/ */
'failed' => 'These credentials do not match our records.', 'failed' => 'These credentials do not match our records.',
'password' => 'The provided password is incorrect.',
'throttle' => 'Too many login attempts. Please try again in :seconds seconds.', 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.',
]; ];

View file

@ -90,6 +90,7 @@ return [
'string' => 'The :attribute must be at least :min characters.', 'string' => 'The :attribute must be at least :min characters.',
'array' => 'The :attribute must have at least :min items.', 'array' => 'The :attribute must have at least :min items.',
], ],
'multiple_of' => 'The :attribute must be a multiple of :value',
'not_in' => 'The selected :attribute is invalid.', 'not_in' => 'The selected :attribute is invalid.',
'not_regex' => 'The :attribute format is invalid.', 'not_regex' => 'The :attribute format is invalid.',
'numeric' => 'The :attribute must be a number.', 'numeric' => 'The :attribute must be a number.',

View file

@ -11,7 +11,7 @@
<div class="dashboard-settings-container"> <div class="dashboard-settings-container">
<form id="user-profile-image" class="user-profile-image"> <form id="user-profile-image" class="user-profile-image">
@set('profile_image', $user->profileImage()) @set('profile_image', $user->profileImage())
@set('default_image', App\User::$default_profile_image) @set('default_image', App\Models\User::$default_profile_image)
<h2 class="form-title">Profile Image</h2> <h2 class="form-title">Profile Image</h2>
<div <div

View file

@ -13,6 +13,6 @@ use Illuminate\Support\Facades\Broadcast;
| |
*/ */
Broadcast::channel('App.User.{id}', function($user, $id) { Broadcast::channel('App.Models.User.{id}', function($user, $id) {
return (int) $user->id === (int) $id; return (int) $user->id === (int) $id;
}); });

View file

@ -16,4 +16,4 @@ use Illuminate\Support\Facades\Artisan;
Artisan::command('inspire', function() { Artisan::command('inspire', function() {
$this->comment(Inspiring::quote()); $this->comment(Inspiring::quote());
})->describe('Display an inspiring quote'); })->purpose('Display an inspiring quote');

View file

@ -1,8 +1,9 @@
config.php
routes.php
schedule-*
compiled.php compiled.php
services.json config.php
events.scanned.php
routes.scanned.php
down down
events.scanned.php
maintenance.php
routes.php
routes.scanned.php
schedule-*
services.json