Initial release
This commit is contained in:
42
app/Console/Kernel.php
Normal file
42
app/Console/Kernel.php
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Console;
|
||||||
|
|
||||||
|
use Illuminate\Console\Scheduling\Schedule;
|
||||||
|
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
|
||||||
|
|
||||||
|
class Kernel extends ConsoleKernel
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The Artisan commands provided by your application.
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
protected $commands = [
|
||||||
|
//
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Define the application's command schedule.
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Console\Scheduling\Schedule $schedule
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
protected function schedule(Schedule $schedule)
|
||||||
|
{
|
||||||
|
// $schedule->command('inspire')
|
||||||
|
// ->hourly();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Register the commands for the application.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
protected function commands()
|
||||||
|
{
|
||||||
|
$this->load(__DIR__.'/Commands');
|
||||||
|
|
||||||
|
require base_path('routes/console.php');
|
||||||
|
}
|
||||||
|
}
|
||||||
55
app/Exceptions/Handler.php
Normal file
55
app/Exceptions/Handler.php
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Exceptions;
|
||||||
|
|
||||||
|
use Exception;
|
||||||
|
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
|
||||||
|
|
||||||
|
class Handler extends ExceptionHandler
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* A list of the exception types that are not reported.
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
protected $dontReport = [
|
||||||
|
//
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A list of the inputs that are never flashed for validation exceptions.
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
protected $dontFlash = [
|
||||||
|
'password',
|
||||||
|
'password_confirmation',
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Report or log an exception.
|
||||||
|
*
|
||||||
|
* @param \Exception $exception
|
||||||
|
* @return void
|
||||||
|
*
|
||||||
|
* @throws \Exception
|
||||||
|
*/
|
||||||
|
public function report(Exception $exception)
|
||||||
|
{
|
||||||
|
parent::report($exception);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Render an exception into an HTTP response.
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Http\Request $request
|
||||||
|
* @param \Exception $exception
|
||||||
|
* @return \Symfony\Component\HttpFoundation\Response
|
||||||
|
*
|
||||||
|
* @throws \Exception
|
||||||
|
*/
|
||||||
|
public function render($request, Exception $exception)
|
||||||
|
{
|
||||||
|
return parent::render($request, $exception);
|
||||||
|
}
|
||||||
|
}
|
||||||
40
app/Http/Controllers/Auth/ConfirmPasswordController.php
Normal file
40
app/Http/Controllers/Auth/ConfirmPasswordController.php
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Auth;
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use App\Providers\RouteServiceProvider;
|
||||||
|
use Illuminate\Foundation\Auth\ConfirmsPasswords;
|
||||||
|
|
||||||
|
class ConfirmPasswordController extends Controller
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Confirm Password Controller
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This controller is responsible for handling password confirmations and
|
||||||
|
| uses a simple trait to include the behavior. You're free to explore
|
||||||
|
| this trait and override any functions that require customization.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
use ConfirmsPasswords;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Where to redirect users when the intended url fails.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $redirectTo = RouteServiceProvider::HOME;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new controller instance.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
$this->middleware('auth');
|
||||||
|
}
|
||||||
|
}
|
||||||
22
app/Http/Controllers/Auth/ForgotPasswordController.php
Normal file
22
app/Http/Controllers/Auth/ForgotPasswordController.php
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Auth;
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use Illuminate\Foundation\Auth\SendsPasswordResetEmails;
|
||||||
|
|
||||||
|
class ForgotPasswordController extends Controller
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Password Reset Controller
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This controller is responsible for handling password reset emails and
|
||||||
|
| includes a trait which assists in sending these notifications from
|
||||||
|
| your application to your users. Feel free to explore this trait.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
use SendsPasswordResetEmails;
|
||||||
|
}
|
||||||
40
app/Http/Controllers/Auth/LoginController.php
Normal file
40
app/Http/Controllers/Auth/LoginController.php
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Auth;
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use App\Providers\RouteServiceProvider;
|
||||||
|
use Illuminate\Foundation\Auth\AuthenticatesUsers;
|
||||||
|
|
||||||
|
class LoginController extends Controller
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Login Controller
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This controller handles authenticating users for the application and
|
||||||
|
| redirecting them to your home screen. The controller uses a trait
|
||||||
|
| to conveniently provide its functionality to your applications.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
use AuthenticatesUsers;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Where to redirect users after login.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $redirectTo = RouteServiceProvider::HOME;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new controller instance.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
$this->middleware('guest')->except('logout');
|
||||||
|
}
|
||||||
|
}
|
||||||
73
app/Http/Controllers/Auth/RegisterController.php
Normal file
73
app/Http/Controllers/Auth/RegisterController.php
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Auth;
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use App\Providers\RouteServiceProvider;
|
||||||
|
use App\User;
|
||||||
|
use Illuminate\Foundation\Auth\RegistersUsers;
|
||||||
|
use Illuminate\Support\Facades\Hash;
|
||||||
|
use Illuminate\Support\Facades\Validator;
|
||||||
|
|
||||||
|
class RegisterController extends Controller
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Register Controller
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This controller handles the registration of new users as well as their
|
||||||
|
| validation and creation. By default this controller uses a trait to
|
||||||
|
| provide this functionality without requiring any additional code.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
use RegistersUsers;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Where to redirect users after registration.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $redirectTo = RouteServiceProvider::HOME;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new controller instance.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
$this->middleware('guest');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a validator for an incoming registration request.
|
||||||
|
*
|
||||||
|
* @param array $data
|
||||||
|
* @return \Illuminate\Contracts\Validation\Validator
|
||||||
|
*/
|
||||||
|
protected function validator(array $data)
|
||||||
|
{
|
||||||
|
return Validator::make($data, [
|
||||||
|
'name' => ['required', 'string', 'max:255'],
|
||||||
|
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
|
||||||
|
'password' => ['required', 'string', 'min:8', 'confirmed'],
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new user instance after a valid registration.
|
||||||
|
*
|
||||||
|
* @param array $data
|
||||||
|
* @return \App\User
|
||||||
|
*/
|
||||||
|
protected function create(array $data)
|
||||||
|
{
|
||||||
|
return User::create([
|
||||||
|
'name' => $data['name'],
|
||||||
|
'email' => $data['email'],
|
||||||
|
'password' => Hash::make($data['password']),
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
30
app/Http/Controllers/Auth/ResetPasswordController.php
Normal file
30
app/Http/Controllers/Auth/ResetPasswordController.php
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Auth;
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use App\Providers\RouteServiceProvider;
|
||||||
|
use Illuminate\Foundation\Auth\ResetsPasswords;
|
||||||
|
|
||||||
|
class ResetPasswordController extends Controller
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Password Reset Controller
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This controller is responsible for handling password reset requests
|
||||||
|
| and uses a simple trait to include this behavior. You're free to
|
||||||
|
| explore this trait and override any methods you wish to tweak.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
use ResetsPasswords;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Where to redirect users after resetting their password.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $redirectTo = RouteServiceProvider::HOME;
|
||||||
|
}
|
||||||
42
app/Http/Controllers/Auth/VerificationController.php
Normal file
42
app/Http/Controllers/Auth/VerificationController.php
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Auth;
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use App\Providers\RouteServiceProvider;
|
||||||
|
use Illuminate\Foundation\Auth\VerifiesEmails;
|
||||||
|
|
||||||
|
class VerificationController extends Controller
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Email Verification Controller
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This controller is responsible for handling email verification for any
|
||||||
|
| user that recently registered with the application. Emails may also
|
||||||
|
| be re-sent if the user didn't receive the original email message.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
use VerifiesEmails;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Where to redirect users after verification.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $redirectTo = RouteServiceProvider::HOME;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new controller instance.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
$this->middleware('auth');
|
||||||
|
$this->middleware('signed')->only('verify');
|
||||||
|
$this->middleware('throttle:6,1')->only('verify', 'resend');
|
||||||
|
}
|
||||||
|
}
|
||||||
13
app/Http/Controllers/Controller.php
Normal file
13
app/Http/Controllers/Controller.php
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
|
||||||
|
use Illuminate\Foundation\Bus\DispatchesJobs;
|
||||||
|
use Illuminate\Foundation\Validation\ValidatesRequests;
|
||||||
|
use Illuminate\Routing\Controller as BaseController;
|
||||||
|
|
||||||
|
class Controller extends BaseController
|
||||||
|
{
|
||||||
|
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
|
||||||
|
}
|
||||||
82
app/Http/Kernel.php
Normal file
82
app/Http/Kernel.php
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http;
|
||||||
|
|
||||||
|
use Illuminate\Foundation\Http\Kernel as HttpKernel;
|
||||||
|
|
||||||
|
class Kernel extends HttpKernel
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The application's global HTTP middleware stack.
|
||||||
|
*
|
||||||
|
* These middleware are run during every request to your application.
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
protected $middleware = [
|
||||||
|
\App\Http\Middleware\TrustProxies::class,
|
||||||
|
\App\Http\Middleware\CheckForMaintenanceMode::class,
|
||||||
|
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
|
||||||
|
\App\Http\Middleware\TrimStrings::class,
|
||||||
|
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The application's route middleware groups.
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
protected $middlewareGroups = [
|
||||||
|
'web' => [
|
||||||
|
\App\Http\Middleware\EncryptCookies::class,
|
||||||
|
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
|
||||||
|
\Illuminate\Session\Middleware\StartSession::class,
|
||||||
|
// \Illuminate\Session\Middleware\AuthenticateSession::class,
|
||||||
|
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
|
||||||
|
\App\Http\Middleware\VerifyCsrfToken::class,
|
||||||
|
\Illuminate\Routing\Middleware\SubstituteBindings::class,
|
||||||
|
],
|
||||||
|
|
||||||
|
'api' => [
|
||||||
|
'throttle:60,1',
|
||||||
|
\Illuminate\Routing\Middleware\SubstituteBindings::class,
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The application's route middleware.
|
||||||
|
*
|
||||||
|
* These middleware may be assigned to groups or used individually.
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
protected $routeMiddleware = [
|
||||||
|
'auth' => \App\Http\Middleware\Authenticate::class,
|
||||||
|
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
|
||||||
|
'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
|
||||||
|
'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
|
||||||
|
'can' => \Illuminate\Auth\Middleware\Authorize::class,
|
||||||
|
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
|
||||||
|
'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class,
|
||||||
|
'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
|
||||||
|
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
|
||||||
|
'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The priority-sorted list of middleware.
|
||||||
|
*
|
||||||
|
* This forces non-global middleware to always be in the given order.
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
protected $middlewarePriority = [
|
||||||
|
\Illuminate\Session\Middleware\StartSession::class,
|
||||||
|
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
|
||||||
|
\App\Http\Middleware\Authenticate::class,
|
||||||
|
\Illuminate\Routing\Middleware\ThrottleRequests::class,
|
||||||
|
\Illuminate\Session\Middleware\AuthenticateSession::class,
|
||||||
|
\Illuminate\Routing\Middleware\SubstituteBindings::class,
|
||||||
|
\Illuminate\Auth\Middleware\Authorize::class,
|
||||||
|
];
|
||||||
|
}
|
||||||
21
app/Http/Middleware/Authenticate.php
Normal file
21
app/Http/Middleware/Authenticate.php
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
|
use Illuminate\Auth\Middleware\Authenticate as Middleware;
|
||||||
|
|
||||||
|
class Authenticate extends Middleware
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Get the path the user should be redirected to when they are not authenticated.
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Http\Request $request
|
||||||
|
* @return string|null
|
||||||
|
*/
|
||||||
|
protected function redirectTo($request)
|
||||||
|
{
|
||||||
|
if (! $request->expectsJson()) {
|
||||||
|
return route('login');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
17
app/Http/Middleware/CheckForMaintenanceMode.php
Normal file
17
app/Http/Middleware/CheckForMaintenanceMode.php
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
|
use Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode as Middleware;
|
||||||
|
|
||||||
|
class CheckForMaintenanceMode extends Middleware
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The URIs that should be reachable while maintenance mode is enabled.
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
protected $except = [
|
||||||
|
//
|
||||||
|
];
|
||||||
|
}
|
||||||
17
app/Http/Middleware/EncryptCookies.php
Normal file
17
app/Http/Middleware/EncryptCookies.php
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
|
use Illuminate\Cookie\Middleware\EncryptCookies as Middleware;
|
||||||
|
|
||||||
|
class EncryptCookies extends Middleware
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The names of the cookies that should not be encrypted.
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
protected $except = [
|
||||||
|
//
|
||||||
|
];
|
||||||
|
}
|
||||||
27
app/Http/Middleware/RedirectIfAuthenticated.php
Normal file
27
app/Http/Middleware/RedirectIfAuthenticated.php
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
|
use App\Providers\RouteServiceProvider;
|
||||||
|
use Closure;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
|
||||||
|
class RedirectIfAuthenticated
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Handle an incoming request.
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Http\Request $request
|
||||||
|
* @param \Closure $next
|
||||||
|
* @param string|null $guard
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function handle($request, Closure $next, $guard = null)
|
||||||
|
{
|
||||||
|
if (Auth::guard($guard)->check()) {
|
||||||
|
return redirect(RouteServiceProvider::HOME);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $next($request);
|
||||||
|
}
|
||||||
|
}
|
||||||
18
app/Http/Middleware/TrimStrings.php
Normal file
18
app/Http/Middleware/TrimStrings.php
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
|
use Illuminate\Foundation\Http\Middleware\TrimStrings as Middleware;
|
||||||
|
|
||||||
|
class TrimStrings extends Middleware
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The names of the attributes that should not be trimmed.
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
protected $except = [
|
||||||
|
'password',
|
||||||
|
'password_confirmation',
|
||||||
|
];
|
||||||
|
}
|
||||||
23
app/Http/Middleware/TrustProxies.php
Normal file
23
app/Http/Middleware/TrustProxies.php
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
|
use Fideloper\Proxy\TrustProxies as Middleware;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class TrustProxies extends Middleware
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The trusted proxies for this application.
|
||||||
|
*
|
||||||
|
* @var array|string
|
||||||
|
*/
|
||||||
|
protected $proxies;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The headers that should be used to detect proxies.
|
||||||
|
*
|
||||||
|
* @var int
|
||||||
|
*/
|
||||||
|
protected $headers = Request::HEADER_X_FORWARDED_ALL;
|
||||||
|
}
|
||||||
24
app/Http/Middleware/VerifyCsrfToken.php
Normal file
24
app/Http/Middleware/VerifyCsrfToken.php
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
|
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;
|
||||||
|
|
||||||
|
class VerifyCsrfToken extends Middleware
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Indicates whether the XSRF-TOKEN cookie should be set on the response.
|
||||||
|
*
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
protected $addHttpCookie = true;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The URIs that should be excluded from CSRF verification.
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
protected $except = [
|
||||||
|
//
|
||||||
|
];
|
||||||
|
}
|
||||||
28
app/Providers/AppServiceProvider.php
Normal file
28
app/Providers/AppServiceProvider.php
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Providers;
|
||||||
|
|
||||||
|
use Illuminate\Support\ServiceProvider;
|
||||||
|
|
||||||
|
class AppServiceProvider extends ServiceProvider
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Register any application services.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function register()
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Bootstrap any application services.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function boot()
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
}
|
||||||
30
app/Providers/AuthServiceProvider.php
Normal file
30
app/Providers/AuthServiceProvider.php
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Providers;
|
||||||
|
|
||||||
|
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
|
||||||
|
use Illuminate\Support\Facades\Gate;
|
||||||
|
|
||||||
|
class AuthServiceProvider extends ServiceProvider
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The policy mappings for the application.
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
protected $policies = [
|
||||||
|
// 'App\Model' => 'App\Policies\ModelPolicy',
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Register any authentication / authorization services.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function boot()
|
||||||
|
{
|
||||||
|
$this->registerPolicies();
|
||||||
|
|
||||||
|
//
|
||||||
|
}
|
||||||
|
}
|
||||||
21
app/Providers/BroadcastServiceProvider.php
Normal file
21
app/Providers/BroadcastServiceProvider.php
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Providers;
|
||||||
|
|
||||||
|
use Illuminate\Support\Facades\Broadcast;
|
||||||
|
use Illuminate\Support\ServiceProvider;
|
||||||
|
|
||||||
|
class BroadcastServiceProvider extends ServiceProvider
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Bootstrap any application services.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function boot()
|
||||||
|
{
|
||||||
|
Broadcast::routes();
|
||||||
|
|
||||||
|
require base_path('routes/channels.php');
|
||||||
|
}
|
||||||
|
}
|
||||||
34
app/Providers/EventServiceProvider.php
Normal file
34
app/Providers/EventServiceProvider.php
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Providers;
|
||||||
|
|
||||||
|
use Illuminate\Auth\Events\Registered;
|
||||||
|
use Illuminate\Auth\Listeners\SendEmailVerificationNotification;
|
||||||
|
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
|
||||||
|
use Illuminate\Support\Facades\Event;
|
||||||
|
|
||||||
|
class EventServiceProvider extends ServiceProvider
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The event listener mappings for the application.
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
protected $listen = [
|
||||||
|
Registered::class => [
|
||||||
|
SendEmailVerificationNotification::class,
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Register any events for your application.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function boot()
|
||||||
|
{
|
||||||
|
parent::boot();
|
||||||
|
|
||||||
|
//
|
||||||
|
}
|
||||||
|
}
|
||||||
80
app/Providers/RouteServiceProvider.php
Normal file
80
app/Providers/RouteServiceProvider.php
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Providers;
|
||||||
|
|
||||||
|
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
|
||||||
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
||||||
|
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.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
public const HOME = '/home';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Define your route model bindings, pattern filters, etc.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function boot()
|
||||||
|
{
|
||||||
|
//
|
||||||
|
|
||||||
|
parent::boot();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Define the routes for the application.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function map()
|
||||||
|
{
|
||||||
|
$this->mapApiRoutes();
|
||||||
|
|
||||||
|
$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'));
|
||||||
|
}
|
||||||
|
}
|
||||||
39
app/User.php
Normal file
39
app/User.php
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App;
|
||||||
|
|
||||||
|
use Illuminate\Contracts\Auth\MustVerifyEmail;
|
||||||
|
use Illuminate\Foundation\Auth\User as Authenticatable;
|
||||||
|
use Illuminate\Notifications\Notifiable;
|
||||||
|
|
||||||
|
class User extends Authenticatable
|
||||||
|
{
|
||||||
|
use Notifiable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The attributes that are mass assignable.
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
protected $fillable = [
|
||||||
|
'name', 'email', 'password',
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The attributes that should be hidden for arrays.
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
protected $hidden = [
|
||||||
|
'password', 'remember_token',
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The attributes that should be cast to native types.
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
protected $casts = [
|
||||||
|
'email_verified_at' => 'datetime',
|
||||||
|
];
|
||||||
|
}
|
||||||
62
composer.json
Normal file
62
composer.json
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
{
|
||||||
|
"name": "laravel/laravel",
|
||||||
|
"type": "project",
|
||||||
|
"description": "The Laravel Framework.",
|
||||||
|
"keywords": [
|
||||||
|
"framework",
|
||||||
|
"laravel"
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"require": {
|
||||||
|
"php": "^7.2",
|
||||||
|
"fideloper/proxy": "^4.0",
|
||||||
|
"laravel/framework": "^6.2",
|
||||||
|
"laravel/tinker": "^2.0",
|
||||||
|
"sebastienheyd/boilerplate": "^7.1"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"facade/ignition": "^1.4",
|
||||||
|
"fzaninotto/faker": "^1.9.1",
|
||||||
|
"mockery/mockery": "^1.0",
|
||||||
|
"nunomaduro/collision": "^3.0",
|
||||||
|
"phpunit/phpunit": "^8.0"
|
||||||
|
},
|
||||||
|
"config": {
|
||||||
|
"optimize-autoloader": true,
|
||||||
|
"preferred-install": "dist",
|
||||||
|
"sort-packages": true
|
||||||
|
},
|
||||||
|
"extra": {
|
||||||
|
"laravel": {
|
||||||
|
"dont-discover": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"App\\": "app/"
|
||||||
|
},
|
||||||
|
"classmap": [
|
||||||
|
"database/seeds",
|
||||||
|
"database/factories"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"autoload-dev": {
|
||||||
|
"psr-4": {
|
||||||
|
"Tests\\": "tests/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"minimum-stability": "dev",
|
||||||
|
"prefer-stable": true,
|
||||||
|
"scripts": {
|
||||||
|
"post-autoload-dump": [
|
||||||
|
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
|
||||||
|
"@php artisan package:discover --ansi"
|
||||||
|
],
|
||||||
|
"post-root-package-install": [
|
||||||
|
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
|
||||||
|
],
|
||||||
|
"post-create-project-cmd": [
|
||||||
|
"@php artisan key:generate --ansi"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
231
config/app.php
Normal file
231
config/app.php
Normal file
@@ -0,0 +1,231 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Application Name
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This value is the name of your application. This value is used when the
|
||||||
|
| framework needs to place the application's name in a notification or
|
||||||
|
| any other location as required by the application or its packages.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'name' => env('APP_NAME', 'Laravel'),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Application Environment
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This value determines the "environment" your application is currently
|
||||||
|
| running in. This may determine how you prefer to configure various
|
||||||
|
| services the application utilizes. Set this in your ".env" file.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'env' => env('APP_ENV', 'production'),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Application Debug Mode
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| When your application is in debug mode, detailed error messages with
|
||||||
|
| stack traces will be shown on every error that occurs within your
|
||||||
|
| application. If disabled, a simple generic error page is shown.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'debug' => env('APP_DEBUG', false),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Application URL
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This URL is used by the console to properly generate URLs when using
|
||||||
|
| the Artisan command line tool. You should set this to the root of
|
||||||
|
| your application so that it is used when running Artisan tasks.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'url' => env('APP_URL', 'http://localhost'),
|
||||||
|
|
||||||
|
'asset_url' => env('ASSET_URL', null),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Application Timezone
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may specify the default timezone for your application, which
|
||||||
|
| will be used by the PHP date and date-time functions. We have gone
|
||||||
|
| ahead and set this to a sensible default for you out of the box.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'timezone' => 'UTC',
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Application Locale Configuration
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The application locale determines the default locale that will be used
|
||||||
|
| by the translation service provider. You are free to set this value
|
||||||
|
| to any of the locales which will be supported by the application.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'locale' => 'en',
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Application Fallback Locale
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The fallback locale determines the locale to use when the current one
|
||||||
|
| is not available. You may change the value to correspond to any of
|
||||||
|
| the language folders that are provided through your application.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'fallback_locale' => 'en',
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Faker Locale
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This locale will be used by the Faker PHP library when generating fake
|
||||||
|
| data for your database seeds. For example, this will be used to get
|
||||||
|
| localized telephone numbers, street address information and more.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'faker_locale' => 'en_US',
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Encryption Key
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This key is used by the Illuminate encrypter service and should be set
|
||||||
|
| to a random, 32 character string, otherwise these encrypted strings
|
||||||
|
| will not be safe. Please do this before deploying an application!
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'key' => env('APP_KEY'),
|
||||||
|
|
||||||
|
'cipher' => 'AES-256-CBC',
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Autoloaded Service Providers
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The service providers listed here will be automatically loaded on the
|
||||||
|
| request to your application. Feel free to add your own services to
|
||||||
|
| this array to grant expanded functionality to your applications.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'providers' => [
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Laravel Framework Service Providers...
|
||||||
|
*/
|
||||||
|
Illuminate\Auth\AuthServiceProvider::class,
|
||||||
|
Illuminate\Broadcasting\BroadcastServiceProvider::class,
|
||||||
|
Illuminate\Bus\BusServiceProvider::class,
|
||||||
|
Illuminate\Cache\CacheServiceProvider::class,
|
||||||
|
Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class,
|
||||||
|
Illuminate\Cookie\CookieServiceProvider::class,
|
||||||
|
Illuminate\Database\DatabaseServiceProvider::class,
|
||||||
|
Illuminate\Encryption\EncryptionServiceProvider::class,
|
||||||
|
Illuminate\Filesystem\FilesystemServiceProvider::class,
|
||||||
|
Illuminate\Foundation\Providers\FoundationServiceProvider::class,
|
||||||
|
Illuminate\Hashing\HashServiceProvider::class,
|
||||||
|
Illuminate\Mail\MailServiceProvider::class,
|
||||||
|
Illuminate\Notifications\NotificationServiceProvider::class,
|
||||||
|
Illuminate\Pagination\PaginationServiceProvider::class,
|
||||||
|
Illuminate\Pipeline\PipelineServiceProvider::class,
|
||||||
|
Illuminate\Queue\QueueServiceProvider::class,
|
||||||
|
Illuminate\Redis\RedisServiceProvider::class,
|
||||||
|
Illuminate\Auth\Passwords\PasswordResetServiceProvider::class,
|
||||||
|
Illuminate\Session\SessionServiceProvider::class,
|
||||||
|
Illuminate\Translation\TranslationServiceProvider::class,
|
||||||
|
Illuminate\Validation\ValidationServiceProvider::class,
|
||||||
|
Illuminate\View\ViewServiceProvider::class,
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Package Service Providers...
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Application Service Providers...
|
||||||
|
*/
|
||||||
|
App\Providers\AppServiceProvider::class,
|
||||||
|
App\Providers\AuthServiceProvider::class,
|
||||||
|
// App\Providers\BroadcastServiceProvider::class,
|
||||||
|
App\Providers\EventServiceProvider::class,
|
||||||
|
App\Providers\RouteServiceProvider::class,
|
||||||
|
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Class Aliases
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This array of class aliases will be registered when this application
|
||||||
|
| is started. However, feel free to register as many as you wish as
|
||||||
|
| the aliases are "lazy" loaded so they don't hinder performance.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'aliases' => [
|
||||||
|
|
||||||
|
'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,
|
||||||
|
'Broadcast' => Illuminate\Support\Facades\Broadcast::class,
|
||||||
|
'Bus' => Illuminate\Support\Facades\Bus::class,
|
||||||
|
'Cache' => Illuminate\Support\Facades\Cache::class,
|
||||||
|
'Config' => Illuminate\Support\Facades\Config::class,
|
||||||
|
'Cookie' => Illuminate\Support\Facades\Cookie::class,
|
||||||
|
'Crypt' => Illuminate\Support\Facades\Crypt::class,
|
||||||
|
'DB' => Illuminate\Support\Facades\DB::class,
|
||||||
|
'Eloquent' => Illuminate\Database\Eloquent\Model::class,
|
||||||
|
'Event' => Illuminate\Support\Facades\Event::class,
|
||||||
|
'File' => Illuminate\Support\Facades\File::class,
|
||||||
|
'Gate' => Illuminate\Support\Facades\Gate::class,
|
||||||
|
'Hash' => Illuminate\Support\Facades\Hash::class,
|
||||||
|
'Lang' => Illuminate\Support\Facades\Lang::class,
|
||||||
|
'Log' => Illuminate\Support\Facades\Log::class,
|
||||||
|
'Mail' => Illuminate\Support\Facades\Mail::class,
|
||||||
|
'Notification' => Illuminate\Support\Facades\Notification::class,
|
||||||
|
'Password' => Illuminate\Support\Facades\Password::class,
|
||||||
|
'Queue' => Illuminate\Support\Facades\Queue::class,
|
||||||
|
'Redirect' => Illuminate\Support\Facades\Redirect::class,
|
||||||
|
'Redis' => Illuminate\Support\Facades\Redis::class,
|
||||||
|
'Request' => Illuminate\Support\Facades\Request::class,
|
||||||
|
'Response' => Illuminate\Support\Facades\Response::class,
|
||||||
|
'Route' => Illuminate\Support\Facades\Route::class,
|
||||||
|
'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,
|
||||||
|
|
||||||
|
],
|
||||||
|
|
||||||
|
];
|
||||||
117
config/auth.php
Normal file
117
config/auth.php
Normal file
@@ -0,0 +1,117 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Authentication Defaults
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This option controls the default authentication "guard" and password
|
||||||
|
| reset options for your application. You may change these defaults
|
||||||
|
| as required, but they're a perfect start for most applications.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'defaults' => [
|
||||||
|
'guard' => 'web',
|
||||||
|
'passwords' => 'users',
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Authentication Guards
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Next, you may define every authentication guard for your application.
|
||||||
|
| Of course, a great default configuration has been defined for you
|
||||||
|
| here which uses session storage and the Eloquent user provider.
|
||||||
|
|
|
||||||
|
| All authentication drivers have a user provider. This defines how the
|
||||||
|
| users are actually retrieved out of your database or other storage
|
||||||
|
| mechanisms used by this application to persist your user's data.
|
||||||
|
|
|
||||||
|
| Supported: "session", "token"
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'guards' => [
|
||||||
|
'web' => [
|
||||||
|
'driver' => 'session',
|
||||||
|
'provider' => 'users',
|
||||||
|
],
|
||||||
|
|
||||||
|
'api' => [
|
||||||
|
'driver' => 'token',
|
||||||
|
'provider' => 'users',
|
||||||
|
'hash' => false,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| User Providers
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| All authentication drivers have a user provider. This defines how the
|
||||||
|
| users are actually retrieved out of your database or other storage
|
||||||
|
| mechanisms used by this application to persist your user's data.
|
||||||
|
|
|
||||||
|
| If you have multiple user tables or models you may configure multiple
|
||||||
|
| sources which represent each model / table. These sources may then
|
||||||
|
| be assigned to any extra authentication guards you have defined.
|
||||||
|
|
|
||||||
|
| Supported: "database", "eloquent"
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'providers' => [
|
||||||
|
'users' => [
|
||||||
|
'driver' => 'eloquent',
|
||||||
|
'model' => App\User::class,
|
||||||
|
],
|
||||||
|
|
||||||
|
// 'users' => [
|
||||||
|
// 'driver' => 'database',
|
||||||
|
// 'table' => 'users',
|
||||||
|
// ],
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Resetting Passwords
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| You may specify multiple password reset configurations if you have more
|
||||||
|
| than one user table or model in the application and you want to have
|
||||||
|
| separate password reset settings based on the specific user types.
|
||||||
|
|
|
||||||
|
| The expire time is the number of minutes that the reset token should be
|
||||||
|
| considered valid. This security feature keeps tokens short-lived so
|
||||||
|
| they have less time to be guessed. You may change this as needed.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'passwords' => [
|
||||||
|
'users' => [
|
||||||
|
'provider' => 'users',
|
||||||
|
'table' => 'password_resets',
|
||||||
|
'expire' => 60,
|
||||||
|
'throttle' => 60,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Password Confirmation Timeout
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may define the amount of seconds before a password confirmation
|
||||||
|
| times out and the user is prompted to re-enter their password via the
|
||||||
|
| confirmation screen. By default, the timeout lasts for three hours.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'password_timeout' => 10800,
|
||||||
|
|
||||||
|
];
|
||||||
15
config/boilerplate/app.php
Normal file
15
config/boilerplate/app.php
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
// Backend routes prefix. Ex: "admin" => "http://..../admin"
|
||||||
|
'prefix' => 'admin',
|
||||||
|
|
||||||
|
// Backend domain if different as current domain. Ex: "admin.mydomain.tld"
|
||||||
|
'domain' => '',
|
||||||
|
|
||||||
|
// Redirect to this route after login
|
||||||
|
'redirectTo' => 'boilerplate.dashboard',
|
||||||
|
|
||||||
|
// Backend locale
|
||||||
|
'locale' => config('app.locale'),
|
||||||
|
];
|
||||||
13
config/boilerplate/auth.php
Normal file
13
config/boilerplate/auth.php
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
'register' => false, // Allow to register new users on backend login page
|
||||||
|
'register_role' => 'backend_user', // Given role to new users (except the first one who is admin)
|
||||||
|
'providers' => [
|
||||||
|
'users' => [
|
||||||
|
'driver' => 'eloquent',
|
||||||
|
'model' => Sebastienheyd\Boilerplate\Models\User::class,
|
||||||
|
'table' => 'users',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
];
|
||||||
7
config/boilerplate/laratrust.php
Normal file
7
config/boilerplate/laratrust.php
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
'user' => Sebastienheyd\Boilerplate\Models\User::class,
|
||||||
|
'role' => Sebastienheyd\Boilerplate\Models\Role::class,
|
||||||
|
'permission' => Sebastienheyd\Boilerplate\Models\Permission::class,
|
||||||
|
];
|
||||||
6
config/boilerplate/menu.php
Normal file
6
config/boilerplate/menu.php
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
'dashboard' => \Sebastienheyd\Boilerplate\Controllers\DashboardController::class, // Dashboard controller to use
|
||||||
|
'providers' => [], // Additional menu items providers
|
||||||
|
];
|
||||||
11
config/boilerplate/theme.php
Normal file
11
config/boilerplate/theme.php
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$theme = include __DIR__.'/themes/default.php';
|
||||||
|
|
||||||
|
// Additionnal views to append items to the navbar
|
||||||
|
$theme['navbar'] += [
|
||||||
|
'left' => [],
|
||||||
|
'right' => [],
|
||||||
|
];
|
||||||
|
|
||||||
|
return $theme;
|
||||||
50
config/boilerplate/themes/black.php
Normal file
50
config/boilerplate/themes/black.php
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* BG : blue, indigo, purple, pink, red, orange, yellow, green, teal, cyan, gray, gray-dark, black
|
||||||
|
* Type : dark, light
|
||||||
|
* Shadow : 0-4.
|
||||||
|
*/
|
||||||
|
return [
|
||||||
|
'navbar' => [
|
||||||
|
'bg' => 'gray-dark',
|
||||||
|
'type' => 'dark',
|
||||||
|
'border' => true,
|
||||||
|
'user' => [
|
||||||
|
'visible' => false,
|
||||||
|
'shadow' => 0,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'sidebar' => [
|
||||||
|
'type' => 'light',
|
||||||
|
'shadow' => 0,
|
||||||
|
'border' => false,
|
||||||
|
'compact' => false,
|
||||||
|
'links' => [
|
||||||
|
'bg' => 'gray-dark',
|
||||||
|
'shadow' => 0,
|
||||||
|
],
|
||||||
|
'brand' => [
|
||||||
|
'bg' => 'gray-dark',
|
||||||
|
'logo' => [
|
||||||
|
'bg' => 'white',
|
||||||
|
'icon' => '<i class="fa fa-cubes"></i>',
|
||||||
|
'text' => '<strong>BO</strong>ilerplate',
|
||||||
|
'shadow' => 2,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'user' => [
|
||||||
|
'visible' => true,
|
||||||
|
'shadow' => 0,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'footer' => [
|
||||||
|
'visible' => true,
|
||||||
|
'vendorname' => 'Boilerplate',
|
||||||
|
'vendorlink' => '',
|
||||||
|
],
|
||||||
|
'card' => [
|
||||||
|
'outline' => true,
|
||||||
|
'default_color' => 'info',
|
||||||
|
],
|
||||||
|
];
|
||||||
50
config/boilerplate/themes/default.php
Normal file
50
config/boilerplate/themes/default.php
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* BG : blue, indigo, purple, pink, red, orange, yellow, green, teal, cyan, gray, gray-dark, black
|
||||||
|
* Type : dark, light
|
||||||
|
* Shadow : 0-4.
|
||||||
|
*/
|
||||||
|
return [
|
||||||
|
'navbar' => [
|
||||||
|
'bg' => 'white',
|
||||||
|
'type' => 'light',
|
||||||
|
'border' => true,
|
||||||
|
'user' => [
|
||||||
|
'visible' => false,
|
||||||
|
'shadow' => 0,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'sidebar' => [
|
||||||
|
'type' => 'dark',
|
||||||
|
'shadow' => 4,
|
||||||
|
'border' => false,
|
||||||
|
'compact' => false,
|
||||||
|
'links' => [
|
||||||
|
'bg' => 'blue',
|
||||||
|
'shadow' => 1,
|
||||||
|
],
|
||||||
|
'brand' => [
|
||||||
|
'bg' => 'gray-dark',
|
||||||
|
'logo' => [
|
||||||
|
'bg' => 'blue',
|
||||||
|
'icon' => '<i class="fa fa-cubes"></i>',
|
||||||
|
'text' => '<strong>BO</strong>ilerplate',
|
||||||
|
'shadow' => 2,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'user' => [
|
||||||
|
'visible' => true,
|
||||||
|
'shadow' => 2,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'footer' => [
|
||||||
|
'visible' => true,
|
||||||
|
'vendorname' => 'Boilerplate',
|
||||||
|
'vendorlink' => '',
|
||||||
|
],
|
||||||
|
'card' => [
|
||||||
|
'outline' => true,
|
||||||
|
'default_color' => 'info',
|
||||||
|
],
|
||||||
|
];
|
||||||
50
config/boilerplate/themes/red.php
Normal file
50
config/boilerplate/themes/red.php
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* BG : blue, indigo, purple, pink, red, orange, yellow, green, teal, cyan, gray, gray-dark, black
|
||||||
|
* Type : dark, light
|
||||||
|
* Shadow : 0-4.
|
||||||
|
*/
|
||||||
|
return [
|
||||||
|
'navbar' => [
|
||||||
|
'bg' => 'red',
|
||||||
|
'type' => 'dark',
|
||||||
|
'border' => true,
|
||||||
|
'user' => [
|
||||||
|
'visible' => true,
|
||||||
|
'shadow' => 0,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'sidebar' => [
|
||||||
|
'type' => 'dark',
|
||||||
|
'shadow' => 0,
|
||||||
|
'border' => true,
|
||||||
|
'compact' => false,
|
||||||
|
'links' => [
|
||||||
|
'bg' => 'red',
|
||||||
|
'shadow' => 0,
|
||||||
|
],
|
||||||
|
'brand' => [
|
||||||
|
'bg' => 'red',
|
||||||
|
'logo' => [
|
||||||
|
'bg' => 'white',
|
||||||
|
'icon' => '<i class="fa fa-cubes"></i>',
|
||||||
|
'text' => '<strong>BO</strong>ilerplate',
|
||||||
|
'shadow' => 2,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'user' => [
|
||||||
|
'visible' => false,
|
||||||
|
'shadow' => 2,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'footer' => [
|
||||||
|
'visible' => true,
|
||||||
|
'vendorname' => 'Boilerplate',
|
||||||
|
'vendorlink' => '',
|
||||||
|
],
|
||||||
|
'card' => [
|
||||||
|
'outline' => true,
|
||||||
|
'default_color' => 'red',
|
||||||
|
],
|
||||||
|
];
|
||||||
59
config/broadcasting.php
Normal file
59
config/broadcasting.php
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Default Broadcaster
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This option controls the default broadcaster that will be used by the
|
||||||
|
| framework when an event needs to be broadcast. You may set this to
|
||||||
|
| any of the connections defined in the "connections" array below.
|
||||||
|
|
|
||||||
|
| Supported: "pusher", "redis", "log", "null"
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'default' => env('BROADCAST_DRIVER', 'null'),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Broadcast Connections
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may define all of the broadcast connections that will be used
|
||||||
|
| to broadcast events to other systems or over websockets. Samples of
|
||||||
|
| each available type of connection are provided inside this array.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'connections' => [
|
||||||
|
|
||||||
|
'pusher' => [
|
||||||
|
'driver' => 'pusher',
|
||||||
|
'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' => [
|
||||||
|
'driver' => 'redis',
|
||||||
|
'connection' => 'default',
|
||||||
|
],
|
||||||
|
|
||||||
|
'log' => [
|
||||||
|
'driver' => 'log',
|
||||||
|
],
|
||||||
|
|
||||||
|
'null' => [
|
||||||
|
'driver' => 'null',
|
||||||
|
],
|
||||||
|
|
||||||
|
],
|
||||||
|
|
||||||
|
];
|
||||||
103
config/cache.php
Normal file
103
config/cache.php
Normal file
@@ -0,0 +1,103 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Support\Str;
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Default Cache Store
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This option controls the default cache connection that gets used while
|
||||||
|
| using this caching library. This connection is used when another is
|
||||||
|
| not explicitly specified when executing a given caching function.
|
||||||
|
|
|
||||||
|
| Supported: "apc", "array", "database", "file",
|
||||||
|
| "memcached", "redis", "dynamodb"
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'default' => env('CACHE_DRIVER', 'file'),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Cache Stores
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may define all of the cache "stores" for your application as
|
||||||
|
| well as their drivers. You may even define multiple stores for the
|
||||||
|
| same cache driver to group types of items stored in your caches.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'stores' => [
|
||||||
|
|
||||||
|
'apc' => [
|
||||||
|
'driver' => 'apc',
|
||||||
|
],
|
||||||
|
|
||||||
|
'array' => [
|
||||||
|
'driver' => 'array',
|
||||||
|
],
|
||||||
|
|
||||||
|
'database' => [
|
||||||
|
'driver' => 'database',
|
||||||
|
'table' => 'cache',
|
||||||
|
'connection' => null,
|
||||||
|
],
|
||||||
|
|
||||||
|
'file' => [
|
||||||
|
'driver' => 'file',
|
||||||
|
'path' => storage_path('framework/cache/data'),
|
||||||
|
],
|
||||||
|
|
||||||
|
'memcached' => [
|
||||||
|
'driver' => 'memcached',
|
||||||
|
'persistent_id' => env('MEMCACHED_PERSISTENT_ID'),
|
||||||
|
'sasl' => [
|
||||||
|
env('MEMCACHED_USERNAME'),
|
||||||
|
env('MEMCACHED_PASSWORD'),
|
||||||
|
],
|
||||||
|
'options' => [
|
||||||
|
// Memcached::OPT_CONNECT_TIMEOUT => 2000,
|
||||||
|
],
|
||||||
|
'servers' => [
|
||||||
|
[
|
||||||
|
'host' => env('MEMCACHED_HOST', '127.0.0.1'),
|
||||||
|
'port' => env('MEMCACHED_PORT', 11211),
|
||||||
|
'weight' => 100,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'redis' => [
|
||||||
|
'driver' => 'redis',
|
||||||
|
'connection' => 'cache',
|
||||||
|
],
|
||||||
|
|
||||||
|
'dynamodb' => [
|
||||||
|
'driver' => 'dynamodb',
|
||||||
|
'key' => env('AWS_ACCESS_KEY_ID'),
|
||||||
|
'secret' => env('AWS_SECRET_ACCESS_KEY'),
|
||||||
|
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
|
||||||
|
'table' => env('DYNAMODB_CACHE_TABLE', 'cache'),
|
||||||
|
'endpoint' => env('DYNAMODB_ENDPOINT'),
|
||||||
|
],
|
||||||
|
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Cache Key Prefix
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| When utilizing a RAM based store such as APC or Memcached, there might
|
||||||
|
| be other applications utilizing the same cache. So, we'll specify a
|
||||||
|
| value to get prefixed to all our keys so we can avoid collisions.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache'),
|
||||||
|
|
||||||
|
];
|
||||||
147
config/database.php
Normal file
147
config/database.php
Normal file
@@ -0,0 +1,147 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Support\Str;
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Default Database Connection Name
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may specify which of the database connections below you wish
|
||||||
|
| to use as your default connection for all database work. Of course
|
||||||
|
| you may use many connections at once using the Database library.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'default' => env('DB_CONNECTION', 'mysql'),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Database Connections
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here are each of the database connections setup for your application.
|
||||||
|
| Of course, examples of configuring each database platform that is
|
||||||
|
| supported by Laravel is shown below to make development simple.
|
||||||
|
|
|
||||||
|
|
|
||||||
|
| All database work in Laravel is done through the PHP PDO facilities
|
||||||
|
| so make sure you have the driver for your particular database of
|
||||||
|
| choice installed on your machine before you begin development.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'connections' => [
|
||||||
|
|
||||||
|
'sqlite' => [
|
||||||
|
'driver' => 'sqlite',
|
||||||
|
'url' => env('DATABASE_URL'),
|
||||||
|
'database' => env('DB_DATABASE', database_path('database.sqlite')),
|
||||||
|
'prefix' => '',
|
||||||
|
'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
|
||||||
|
],
|
||||||
|
|
||||||
|
'mysql' => [
|
||||||
|
'driver' => 'mysql',
|
||||||
|
'url' => env('DATABASE_URL'),
|
||||||
|
'host' => env('DB_HOST', '127.0.0.1'),
|
||||||
|
'port' => env('DB_PORT', '3306'),
|
||||||
|
'database' => env('DB_DATABASE', 'forge'),
|
||||||
|
'username' => env('DB_USERNAME', 'forge'),
|
||||||
|
'password' => env('DB_PASSWORD', ''),
|
||||||
|
'unix_socket' => env('DB_SOCKET', ''),
|
||||||
|
'charset' => 'utf8mb4',
|
||||||
|
'collation' => 'utf8mb4_unicode_ci',
|
||||||
|
'prefix' => '',
|
||||||
|
'prefix_indexes' => true,
|
||||||
|
'strict' => true,
|
||||||
|
'engine' => null,
|
||||||
|
'options' => extension_loaded('pdo_mysql') ? array_filter([
|
||||||
|
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
|
||||||
|
]) : [],
|
||||||
|
],
|
||||||
|
|
||||||
|
'pgsql' => [
|
||||||
|
'driver' => 'pgsql',
|
||||||
|
'url' => env('DATABASE_URL'),
|
||||||
|
'host' => env('DB_HOST', '127.0.0.1'),
|
||||||
|
'port' => env('DB_PORT', '5432'),
|
||||||
|
'database' => env('DB_DATABASE', 'forge'),
|
||||||
|
'username' => env('DB_USERNAME', 'forge'),
|
||||||
|
'password' => env('DB_PASSWORD', ''),
|
||||||
|
'charset' => 'utf8',
|
||||||
|
'prefix' => '',
|
||||||
|
'prefix_indexes' => true,
|
||||||
|
'schema' => 'public',
|
||||||
|
'sslmode' => 'prefer',
|
||||||
|
],
|
||||||
|
|
||||||
|
'sqlsrv' => [
|
||||||
|
'driver' => 'sqlsrv',
|
||||||
|
'url' => env('DATABASE_URL'),
|
||||||
|
'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' => '',
|
||||||
|
'prefix_indexes' => true,
|
||||||
|
],
|
||||||
|
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Migration Repository Table
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This table keeps track of all the migrations that have already run for
|
||||||
|
| your application. Using this information, we can determine which of
|
||||||
|
| the migrations on disk haven't actually been run in the database.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'migrations' => 'migrations',
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Redis Databases
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Redis is an open source, fast, and advanced key-value store that also
|
||||||
|
| provides a richer body of commands than a typical key-value system
|
||||||
|
| such as APC or Memcached. Laravel makes it easy to dig right in.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'redis' => [
|
||||||
|
|
||||||
|
'client' => env('REDIS_CLIENT', 'phpredis'),
|
||||||
|
|
||||||
|
'options' => [
|
||||||
|
'cluster' => env('REDIS_CLUSTER', 'redis'),
|
||||||
|
'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'),
|
||||||
|
],
|
||||||
|
|
||||||
|
'default' => [
|
||||||
|
'url' => env('REDIS_URL'),
|
||||||
|
'host' => env('REDIS_HOST', '127.0.0.1'),
|
||||||
|
'password' => env('REDIS_PASSWORD', null),
|
||||||
|
'port' => env('REDIS_PORT', '6379'),
|
||||||
|
'database' => env('REDIS_DB', '0'),
|
||||||
|
],
|
||||||
|
|
||||||
|
'cache' => [
|
||||||
|
'url' => env('REDIS_URL'),
|
||||||
|
'host' => env('REDIS_HOST', '127.0.0.1'),
|
||||||
|
'password' => env('REDIS_PASSWORD', null),
|
||||||
|
'port' => env('REDIS_PORT', '6379'),
|
||||||
|
'database' => env('REDIS_CACHE_DB', '1'),
|
||||||
|
],
|
||||||
|
|
||||||
|
],
|
||||||
|
|
||||||
|
];
|
||||||
122
config/datatables.php
Normal file
122
config/datatables.php
Normal file
@@ -0,0 +1,122 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
/*
|
||||||
|
* DataTables search options.
|
||||||
|
*/
|
||||||
|
'search' => [
|
||||||
|
/*
|
||||||
|
* Smart search will enclose search keyword with wildcard string "%keyword%".
|
||||||
|
* SQL: column LIKE "%keyword%"
|
||||||
|
*/
|
||||||
|
'smart' => true,
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Multi-term search will explode search keyword using spaces resulting into multiple term search.
|
||||||
|
*/
|
||||||
|
'multi_term' => true,
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Case insensitive will search the keyword in lower case format.
|
||||||
|
* SQL: LOWER(column) LIKE LOWER(keyword)
|
||||||
|
*/
|
||||||
|
'case_insensitive' => true,
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Wild card will add "%" in between every characters of the keyword.
|
||||||
|
* SQL: column LIKE "%k%e%y%w%o%r%d%"
|
||||||
|
*/
|
||||||
|
'use_wildcards' => false,
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Perform a search which starts with the given keyword.
|
||||||
|
* SQL: column LIKE "keyword%"
|
||||||
|
*/
|
||||||
|
'starts_with' => false,
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
* DataTables internal index id response column name.
|
||||||
|
*/
|
||||||
|
'index_column' => 'DT_RowIndex',
|
||||||
|
|
||||||
|
/*
|
||||||
|
* List of available builders for DataTables.
|
||||||
|
* This is where you can register your custom dataTables builder.
|
||||||
|
*/
|
||||||
|
'engines' => [
|
||||||
|
'eloquent' => Yajra\DataTables\EloquentDataTable::class,
|
||||||
|
'query' => Yajra\DataTables\QueryDataTable::class,
|
||||||
|
'collection' => Yajra\DataTables\CollectionDataTable::class,
|
||||||
|
'resource' => Yajra\DataTables\ApiResourceDataTable::class,
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
* DataTables accepted builder to engine mapping.
|
||||||
|
* This is where you can override which engine a builder should use
|
||||||
|
* Note, only change this if you know what you are doing!
|
||||||
|
*/
|
||||||
|
'builders' => [
|
||||||
|
//Illuminate\Database\Eloquent\Relations\Relation::class => 'eloquent',
|
||||||
|
//Illuminate\Database\Eloquent\Builder::class => 'eloquent',
|
||||||
|
//Illuminate\Database\Query\Builder::class => 'query',
|
||||||
|
//Illuminate\Support\Collection::class => 'collection',
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Nulls last sql pattern for PostgreSQL & Oracle.
|
||||||
|
* For MySQL, use 'CASE WHEN :column IS NULL THEN 1 ELSE 0 END, :column :direction'
|
||||||
|
*/
|
||||||
|
'nulls_last_sql' => ':column :direction NULLS LAST',
|
||||||
|
|
||||||
|
/*
|
||||||
|
* User friendly message to be displayed on user if error occurs.
|
||||||
|
* Possible values:
|
||||||
|
* null - The exception message will be used on error response.
|
||||||
|
* 'throw' - Throws a \Yajra\DataTables\Exceptions\Exception. Use your custom error handler if needed.
|
||||||
|
* 'custom message' - Any friendly message to be displayed to the user. You can also use translation key.
|
||||||
|
*/
|
||||||
|
'error' => env('DATATABLES_ERROR', null),
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Default columns definition of dataTable utility functions.
|
||||||
|
*/
|
||||||
|
'columns' => [
|
||||||
|
/*
|
||||||
|
* List of columns hidden/removed on json response.
|
||||||
|
*/
|
||||||
|
'excess' => ['rn', 'row_num'],
|
||||||
|
|
||||||
|
/*
|
||||||
|
* List of columns to be escaped. If set to *, all columns are escape.
|
||||||
|
* Note: You can set the value to empty array to disable XSS protection.
|
||||||
|
*/
|
||||||
|
'escape' => '*',
|
||||||
|
|
||||||
|
/*
|
||||||
|
* List of columns that are allowed to display html content.
|
||||||
|
* Note: Adding columns to list will make us available to XSS attacks.
|
||||||
|
*/
|
||||||
|
'raw' => ['action'],
|
||||||
|
|
||||||
|
/*
|
||||||
|
* List of columns are are forbidden from being searched/sorted.
|
||||||
|
*/
|
||||||
|
'blacklist' => ['password', 'remember_token'],
|
||||||
|
|
||||||
|
/*
|
||||||
|
* List of columns that are only allowed fo search/sort.
|
||||||
|
* If set to *, all columns are allowed.
|
||||||
|
*/
|
||||||
|
'whitelist' => '*',
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
* JsonResponse header and options config.
|
||||||
|
*/
|
||||||
|
'json' => [
|
||||||
|
'header' => [],
|
||||||
|
'options' => 0,
|
||||||
|
],
|
||||||
|
|
||||||
|
];
|
||||||
69
config/filesystems.php
Normal file
69
config/filesystems.php
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Default Filesystem Disk
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may specify the default filesystem disk that should be used
|
||||||
|
| by the framework. The "local" disk, as well as a variety of cloud
|
||||||
|
| based disks are available to your application. Just store away!
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'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
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may configure as many filesystem "disks" as you wish, and you
|
||||||
|
| may even configure multiple disks of the same driver. Defaults have
|
||||||
|
| been setup for each driver as an example of the required options.
|
||||||
|
|
|
||||||
|
| Supported Drivers: "local", "ftp", "sftp", "s3"
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'disks' => [
|
||||||
|
|
||||||
|
'local' => [
|
||||||
|
'driver' => 'local',
|
||||||
|
'root' => storage_path('app'),
|
||||||
|
],
|
||||||
|
|
||||||
|
'public' => [
|
||||||
|
'driver' => 'local',
|
||||||
|
'root' => storage_path('app/public'),
|
||||||
|
'url' => env('APP_URL').'/storage',
|
||||||
|
'visibility' => 'public',
|
||||||
|
],
|
||||||
|
|
||||||
|
's3' => [
|
||||||
|
'driver' => 's3',
|
||||||
|
'key' => env('AWS_ACCESS_KEY_ID'),
|
||||||
|
'secret' => env('AWS_SECRET_ACCESS_KEY'),
|
||||||
|
'region' => env('AWS_DEFAULT_REGION'),
|
||||||
|
'bucket' => env('AWS_BUCKET'),
|
||||||
|
'url' => env('AWS_URL'),
|
||||||
|
],
|
||||||
|
|
||||||
|
],
|
||||||
|
|
||||||
|
];
|
||||||
48
config/flare.php
Normal file
48
config/flare.php
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
/*
|
||||||
|
|
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Flare API key
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Specify Flare's API key below to enable error reporting to the service.
|
||||||
|
|
|
||||||
|
| More info: https://flareapp.io/docs/general/projects
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'key' => env('FLARE_KEY'),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Reporting Options
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| These options determine which information will be transmitted to Flare.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'reporting' => [
|
||||||
|
'anonymize_ips' => true,
|
||||||
|
'collect_git_information' => true,
|
||||||
|
'report_queries' => true,
|
||||||
|
'maximum_number_of_collected_queries' => 200,
|
||||||
|
'report_query_bindings' => true,
|
||||||
|
'report_view_data' => true,
|
||||||
|
'grouping_type' => null,
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Reporting Log statements
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| If this setting is `false` log statements won't be send as events to Flare,
|
||||||
|
| no matter which error level you specified in the Flare log channel.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'send_logs_as_events' => true,
|
||||||
|
];
|
||||||
23
config/gravatar.php
Normal file
23
config/gravatar.php
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return array(
|
||||||
|
// --- The default avatar size
|
||||||
|
'size' => 80,
|
||||||
|
|
||||||
|
// --- The default avatar to display if we have no results
|
||||||
|
// (bool) false
|
||||||
|
// (string) 404
|
||||||
|
// (string) mm: (mystery-man) a simple, cartoon-style silhouetted outline of a person (does not vary by email hash).
|
||||||
|
// (string) identicon: a geometric pattern based on an email hash.
|
||||||
|
// (string) monsterid: a generated 'monster' with different colors, faces, etc.
|
||||||
|
// (string) wavatar: generated faces with differing features and backgrounds.
|
||||||
|
// (string) retro: awesome generated, 8-bit arcade-style pixelated faces.
|
||||||
|
'default' => 'identicon',
|
||||||
|
|
||||||
|
// --- Set the type of avatars we allow to show
|
||||||
|
// - g: suitable for display on all websites with any audience type.
|
||||||
|
// - pg: may contain rude gestures, provocatively dressed individuals, the lesser swear words, or mild violence.
|
||||||
|
// - r: may contain such things as harsh profanity, intense violence, nudity, or hard drug use.
|
||||||
|
// - x: may contain hardcore sexual imagery or extremely disturbing violence.
|
||||||
|
'maxRating' => 'g'
|
||||||
|
);
|
||||||
52
config/hashing.php
Normal file
52
config/hashing.php
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Default Hash Driver
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This option controls the default hash driver that will be used to hash
|
||||||
|
| passwords for your application. By default, the bcrypt algorithm is
|
||||||
|
| used; however, you remain free to modify this option if you wish.
|
||||||
|
|
|
||||||
|
| Supported: "bcrypt", "argon", "argon2id"
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'driver' => 'bcrypt',
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Bcrypt Options
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may specify the configuration options that should be used when
|
||||||
|
| passwords are hashed using the Bcrypt algorithm. This will allow you
|
||||||
|
| to control the amount of time it takes to hash the given password.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'bcrypt' => [
|
||||||
|
'rounds' => env('BCRYPT_ROUNDS', 10),
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Argon Options
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may specify the configuration options that should be used when
|
||||||
|
| passwords are hashed using the Argon algorithm. These will allow you
|
||||||
|
| to control the amount of time it takes to hash the given password.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'argon' => [
|
||||||
|
'memory' => 1024,
|
||||||
|
'threads' => 2,
|
||||||
|
'time' => 2,
|
||||||
|
],
|
||||||
|
|
||||||
|
];
|
||||||
125
config/ignition.php
Normal file
125
config/ignition.php
Normal file
@@ -0,0 +1,125 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Editor
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Choose your preferred editor to use when clicking any edit button.
|
||||||
|
|
|
||||||
|
| Supported: "phpstorm", "vscode", "vscode-insiders",
|
||||||
|
| "sublime", "atom"
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'editor' => env('IGNITION_EDITOR', 'phpstorm'),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Theme
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may specify which theme Ignition should use.
|
||||||
|
|
|
||||||
|
| Supported: "light", "dark", "auto"
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'theme' => env('IGNITION_THEME', 'light'),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Sharing
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| You can share local errors with colleagues or others around the world.
|
||||||
|
| Sharing is completely free and doesn't require an account on Flare.
|
||||||
|
|
|
||||||
|
| If necessary, you can completely disable sharing below.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'enable_share_button' => env('IGNITION_SHARING_ENABLED', true),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Register Ignition commands
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Ignition comes with an additional make command that lets you create
|
||||||
|
| new solution classes more easily. To keep your default Laravel
|
||||||
|
| installation clean, this command is not registered by default.
|
||||||
|
|
|
||||||
|
| You can enable the command registration below.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
'register_commands' => env('REGISTER_IGNITION_COMMANDS', false),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Ignored Solution Providers
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| You may specify a list of solution providers (as fully qualified class
|
||||||
|
| names) that shouldn't be loaded. Ignition will ignore these classes
|
||||||
|
| and possible solutions provided by them will never be displayed.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'ignored_solution_providers' => [
|
||||||
|
//
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Runnable Solutions
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Some solutions that Ignition displays are runnable and can perform
|
||||||
|
| various tasks. Runnable solutions are enabled when your app has
|
||||||
|
| debug mode enabled. You may also fully disable this feature.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'enable_runnable_solutions' => env('IGNITION_ENABLE_RUNNABLE_SOLUTIONS', null),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Remote Path Mapping
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| If you are using a remote dev server, like Laravel Homestead, Docker, or
|
||||||
|
| even a remote VPS, it will be necessary to specify your path mapping.
|
||||||
|
|
|
||||||
|
| Leaving one, or both of these, empty or null will not trigger the remote
|
||||||
|
| URL changes and Ignition will treat your editor links as local files.
|
||||||
|
|
|
||||||
|
| "remote_sites_path" is an absolute base path for your sites or projects
|
||||||
|
| in Homestead, Vagrant, Docker, or another remote development server.
|
||||||
|
|
|
||||||
|
| Example value: "/home/vagrant/Code"
|
||||||
|
|
|
||||||
|
| "local_sites_path" is an absolute base path for your sites or projects
|
||||||
|
| on your local computer where your IDE or code editor is running on.
|
||||||
|
|
|
||||||
|
| Example values: "/Users/<name>/Code", "C:\Users\<name>\Documents\Code"
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'remote_sites_path' => env('IGNITION_REMOTE_SITES_PATH', ''),
|
||||||
|
'local_sites_path' => env('IGNITION_LOCAL_SITES_PATH', ''),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Housekeeping Endpoint Prefix
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Ignition registers a couple of routes when it is enabled. Below you may
|
||||||
|
| specify a route prefix that will be used to host all internal links.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
'housekeeping_endpoint_prefix' => '_ignition',
|
||||||
|
|
||||||
|
];
|
||||||
20
config/image.php
Normal file
20
config/image.php
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Image Driver
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Intervention Image supports "GD Library" and "Imagick" to process images
|
||||||
|
| internally. You may choose one of them according to your PHP
|
||||||
|
| configuration. By default PHP's "GD Library" implementation is used.
|
||||||
|
|
|
||||||
|
| Supported: "gd", "imagick"
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'driver' => 'gd'
|
||||||
|
|
||||||
|
];
|
||||||
268
config/laratrust.php
Normal file
268
config/laratrust.php
Normal file
@@ -0,0 +1,268 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This file is part of Laratrust,
|
||||||
|
* a role & permission management solution for Laravel.
|
||||||
|
*
|
||||||
|
* @license MIT
|
||||||
|
* @package Laratrust
|
||||||
|
*/
|
||||||
|
|
||||||
|
return [
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Use MorphMap in relationships between models
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| If true, the morphMap feature is going to be used. The array values that
|
||||||
|
| are going to be used are the ones inside the 'user_models' array.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
'use_morph_map' => false,
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Which permissions and role checker to use.
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Defines if you want to use the roles and permissions checker.
|
||||||
|
| Available:
|
||||||
|
| - default: Check for the roles and permissions using the method that Laratrust
|
||||||
|
has always used.
|
||||||
|
| - query: Check for the roles and permissions using direct queries to the database.
|
||||||
|
| This method doesn't support cache yet.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
'checker' => 'default',
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Cache
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Manage Laratrust's cache configurations. It uses the driver defined in the
|
||||||
|
| config/cache.php file.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
'cache' => [
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Use cache in the package
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Defines if Laratrust will use Laravel's Cache to cache the roles and permissions.
|
||||||
|
| NOTE: Currently the database check does not use cache.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
'enabled' => true,
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Time to store in cache Laratrust's roles and permissions.
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Determines the time in SECONDS to store Laratrust's roles and permissions in the cache.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
'expiration_time' => 3600,
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Use teams feature in the package
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Defines if Laratrust will use the teams feature.
|
||||||
|
| Please check the docs to see what you need to do in case you have the package already configured.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
'use_teams' => false,
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Strict check for roles/permissions inside teams
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Determines if a strict check should be done when checking if a role or permission
|
||||||
|
| is attached inside a team.
|
||||||
|
| If it's false, when checking a role/permission without specifying the team,
|
||||||
|
| it will check only if the user has attached that role/permission ignoring the team.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
'teams_strict_check' => false,
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Laratrust User Models
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This is the array that contains the information of the user models.
|
||||||
|
| This information is used in the add-trait command, and for the roles and
|
||||||
|
| permissions relationships with the possible user models.
|
||||||
|
|
|
||||||
|
| The key in the array is the name of the relationship inside the roles and permissions.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
'user_models' => [
|
||||||
|
'users' => 'App\User',
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Laratrust Models
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| These are the models used by Laratrust to define the roles, permissions and teams.
|
||||||
|
| If you want the Laratrust models to be in a different namespace or
|
||||||
|
| to have a different name, you can do it here.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
'models' => [
|
||||||
|
/**
|
||||||
|
* Role model
|
||||||
|
*/
|
||||||
|
'role' => 'App\Role',
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Permission model
|
||||||
|
*/
|
||||||
|
'permission' => 'App\Permission',
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Team model
|
||||||
|
*/
|
||||||
|
'team' => 'App\Team',
|
||||||
|
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Laratrust Tables
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| These are the tables used by Laratrust to store all the authorization data.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
'tables' => [
|
||||||
|
/**
|
||||||
|
* Roles table.
|
||||||
|
*/
|
||||||
|
'roles' => 'roles',
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Permissions table.
|
||||||
|
*/
|
||||||
|
'permissions' => 'permissions',
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Teams table.
|
||||||
|
*/
|
||||||
|
'teams' => 'teams',
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Role - User intermediate table.
|
||||||
|
*/
|
||||||
|
'role_user' => 'role_user',
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Permission - User intermediate table.
|
||||||
|
*/
|
||||||
|
'permission_user' => 'permission_user',
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Permission - Role intermediate table.
|
||||||
|
*/
|
||||||
|
'permission_role' => 'permission_role',
|
||||||
|
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Laratrust Foreign Keys
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| These are the foreign keys used by laratrust in the intermediate tables.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
'foreign_keys' => [
|
||||||
|
/**
|
||||||
|
* User foreign key on Laratrust's role_user and permission_user tables.
|
||||||
|
*/
|
||||||
|
'user' => 'user_id',
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Role foreign key on Laratrust's role_user and permission_role tables.
|
||||||
|
*/
|
||||||
|
'role' => 'role_id',
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Role foreign key on Laratrust's permission_user and permission_role tables.
|
||||||
|
*/
|
||||||
|
'permission' => 'permission_id',
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Role foreign key on Laratrust's role_user and permission_user tables.
|
||||||
|
*/
|
||||||
|
'team' => 'team_id',
|
||||||
|
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Laratrust Middleware
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This configuration helps to customize the Laratrust middleware behavior.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
'middleware' => [
|
||||||
|
/**
|
||||||
|
* Define if the laratrust middleware are registered automatically in the service provider
|
||||||
|
*/
|
||||||
|
'register' => true,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method to be called in the middleware return case.
|
||||||
|
* Available: abort|redirect
|
||||||
|
*/
|
||||||
|
'handling' => 'abort',
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handlers for the unauthorized method in the middlewares.
|
||||||
|
* The name of the handler must be the same as the handling.
|
||||||
|
*/
|
||||||
|
'handlers' => [
|
||||||
|
/**
|
||||||
|
* Aborts the execution with a 403 code and allows you to provide the response text
|
||||||
|
*/
|
||||||
|
'abort' => [
|
||||||
|
'code' => 403,
|
||||||
|
'message' => 'User does not have any of the necessary access rights.'
|
||||||
|
],
|
||||||
|
/**
|
||||||
|
* Redirects the user to the given url.
|
||||||
|
* If you want to flash a key to the session,
|
||||||
|
* you can do it by setting the key and the content of the message
|
||||||
|
* If the message content is empty it won't be added to the redirection.
|
||||||
|
*/
|
||||||
|
'redirect' => [
|
||||||
|
'url' => '/home',
|
||||||
|
'message' => [
|
||||||
|
'key' => 'error',
|
||||||
|
'content' => ''
|
||||||
|
]
|
||||||
|
]
|
||||||
|
]
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Laratrust Magic 'can' Method
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Supported cases for the magic can method (Refer to the docs).
|
||||||
|
| Available: camel_case|snake_case|kebab_case
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
'magic_can_method_case' => 'kebab_case',
|
||||||
|
];
|
||||||
29
config/laratrust_seeder.php
Normal file
29
config/laratrust_seeder.php
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
'role_structure' => [
|
||||||
|
'superadministrator' => [
|
||||||
|
'users' => 'c,r,u,d',
|
||||||
|
'acl' => 'c,r,u,d',
|
||||||
|
'profile' => 'r,u'
|
||||||
|
],
|
||||||
|
'administrator' => [
|
||||||
|
'users' => 'c,r,u,d',
|
||||||
|
'profile' => 'r,u'
|
||||||
|
],
|
||||||
|
'user' => [
|
||||||
|
'profile' => 'r,u'
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'permission_structure' => [
|
||||||
|
'cru_user' => [
|
||||||
|
'profile' => 'c,r,u'
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'permissions_map' => [
|
||||||
|
'c' => 'create',
|
||||||
|
'r' => 'read',
|
||||||
|
'u' => 'update',
|
||||||
|
'd' => 'delete'
|
||||||
|
]
|
||||||
|
];
|
||||||
13
config/laravel-menu/settings.php
Normal file
13
config/laravel-menu/settings.php
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return array(
|
||||||
|
'default' => array(
|
||||||
|
'auto_activate' => true,
|
||||||
|
'activate_parents' => true,
|
||||||
|
'active_class' => 'active',
|
||||||
|
'restful' => false,
|
||||||
|
'cascade_data' => true,
|
||||||
|
'rest_base' => '', // string|array
|
||||||
|
'active_element' => 'item', // item|link
|
||||||
|
),
|
||||||
|
);
|
||||||
5
config/laravel-menu/views.php
Normal file
5
config/laravel-menu/views.php
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return array(
|
||||||
|
'bootstrap-items' => 'laravel-menu::bootstrap-navbar-items',
|
||||||
|
);
|
||||||
141
config/log-viewer.php
Normal file
141
config/log-viewer.php
Normal file
@@ -0,0 +1,141 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Arcanedev\LogViewer\Contracts\Utilities\Filesystem;
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/* -----------------------------------------------------------------
|
||||||
|
| Log files storage path
|
||||||
|
| -----------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
'storage-path' => storage_path('logs'),
|
||||||
|
|
||||||
|
/* -----------------------------------------------------------------
|
||||||
|
| Log files pattern
|
||||||
|
| -----------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
'pattern' => [
|
||||||
|
'prefix' => Filesystem::PATTERN_PREFIX, // 'laravel-'
|
||||||
|
'date' => Filesystem::PATTERN_DATE, // '[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]'
|
||||||
|
'extension' => Filesystem::PATTERN_EXTENSION, // '.log'
|
||||||
|
],
|
||||||
|
|
||||||
|
/* -----------------------------------------------------------------
|
||||||
|
| Locale
|
||||||
|
| -----------------------------------------------------------------
|
||||||
|
| Supported locales :
|
||||||
|
| 'auto', 'ar', 'bg', 'de', 'en', 'es', 'et', 'fa', 'fr', 'hu', 'hy', 'id', 'it', 'ja', 'ko', 'nl',
|
||||||
|
| 'pl', 'pt-BR', 'ro', 'ru', 'sv', 'th', 'tr', 'zh-TW', 'zh'
|
||||||
|
*/
|
||||||
|
|
||||||
|
'locale' => 'auto',
|
||||||
|
|
||||||
|
/* -----------------------------------------------------------------
|
||||||
|
| Theme
|
||||||
|
| -----------------------------------------------------------------
|
||||||
|
| Supported themes :
|
||||||
|
| 'bootstrap-3', 'bootstrap-4'
|
||||||
|
| Make your own theme by adding a folder to the views directory and specifying it here.
|
||||||
|
*/
|
||||||
|
|
||||||
|
'theme' => 'bootstrap-4',
|
||||||
|
|
||||||
|
/* -----------------------------------------------------------------
|
||||||
|
| Route settings
|
||||||
|
| -----------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
'route' => [
|
||||||
|
'enabled' => true,
|
||||||
|
|
||||||
|
'attributes' => [
|
||||||
|
'prefix' => 'log-viewer',
|
||||||
|
|
||||||
|
'middleware' => env('ARCANEDEV_LOGVIEWER_MIDDLEWARE') ? explode(',', env('ARCANEDEV_LOGVIEWER_MIDDLEWARE')) : null,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
/* -----------------------------------------------------------------
|
||||||
|
| Log entries per page
|
||||||
|
| -----------------------------------------------------------------
|
||||||
|
| This defines how many logs & entries are displayed per page.
|
||||||
|
*/
|
||||||
|
|
||||||
|
'per-page' => 30,
|
||||||
|
|
||||||
|
/* -----------------------------------------------------------------
|
||||||
|
| Download settings
|
||||||
|
| -----------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
'download' => [
|
||||||
|
'prefix' => 'laravel-',
|
||||||
|
|
||||||
|
'extension' => 'log',
|
||||||
|
],
|
||||||
|
|
||||||
|
/* -----------------------------------------------------------------
|
||||||
|
| Menu settings
|
||||||
|
| -----------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
'menu' => [
|
||||||
|
'filter-route' => 'log-viewer::logs.filter',
|
||||||
|
|
||||||
|
'icons-enabled' => true,
|
||||||
|
],
|
||||||
|
|
||||||
|
/* -----------------------------------------------------------------
|
||||||
|
| Icons
|
||||||
|
| -----------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
'icons' => [
|
||||||
|
/**
|
||||||
|
* Font awesome >= 4.3
|
||||||
|
* http://fontawesome.io/icons/
|
||||||
|
*/
|
||||||
|
'all' => 'fa fa-fw fa-list', // http://fontawesome.io/icon/list/
|
||||||
|
'emergency' => 'fa fa-fw fa-bug', // http://fontawesome.io/icon/bug/
|
||||||
|
'alert' => 'fa fa-fw fa-bullhorn', // http://fontawesome.io/icon/bullhorn/
|
||||||
|
'critical' => 'fa fa-fw fa-heartbeat', // http://fontawesome.io/icon/heartbeat/
|
||||||
|
'error' => 'fa fa-fw fa-times-circle', // http://fontawesome.io/icon/times-circle/
|
||||||
|
'warning' => 'fa fa-fw fa-exclamation-triangle', // http://fontawesome.io/icon/exclamation-triangle/
|
||||||
|
'notice' => 'fa fa-fw fa-exclamation-circle', // http://fontawesome.io/icon/exclamation-circle/
|
||||||
|
'info' => 'fa fa-fw fa-info-circle', // http://fontawesome.io/icon/info-circle/
|
||||||
|
'debug' => 'fa fa-fw fa-life-ring', // http://fontawesome.io/icon/life-ring/
|
||||||
|
],
|
||||||
|
|
||||||
|
/* -----------------------------------------------------------------
|
||||||
|
| Colors
|
||||||
|
| -----------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
'colors' => [
|
||||||
|
'levels' => [
|
||||||
|
'empty' => '#D1D1D1',
|
||||||
|
'all' => '#8A8A8A',
|
||||||
|
'emergency' => '#B71C1C',
|
||||||
|
'alert' => '#D32F2F',
|
||||||
|
'critical' => '#F44336',
|
||||||
|
'error' => '#FF5722',
|
||||||
|
'warning' => '#FF9100',
|
||||||
|
'notice' => '#4CAF50',
|
||||||
|
'info' => '#1976D2',
|
||||||
|
'debug' => '#90CAF9',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
/* -----------------------------------------------------------------
|
||||||
|
| Strings to highlight in stack trace
|
||||||
|
| -----------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
'highlight' => [
|
||||||
|
'^#\d+',
|
||||||
|
'^Stack trace:',
|
||||||
|
],
|
||||||
|
|
||||||
|
];
|
||||||
104
config/logging.php
Normal file
104
config/logging.php
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Monolog\Handler\NullHandler;
|
||||||
|
use Monolog\Handler\StreamHandler;
|
||||||
|
use Monolog\Handler\SyslogUdpHandler;
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Default Log Channel
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This option defines the default log channel that gets used when writing
|
||||||
|
| messages to the logs. The name specified in this option should match
|
||||||
|
| one of the channels defined in the "channels" configuration array.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'default' => env('LOG_CHANNEL', 'stack'),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Log Channels
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may configure the log channels for your application. Out of
|
||||||
|
| the box, Laravel uses the Monolog PHP logging library. This gives
|
||||||
|
| you a variety of powerful log handlers / formatters to utilize.
|
||||||
|
|
|
||||||
|
| Available Drivers: "single", "daily", "slack", "syslog",
|
||||||
|
| "errorlog", "monolog",
|
||||||
|
| "custom", "stack"
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'channels' => [
|
||||||
|
'stack' => [
|
||||||
|
'driver' => 'stack',
|
||||||
|
'channels' => ['single'],
|
||||||
|
'ignore_exceptions' => false,
|
||||||
|
],
|
||||||
|
|
||||||
|
'single' => [
|
||||||
|
'driver' => 'single',
|
||||||
|
'path' => storage_path('logs/laravel.log'),
|
||||||
|
'level' => 'debug',
|
||||||
|
],
|
||||||
|
|
||||||
|
'daily' => [
|
||||||
|
'driver' => 'daily',
|
||||||
|
'path' => storage_path('logs/laravel.log'),
|
||||||
|
'level' => 'debug',
|
||||||
|
'days' => 14,
|
||||||
|
],
|
||||||
|
|
||||||
|
'slack' => [
|
||||||
|
'driver' => 'slack',
|
||||||
|
'url' => env('LOG_SLACK_WEBHOOK_URL'),
|
||||||
|
'username' => 'Laravel Log',
|
||||||
|
'emoji' => ':boom:',
|
||||||
|
'level' => 'critical',
|
||||||
|
],
|
||||||
|
|
||||||
|
'papertrail' => [
|
||||||
|
'driver' => 'monolog',
|
||||||
|
'level' => 'debug',
|
||||||
|
'handler' => SyslogUdpHandler::class,
|
||||||
|
'handler_with' => [
|
||||||
|
'host' => env('PAPERTRAIL_URL'),
|
||||||
|
'port' => env('PAPERTRAIL_PORT'),
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'stderr' => [
|
||||||
|
'driver' => 'monolog',
|
||||||
|
'handler' => StreamHandler::class,
|
||||||
|
'formatter' => env('LOG_STDERR_FORMATTER'),
|
||||||
|
'with' => [
|
||||||
|
'stream' => 'php://stderr',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'syslog' => [
|
||||||
|
'driver' => 'syslog',
|
||||||
|
'level' => 'debug',
|
||||||
|
],
|
||||||
|
|
||||||
|
'errorlog' => [
|
||||||
|
'driver' => 'errorlog',
|
||||||
|
'level' => 'debug',
|
||||||
|
],
|
||||||
|
|
||||||
|
'null' => [
|
||||||
|
'driver' => 'monolog',
|
||||||
|
'handler' => NullHandler::class,
|
||||||
|
],
|
||||||
|
|
||||||
|
'emergency' => [
|
||||||
|
'path' => storage_path('logs/laravel.log'),
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
];
|
||||||
136
config/mail.php
Normal file
136
config/mail.php
Normal file
@@ -0,0 +1,136 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Mail Driver
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Laravel supports both SMTP and PHP's "mail" function as drivers for the
|
||||||
|
| sending of e-mail. You may specify which one you're using throughout
|
||||||
|
| your application here. By default, Laravel is setup for SMTP mail.
|
||||||
|
|
|
||||||
|
| Supported: "smtp", "sendmail", "mailgun", "ses",
|
||||||
|
| "postmark", "log", "array"
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'driver' => env('MAIL_DRIVER', 'smtp'),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| SMTP Host Address
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may provide the host address of the SMTP server used by your
|
||||||
|
| applications. A default option is provided that is compatible with
|
||||||
|
| the Mailgun mail service which will provide reliable deliveries.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| SMTP Host Port
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This is the SMTP port used by your application to deliver e-mails to
|
||||||
|
| users of the application. Like the host we have set this value to
|
||||||
|
| stay compatible with the Mailgun e-mail application by default.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'port' => env('MAIL_PORT', 587),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Global "From" Address
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| You may wish for all e-mails sent by your application to be sent from
|
||||||
|
| the same address. Here, you may specify a name and address that is
|
||||||
|
| used globally for all e-mails that are sent by your application.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'from' => [
|
||||||
|
'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),
|
||||||
|
'name' => env('MAIL_FROM_NAME', 'Example'),
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| E-Mail Encryption Protocol
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may specify the encryption protocol that should be used when
|
||||||
|
| the application send e-mail messages. A sensible default using the
|
||||||
|
| transport layer security protocol should provide great security.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| SMTP Server Username
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| If your SMTP server requires a username for authentication, you should
|
||||||
|
| set it here. This will get used to authenticate with your server on
|
||||||
|
| connection. You may also set the "password" value below this one.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'username' => env('MAIL_USERNAME'),
|
||||||
|
|
||||||
|
'password' => env('MAIL_PASSWORD'),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Sendmail System Path
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| When using the "sendmail" driver to send e-mails, we will need to know
|
||||||
|
| the path to where Sendmail lives on this server. A default path has
|
||||||
|
| been provided here, which will work well on most of your systems.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'sendmail' => '/usr/sbin/sendmail -bs',
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Markdown Mail Settings
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| If you are using Markdown based email rendering, you may configure your
|
||||||
|
| theme and component paths here, allowing you to customize the design
|
||||||
|
| of the emails. Or, you may simply stick with the Laravel defaults!
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'markdown' => [
|
||||||
|
'theme' => 'default',
|
||||||
|
|
||||||
|
'paths' => [
|
||||||
|
resource_path('views/vendor/mail'),
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Log Channel
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| If you are using the "log" driver, you may specify the logging channel
|
||||||
|
| if you prefer to keep mail messages separate from other log entries
|
||||||
|
| for simpler reading. Otherwise, the default channel will be used.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'log_channel' => env('MAIL_LOG_CHANNEL'),
|
||||||
|
|
||||||
|
];
|
||||||
88
config/queue.php
Normal file
88
config/queue.php
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Default Queue Connection Name
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Laravel's queue API supports an assortment of back-ends via a single
|
||||||
|
| API, giving you convenient access to each back-end using the same
|
||||||
|
| syntax for every one. Here you may define a default connection.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'default' => env('QUEUE_CONNECTION', 'sync'),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Queue Connections
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may configure the connection information for each server that
|
||||||
|
| is used by your application. A default configuration has been added
|
||||||
|
| for each back-end shipped with Laravel. You are free to add more.
|
||||||
|
|
|
||||||
|
| Drivers: "sync", "database", "beanstalkd", "sqs", "redis", "null"
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'connections' => [
|
||||||
|
|
||||||
|
'sync' => [
|
||||||
|
'driver' => 'sync',
|
||||||
|
],
|
||||||
|
|
||||||
|
'database' => [
|
||||||
|
'driver' => 'database',
|
||||||
|
'table' => 'jobs',
|
||||||
|
'queue' => 'default',
|
||||||
|
'retry_after' => 90,
|
||||||
|
],
|
||||||
|
|
||||||
|
'beanstalkd' => [
|
||||||
|
'driver' => 'beanstalkd',
|
||||||
|
'host' => 'localhost',
|
||||||
|
'queue' => 'default',
|
||||||
|
'retry_after' => 90,
|
||||||
|
'block_for' => 0,
|
||||||
|
],
|
||||||
|
|
||||||
|
'sqs' => [
|
||||||
|
'driver' => 'sqs',
|
||||||
|
'key' => env('AWS_ACCESS_KEY_ID'),
|
||||||
|
'secret' => env('AWS_SECRET_ACCESS_KEY'),
|
||||||
|
'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'),
|
||||||
|
'queue' => env('SQS_QUEUE', 'your-queue-name'),
|
||||||
|
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
|
||||||
|
],
|
||||||
|
|
||||||
|
'redis' => [
|
||||||
|
'driver' => 'redis',
|
||||||
|
'connection' => 'default',
|
||||||
|
'queue' => env('REDIS_QUEUE', 'default'),
|
||||||
|
'retry_after' => 90,
|
||||||
|
'block_for' => null,
|
||||||
|
],
|
||||||
|
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Failed Queue Jobs
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| These options configure the behavior of failed queue job logging so you
|
||||||
|
| can control which database and table are used to store the jobs that
|
||||||
|
| have failed. You may change them to any database / table you wish.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'failed' => [
|
||||||
|
'driver' => env('QUEUE_FAILED_DRIVER', 'database'),
|
||||||
|
'database' => env('DB_CONNECTION', 'mysql'),
|
||||||
|
'table' => 'failed_jobs',
|
||||||
|
],
|
||||||
|
|
||||||
|
];
|
||||||
33
config/services.php
Normal file
33
config/services.php
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Third Party Services
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This file is for storing the credentials for third party services such
|
||||||
|
| as Mailgun, Postmark, AWS and more. This file provides the de facto
|
||||||
|
| location for this type of information, allowing packages to have
|
||||||
|
| a conventional file to locate the various service credentials.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'mailgun' => [
|
||||||
|
'domain' => env('MAILGUN_DOMAIN'),
|
||||||
|
'secret' => env('MAILGUN_SECRET'),
|
||||||
|
'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'),
|
||||||
|
],
|
||||||
|
|
||||||
|
'postmark' => [
|
||||||
|
'token' => env('POSTMARK_TOKEN'),
|
||||||
|
],
|
||||||
|
|
||||||
|
'ses' => [
|
||||||
|
'key' => env('AWS_ACCESS_KEY_ID'),
|
||||||
|
'secret' => env('AWS_SECRET_ACCESS_KEY'),
|
||||||
|
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
|
||||||
|
],
|
||||||
|
|
||||||
|
];
|
||||||
199
config/session.php
Normal file
199
config/session.php
Normal file
@@ -0,0 +1,199 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Support\Str;
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Default Session Driver
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This option controls the default session "driver" that will be used on
|
||||||
|
| requests. By default, we will use the lightweight native driver but
|
||||||
|
| you may specify any of the other wonderful drivers provided here.
|
||||||
|
|
|
||||||
|
| Supported: "file", "cookie", "database", "apc",
|
||||||
|
| "memcached", "redis", "dynamodb", "array"
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'driver' => env('SESSION_DRIVER', 'file'),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Session Lifetime
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may specify the number of minutes that you wish the session
|
||||||
|
| to be allowed to remain idle before it expires. If you want them
|
||||||
|
| to immediately expire on the browser closing, set that option.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'lifetime' => env('SESSION_LIFETIME', 120),
|
||||||
|
|
||||||
|
'expire_on_close' => false,
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Session Encryption
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This option allows you to easily specify that all of your session data
|
||||||
|
| should be encrypted before it is stored. All encryption will be run
|
||||||
|
| automatically by Laravel and you can use the Session like normal.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'encrypt' => false,
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Session File Location
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| When using the native session driver, we need a location where session
|
||||||
|
| files may be stored. A default has been set for you but a different
|
||||||
|
| location may be specified. This is only needed for file sessions.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'files' => storage_path('framework/sessions'),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Session Database Connection
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| When using the "database" or "redis" session drivers, you may specify a
|
||||||
|
| connection that should be used to manage these sessions. This should
|
||||||
|
| correspond to a connection in your database configuration options.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'connection' => env('SESSION_CONNECTION', null),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Session Database Table
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| When using the "database" session driver, you may specify the table we
|
||||||
|
| should use to manage the sessions. Of course, a sensible default is
|
||||||
|
| provided for you; however, you are free to change this as needed.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'table' => 'sessions',
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Session Cache Store
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| When using the "apc", "memcached", or "dynamodb" session drivers you may
|
||||||
|
| list a cache store that should be used for these sessions. This value
|
||||||
|
| must match with one of the application's configured cache "stores".
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'store' => env('SESSION_STORE', null),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Session Sweeping Lottery
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Some session drivers must manually sweep their storage location to get
|
||||||
|
| rid of old sessions from storage. Here are the chances that it will
|
||||||
|
| happen on a given request. By default, the odds are 2 out of 100.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'lottery' => [2, 100],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Session Cookie Name
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may change the name of the cookie used to identify a session
|
||||||
|
| instance by ID. The name specified here will get used every time a
|
||||||
|
| new session cookie is created by the framework for every driver.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'cookie' => env(
|
||||||
|
'SESSION_COOKIE',
|
||||||
|
Str::slug(env('APP_NAME', 'laravel'), '_').'_session'
|
||||||
|
),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Session Cookie Path
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The session cookie path determines the path for which the cookie will
|
||||||
|
| be regarded as available. Typically, this will be the root path of
|
||||||
|
| your application but you are free to change this when necessary.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'path' => '/',
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Session Cookie Domain
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may change the domain of the cookie used to identify a session
|
||||||
|
| in your application. This will determine which domains the cookie is
|
||||||
|
| available to in your application. A sensible default has been set.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'domain' => env('SESSION_DOMAIN', null),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| HTTPS Only Cookies
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| By setting this option to true, session cookies will only be sent back
|
||||||
|
| to the server if the browser has a HTTPS connection. This will keep
|
||||||
|
| the cookie from being sent to you if it can not be done securely.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'secure' => env('SESSION_SECURE_COOKIE', false),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| HTTP Access Only
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Setting this value to true will prevent JavaScript from accessing the
|
||||||
|
| value of the cookie and the cookie will only be accessible through
|
||||||
|
| the HTTP protocol. You are free to modify this option if needed.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'http_only' => true,
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Same-Site Cookies
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This option determines how your cookies behave when cross-site requests
|
||||||
|
| take place, and can be used to mitigate CSRF attacks. By default, we
|
||||||
|
| do not enable this as other CSRF protection services are in place.
|
||||||
|
|
|
||||||
|
| Supported: "lax", "strict", "none"
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'same_site' => null,
|
||||||
|
|
||||||
|
];
|
||||||
50
config/tinker.php
Normal file
50
config/tinker.php
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Console Commands
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This option allows you to add additional Artisan commands that should
|
||||||
|
| be available within the Tinker environment. Once the command is in
|
||||||
|
| this array you may execute the command in Tinker using its name.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'commands' => [
|
||||||
|
// App\Console\Commands\ExampleCommand::class,
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Alias Whitelist
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Tinker will not automatically alias classes in your vendor namespaces
|
||||||
|
| but you may explicitly allow a subset of classes to get aliased by
|
||||||
|
| adding the names of each of those classes to the following list.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'alias' => [
|
||||||
|
//
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Alias Blacklist
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Typically, Tinker automatically aliases classes as you require them in
|
||||||
|
| Tinker. However, you may wish to never alias certain classes, which
|
||||||
|
| you may accomplish by listing the classes in the following array.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'dont_alias' => [
|
||||||
|
'App\Nova',
|
||||||
|
],
|
||||||
|
|
||||||
|
];
|
||||||
50
config/trustedproxy.php
Normal file
50
config/trustedproxy.php
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Set trusted proxy IP addresses.
|
||||||
|
*
|
||||||
|
* Both IPv4 and IPv6 addresses are
|
||||||
|
* supported, along with CIDR notation.
|
||||||
|
*
|
||||||
|
* The "*" character is syntactic sugar
|
||||||
|
* within TrustedProxy to trust any proxy
|
||||||
|
* that connects directly to your server,
|
||||||
|
* a requirement when you cannot know the address
|
||||||
|
* of your proxy (e.g. if using ELB or similar).
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
'proxies' => null, // [<ip addresses>,], '*', '<ip addresses>,'
|
||||||
|
|
||||||
|
/*
|
||||||
|
* To trust one or more specific proxies that connect
|
||||||
|
* directly to your server, use an array or a string separated by comma of IP addresses:
|
||||||
|
*/
|
||||||
|
// 'proxies' => ['192.168.1.1'],
|
||||||
|
// 'proxies' => '192.168.1.1, 192.168.1.2',
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Or, to trust all proxies that connect
|
||||||
|
* directly to your server, use a "*"
|
||||||
|
*/
|
||||||
|
// 'proxies' => '*',
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Which headers to use to detect proxy related data (For, Host, Proto, Port)
|
||||||
|
*
|
||||||
|
* Options include:
|
||||||
|
*
|
||||||
|
* - Illuminate\Http\Request::HEADER_X_FORWARDED_ALL (use all x-forwarded-* headers to establish trust)
|
||||||
|
* - Illuminate\Http\Request::HEADER_FORWARDED (use the FORWARDED header to establish trust)
|
||||||
|
* - Illuminate\Http\Request::HEADER_X_FORWARDED_AWS_ELB (If you are using AWS Elastic Load Balancer)
|
||||||
|
*
|
||||||
|
* - 'HEADER_X_FORWARDED_ALL' (use all x-forwarded-* headers to establish trust)
|
||||||
|
* - 'HEADER_FORWARDED' (use the FORWARDED header to establish trust)
|
||||||
|
* - 'HEADER_X_FORWARDED_AWS_ELB' (If you are using AWS Elastic Load Balancer)
|
||||||
|
*
|
||||||
|
* @link https://symfony.com/doc/current/deployment/proxies.html
|
||||||
|
*/
|
||||||
|
'headers' => Illuminate\Http\Request::HEADER_X_FORWARDED_ALL,
|
||||||
|
|
||||||
|
];
|
||||||
36
config/view.php
Normal file
36
config/view.php
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| View Storage Paths
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Most templating systems load templates from disk. Here you may specify
|
||||||
|
| an array of paths that should be checked for your views. Of course
|
||||||
|
| the usual Laravel view path has already been registered for you.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'paths' => [
|
||||||
|
resource_path('views'),
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Compiled View Path
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This option determines where all the compiled Blade templates will be
|
||||||
|
| stored for your application. Typically, this is within the storage
|
||||||
|
| directory. However, as usual, you are free to change this value.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'compiled' => env(
|
||||||
|
'VIEW_COMPILED_PATH',
|
||||||
|
realpath(storage_path('framework/views'))
|
||||||
|
),
|
||||||
|
|
||||||
|
];
|
||||||
2
database/.gitignore
vendored
Normal file
2
database/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
*.sqlite
|
||||||
|
*.sqlite-journal
|
||||||
28
database/factories/UserFactory.php
Normal file
28
database/factories/UserFactory.php
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/** @var \Illuminate\Database\Eloquent\Factory $factory */
|
||||||
|
|
||||||
|
use App\User;
|
||||||
|
use Faker\Generator as Faker;
|
||||||
|
use Illuminate\Support\Str;
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Model Factories
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This directory should contain each of the model factory definitions for
|
||||||
|
| your application. Factories provide a convenient way to generate new
|
||||||
|
| model instances for testing / seeding your application's database.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
$factory->define(User::class, function (Faker $faker) {
|
||||||
|
return [
|
||||||
|
'name' => $faker->name,
|
||||||
|
'email' => $faker->unique()->safeEmail,
|
||||||
|
'email_verified_at' => now(),
|
||||||
|
'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
|
||||||
|
'remember_token' => Str::random(10),
|
||||||
|
];
|
||||||
|
});
|
||||||
36
database/migrations/2014_10_12_000000_create_users_table.php
Normal file
36
database/migrations/2014_10_12_000000_create_users_table.php
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class CreateUsersTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::create('users', function (Blueprint $table) {
|
||||||
|
$table->bigIncrements('id');
|
||||||
|
$table->string('name');
|
||||||
|
$table->string('email')->unique();
|
||||||
|
$table->timestamp('email_verified_at')->nullable();
|
||||||
|
$table->string('password');
|
||||||
|
$table->rememberToken();
|
||||||
|
$table->timestamps();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('users');
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class CreatePasswordResetsTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::create('password_resets', function (Blueprint $table) {
|
||||||
|
$table->string('email')->index();
|
||||||
|
$table->string('token');
|
||||||
|
$table->timestamp('created_at')->nullable();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('password_resets');
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class CreateFailedJobsTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::create('failed_jobs', function (Blueprint $table) {
|
||||||
|
$table->bigIncrements('id');
|
||||||
|
$table->text('connection');
|
||||||
|
$table->text('queue');
|
||||||
|
$table->longText('payload');
|
||||||
|
$table->longText('exception');
|
||||||
|
$table->timestamp('failed_at')->useCurrent();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('failed_jobs');
|
||||||
|
}
|
||||||
|
}
|
||||||
16
database/seeds/DatabaseSeeder.php
Normal file
16
database/seeds/DatabaseSeeder.php
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Seeder;
|
||||||
|
|
||||||
|
class DatabaseSeeder extends Seeder
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Seed the application's database.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function run()
|
||||||
|
{
|
||||||
|
// $this->call(UsersTableSeeder::class);
|
||||||
|
}
|
||||||
|
}
|
||||||
22
package.json
Normal file
22
package.json
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"private": true,
|
||||||
|
"scripts": {
|
||||||
|
"dev": "npm run development",
|
||||||
|
"development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
|
||||||
|
"watch": "npm run development -- --watch",
|
||||||
|
"watch-poll": "npm run watch -- --watch-poll",
|
||||||
|
"hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
|
||||||
|
"prod": "npm run production",
|
||||||
|
"production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"axios": "^0.19",
|
||||||
|
"cross-env": "^7.0",
|
||||||
|
"laravel-mix": "^5.0.1",
|
||||||
|
"lodash": "^4.17.13",
|
||||||
|
"resolve-url-loader": "^3.1.0",
|
||||||
|
"sass": "^1.15.2",
|
||||||
|
"sass-loader": "^8.0.0",
|
||||||
|
"vue-template-compiler": "^2.6.11"
|
||||||
|
}
|
||||||
|
}
|
||||||
30
phpunit.xml
Normal file
30
phpunit.xml
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:noNamespaceSchemaLocation="./vendor/phpunit/phpunit/phpunit.xsd"
|
||||||
|
bootstrap="vendor/autoload.php"
|
||||||
|
colors="true">
|
||||||
|
<testsuites>
|
||||||
|
<testsuite name="Unit">
|
||||||
|
<directory suffix="Test.php">./tests/Unit</directory>
|
||||||
|
</testsuite>
|
||||||
|
|
||||||
|
<testsuite name="Feature">
|
||||||
|
<directory suffix="Test.php">./tests/Feature</directory>
|
||||||
|
</testsuite>
|
||||||
|
</testsuites>
|
||||||
|
<filter>
|
||||||
|
<whitelist processUncoveredFilesFromWhitelist="true">
|
||||||
|
<directory suffix=".php">./app</directory>
|
||||||
|
</whitelist>
|
||||||
|
</filter>
|
||||||
|
<php>
|
||||||
|
<server name="APP_ENV" value="testing"/>
|
||||||
|
<server name="BCRYPT_ROUNDS" value="4"/>
|
||||||
|
<server name="CACHE_DRIVER" value="array"/>
|
||||||
|
<server name="DB_CONNECTION" value="sqlite"/>
|
||||||
|
<server name="DB_DATABASE" value=":memory:"/>
|
||||||
|
<server name="MAIL_DRIVER" value="array"/>
|
||||||
|
<server name="QUEUE_CONNECTION" value="sync"/>
|
||||||
|
<server name="SESSION_DRIVER" value="array"/>
|
||||||
|
</php>
|
||||||
|
</phpunit>
|
||||||
1
resources/js/app.js
Normal file
1
resources/js/app.js
Normal file
@@ -0,0 +1 @@
|
|||||||
|
require('./bootstrap');
|
||||||
28
resources/js/bootstrap.js
vendored
Normal file
28
resources/js/bootstrap.js
vendored
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
window._ = require('lodash');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* We'll load the axios HTTP library which allows us to easily issue requests
|
||||||
|
* to our Laravel back-end. This library automatically handles sending the
|
||||||
|
* CSRF token as a header based on the value of the "XSRF" token cookie.
|
||||||
|
*/
|
||||||
|
|
||||||
|
window.axios = require('axios');
|
||||||
|
|
||||||
|
window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Echo exposes an expressive API for subscribing to channels and listening
|
||||||
|
* for events that are broadcast by Laravel. Echo and event broadcasting
|
||||||
|
* allows your team to easily build robust real-time web applications.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// import Echo from 'laravel-echo';
|
||||||
|
|
||||||
|
// window.Pusher = require('pusher-js');
|
||||||
|
|
||||||
|
// window.Echo = new Echo({
|
||||||
|
// broadcaster: 'pusher',
|
||||||
|
// key: process.env.MIX_PUSHER_APP_KEY,
|
||||||
|
// cluster: process.env.MIX_PUSHER_APP_CLUSTER,
|
||||||
|
// forceTLS: true
|
||||||
|
// });
|
||||||
19
resources/lang/en/auth.php
Normal file
19
resources/lang/en/auth.php
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Authentication Language Lines
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The following language lines are used during authentication for various
|
||||||
|
| messages that we need to display to the user. You are free to modify
|
||||||
|
| these language lines according to your application's requirements.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'failed' => 'These credentials do not match our records.',
|
||||||
|
'throttle' => 'Too many login attempts. Please try again in :seconds seconds.',
|
||||||
|
|
||||||
|
];
|
||||||
19
resources/lang/en/pagination.php
Normal file
19
resources/lang/en/pagination.php
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Pagination Language Lines
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The following language lines are used by the paginator library to build
|
||||||
|
| the simple pagination links. You are free to change them to anything
|
||||||
|
| you want to customize your views to better match your application.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'previous' => '« Previous',
|
||||||
|
'next' => 'Next »',
|
||||||
|
|
||||||
|
];
|
||||||
22
resources/lang/en/passwords.php
Normal file
22
resources/lang/en/passwords.php
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Password Reset Language Lines
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The following language lines are the default lines which match reasons
|
||||||
|
| that are given by the password broker for a password update attempt
|
||||||
|
| has failed, such as for an invalid token or invalid new password.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'reset' => 'Your password has been reset!',
|
||||||
|
'sent' => 'We have e-mailed your password reset link!',
|
||||||
|
'throttled' => 'Please wait before retrying.',
|
||||||
|
'token' => 'This password reset token is invalid.',
|
||||||
|
'user' => "We can't find a user with that e-mail address.",
|
||||||
|
|
||||||
|
];
|
||||||
151
resources/lang/en/validation.php
Normal file
151
resources/lang/en/validation.php
Normal file
@@ -0,0 +1,151 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Validation Language Lines
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The following language lines contain the default error messages used by
|
||||||
|
| the validator class. Some of these rules have multiple versions such
|
||||||
|
| as the size rules. Feel free to tweak each of these messages here.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'accepted' => 'The :attribute must be accepted.',
|
||||||
|
'active_url' => 'The :attribute is not a valid URL.',
|
||||||
|
'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_dash' => 'The :attribute may only contain letters, numbers, dashes and underscores.',
|
||||||
|
'alpha_num' => 'The :attribute may only contain letters and numbers.',
|
||||||
|
'array' => 'The :attribute must be an array.',
|
||||||
|
'before' => 'The :attribute must be a date before :date.',
|
||||||
|
'before_or_equal' => 'The :attribute must be a date before or equal to :date.',
|
||||||
|
'between' => [
|
||||||
|
'numeric' => 'The :attribute must be between :min and :max.',
|
||||||
|
'file' => 'The :attribute must be between :min and :max kilobytes.',
|
||||||
|
'string' => 'The :attribute must be between :min and :max characters.',
|
||||||
|
'array' => 'The :attribute must have between :min and :max items.',
|
||||||
|
],
|
||||||
|
'boolean' => 'The :attribute field must be true or false.',
|
||||||
|
'confirmed' => 'The :attribute confirmation does not match.',
|
||||||
|
'date' => 'The :attribute is not a valid date.',
|
||||||
|
'date_equals' => 'The :attribute must be a date equal to :date.',
|
||||||
|
'date_format' => 'The :attribute does not match the format :format.',
|
||||||
|
'different' => 'The :attribute and :other must be different.',
|
||||||
|
'digits' => 'The :attribute must be :digits digits.',
|
||||||
|
'digits_between' => 'The :attribute must be between :min and :max digits.',
|
||||||
|
'dimensions' => 'The :attribute has invalid image dimensions.',
|
||||||
|
'distinct' => 'The :attribute field has a duplicate value.',
|
||||||
|
'email' => 'The :attribute must be a valid email address.',
|
||||||
|
'ends_with' => 'The :attribute must end with one of the following: :values.',
|
||||||
|
'exists' => 'The selected :attribute is invalid.',
|
||||||
|
'file' => 'The :attribute must be a file.',
|
||||||
|
'filled' => 'The :attribute field must have a value.',
|
||||||
|
'gt' => [
|
||||||
|
'numeric' => 'The :attribute must be greater than :value.',
|
||||||
|
'file' => 'The :attribute must be greater than :value kilobytes.',
|
||||||
|
'string' => 'The :attribute must be greater than :value characters.',
|
||||||
|
'array' => 'The :attribute must have more than :value items.',
|
||||||
|
],
|
||||||
|
'gte' => [
|
||||||
|
'numeric' => 'The :attribute must be greater than or equal :value.',
|
||||||
|
'file' => 'The :attribute must be greater than or equal :value kilobytes.',
|
||||||
|
'string' => 'The :attribute must be greater than or equal :value characters.',
|
||||||
|
'array' => 'The :attribute must have :value items or more.',
|
||||||
|
],
|
||||||
|
'image' => 'The :attribute must be an image.',
|
||||||
|
'in' => 'The selected :attribute is invalid.',
|
||||||
|
'in_array' => 'The :attribute field does not exist in :other.',
|
||||||
|
'integer' => 'The :attribute must be an integer.',
|
||||||
|
'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.',
|
||||||
|
'lt' => [
|
||||||
|
'numeric' => 'The :attribute must be less than :value.',
|
||||||
|
'file' => 'The :attribute must be less than :value kilobytes.',
|
||||||
|
'string' => 'The :attribute must be less than :value characters.',
|
||||||
|
'array' => 'The :attribute must have less than :value items.',
|
||||||
|
],
|
||||||
|
'lte' => [
|
||||||
|
'numeric' => 'The :attribute must be less than or equal :value.',
|
||||||
|
'file' => 'The :attribute must be less than or equal :value kilobytes.',
|
||||||
|
'string' => 'The :attribute must be less than or equal :value characters.',
|
||||||
|
'array' => 'The :attribute must not have more than :value items.',
|
||||||
|
],
|
||||||
|
'max' => [
|
||||||
|
'numeric' => 'The :attribute may not be greater than :max.',
|
||||||
|
'file' => 'The :attribute may not be greater than :max kilobytes.',
|
||||||
|
'string' => 'The :attribute may not be greater than :max characters.',
|
||||||
|
'array' => 'The :attribute may not have more than :max items.',
|
||||||
|
],
|
||||||
|
'mimes' => 'The :attribute must be a file of type: :values.',
|
||||||
|
'mimetypes' => 'The :attribute must be a file of type: :values.',
|
||||||
|
'min' => [
|
||||||
|
'numeric' => 'The :attribute must be at least :min.',
|
||||||
|
'file' => 'The :attribute must be at least :min kilobytes.',
|
||||||
|
'string' => 'The :attribute must be at least :min characters.',
|
||||||
|
'array' => 'The :attribute must have at least :min items.',
|
||||||
|
],
|
||||||
|
'not_in' => 'The selected :attribute is invalid.',
|
||||||
|
'not_regex' => 'The :attribute format is invalid.',
|
||||||
|
'numeric' => 'The :attribute must be a number.',
|
||||||
|
'password' => 'The password is incorrect.',
|
||||||
|
'present' => 'The :attribute field must be present.',
|
||||||
|
'regex' => 'The :attribute format is invalid.',
|
||||||
|
'required' => 'The :attribute field is required.',
|
||||||
|
'required_if' => 'The :attribute field is required when :other is :value.',
|
||||||
|
'required_unless' => 'The :attribute field is required unless :other is in :values.',
|
||||||
|
'required_with' => 'The :attribute field is required when :values is present.',
|
||||||
|
'required_with_all' => 'The :attribute field is required when :values are present.',
|
||||||
|
'required_without' => 'The :attribute field is required when :values is not present.',
|
||||||
|
'required_without_all' => 'The :attribute field is required when none of :values are present.',
|
||||||
|
'same' => 'The :attribute and :other must match.',
|
||||||
|
'size' => [
|
||||||
|
'numeric' => 'The :attribute must be :size.',
|
||||||
|
'file' => 'The :attribute must be :size kilobytes.',
|
||||||
|
'string' => 'The :attribute must be :size characters.',
|
||||||
|
'array' => 'The :attribute must contain :size items.',
|
||||||
|
],
|
||||||
|
'starts_with' => 'The :attribute must start with one of the following: :values.',
|
||||||
|
'string' => 'The :attribute must be a string.',
|
||||||
|
'timezone' => 'The :attribute must be a valid zone.',
|
||||||
|
'unique' => 'The :attribute has already been taken.',
|
||||||
|
'uploaded' => 'The :attribute failed to upload.',
|
||||||
|
'url' => 'The :attribute format is invalid.',
|
||||||
|
'uuid' => 'The :attribute must be a valid UUID.',
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Custom Validation Language Lines
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may specify custom validation messages for attributes using the
|
||||||
|
| convention "attribute.rule" to name the lines. This makes it quick to
|
||||||
|
| specify a specific custom language line for a given attribute rule.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'custom' => [
|
||||||
|
'attribute-name' => [
|
||||||
|
'rule-name' => 'custom-message',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Custom Validation Attributes
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The following language lines are used to swap our attribute placeholder
|
||||||
|
| with something more reader friendly such as "E-Mail Address" instead
|
||||||
|
| of "email". This simply helps us make our message more expressive.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'attributes' => [],
|
||||||
|
|
||||||
|
];
|
||||||
17
resources/lang/es/auth.php
Normal file
17
resources/lang/es/auth.php
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Authentication Language Lines
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The following language lines are used during authentication for various
|
||||||
|
| messages that we need to display to the user. You are free to modify
|
||||||
|
| these language lines according to your application's requirements.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'failed' => 'Estas credenciales no coinciden con nuestros registros.',
|
||||||
|
'throttle' => 'Demasiados intentos de acceso. Por favor intente nuevamente en :seconds segundos.',
|
||||||
|
];
|
||||||
17
resources/lang/es/pagination.php
Normal file
17
resources/lang/es/pagination.php
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Pagination Language Lines
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The following language lines are used by the paginator library to build
|
||||||
|
| the simple pagination links. You are free to change them to anything
|
||||||
|
| you want to customize your views to better match your application.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'previous' => '« Anterior',
|
||||||
|
'next' => 'Siguiente »',
|
||||||
|
];
|
||||||
20
resources/lang/es/passwords.php
Normal file
20
resources/lang/es/passwords.php
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Password Reminder Language Lines
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The following language lines are the default lines which match reasons
|
||||||
|
| that are given by the password broker for a password update attempt
|
||||||
|
| has failed, such as for an invalid token or invalid new password.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'password' => 'Las contraseñas deben coincidir y contener al menos 6 caracteres',
|
||||||
|
'reset' => '¡Tu contraseña ha sido restablecida!',
|
||||||
|
'sent' => '¡Te hemos enviado por correo el enlace para restablecer tu contraseña!',
|
||||||
|
'token' => 'El token de recuperación de contraseña es inválido.',
|
||||||
|
'user' => 'No podemos encontrar ningún usuario con ese correo electrónico.',
|
||||||
|
];
|
||||||
153
resources/lang/es/validation.php
Normal file
153
resources/lang/es/validation.php
Normal file
@@ -0,0 +1,153 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Validation Language Lines
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The following language lines contain the default error messages used by
|
||||||
|
| the validator class. Some of these rules have multiple versions such
|
||||||
|
| as the size rules. Feel free to tweak each of these messages.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'accepted' => ':attribute debe ser aceptado.',
|
||||||
|
'active_url' => ':attribute no es una URL válida.',
|
||||||
|
'after' => ':attribute debe ser una fecha posterior a :date.',
|
||||||
|
'after_or_equal' => ':attribute debe ser una fecha posterior o igual a :date.',
|
||||||
|
'alpha' => ':attribute sólo debe contener letras.',
|
||||||
|
'alpha_dash' => ':attribute sólo debe contener letras, números y guiones.',
|
||||||
|
'alpha_num' => ':attribute sólo debe contener letras y números.',
|
||||||
|
'array' => ':attribute debe ser un conjunto.',
|
||||||
|
'before' => ':attribute debe ser una fecha anterior a :date.',
|
||||||
|
'before_or_equal' => ':attribute debe ser una fecha anterior o igual a :date.',
|
||||||
|
'between' => [
|
||||||
|
'numeric' => ':attribute tiene que estar entre :min - :max.',
|
||||||
|
'file' => ':attribute debe pesar entre :min - :max kilobytes.',
|
||||||
|
'string' => ':attribute tiene que tener entre :min - :max caracteres.',
|
||||||
|
'array' => ':attribute tiene que tener entre :min - :max ítems.',
|
||||||
|
],
|
||||||
|
'boolean' => 'El campo :attribute debe tener un valor verdadero o falso.',
|
||||||
|
'confirmed' => 'La confirmación de :attribute no coincide.',
|
||||||
|
'date' => ':attribute no es una fecha válida.',
|
||||||
|
'date_format' => ':attribute no corresponde al formato :format.',
|
||||||
|
'different' => ':attribute y :other deben ser diferentes.',
|
||||||
|
'digits' => ':attribute debe tener :digits dígitos.',
|
||||||
|
'digits_between' => ':attribute debe tener entre :min y :max dígitos.',
|
||||||
|
'dimensions' => 'Las dimensiones de la imagen :attribute no son válidas.',
|
||||||
|
'distinct' => 'El campo :attribute contiene un valor duplicado.',
|
||||||
|
'email' => ':attribute no es un correo válido',
|
||||||
|
'exists' => ':attribute es inválido.',
|
||||||
|
'file' => 'El campo :attribute debe ser un archivo.',
|
||||||
|
'filled' => 'El campo :attribute es obligatorio.',
|
||||||
|
'image' => ':attribute debe ser una imagen.',
|
||||||
|
'in' => ':attribute es inválido.',
|
||||||
|
'in_array' => 'El campo :attribute no existe en :other.',
|
||||||
|
'integer' => ':attribute debe ser un número entero.',
|
||||||
|
'ip' => ':attribute debe ser una dirección IP válida.',
|
||||||
|
'ipv4' => ':attribute debe ser un dirección IPv4 válida',
|
||||||
|
'ipv6' => ':attribute debe ser un dirección IPv6 válida.',
|
||||||
|
'json' => 'El campo :attribute debe tener una cadena JSON válida.',
|
||||||
|
'max' => [
|
||||||
|
'numeric' => ':attribute no debe ser mayor a :max.',
|
||||||
|
'file' => ':attribute no debe ser mayor que :max kilobytes.',
|
||||||
|
'string' => ':attribute no debe ser mayor que :max caracteres.',
|
||||||
|
'array' => ':attribute no debe tener más de :max elementos.',
|
||||||
|
],
|
||||||
|
'mimes' => ':attribute debe ser un archivo con formato: :values.',
|
||||||
|
'mimetypes' => ':attribute debe ser un archivo con formato: :values.',
|
||||||
|
'min' => [
|
||||||
|
'numeric' => 'El tamaño de :attribute debe ser de al menos :min.',
|
||||||
|
'file' => 'El tamaño de :attribute debe ser de al menos :min kilobytes.',
|
||||||
|
'string' => ':attribute debe contener al menos :min caracteres.',
|
||||||
|
'array' => ':attribute debe tener al menos :min elementos.',
|
||||||
|
],
|
||||||
|
'not_in' => ':attribute es inválido.',
|
||||||
|
'numeric' => ':attribute debe ser numérico.',
|
||||||
|
'present' => 'El campo :attribute debe estar presente.',
|
||||||
|
'regex' => 'El formato de :attribute es inválido.',
|
||||||
|
'required' => 'El campo :attribute es obligatorio.',
|
||||||
|
'required_if' => 'El campo :attribute es obligatorio cuando :other es :value.',
|
||||||
|
'required_unless' => 'El campo :attribute es obligatorio a menos que :other esté en :values.',
|
||||||
|
'required_with' => 'El campo :attribute es obligatorio cuando :values está presente.',
|
||||||
|
'required_with_all' => 'El campo :attribute es obligatorio cuando :values está presente.',
|
||||||
|
'required_without' => 'El campo :attribute es obligatorio cuando :values no está presente.',
|
||||||
|
'required_without_all' => 'El campo :attribute es obligatorio cuando ninguno de :values estén presentes.',
|
||||||
|
'same' => ':attribute y :other deben coincidir.',
|
||||||
|
'size' => [
|
||||||
|
'numeric' => 'El tamaño de :attribute debe ser :size.',
|
||||||
|
'file' => 'El tamaño de :attribute debe ser :size kilobytes.',
|
||||||
|
'string' => ':attribute debe contener :size caracteres.',
|
||||||
|
'array' => ':attribute debe contener :size elementos.',
|
||||||
|
],
|
||||||
|
'string' => 'El campo :attribute debe ser una cadena de caracteres.',
|
||||||
|
'timezone' => 'El :attribute debe ser una zona válida.',
|
||||||
|
'unique' => ':attribute ya ha sido registrado.',
|
||||||
|
'uploaded' => 'Subir :attribute ha fallado.',
|
||||||
|
'url' => 'El formato :attribute es inválido.',
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Custom Validation Language Lines
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may specify custom validation messages for attributes using the
|
||||||
|
| convention "attribute.rule" to name the lines. This makes it quick to
|
||||||
|
| specify a specific custom language line for a given attribute rule.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'custom' => [
|
||||||
|
'password' => [
|
||||||
|
'min' => 'La :attribute debe contener más de :min caracteres',
|
||||||
|
],
|
||||||
|
'email' => [
|
||||||
|
'unique' => 'El :attribute ya ha sido registrado.',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Custom Validation Attributes
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The following language lines are used to swap attribute place-holders
|
||||||
|
| with something more reader friendly such as E-Mail Address instead
|
||||||
|
| of "email". This simply helps us make messages a little cleaner.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'attributes' => [
|
||||||
|
'name' => 'nombre',
|
||||||
|
'username' => 'usuario',
|
||||||
|
'email' => 'correo electrónico',
|
||||||
|
'first_name' => 'nombre',
|
||||||
|
'last_name' => 'apellido',
|
||||||
|
'password' => 'contraseña',
|
||||||
|
'password_confirmation' => 'confirmación de la contraseña',
|
||||||
|
'city' => 'ciudad',
|
||||||
|
'country' => 'país',
|
||||||
|
'address' => 'dirección',
|
||||||
|
'phone' => 'teléfono',
|
||||||
|
'mobile' => 'móvil',
|
||||||
|
'age' => 'edad',
|
||||||
|
'sex' => 'sexo',
|
||||||
|
'gender' => 'género',
|
||||||
|
'year' => 'año',
|
||||||
|
'month' => 'mes',
|
||||||
|
'day' => 'día',
|
||||||
|
'hour' => 'hora',
|
||||||
|
'minute' => 'minuto',
|
||||||
|
'second' => 'segundo',
|
||||||
|
'title' => 'título',
|
||||||
|
'content' => 'contenido',
|
||||||
|
'body' => 'contenido',
|
||||||
|
'description' => 'descripción',
|
||||||
|
'excerpt' => 'extracto',
|
||||||
|
'date' => 'fecha',
|
||||||
|
'time' => 'hora',
|
||||||
|
'subject' => 'asunto',
|
||||||
|
'message' => 'mensaje',
|
||||||
|
],
|
||||||
|
];
|
||||||
16
resources/lang/fr/auth.php
Normal file
16
resources/lang/fr/auth.php
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Authentication Language Lines
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The following language lines are used during authentication for various
|
||||||
|
| messages that we need to display to the user. You are free to modify
|
||||||
|
| these language lines according to your application's requirements.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
'failed' => 'Ces identifiants ne correspondent pas à nos enregistrements',
|
||||||
|
'throttle' => 'Trop de tentatives de connexion. Veuillez essayer de nouveau dans :seconds secondes.',
|
||||||
|
];
|
||||||
19
resources/lang/fr/pagination.php
Normal file
19
resources/lang/fr/pagination.php
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Pagination Language Lines
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The following language lines are used by the paginator library to build
|
||||||
|
| the simple pagination links. You are free to change them to anything
|
||||||
|
| you want to customize your views to better match your application.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'previous' => '« Précédent',
|
||||||
|
'next' => 'Suivant »',
|
||||||
|
|
||||||
|
];
|
||||||
19
resources/lang/fr/passwords.php
Normal file
19
resources/lang/fr/passwords.php
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Password Reminder Language Lines
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The following language lines are the default lines which match reasons
|
||||||
|
| that are given by the password broker for a password update attempt
|
||||||
|
| has failed, such as for an invalid token or invalid new password.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
'password' => 'Les mots de passe doivent contenir au moins six caractères et doivent être identiques.',
|
||||||
|
'reset' => 'Votre mot de passe a été réinitialisé !',
|
||||||
|
'sent' => 'Nous vous avons envoyé par courriel le lien de réinitialisation du mot de passe !',
|
||||||
|
'token' => "Ce jeton de réinitialisation du mot de passe n'est pas valide.",
|
||||||
|
'user' => "Aucun utilisateur n'a été trouvé avec cette adresse e-mail.",
|
||||||
|
];
|
||||||
149
resources/lang/fr/validation.php
Normal file
149
resources/lang/fr/validation.php
Normal file
@@ -0,0 +1,149 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Validation Language Lines
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The following language lines contain the default error messages used by
|
||||||
|
| the validator class. Some of these rules have multiple versions such
|
||||||
|
| such as the size rules. Feel free to tweak each of these messages.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'accepted' => 'Le champ :attribute doit être accepté.',
|
||||||
|
'active_url' => "Le champ :attribute n'est pas une URL valide.",
|
||||||
|
'after' => 'Le champ :attribute doit être une date postérieure au :date.',
|
||||||
|
'after_or_equal' => 'Le champ :attribute doit être une date postérieure ou égale au :date.',
|
||||||
|
'alpha' => 'Le champ :attribute doit seulement contenir des lettres.',
|
||||||
|
'alpha_dash' => 'Le champ :attribute doit seulement contenir des lettres, des chiffres et des tirets.',
|
||||||
|
'alpha_num' => 'Le champ :attribute doit seulement contenir des chiffres et des lettres.',
|
||||||
|
'array' => 'Le champ :attribute doit être un tableau.',
|
||||||
|
'before' => 'Le champ :attribute doit être une date antérieure au :date.',
|
||||||
|
'before_or_equal' => 'Le champ :attribute doit être une date antérieure ou égale au :date.',
|
||||||
|
'between' => [
|
||||||
|
'numeric' => 'La valeur de :attribute doit être comprise entre :min et :max.',
|
||||||
|
'file' => 'La taille du fichier de :attribute doit être comprise entre :min et :max kilo-octets.',
|
||||||
|
'string' => 'Le texte :attribute doit contenir entre :min et :max caractères.',
|
||||||
|
'array' => 'Le tableau :attribute doit contenir entre :min et :max éléments.',
|
||||||
|
],
|
||||||
|
'boolean' => 'Le champ :attribute doit être vrai ou faux.',
|
||||||
|
'confirmed' => 'Le champ de confirmation :attribute ne correspond pas.',
|
||||||
|
'date' => "Le champ :attribute n'est pas une date valide.",
|
||||||
|
'date_format' => 'Le champ :attribute ne correspond pas au format :format.',
|
||||||
|
'different' => 'Les champs :attribute et :other doivent être différents.',
|
||||||
|
'digits' => 'Le champ :attribute doit contenir :digits chiffres.',
|
||||||
|
'digits_between' => 'Le champ :attribute doit contenir entre :min et :max chiffres.',
|
||||||
|
'dimensions' => "La taille de l'image :attribute n'est pas conforme.",
|
||||||
|
'distinct' => 'Le champ :attribute a une valeur dupliquée.',
|
||||||
|
'email' => 'Le champ :attribute doit être une adresse e-mail valide.',
|
||||||
|
'exists' => 'Le champ :attribute sélectionné est invalide.',
|
||||||
|
'file' => 'Le champ :attribute doit être un fichier.',
|
||||||
|
'filled' => 'Le champ :attribute est obligatoire.',
|
||||||
|
'image' => 'Le champ :attribute doit être une image.',
|
||||||
|
'in' => 'Le champ :attribute est invalide.',
|
||||||
|
'in_array' => 'Le champ :attribute n\'existe pas dans :other.',
|
||||||
|
'integer' => 'Le champ :attribute doit être un entier.',
|
||||||
|
'ip' => 'Le champ :attribute doit être une adresse IP valide.',
|
||||||
|
'json' => 'Le champ :attribute doit être un document JSON valide.',
|
||||||
|
'max' => [
|
||||||
|
'numeric' => 'La valeur de :attribute ne peut être supérieure à :max.',
|
||||||
|
'file' => 'La taille du fichier de :attribute ne peut pas dépasser :max kilo-octets.',
|
||||||
|
'string' => 'Le texte de :attribute ne peut contenir plus de :max caractères.',
|
||||||
|
'array' => 'Le tableau :attribute ne peut contenir plus de :max éléments.',
|
||||||
|
],
|
||||||
|
'mimes' => 'Le champ :attribute doit être un fichier de type : :values.',
|
||||||
|
'mimetypes' => 'Le champ :attribute doit être un fichier de type : :values.',
|
||||||
|
'min' => [
|
||||||
|
'numeric' => 'La valeur de :attribute doit être supérieure ou égale à :min.',
|
||||||
|
'file' => 'La taille du fichier de :attribute doit être supérieure à :min kilo-octets.',
|
||||||
|
'string' => 'Le texte :attribute doit contenir au moins :min caractères.',
|
||||||
|
'array' => 'Le tableau :attribute doit contenir au moins :min éléments.',
|
||||||
|
],
|
||||||
|
'not_in' => "Le champ :attribute sélectionné n'est pas valide.",
|
||||||
|
'numeric' => 'Le champ :attribute doit contenir un nombre.',
|
||||||
|
'present' => 'Le champ :attribute doit être présent.',
|
||||||
|
'regex' => 'Le format du champ :attribute est invalide.',
|
||||||
|
'required' => 'Le champ :attribute est obligatoire.',
|
||||||
|
'required_if' => 'Le champ :attribute est obligatoire quand la valeur de :other est :value.',
|
||||||
|
'required_unless' => 'Le champ :attribute est obligatoire sauf si :other est :values.',
|
||||||
|
'required_with' => 'Le champ :attribute est obligatoire quand :values est présent.',
|
||||||
|
'required_with_all' => 'Le champ :attribute est obligatoire quand :values est présent.',
|
||||||
|
'required_without' => "Le champ :attribute est obligatoire quand :values n'est pas présent.",
|
||||||
|
'required_without_all' => "Le champ :attribute est requis quand aucun de :values n'est présent.",
|
||||||
|
'same' => 'Les champs :attribute et :other doivent être identiques.',
|
||||||
|
'size' => [
|
||||||
|
'numeric' => 'La valeur de :attribute doit être :size.',
|
||||||
|
'file' => 'La taille du fichier de :attribute doit être de :size kilo-octets.',
|
||||||
|
'string' => 'Le texte de :attribute doit contenir :size caractères.',
|
||||||
|
'array' => 'Le tableau :attribute doit contenir :size éléments.',
|
||||||
|
],
|
||||||
|
'string' => 'Le champ :attribute doit être une chaîne de caractères.',
|
||||||
|
'timezone' => 'Le champ :attribute doit être un fuseau horaire valide.',
|
||||||
|
'unique' => 'La valeur du champ :attribute est déjà utilisée.',
|
||||||
|
'uploaded' => "Le fichier du champ :attribute n'a pu être téléchargé.",
|
||||||
|
'url' => "Le format de l'URL de :attribute n'est pas valide.",
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Custom Validation Language Lines
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may specify custom validation messages for attributes using the
|
||||||
|
| convention "attribute.rule" to name the lines. This makes it quick to
|
||||||
|
| specify a specific custom language line for a given attribute rule.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'custom' => [
|
||||||
|
'attribute-name' => [
|
||||||
|
'rule-name' => 'custom-message',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Custom Validation Attributes
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The following language lines are used to swap attribute place-holders
|
||||||
|
| with something more reader friendly such as E-Mail Address instead
|
||||||
|
| of "email". This simply helps us make messages a little cleaner.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'attributes' => [
|
||||||
|
'name' => 'nom',
|
||||||
|
'username' => 'nom d\'utilisateur',
|
||||||
|
'email' => 'adresse e-mail',
|
||||||
|
'first_name' => 'prénom',
|
||||||
|
'last_name' => 'nom',
|
||||||
|
'password' => 'mot de passe',
|
||||||
|
'password_confirmation' => 'confirmation du mot de passe',
|
||||||
|
'city' => 'ville',
|
||||||
|
'country' => 'pays',
|
||||||
|
'address' => 'adresse',
|
||||||
|
'phone' => 'téléphone',
|
||||||
|
'mobile' => 'portable',
|
||||||
|
'age' => 'âge',
|
||||||
|
'sex' => 'sexe',
|
||||||
|
'gender' => 'genre',
|
||||||
|
'day' => 'jour',
|
||||||
|
'month' => 'mois',
|
||||||
|
'year' => 'année',
|
||||||
|
'hour' => 'heure',
|
||||||
|
'minute' => 'minute',
|
||||||
|
'second' => 'seconde',
|
||||||
|
'title' => 'titre',
|
||||||
|
'content' => 'contenu',
|
||||||
|
'description' => 'description',
|
||||||
|
'excerpt' => 'extrait',
|
||||||
|
'date' => 'date',
|
||||||
|
'time' => 'heure',
|
||||||
|
'available' => 'disponible',
|
||||||
|
'size' => 'taille',
|
||||||
|
],
|
||||||
|
|
||||||
|
];
|
||||||
17
resources/lang/tr/auth.php
Normal file
17
resources/lang/tr/auth.php
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Authentication Language Lines
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The following language lines are used during authentication for various
|
||||||
|
| messages that we need to display to the user. You are free to modify
|
||||||
|
| these language lines according to your application's requirements.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'failed' => 'Girilmiş olan kullanıcı verileri sistemdekiler ile eşleşmemektedir.',
|
||||||
|
'throttle' => 'Çok fazla oturum açma girişiminde bulundunuz. Lütfen :seconds saniye içerisinde tekrar deneyiz.',
|
||||||
|
];
|
||||||
17
resources/lang/tr/pagination.php
Normal file
17
resources/lang/tr/pagination.php
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Pagination Language Lines
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The following language lines are used by the paginator library to build
|
||||||
|
| the simple pagination links. You are free to change them to anything
|
||||||
|
| you want to customize your views to better match your application.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'previous' => '« Önceki',
|
||||||
|
'next' => 'Sonraki »',
|
||||||
|
];
|
||||||
20
resources/lang/tr/passwords.php
Normal file
20
resources/lang/tr/passwords.php
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Password Reminder Language Lines
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The following language lines are the default lines which match reasons
|
||||||
|
| that are given by the password broker for a password update attempt
|
||||||
|
| has failed, such as for an invalid token or invalid new password.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'password' => 'Parolanız en az altı karakter olmalı ve doğrulama ile eşleşmelidir.',
|
||||||
|
'reset' => 'Parolanız sıfırlandı!',
|
||||||
|
'sent' => 'Parola sıfırlama bağlantınız e-posta ile gönderildi!',
|
||||||
|
'token' => 'Parola sıfırlama adresi/kodu geçersiz.',
|
||||||
|
'user' => 'Bu e-posta adresi ile kayıtlı bir üye bulunmuyor.',
|
||||||
|
];
|
||||||
145
resources/lang/tr/validation.php
Normal file
145
resources/lang/tr/validation.php
Normal file
@@ -0,0 +1,145 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Validation Language Lines
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The following language lines contain the default error messages used by
|
||||||
|
| the validator class. Some of these rules have multiple versions such
|
||||||
|
| as the size rules. Feel free to tweak each of these messages.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'accepted' => ':attribute kabul edilmelidir.',
|
||||||
|
'active_url' => ':attribute geçerli bir URL olmalıdır.',
|
||||||
|
'after' => ':attribute şundan daha eski bir tarih olmalıdır :date.',
|
||||||
|
'after_or_equal' => ':attribute tarihi :date tarihinden sonra veya tarihine eşit olmalıdır.',
|
||||||
|
'alpha' => ':attribute sadece harflerden oluşmalıdır.',
|
||||||
|
'alpha_dash' => ':attribute sadece harfler, rakamlar ve tirelerden oluşmalıdır.',
|
||||||
|
'alpha_num' => ':attribute sadece harfler ve rakamlar içermelidir.',
|
||||||
|
'array' => ':attribute dizi olmalıdır.',
|
||||||
|
'before' => ':attribute şundan daha önceki bir tarih olmalıdır :date.',
|
||||||
|
'before_or_equal' => ':attribute tarihi :date tarihinden önce veya tarihine eşit olmalıdır.',
|
||||||
|
'between' => [
|
||||||
|
'numeric' => ':attribute :min - :max arasında olmalıdır.',
|
||||||
|
'file' => ':attribute :min - :max arasındaki kilobayt değeri olmalıdır.',
|
||||||
|
'string' => ':attribute :min - :max arasında karakterden oluşmalıdır.',
|
||||||
|
'array' => ':attribute :min - :max arasında nesneye sahip olmalıdır.',
|
||||||
|
],
|
||||||
|
'boolean' => ':attribute sadece doğru veya yanlış olmalıdır.',
|
||||||
|
'confirmed' => ':attribute tekrarı eşleşmiyor.',
|
||||||
|
'date' => ':attribute geçerli bir tarih olmalıdır.',
|
||||||
|
'date_format' => ':attribute :format biçimi ile eşleşmiyor.',
|
||||||
|
'different' => ':attribute ile :other birbirinden farklı olmalıdır.',
|
||||||
|
'digits' => ':attribute :digits rakam olmalıdır.',
|
||||||
|
'digits_between' => ':attribute :min ile :max arasında rakam olmalıdır.',
|
||||||
|
'dimensions' => ':attribute görsel ölçüleri geçersiz.',
|
||||||
|
'distinct' => ':attribute alanı yinelenen bir değere sahip.',
|
||||||
|
'email' => ':attribute biçimi geçersiz.',
|
||||||
|
'exists' => 'Seçili :attribute geçersiz.',
|
||||||
|
'file' => ':attribute dosya olmalıdır.',
|
||||||
|
'filled' => ':attribute alanının doldurulması zorunludur.',
|
||||||
|
'gt' => [
|
||||||
|
'numeric' => 'The :attribute must be greater than :value.',
|
||||||
|
'file' => 'The :attribute must be greater than :value kilobytes.',
|
||||||
|
'string' => 'The :attribute must be greater than :value characters.',
|
||||||
|
'array' => 'The :attribute must have more than :value items.',
|
||||||
|
],
|
||||||
|
'gte' => [
|
||||||
|
'numeric' => 'The :attribute must be greater than or equal :value.',
|
||||||
|
'file' => 'The :attribute must be greater than or equal :value kilobytes.',
|
||||||
|
'string' => 'The :attribute must be greater than or equal :value characters.',
|
||||||
|
'array' => 'The :attribute must have :value items or more.',
|
||||||
|
],
|
||||||
|
'image' => ':attribute alanı resim dosyası olmalıdır.',
|
||||||
|
'in' => ':attribute değeri geçersiz.',
|
||||||
|
'in_array' => ':attribute alanı :other içinde mevcut değil.',
|
||||||
|
'integer' => ':attribute tamsayı olmalıdır.',
|
||||||
|
'ip' => ':attribute geçerli bir IP adresi olmalıdır.',
|
||||||
|
'ipv4' => ':attribute geçerli bir IPv4 adresi olmalıdır.',
|
||||||
|
'ipv6' => ':attribute geçerli bir IPv6 adresi olmalıdır.',
|
||||||
|
'json' => ':attribute geçerli bir JSON değişkeni olmalıdır.',
|
||||||
|
'lt' => [
|
||||||
|
'numeric' => 'The :attribute must be less than :value.',
|
||||||
|
'file' => 'The :attribute must be less than :value kilobytes.',
|
||||||
|
'string' => 'The :attribute must be less than :value characters.',
|
||||||
|
'array' => 'The :attribute must have less than :value items.',
|
||||||
|
],
|
||||||
|
'lte' => [
|
||||||
|
'numeric' => 'The :attribute must be less than or equal :value.',
|
||||||
|
'file' => 'The :attribute must be less than or equal :value kilobytes.',
|
||||||
|
'string' => 'The :attribute must be less than or equal :value characters.',
|
||||||
|
'array' => 'The :attribute must not have more than :value items.',
|
||||||
|
],
|
||||||
|
'max' => [
|
||||||
|
'numeric' => ':attribute değeri :max değerinden küçük olmalıdır.',
|
||||||
|
'file' => ':attribute değeri :max kilobayt değerinden küçük olmalıdır.',
|
||||||
|
'string' => ':attribute değeri :max karakter değerinden küçük olmalıdır.',
|
||||||
|
'array' => ':attribute değeri :max adedinden az nesneye sahip olmalıdır.',
|
||||||
|
],
|
||||||
|
'mimes' => ':attribute dosya biçimi :values olmalıdır.',
|
||||||
|
'mimetypes' => ':attribute dosya biçimi :values olmalıdır.',
|
||||||
|
'min' => [
|
||||||
|
'numeric' => ':attribute değeri :min değerinden büyük olmalıdır.',
|
||||||
|
'file' => ':attribute değeri :min kilobayt değerinden büyük olmalıdır.',
|
||||||
|
'string' => ':attribute değeri :min karakter değerinden büyük olmalıdır.',
|
||||||
|
'array' => ':attribute en az :min nesneye sahip olmalıdır.',
|
||||||
|
],
|
||||||
|
'not_in' => 'Seçili :attribute geçersiz.',
|
||||||
|
'not_regex' => ':attribute biçimi geçersiz.',
|
||||||
|
'numeric' => ':attribute sayı olmalıdır.',
|
||||||
|
'present' => ':attribute alanı mevcut olmalıdır.',
|
||||||
|
'regex' => ':attribute biçimi geçersiz.',
|
||||||
|
'required' => ':attribute alanı gereklidir.',
|
||||||
|
'required_if' => ':attribute alanı, :other :value değerine sahip olduğunda zorunludur.',
|
||||||
|
'required_unless' => ':attribute alanı, :other alanı :value değerlerinden birine sahip olmadığında zorunludur.',
|
||||||
|
'required_with' => ':attribute alanı :values varken zorunludur.',
|
||||||
|
'required_with_all' => ':attribute alanı herhangi bir :values değeri varken zorunludur.',
|
||||||
|
'required_without' => ':attribute alanı :values yokken zorunludur.',
|
||||||
|
'required_without_all' => ':attribute alanı :values değerlerinden herhangi biri yokken zorunludur.',
|
||||||
|
'same' => ':attribute ile :other eşleşmelidir.',
|
||||||
|
'size' => [
|
||||||
|
'numeric' => ':attribute :size olmalıdır.',
|
||||||
|
'file' => ':attribute :size kilobyte olmalıdır.',
|
||||||
|
'string' => ':attribute :size karakter olmalıdır.',
|
||||||
|
'array' => ':attribute :size nesneye sahip olmalıdır.',
|
||||||
|
],
|
||||||
|
'string' => ':attribute dizge olmalıdır.',
|
||||||
|
'timezone' => ':attribute geçerli bir saat dilimi olmalıdır.',
|
||||||
|
'unique' => ':attribute daha önceden kayıt edilmiş.',
|
||||||
|
'uploaded' => ':attribute yüklemesi başarısız.',
|
||||||
|
'url' => ':attribute biçimi geçersiz.',
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Custom Validation Language Lines
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may specify custom validation messages for attributes using the
|
||||||
|
| convention "attribute.rule" to name the lines. This makes it quick to
|
||||||
|
| specify a specific custom language line for a given attribute rule.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'custom' => [
|
||||||
|
'attribute-name' => [
|
||||||
|
'rule-name' => 'custom-message',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Custom Validation Attributes
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The following language lines are used to swap attribute place-holders
|
||||||
|
| with something more reader friendly such as E-Mail Address instead
|
||||||
|
| of "email". This simply helps us make messages a little cleaner.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'attributes' => [
|
||||||
|
],
|
||||||
|
];
|
||||||
7
resources/lang/vendor/log-viewer/ar/general.php
vendored
Normal file
7
resources/lang/vendor/log-viewer/ar/general.php
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
'all' => 'جميع',
|
||||||
|
'date' => 'تاريخ',
|
||||||
|
'empty-logs' => 'قائمة سجلات فارغة!',
|
||||||
|
];
|
||||||
13
resources/lang/vendor/log-viewer/ar/levels.php
vendored
Normal file
13
resources/lang/vendor/log-viewer/ar/levels.php
vendored
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
'all' => 'الجميع',
|
||||||
|
'emergency' => 'حالات الطوارئ',
|
||||||
|
'alert' => 'إنذار',
|
||||||
|
'critical' => 'حرج',
|
||||||
|
'error' => 'خطأ',
|
||||||
|
'warning' => 'تحذير',
|
||||||
|
'notice' => 'ملاحظة',
|
||||||
|
'info' => 'المعلومات',
|
||||||
|
'debug' => 'التصحيح',
|
||||||
|
];
|
||||||
7
resources/lang/vendor/log-viewer/bg/general.php
vendored
Normal file
7
resources/lang/vendor/log-viewer/bg/general.php
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
'all' => 'Всички',
|
||||||
|
'date' => 'Дата',
|
||||||
|
'empty-logs' => 'Не са намерени логове!',
|
||||||
|
];
|
||||||
13
resources/lang/vendor/log-viewer/bg/levels.php
vendored
Normal file
13
resources/lang/vendor/log-viewer/bg/levels.php
vendored
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
'all' => 'Всички',
|
||||||
|
'emergency' => 'Emergency',
|
||||||
|
'alert' => 'Alert',
|
||||||
|
'critical' => 'Critical',
|
||||||
|
'error' => 'Error',
|
||||||
|
'warning' => 'Warning',
|
||||||
|
'notice' => 'Notice',
|
||||||
|
'info' => 'Info',
|
||||||
|
'debug' => 'Debug',
|
||||||
|
];
|
||||||
7
resources/lang/vendor/log-viewer/de/general.php
vendored
Normal file
7
resources/lang/vendor/log-viewer/de/general.php
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
'all' => 'Alle',
|
||||||
|
'date' => 'Datum',
|
||||||
|
'empty-logs' => 'Keine Log Dateien gefunden!',
|
||||||
|
];
|
||||||
13
resources/lang/vendor/log-viewer/de/levels.php
vendored
Normal file
13
resources/lang/vendor/log-viewer/de/levels.php
vendored
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
'all' => 'Alle',
|
||||||
|
'emergency' => 'Notfall',
|
||||||
|
'alert' => 'Alarm',
|
||||||
|
'critical' => 'Kritisch',
|
||||||
|
'error' => 'Fehler',
|
||||||
|
'warning' => 'Warnung',
|
||||||
|
'notice' => 'Hinweis',
|
||||||
|
'info' => 'Info',
|
||||||
|
'debug' => 'Debug',
|
||||||
|
];
|
||||||
7
resources/lang/vendor/log-viewer/en/general.php
vendored
Normal file
7
resources/lang/vendor/log-viewer/en/general.php
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
'all' => 'All',
|
||||||
|
'date' => 'Date',
|
||||||
|
'empty-logs' => 'The list of logs is empty!',
|
||||||
|
];
|
||||||
13
resources/lang/vendor/log-viewer/en/levels.php
vendored
Normal file
13
resources/lang/vendor/log-viewer/en/levels.php
vendored
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
'all' => 'All',
|
||||||
|
'emergency' => 'Emergency',
|
||||||
|
'alert' => 'Alert',
|
||||||
|
'critical' => 'Critical',
|
||||||
|
'error' => 'Error',
|
||||||
|
'warning' => 'Warning',
|
||||||
|
'notice' => 'Notice',
|
||||||
|
'info' => 'Info',
|
||||||
|
'debug' => 'Debug',
|
||||||
|
];
|
||||||
7
resources/lang/vendor/log-viewer/es/general.php
vendored
Normal file
7
resources/lang/vendor/log-viewer/es/general.php
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
'all' => 'Todos',
|
||||||
|
'date' => 'Fecha',
|
||||||
|
'empty-logs' => 'La lista del log está vacía!',
|
||||||
|
];
|
||||||
13
resources/lang/vendor/log-viewer/es/levels.php
vendored
Normal file
13
resources/lang/vendor/log-viewer/es/levels.php
vendored
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
'all' => 'Todos',
|
||||||
|
'emergency' => 'Emergencia',
|
||||||
|
'alert' => 'Alerta',
|
||||||
|
'critical' => 'Criticos',
|
||||||
|
'error' => 'Errores',
|
||||||
|
'warning' => 'Advertencia',
|
||||||
|
'notice' => 'Aviso',
|
||||||
|
'info' => 'Info',
|
||||||
|
'debug' => 'Debug',
|
||||||
|
];
|
||||||
7
resources/lang/vendor/log-viewer/et/general.php
vendored
Normal file
7
resources/lang/vendor/log-viewer/et/general.php
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
'all' => 'Kõik',
|
||||||
|
'date' => 'Kuupäev',
|
||||||
|
'empty-logs' => 'Logide nimekiri on tühi!',
|
||||||
|
];
|
||||||
13
resources/lang/vendor/log-viewer/et/levels.php
vendored
Normal file
13
resources/lang/vendor/log-viewer/et/levels.php
vendored
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
'all' => 'Kõik',
|
||||||
|
'emergency' => 'Erakorraline',
|
||||||
|
'alert' => 'Häire',
|
||||||
|
'critical' => 'Kriitiline',
|
||||||
|
'error' => 'Viga',
|
||||||
|
'warning' => 'Hoiatus',
|
||||||
|
'notice' => 'Teade',
|
||||||
|
'info' => 'Info',
|
||||||
|
'debug' => 'Silumine',
|
||||||
|
];
|
||||||
7
resources/lang/vendor/log-viewer/fa/general.php
vendored
Normal file
7
resources/lang/vendor/log-viewer/fa/general.php
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
'all' => 'همه',
|
||||||
|
'date' => 'تاریخ',
|
||||||
|
'empty-logs' => 'چیزی برای نمایش وجود ندارد!',
|
||||||
|
];
|
||||||
13
resources/lang/vendor/log-viewer/fa/levels.php
vendored
Normal file
13
resources/lang/vendor/log-viewer/fa/levels.php
vendored
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
'all' => 'همه',
|
||||||
|
'emergency' => 'اورژانسی',
|
||||||
|
'alert' => 'اخطار',
|
||||||
|
'critical' => 'بحرانی',
|
||||||
|
'error' => 'خطا',
|
||||||
|
'warning' => 'هشدار',
|
||||||
|
'notice' => 'اعلان',
|
||||||
|
'info' => 'اطلاعات',
|
||||||
|
'debug' => 'دیباگ',
|
||||||
|
];
|
||||||
7
resources/lang/vendor/log-viewer/fr/general.php
vendored
Normal file
7
resources/lang/vendor/log-viewer/fr/general.php
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
'all' => 'Tous',
|
||||||
|
'date' => 'Date',
|
||||||
|
'empty-logs' => 'La liste des logs est vide!',
|
||||||
|
];
|
||||||
13
resources/lang/vendor/log-viewer/fr/levels.php
vendored
Normal file
13
resources/lang/vendor/log-viewer/fr/levels.php
vendored
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
'all' => 'Tous',
|
||||||
|
'emergency' => 'Urgence',
|
||||||
|
'alert' => 'Alerte',
|
||||||
|
'critical' => 'Critique',
|
||||||
|
'error' => 'Erreur',
|
||||||
|
'warning' => 'Avertissement',
|
||||||
|
'notice' => 'Notice',
|
||||||
|
'info' => 'Info',
|
||||||
|
'debug' => 'Debug',
|
||||||
|
];
|
||||||
7
resources/lang/vendor/log-viewer/hu/general.php
vendored
Normal file
7
resources/lang/vendor/log-viewer/hu/general.php
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
'all' => 'Összes',
|
||||||
|
'date' => 'Dátum',
|
||||||
|
'empty-logs' => 'A naplók listája üres!',
|
||||||
|
];
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user