Squashed commit of the following:

commit 7daedd241246bd11f371a8c93394796f8f5ec4cb
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Fri Aug 11 21:01:17 2017 +0100

    Bring in the latest changes from upstream repo laravel/laravel
This commit is contained in:
Jonny Barnes 2017-08-11 21:02:03 +01:00
parent b695b5be8c
commit 2b5e17ab4e
27 changed files with 132 additions and 55 deletions

View file

@ -1,10 +1,8 @@
APP_NAME=Laravel
APP_ENV=production APP_ENV=production
APP_KEY=SomeRandomString # Leave this APP_KEY=SomeRandomString # Leave this
APP_DEBUG=false APP_DEBUG=false
APP_LOG_LEVEL=warning APP_LOG_LEVEL=warning
APP_TIMEZONE=UTC
APP_LANG=en
APP_LOG=daily
DB_CONNECTION=pgsql DB_CONNECTION=pgsql
DB_HOST=127.0.0.1 DB_HOST=127.0.0.1
@ -13,6 +11,7 @@ DB_DATABASE=
DB_USERNAME= DB_USERNAME=
DB_PASSWORD= DB_PASSWORD=
BROADCAST_DRIVER=log
CACHE_DRIVER=file CACHE_DRIVER=file
SESSION_DRIVER=file SESSION_DRIVER=file
QUEUE_DRIVER=sync QUEUE_DRIVER=sync
@ -27,8 +26,10 @@ MAIL_PORT=2525
MAIL_USERNAME=null MAIL_USERNAME=null
MAIL_PASSWORD=null MAIL_PASSWORD=null
MAIL_ENCRYPTION=null MAIL_ENCRYPTION=null
MAILGUN_DOMAIN=null
MAILGUN_SECRET=null PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
AWS_S3_KEY=your-key AWS_S3_KEY=your-key
AWS_S3_SECRET=your-secret AWS_S3_SECRET=your-secret
@ -54,3 +55,8 @@ SCOUT_DRIVER=pgsql
PIWIK=false PIWIK=false
PIWIK_ID=1 PIWIK_ID=1
PIWIK_URL=https://analytics.jmb.lv/piwik.php PIWIK_URL=https://analytics.jmb.lv/piwik.php
APP_TIMEZONE=UTC
APP_LANG=en
APP_LOG=daily
SECURE_SESSION_COOKIE=true

1
.gitattributes vendored
View file

@ -2,3 +2,4 @@
*.css linguist-vendored *.css linguist-vendored
*.scss linguist-vendored *.scss linguist-vendored
*.js linguist-vendored *.js linguist-vendored
CHANGELOG.md export-ignore

5
.gitignore vendored
View file

@ -1,11 +1,14 @@
/node_modules /node_modules
/public/storage
/public/hot /public/hot
/public/storage
/storage/*.key /storage/*.key
/vendor /vendor
/.idea /.idea
/.vagrant
Homestead.yaml Homestead.yaml
Homestead.json Homestead.json
.npm-debug.log
yarn-error.log
.env .env
/public/files /public/files
/public/keybase.txt /public/keybase.txt

View file

@ -21,7 +21,7 @@ class LoginController extends Controller
use AuthenticatesUsers; use AuthenticatesUsers;
/** /**
* Where to redirect users after login / registration. * Where to redirect users after login.
* *
* @var string * @var string
*/ */
@ -34,6 +34,6 @@ class LoginController extends Controller
*/ */
public function __construct() public function __construct()
{ {
$this->middleware('guest', ['except' => 'logout']); $this->middleware('guest')->except('logout');
} }
} }

View file

@ -23,7 +23,7 @@ class RegisterController extends Controller
use RegistersUsers; use RegistersUsers;
/** /**
* Where to redirect users after login / registration. * Where to redirect users after registration.
* *
* @var string * @var string
*/ */
@ -48,9 +48,9 @@ class RegisterController extends Controller
protected function validator(array $data) protected function validator(array $data)
{ {
return Validator::make($data, [ return Validator::make($data, [
'name' => 'required|max:255', 'name' => 'required|string|max:255',
'email' => 'required|email|max:255|unique:users', 'email' => 'required|string|email|max:255|unique:users',
'password' => 'required|min:6|confirmed', 'password' => 'required|string|min:6|confirmed',
]); ]);
} }

View file

@ -30,6 +30,7 @@ class Kernel extends HttpKernel
\App\Http\Middleware\EncryptCookies::class, \App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class, \Illuminate\Session\Middleware\StartSession::class,
// \Illuminate\Session\Middleware\AuthenticateSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class, \Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class, \App\Http\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class, \Illuminate\Routing\Middleware\SubstituteBindings::class,
@ -57,8 +58,8 @@ class Kernel extends HttpKernel
'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class, 'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::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,
'myauth' => \App\Http\Middleware\MyAuthMiddleware::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'micropub.token' => \App\Http\Middleware\VerifyMicropubToken::class, 'micropub.token' => \App\Http\Middleware\VerifyMicropubToken::class,
'myauth' => \App\Http\Middleware\MyAuthMiddleware::class,
]; ];
} }

View file

@ -18,7 +18,7 @@ class RedirectIfAuthenticated
public function handle($request, Closure $next, $guard = null) public function handle($request, Closure $next, $guard = null)
{ {
if (Auth::guard($guard)->check()) { if (Auth::guard($guard)->check()) {
return redirect('/'); return redirect('/home');
} }
return $next($request); return $next($request);

View file

@ -2,6 +2,7 @@
namespace App\Providers; namespace App\Providers;
use Illuminate\Support\Facades\Gate;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider; use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
class AuthServiceProvider extends ServiceProvider class AuthServiceProvider extends ServiceProvider

View file

@ -19,7 +19,7 @@ class EventServiceProvider extends ServiceProvider
]; ];
/** /**
* Register any other events for your application. * Register any events for your application.
* *
* @return void * @return void
*/ */

View file

@ -19,7 +19,6 @@ class RouteServiceProvider extends ServiceProvider
/** /**
* Define your route model bindings, pattern filters, etc. * Define your route model bindings, pattern filters, etc.
* *
* @param \Illuminate\Routing\Router $router
* @return void * @return void
*/ */
public function boot() public function boot()

View file

@ -40,7 +40,7 @@ $status = $kernel->handle(
| Shutdown The Application | Shutdown The Application
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
| |
| Once Artisan has finished running. We will fire off the shutdown events | Once Artisan has finished running, we will fire off the shutdown events
| so that any final work may be done by the application before we shut | so that any final work may be done by the application before we shut
| down the process. This is the last thing to happen to the request. | down the process. This is the last thing to happen to the request.
| |

View file

@ -9,8 +9,8 @@ define('LARAVEL_START', microtime(true));
| |
| Composer provides a convenient, automatically generated class loader | Composer provides a convenient, automatically generated class loader
| for our application. We just need to utilize it! We'll require it | for our application. We just need to utilize it! We'll require it
| into the script here so that we do not have to worry about the | into the script here so we do not have to manually load any of
| loading of any our classes "manually". Feels great to relax. | our application's PHP classes. It just feels great to relax.
| |
*/ */

View file

@ -90,6 +90,7 @@ return [
| they have less time to be guessed. You may change this as needed. | they have less time to be guessed. You may change this as needed.
| |
*/ */
'passwords' => [ 'passwords' => [
'users' => [ 'users' => [
'provider' => 'users', 'provider' => 'users',

View file

@ -67,6 +67,17 @@ return [
'sslmode' => 'prefer', 'sslmode' => 'prefer',
], ],
'sqlsrv' => [
'driver' => 'sqlsrv',
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '1433'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => '',
],
'travis' => [ 'travis' => [
'driver' => 'pgsql', 'driver' => 'pgsql',
'host' => 'localhost', 'host' => 'localhost',
@ -106,7 +117,7 @@ return [
'redis' => [ 'redis' => [
'cluster' => false, 'client' => 'predis',
'default' => [ 'default' => [
'host' => env('REDIS_HOST', 'localhost'), 'host' => env('REDIS_HOST', 'localhost'),

View file

@ -13,7 +13,7 @@ return [
| |
*/ */
'default' => 'local', 'default' => env('FILESYSTEM_DRIVER', 'local'),
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
@ -26,7 +26,7 @@ return [
| |
*/ */
'cloud' => 's3', 'cloud' => env('FILESYSTEM_CLOUD', 's3'),
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------

View file

@ -113,6 +113,7 @@ return [
'markdown' => [ 'markdown' => [
'theme' => 'default', 'theme' => 'default',
'paths' => [ 'paths' => [
resource_path('views/vendor/mail'), resource_path('views/vendor/mail'),
], ],

View file

@ -8,7 +8,7 @@ return [
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
| |
| This file is for storing the credentials for third party services such | This file is for storing the credentials for third party services such
| as Stripe, Mailgun, Mandrill, and others. This file provides a sane | as Stripe, Mailgun, SparkPost and others. This file provides a sane
| default location for this type of information, allowing packages | default location for this type of information, allowing packages
| to have a conventional place to find your various credentials. | to have a conventional place to find your various credentials.
| |

View file

@ -161,7 +161,7 @@ return [
| |
*/ */
'secure' => (config('app.env') != 'testing'), 'secure' => env('SESSION_SECURE_COOKIE', false),
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------

View file

@ -13,10 +13,12 @@
/** @var \Illuminate\Database\Eloquent\Factory $factory */ /** @var \Illuminate\Database\Eloquent\Factory $factory */
$factory->define(App\User::class, function (Faker\Generator $faker) { $factory->define(App\User::class, function (Faker\Generator $faker) {
static $password;
return [ return [
'name' => $faker->name, 'name' => $faker->name,
'email' => $faker->safeEmail, 'email' => $faker->safeEmail,
'password' => bcrypt(str_random(10)), 'password' => $password ?: $password = bcrypt('secret'),
'remember_token' => str_random(10), 'remember_token' => str_random(10),
]; ];
}); });

View file

@ -9,10 +9,10 @@
processIsolation="false" processIsolation="false"
stopOnFailure="false"> stopOnFailure="false">
<testsuites> <testsuites>
<testsuite name="Feature Tests"> <testsuite name="Feature">
<directory suffix="Test.php">./tests/Feature</directory> <directory suffix="Test.php">./tests/Feature</directory>
</testsuite> </testsuite>
<testsuite name="Unit Tests"> <testsuite name="Unit">
<directory suffix="Test.php">./tests/Unit</directory> <directory suffix="Test.php">./tests/Unit</directory>
</testsuite> </testsuite>
</testsuites> </testsuites>

View file

@ -15,7 +15,7 @@
| 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 | our 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 that we don't have to worry about manual
| loading any of our classes later on. It feels nice to relax. | loading any of our classes later on. It feels great to relax.
| |
*/ */

View file

@ -14,6 +14,6 @@ return [
*/ */
'previous' => '&laquo; Previous', 'previous' => '&laquo; Previous',
'next' => 'Next &raquo;', 'next' => 'Next &raquo;',
]; ];

View file

@ -16,11 +16,13 @@ return [
'accepted' => 'The :attribute must be accepted.', 'accepted' => 'The :attribute must be accepted.',
'active_url' => 'The :attribute is not a valid URL.', 'active_url' => 'The :attribute is not a valid URL.',
'after' => 'The :attribute must be a date after :date.', 'after' => 'The :attribute must be a date after :date.',
'after_or_equal' => 'The :attribute must be a date after or equal to :date.',
'alpha' => 'The :attribute may only contain letters.', 'alpha' => 'The :attribute may only contain letters.',
'alpha_dash' => 'The :attribute may only contain letters, numbers, and dashes.', 'alpha_dash' => 'The :attribute may only contain letters, numbers, and dashes.',
'alpha_num' => 'The :attribute may only contain letters and numbers.', 'alpha_num' => 'The :attribute may only contain letters and numbers.',
'array' => 'The :attribute must be an array.', 'array' => 'The :attribute must be an array.',
'before' => 'The :attribute must be a date before :date.', 'before' => 'The :attribute must be a date before :date.',
'before_or_equal' => 'The :attribute must be a date before or equal to :date.',
'between' => [ 'between' => [
'numeric' => 'The :attribute must be between :min and :max.', 'numeric' => 'The :attribute must be between :min and :max.',
'file' => 'The :attribute must be between :min and :max kilobytes.', 'file' => 'The :attribute must be between :min and :max kilobytes.',
@ -38,13 +40,15 @@ return [
'distinct' => 'The :attribute field has a duplicate value.', 'distinct' => 'The :attribute field has a duplicate value.',
'email' => 'The :attribute must be a valid email address.', 'email' => 'The :attribute must be a valid email address.',
'exists' => 'The selected :attribute is invalid.', 'exists' => 'The selected :attribute is invalid.',
'file' => 'The :attribute must be a file.' 'file' => 'The :attribute must be a file.',
'filled' => 'The :attribute field is required.', 'filled' => 'The :attribute field must have a value.',
'image' => 'The :attribute must be an image.', 'image' => 'The :attribute must be an image.',
'in' => 'The selected :attribute is invalid.', 'in' => 'The selected :attribute is invalid.',
'in_array' => 'The :attribute field does not exist in :other.', 'in_array' => 'The :attribute field does not exist in :other.',
'integer' => 'The :attribute must be an integer.', 'integer' => 'The :attribute must be an integer.',
'ip' => 'The :attribute must be a valid IP address.', 'ip' => 'The :attribute must be a valid IP address.',
'ipv4' => 'The :attribute must be a valid IPv4 address.',
'ipv6' => 'The :attribute must be a valid IPv6 address.',
'json' => 'The :attribute must be a valid JSON string.', 'json' => 'The :attribute must be a valid JSON string.',
'max' => [ 'max' => [
'numeric' => 'The :attribute may not be greater than :max.', 'numeric' => 'The :attribute may not be greater than :max.',
@ -53,6 +57,7 @@ return [
'array' => 'The :attribute may not have more than :max items.', 'array' => 'The :attribute may not have more than :max items.',
], ],
'mimes' => 'The :attribute must be a file of type: :values.', 'mimes' => 'The :attribute must be a file of type: :values.',
'mimetypes' => 'The :attribute must be a file of type: :values.',
'min' => [ 'min' => [
'numeric' => 'The :attribute must be at least :min.', 'numeric' => 'The :attribute must be at least :min.',
'file' => 'The :attribute must be at least :min kilobytes.', 'file' => 'The :attribute must be at least :min kilobytes.',
@ -80,6 +85,7 @@ return [
'string' => 'The :attribute must be a string.', 'string' => 'The :attribute must be a string.',
'timezone' => 'The :attribute must be a valid zone.', 'timezone' => 'The :attribute must be a valid zone.',
'unique' => 'The :attribute has already been taken.', 'unique' => 'The :attribute has already been taken.',
'uploaded' => 'The :attribute failed to upload.',
'url' => 'The :attribute format is invalid.', 'url' => 'The :attribute format is invalid.',
/* /*

View file

@ -1,44 +1,86 @@
<!DOCTYPE html> <!doctype html>
<html> <html lang="{{ app()->getLocale() }}">
<head> <head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Laravel</title> <title>Laravel</title>
<link href="https://fonts.googleapis.com/css?family=Lato:100" rel="stylesheet" type="text/css"> <!-- Fonts -->
<link href="https://fonts.googleapis.com/css?family=Raleway:100,600" rel="stylesheet" type="text/css">
<!-- Styles -->
<style> <style>
html, body { html, body {
height: 100%; background-color: #fff;
} color: #636b6f;
font-family: 'Raleway', sans-serif;
body {
margin: 0;
padding: 0;
width: 100%;
display: table;
font-weight: 100; font-weight: 100;
font-family: 'Lato'; height: 100vh;
margin: 0;
} }
.full-height {
.container { height: 100vh;
text-align: center; }
display: table-cell; .flex-center {
vertical-align: middle; align-items: center;
display: flex;
justify-content: center;
}
.position-ref {
position: relative;
}
.top-right {
position: absolute;
right: 10px;
top: 18px;
} }
.content { .content {
text-align: center; text-align: center;
display: inline-block;
} }
.title { .title {
font-size: 96px; font-size: 84px;
}
.links > a {
color: #636b6f;
padding: 0 25px;
font-size: 12px;
font-weight: 600;
letter-spacing: .1rem;
text-decoration: none;
text-transform: uppercase;
}
.m-b-md {
margin-bottom: 30px;
} }
</style> </style>
</head> </head>
<body> <body>
<div class="container"> <div class="flex-center position-ref full-height">
@if (Route::has('login'))
<div class="top-right links">
@auth
<a href="{{ url('/home') }}">Home</a>
@else
<a href="{{ route('login') }}">Login</a>
<a href="{{ route('register') }}">Register</a>
@endauth
</div>
@endif
<div class="content"> <div class="content">
<div class="title">Laravel 5</div> <div class="title m-b-md">
Laravel
</div>
<div class="links">
<a href="https://laravel.com/docs">Documentation</a>
<a href="https://laracasts.com">Laracasts</a>
<a href="https://laravel-news.com">News</a>
<a href="https://forge.laravel.com">Forge</a>
<a href="https://github.com/laravel/laravel">GitHub</a>
</div>
</div> </div>
</div> </div>
</body> </body>

View file

@ -4,7 +4,7 @@
* Laravel - A PHP Framework For Web Artisans * Laravel - A PHP Framework For Web Artisans
* *
* @package Laravel * @package Laravel
* @author Taylor Otwell <taylorotwell@gmail.com> * @author Taylor Otwell <taylor@laravel.com>
*/ */
$uri = urldecode( $uri = urldecode(

View file

@ -14,7 +14,9 @@ trait CreatesApplication
public function createApplication() public function createApplication()
{ {
$app = require __DIR__.'/../bootstrap/app.php'; $app = require __DIR__.'/../bootstrap/app.php';
$app->make(Kernel::class)->bootstrap(); $app->make(Kernel::class)->bootstrap();
return $app; return $app;
} }
} }

View file

@ -17,6 +17,7 @@ class ExampleTest extends TestCase
public function testBasicTest() public function testBasicTest()
{ {
$response = $this->get('/'); $response = $this->get('/');
$response->assertStatus(200); $response->assertStatus(200);
} }
} }