first commit
This commit is contained in:
188
config/app.php
Normal file
188
config/app.php
Normal file
@ -0,0 +1,188 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Facade;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
|
||||
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' => (bool) 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'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| 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',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| 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',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Maintenance Mode Driver
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| These configuration options determine the driver used to determine and
|
||||
| manage Laravel's "maintenance mode" status. The "cache" driver will
|
||||
| allow maintenance mode to be controlled across multiple machines.
|
||||
|
|
||||
| Supported drivers: "file", "cache"
|
||||
|
|
||||
*/
|
||||
|
||||
'maintenance' => [
|
||||
'driver' => 'file',
|
||||
// 'store' => 'redis',
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| 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' => ServiceProvider::defaultProviders()->merge([
|
||||
/*
|
||||
* 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,
|
||||
])->toArray(),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| 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' => Facade::defaultAliases()->merge([
|
||||
// 'Example' => App\Facades\Example::class,
|
||||
])->toArray(),
|
||||
|
||||
];
|
115
config/auth.php
Normal file
115
config/auth.php
Normal file
@ -0,0 +1,115 @@
|
||||
<?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"
|
||||
|
|
||||
*/
|
||||
|
||||
'guards' => [
|
||||
'web' => [
|
||||
'driver' => 'session',
|
||||
'provider' => 'users',
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| 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\Models\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 expiry time is the number of minutes that each reset token will be
|
||||
| considered valid. This security feature keeps tokens short-lived so
|
||||
| they have less time to be guessed. You may change this as needed.
|
||||
|
|
||||
| The throttle setting is the number of seconds a user must wait before
|
||||
| generating more password reset tokens. This prevents the user from
|
||||
| quickly generating a very large amount of password reset tokens.
|
||||
|
|
||||
*/
|
||||
|
||||
'passwords' => [
|
||||
'users' => [
|
||||
'provider' => 'users',
|
||||
'table' => 'password_reset_tokens',
|
||||
'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,
|
||||
|
||||
];
|
195
config/backpack/base.php
Normal file
195
config/backpack/base.php
Normal file
@ -0,0 +1,195 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Registration Open
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Choose whether new users/admins are allowed to register.
|
||||
| This will show the Register button on the login page and allow access to the
|
||||
| Register functions in AuthController.
|
||||
|
|
||||
| By default the registration is open only on localhost.
|
||||
*/
|
||||
|
||||
'registration_open' => env('BACKPACK_REGISTRATION_OPEN', env('APP_ENV') === 'local'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Routing
|
||||
|--------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
// The prefix used in all base routes (the 'admin' in admin/dashboard)
|
||||
// You can make sure all your URLs use this prefix by using the backpack_url() helper instead of url()
|
||||
'route_prefix' => 'admin',
|
||||
|
||||
// The web middleware (group) used in all base & CRUD routes
|
||||
// If you've modified your "web" middleware group (ex: removed sessions), you can use a different
|
||||
// route group, that has all the the middleware listed below in the comments.
|
||||
'web_middleware' => 'web',
|
||||
// Or you can comment the above, and uncomment the complete list below.
|
||||
// 'web_middleware' => [
|
||||
// \App\Http\Middleware\EncryptCookies::class,
|
||||
// \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
|
||||
// \Illuminate\Session\Middleware\StartSession::class,
|
||||
// \Illuminate\View\Middleware\ShareErrorsFromSession::class,
|
||||
// \App\Http\Middleware\VerifyCsrfToken::class,
|
||||
// ],
|
||||
|
||||
// Set this to false if you would like to use your own AuthController and PasswordController
|
||||
// (you then need to setup your auth routes manually in your routes.php file)
|
||||
// Warning: if you disable this, the password recovery routes (below) will be disabled too!
|
||||
'setup_auth_routes' => true,
|
||||
|
||||
// Set this to false if you would like to skip adding the dashboard routes
|
||||
// (you then need to overwrite the login route on your AuthController)
|
||||
'setup_dashboard_routes' => true,
|
||||
|
||||
// Set this to false if you would like to skip adding "my account" routes
|
||||
// (you then need to manually define the routes in your web.php)
|
||||
'setup_my_account_routes' => true,
|
||||
|
||||
// Set this to false if you would like to skip adding the password recovery routes
|
||||
// (you then need to manually define the routes in your web.php)
|
||||
'setup_password_recovery_routes' => false,
|
||||
|
||||
// Set this to true if you would like to enable email verification for your user model.
|
||||
// Make sure your user model implements the MustVerifyEmail contract and your database
|
||||
// table contains the `email_verified_at` column. Read the following before enabling:
|
||||
// https://backpackforlaravel.com/docs/6.x/base-how-to#enable-email-verification-in-backpack-routes
|
||||
'setup_email_verification_routes' => false,
|
||||
|
||||
// When email verification is enabled, automatically add the Verified middleware to Backpack routes?
|
||||
// Set false if you want to use your own Verified middleware in `middleware_class`.
|
||||
'setup_email_verification_middleware' => true,
|
||||
|
||||
// How many times in any given time period should the user be allowed to
|
||||
// request a new verification email?
|
||||
// Defaults to 1,10 - 1 time in 10 minutes.
|
||||
'email_verification_throttle_access' => '3,15',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Security
|
||||
|--------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
// Backpack will prevent visitors from requesting password recovery too many times
|
||||
// for a certain email, to make sure they cannot be spammed that way.
|
||||
// How many seconds should a visitor wait, after they've requested a
|
||||
// password reset, before they can try again for the same email?
|
||||
'password_recovery_throttle_notifications' => 600, // time in seconds
|
||||
|
||||
// How much time should the token sent to the user email be considered valid?
|
||||
// After this time expires, user needs to request a new reset token.
|
||||
'password_recovery_token_expiration' => 60, // time in minutes
|
||||
|
||||
// Backpack will prevent an IP from trying to reset the password too many times,
|
||||
// so that a malicious actor cannot try too many emails, too see if they have
|
||||
// accounts or to increase the AWS/SendGrid/etc bill.
|
||||
//
|
||||
// How many times in any given time period should the user be allowed to
|
||||
// attempt a password reset? Take into account that user might wrongly
|
||||
// type an email at first, so at least allow one more try.
|
||||
// Defaults to 3,10 - 3 times in 10 minutes.
|
||||
'password_recovery_throttle_access' => '3,10',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Authentication
|
||||
|--------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
// Fully qualified namespace of the User model
|
||||
'user_model_fqn' => config('auth.providers.users.model'),
|
||||
// 'user_model_fqn' => App\User::class, // works on Laravel <= 7
|
||||
// 'user_model_fqn' => App\Models\User::class, // works on Laravel >= 8
|
||||
|
||||
// The classes for the middleware to check if the visitor is an admin
|
||||
// Can be a single class or an array of classes
|
||||
'middleware_class' => [
|
||||
App\Http\Middleware\CheckIfAdmin::class,
|
||||
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
|
||||
\Backpack\CRUD\app\Http\Middleware\AuthenticateSession::class,
|
||||
// \Backpack\LanguageSwitcher\Http\Middleware\LanguageSwitcherMiddleware::class,
|
||||
// \Backpack\CRUD\app\Http\Middleware\UseBackpackAuthGuardInsteadOfDefaultAuthGuard::class,
|
||||
],
|
||||
|
||||
// Alias for that middleware
|
||||
'middleware_key' => 'admin',
|
||||
// Note: It's recommended to use the backpack_middleware() helper everywhere, which pulls this key for you.
|
||||
|
||||
// Username column for authentication
|
||||
// The Backpack default is the same as the Laravel default (email)
|
||||
// If you need to switch to username, you also need to create that column in your db
|
||||
'authentication_column' => 'email',
|
||||
'authentication_column_name' => 'Email',
|
||||
|
||||
// Backpack assumes that your "database email column" for operations like Login and Register is called "email".
|
||||
// If your database email column have a different name, you can configure it here. Eg: `user_mail`
|
||||
'email_column' => 'email',
|
||||
|
||||
// The guard that protects the Backpack admin panel.
|
||||
// If null, the config.auth.defaults.guard value will be used.
|
||||
'guard' => 'backpack',
|
||||
|
||||
// The password reset configuration for Backpack.
|
||||
// If null, the config.auth.defaults.passwords value will be used.
|
||||
'passwords' => 'backpack',
|
||||
|
||||
// What kind of avatar will you like to show to the user?
|
||||
// Default: gravatar (automatically use the gravatar for their email)
|
||||
// Other options:
|
||||
// - null (generic image with their first letter)
|
||||
// - example_method_name (specify the method on the User model that returns the URL)
|
||||
'avatar_type' => 'gravatar',
|
||||
|
||||
// Gravatar fallback options are 'identicon', 'monsterid', 'wavatar', 'retro', 'robohash', 'blank'
|
||||
// 'blank' will keep the generic image with the user first letter
|
||||
'gravatar_fallback' => 'blank',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| File System
|
||||
|--------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
// Backpack\Base sets up its own filesystem disk, just like you would by
|
||||
// adding an entry to your config/filesystems.php. It points to the root
|
||||
// of your project and it's used throughout all Backpack packages.
|
||||
//
|
||||
// You can rename this disk here. Default: root
|
||||
'root_disk_name' => 'root',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Application
|
||||
|--------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
// Should we use DB transactions when executing multiple queries? For example when creating an entry and it's relationships.
|
||||
// By wrapping in a database transaction you ensure that either all queries went ok, or if some failed the whole process
|
||||
// is rolled back and considered failed. This is a good setting for data integrity.
|
||||
'useDatabaseTransactions' => true,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Backpack Token Username
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| If you have access to closed-source Backpack add-ons, please provide
|
||||
| your token username here, if you're getting yellow alerts on your
|
||||
| admin panel's pages. Normally this is not needed, it is
|
||||
| preferred to add this as an environment variable
|
||||
| (most likely in your .env file).
|
||||
|
|
||||
| More info and payment form on:
|
||||
| https://www.backpackforlaravel.com
|
||||
|
|
||||
*/
|
||||
|
||||
'token_username' => env('BACKPACK_TOKEN_USERNAME', false),
|
||||
];
|
481
config/backpack/crud.php
Normal file
481
config/backpack/crud.php
Normal file
@ -0,0 +1,481 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Backpack\CRUD preferences.
|
||||
*/
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|-------------------
|
||||
| TRANSLATABLE CRUDS
|
||||
|-------------------
|
||||
*/
|
||||
|
||||
'show_translatable_field_icon' => false,
|
||||
'translatable_field_icon_position' => 'right', // left or right
|
||||
|
||||
'locales' => [
|
||||
// "af_NA" => "Afrikaans (Namibia)",
|
||||
// "af_ZA" => "Afrikaans (South Africa)",
|
||||
// "af" => "Afrikaans",
|
||||
// "ak_GH" => "Akan (Ghana)",
|
||||
// "ak" => "Akan",
|
||||
// "sq_AL" => "Albanian (Albania)",
|
||||
// "sq" => "Albanian",
|
||||
// "am_ET" => "Amharic (Ethiopia)",
|
||||
// "am" => "Amharic",
|
||||
// "ar_DZ" => "Arabic (Algeria)",
|
||||
// "ar_BH" => "Arabic (Bahrain)",
|
||||
// "ar_EG" => "Arabic (Egypt)",
|
||||
// "ar_IQ" => "Arabic (Iraq)",
|
||||
// "ar_JO" => "Arabic (Jordan)",
|
||||
// "ar_KW" => "Arabic (Kuwait)",
|
||||
// "ar_LB" => "Arabic (Lebanon)",
|
||||
// "ar_LY" => "Arabic (Libya)",
|
||||
// "ar_MA" => "Arabic (Morocco)",
|
||||
// "ar_OM" => "Arabic (Oman)",
|
||||
// "ar_QA" => "Arabic (Qatar)",
|
||||
// "ar_SA" => "Arabic (Saudi Arabia)",
|
||||
// "ar_SD" => "Arabic (Sudan)",
|
||||
// "ar_SY" => "Arabic (Syria)",
|
||||
// "ar_TN" => "Arabic (Tunisia)",
|
||||
// "ar_AE" => "Arabic (United Arab Emirates)",
|
||||
// "ar_YE" => "Arabic (Yemen)",
|
||||
// "ar" => "Arabic",
|
||||
// "hy_AM" => "Armenian (Armenia)",
|
||||
// "hy" => "Armenian",
|
||||
// "as_IN" => "Assamese (India)",
|
||||
// "as" => "Assamese",
|
||||
// "asa_TZ" => "Asu (Tanzania)",
|
||||
// "asa" => "Asu",
|
||||
// "az_Cyrl" => "Azerbaijani (Cyrillic)",
|
||||
// "az_Cyrl_AZ" => "Azerbaijani (Cyrillic, Azerbaijan)",
|
||||
// "az_Latn" => "Azerbaijani (Latin)",
|
||||
// "az_Latn_AZ" => "Azerbaijani (Latin, Azerbaijan)",
|
||||
// "az" => "Azerbaijani",
|
||||
// "bm_ML" => "Bambara (Mali)",
|
||||
// "bm" => "Bambara",
|
||||
// "eu_ES" => "Basque (Spain)",
|
||||
// "eu" => "Basque",
|
||||
// "be_BY" => "Belarusian (Belarus)",
|
||||
// "be" => "Belarusian",
|
||||
// "bem_ZM" => "Bemba (Zambia)",
|
||||
// "bem" => "Bemba",
|
||||
// "bez_TZ" => "Bena (Tanzania)",
|
||||
// "bez" => "Bena",
|
||||
// "bn_BD" => "Bengali (Bangladesh)",
|
||||
// "bn_IN" => "Bengali (India)",
|
||||
// "bn" => "Bengali",
|
||||
// "bs_BA" => "Bosnian (Bosnia and Herzegovina)",
|
||||
// "bs" => "Bosnian",
|
||||
// "bg_BG" => "Bulgarian (Bulgaria)",
|
||||
// "bg" => "Bulgarian",
|
||||
// "my_MM" => "Burmese (Myanmar [Burma])",
|
||||
// "my" => "Burmese",
|
||||
// "ca_ES" => "Catalan (Spain)",
|
||||
// "ca" => "Catalan",
|
||||
// "tzm_Latn" => "Central Morocco Tamazight (Latin)",
|
||||
// "tzm_Latn_MA" => "Central Morocco Tamazight (Latin, Morocco)",
|
||||
// "tzm" => "Central Morocco Tamazight",
|
||||
// "chr_US" => "Cherokee (United States)",
|
||||
// "chr" => "Cherokee",
|
||||
// "cgg_UG" => "Chiga (Uganda)",
|
||||
// "cgg" => "Chiga",
|
||||
// "zh_Hans" => "Chinese (Simplified Han)",
|
||||
// "zh_Hans_CN" => "Chinese (Simplified Han, China)",
|
||||
// "zh_Hans_HK" => "Chinese (Simplified Han, Hong Kong SAR China)",
|
||||
// "zh_Hans_MO" => "Chinese (Simplified Han, Macau SAR China)",
|
||||
// "zh_Hans_SG" => "Chinese (Simplified Han, Singapore)",
|
||||
// "zh_Hant" => "Chinese (Traditional Han)",
|
||||
// "zh_Hant_HK" => "Chinese (Traditional Han, Hong Kong SAR China)",
|
||||
// "zh_Hant_MO" => "Chinese (Traditional Han, Macau SAR China)",
|
||||
//"zh_Hant_TW" => "Chinese (Traditional Han, Taiwan)",
|
||||
// "zh-TW" => "中文 (繁體)",
|
||||
// "zh" => "Chinese",
|
||||
// "kw_GB" => "Cornish (United Kingdom)",
|
||||
// "kw" => "Cornish",
|
||||
// "hr_HR" => "Croatian (Croatia)",
|
||||
// "hr" => "Croatian",
|
||||
// "cs_CZ" => "Czech (Czech Republic)",
|
||||
// "cs" => "Czech",
|
||||
// "da_DK" => "Danish (Denmark)",
|
||||
// "da" => "Danish",
|
||||
// "nl_BE" => "Dutch (Belgium)",
|
||||
// "nl_NL" => "Dutch (Netherlands)",
|
||||
// "nl" => "Dutch",
|
||||
// "ebu_KE" => "Embu (Kenya)",
|
||||
// "ebu" => "Embu",
|
||||
// "en_AS" => "English (American Samoa)",
|
||||
// "en_AU" => "English (Australia)",
|
||||
// "en_BE" => "English (Belgium)",
|
||||
// "en_BZ" => "English (Belize)",
|
||||
// "en_BW" => "English (Botswana)",
|
||||
// "en_CA" => "English (Canada)",
|
||||
// "en_GU" => "English (Guam)",
|
||||
// "en_HK" => "English (Hong Kong SAR China)",
|
||||
// "en_IN" => "English (India)",
|
||||
// "en_IE" => "English (Ireland)",
|
||||
// "en_JM" => "English (Jamaica)",
|
||||
// "en_MT" => "English (Malta)",
|
||||
// "en_MH" => "English (Marshall Islands)",
|
||||
// "en_MU" => "English (Mauritius)",
|
||||
// "en_NA" => "English (Namibia)",
|
||||
// "en_NZ" => "English (New Zealand)",
|
||||
// "en_MP" => "English (Northern Mariana Islands)",
|
||||
// "en_PK" => "English (Pakistan)",
|
||||
// "en_PH" => "English (Philippines)",
|
||||
// "en_SG" => "English (Singapore)",
|
||||
// "en_ZA" => "English (South Africa)",
|
||||
// "en_TT" => "English (Trinidad and Tobago)",
|
||||
// "en_UM" => "English (U.S. Minor Outlying Islands)",
|
||||
// "en_VI" => "English (U.S. Virgin Islands)",
|
||||
// "en_GB" => "English (United Kingdom)",
|
||||
// "en_US" => "English (United States)",
|
||||
// "en_ZW" => "English (Zimbabwe)",
|
||||
'en' => 'English',
|
||||
// "eo" => "Esperanto",
|
||||
// "et_EE" => "Estonian (Estonia)",
|
||||
// "et" => "Estonian",
|
||||
// "ee_GH" => "Ewe (Ghana)",
|
||||
// "ee_TG" => "Ewe (Togo)",
|
||||
// "ee" => "Ewe",
|
||||
// "fo_FO" => "Faroese (Faroe Islands)",
|
||||
// "fo" => "Faroese",
|
||||
// "fil_PH" => "Filipino (Philippines)",
|
||||
// "fil" => "Filipino",
|
||||
// "fi_FI" => "Finnish (Finland)",
|
||||
// "fi" => "Finnish",
|
||||
// "fr_BE" => "French (Belgium)",
|
||||
// "fr_BJ" => "French (Benin)",
|
||||
// "fr_BF" => "French (Burkina Faso)",
|
||||
// "fr_BI" => "French (Burundi)",
|
||||
// "fr_CM" => "French (Cameroon)",
|
||||
// "fr_CA" => "French (Canada)",
|
||||
// "fr_CF" => "French (Central African Republic)",
|
||||
// "fr_TD" => "French (Chad)",
|
||||
// "fr_KM" => "French (Comoros)",
|
||||
// "fr_CG" => "French (Congo - Brazzaville)",
|
||||
// "fr_CD" => "French (Congo - Kinshasa)",
|
||||
// "fr_CI" => "French (Côte d’Ivoire)",
|
||||
// "fr_DJ" => "French (Djibouti)",
|
||||
// "fr_GQ" => "French (Equatorial Guinea)",
|
||||
// "fr_FR" => "French (France)",
|
||||
// "fr_GA" => "French (Gabon)",
|
||||
// "fr_GP" => "French (Guadeloupe)",
|
||||
// "fr_GN" => "French (Guinea)",
|
||||
// "fr_LU" => "French (Luxembourg)",
|
||||
// "fr_MG" => "French (Madagascar)",
|
||||
// "fr_ML" => "French (Mali)",
|
||||
// "fr_MQ" => "French (Martinique)",
|
||||
// "fr_MC" => "French (Monaco)",
|
||||
// "fr_NE" => "French (Niger)",
|
||||
// "fr_RW" => "French (Rwanda)",
|
||||
// "fr_RE" => "French (Réunion)",
|
||||
// "fr_BL" => "French (Saint Barthélemy)",
|
||||
// "fr_MF" => "French (Saint Martin)",
|
||||
// "fr_SN" => "French (Senegal)",
|
||||
// "fr_CH" => "French (Switzerland)",
|
||||
// "fr_TG" => "French (Togo)",
|
||||
// 'fr' => 'French',
|
||||
// "ff_SN" => "Fulah (Senegal)",
|
||||
// "ff" => "Fulah",
|
||||
// "gl_ES" => "Galician (Spain)",
|
||||
// "gl" => "Galician",
|
||||
// "lg_UG" => "Ganda (Uganda)",
|
||||
// "lg" => "Ganda",
|
||||
// "ka_GE" => "Georgian (Georgia)",
|
||||
// "ka" => "Georgian",
|
||||
// "de_AT" => "German (Austria)",
|
||||
// "de_BE" => "German (Belgium)",
|
||||
// "de_DE" => "German (Germany)",
|
||||
// "de_LI" => "German (Liechtenstein)",
|
||||
// "de_LU" => "German (Luxembourg)",
|
||||
// "de_CH" => "German (Switzerland)",
|
||||
// "de" => "German",
|
||||
// "el_CY" => "Greek (Cyprus)",
|
||||
// "el_GR" => "Greek (Greece)",
|
||||
// "el" => "Greek",
|
||||
// "gu_IN" => "Gujarati (India)",
|
||||
// "gu" => "Gujarati",
|
||||
// "guz_KE" => "Gusii (Kenya)",
|
||||
// "guz" => "Gusii",
|
||||
// "ha_Latn" => "Hausa (Latin)",
|
||||
// "ha_Latn_GH" => "Hausa (Latin, Ghana)",
|
||||
// "ha_Latn_NE" => "Hausa (Latin, Niger)",
|
||||
// "ha_Latn_NG" => "Hausa (Latin, Nigeria)",
|
||||
// "ha" => "Hausa",
|
||||
// "haw_US" => "Hawaiian (United States)",
|
||||
// "haw" => "Hawaiian",
|
||||
// "he_IL" => "Hebrew (Israel)",
|
||||
// "he" => "Hebrew",
|
||||
// "hi_IN" => "Hindi (India)",
|
||||
// "hi" => "Hindi",
|
||||
// "hu_HU" => "Hungarian (Hungary)",
|
||||
// "hu" => "Hungarian",
|
||||
// "is_IS" => "Icelandic (Iceland)",
|
||||
// "is" => "Icelandic",
|
||||
// "ig_NG" => "Igbo (Nigeria)",
|
||||
// "ig" => "Igbo",
|
||||
// "id_ID" => "Indonesian (Indonesia)",
|
||||
// "id" => "Indonesian",
|
||||
// "ga_IE" => "Irish (Ireland)",
|
||||
// "ga" => "Irish",
|
||||
// "it_IT" => "Italian (Italy)",
|
||||
// "it_CH" => "Italian (Switzerland)",
|
||||
// 'it' => 'Italian',
|
||||
// "ja_JP" => "Japanese (Japan)",
|
||||
// "ja" => "Japanese",
|
||||
// "kea_CV" => "Kabuverdianu (Cape Verde)",
|
||||
// "kea" => "Kabuverdianu",
|
||||
// "kab_DZ" => "Kabyle (Algeria)",
|
||||
// "kab" => "Kabyle",
|
||||
// "kl_GL" => "Kalaallisut (Greenland)",
|
||||
// "kl" => "Kalaallisut",
|
||||
// "kln_KE" => "Kalenjin (Kenya)",
|
||||
// "kln" => "Kalenjin",
|
||||
// "kam_KE" => "Kamba (Kenya)",
|
||||
// "kam" => "Kamba",
|
||||
// "kn_IN" => "Kannada (India)",
|
||||
// "kn" => "Kannada",
|
||||
// "kk_Cyrl" => "Kazakh (Cyrillic)",
|
||||
// "kk_Cyrl_KZ" => "Kazakh (Cyrillic, Kazakhstan)",
|
||||
// "kk" => "Kazakh",
|
||||
// "km_KH" => "Khmer (Cambodia)",
|
||||
// "km" => "Khmer",
|
||||
// "ki_KE" => "Kikuyu (Kenya)",
|
||||
// "ki" => "Kikuyu",
|
||||
// "rw_RW" => "Kinyarwanda (Rwanda)",
|
||||
// "rw" => "Kinyarwanda",
|
||||
// "kok_IN" => "Konkani (India)",
|
||||
// "kok" => "Konkani",
|
||||
// "ko_KR" => "Korean (South Korea)",
|
||||
// "ko" => "Korean",
|
||||
// "khq_ML" => "Koyra Chiini (Mali)",
|
||||
// "khq" => "Koyra Chiini",
|
||||
// "ses_ML" => "Koyraboro Senni (Mali)",
|
||||
// "ses" => "Koyraboro Senni",
|
||||
// "lag_TZ" => "Langi (Tanzania)",
|
||||
// "lag" => "Langi",
|
||||
// "lv_LV" => "Latvian (Latvia)",
|
||||
// "lv" => "Latvian",
|
||||
// "lt_LT" => "Lithuanian (Lithuania)",
|
||||
// "lt" => "Lithuanian",
|
||||
// "luo_KE" => "Luo (Kenya)",
|
||||
// "luo" => "Luo",
|
||||
// "luy_KE" => "Luyia (Kenya)",
|
||||
// "luy" => "Luyia",
|
||||
// "mk_MK" => "Macedonian (Macedonia)",
|
||||
// "mk" => "Macedonian",
|
||||
// "jmc_TZ" => "Machame (Tanzania)",
|
||||
// "jmc" => "Machame",
|
||||
// "kde_TZ" => "Makonde (Tanzania)",
|
||||
// "kde" => "Makonde",
|
||||
// "mg_MG" => "Malagasy (Madagascar)",
|
||||
// "mg" => "Malagasy",
|
||||
// "ms_BN" => "Malay (Brunei)",
|
||||
// "ms_MY" => "Malay (Malaysia)",
|
||||
// "ms" => "Malay",
|
||||
// "ml_IN" => "Malayalam (India)",
|
||||
// "ml" => "Malayalam",
|
||||
// "mt_MT" => "Maltese (Malta)",
|
||||
// "mt" => "Maltese",
|
||||
// "gv_GB" => "Manx (United Kingdom)",
|
||||
// "gv" => "Manx",
|
||||
// "mr_IN" => "Marathi (India)",
|
||||
// "mr" => "Marathi",
|
||||
// "mas_KE" => "Masai (Kenya)",
|
||||
// "mas_TZ" => "Masai (Tanzania)",
|
||||
// "mas" => "Masai",
|
||||
// "mer_KE" => "Meru (Kenya)",
|
||||
// "mer" => "Meru",
|
||||
// "mfe_MU" => "Morisyen (Mauritius)",
|
||||
// "mfe" => "Morisyen",
|
||||
// "naq_NA" => "Nama (Namibia)",
|
||||
// "naq" => "Nama",
|
||||
// "ne_IN" => "Nepali (India)",
|
||||
// "ne_NP" => "Nepali (Nepal)",
|
||||
// "ne" => "Nepali",
|
||||
// "nd_ZW" => "North Ndebele (Zimbabwe)",
|
||||
// "nd" => "North Ndebele",
|
||||
// "nb_NO" => "Norwegian Bokmål (Norway)",
|
||||
// "nb" => "Norwegian Bokmål",
|
||||
// "nn_NO" => "Norwegian Nynorsk (Norway)",
|
||||
// "nn" => "Norwegian Nynorsk",
|
||||
// "nyn_UG" => "Nyankole (Uganda)",
|
||||
// "nyn" => "Nyankole",
|
||||
// "or_IN" => "Oriya (India)",
|
||||
// "or" => "Oriya",
|
||||
// "om_ET" => "Oromo (Ethiopia)",
|
||||
// "om_KE" => "Oromo (Kenya)",
|
||||
// "om" => "Oromo",
|
||||
// "ps_AF" => "Pashto (Afghanistan)",
|
||||
// "ps" => "Pashto",
|
||||
// "fa_AF" => "Persian (Afghanistan)",
|
||||
// "fa_IR" => "Persian (Iran)",
|
||||
// "fa" => "Persian",
|
||||
// "pl_PL" => "Polish (Poland)",
|
||||
// "pl" => "Polish",
|
||||
// "pt_BR" => "Portuguese (Brazil)",
|
||||
// "pt_GW" => "Portuguese (Guinea-Bissau)",
|
||||
// "pt_MZ" => "Portuguese (Mozambique)",
|
||||
// "pt_PT" => "Portuguese (Portugal)",
|
||||
// "pt" => "Portuguese",
|
||||
// "pa_Arab" => "Punjabi (Arabic)",
|
||||
// "pa_Arab_PK" => "Punjabi (Arabic, Pakistan)",
|
||||
// "pa_Guru" => "Punjabi (Gurmukhi)",
|
||||
// "pa_Guru_IN" => "Punjabi (Gurmukhi, India)",
|
||||
// "pa" => "Punjabi",
|
||||
// "ro_MD" => "Romanian (Moldova)",
|
||||
// "ro_RO" => "Romanian (Romania)",
|
||||
// 'ro' => 'Romanian',
|
||||
// "rm_CH" => "Romansh (Switzerland)",
|
||||
// "rm" => "Romansh",
|
||||
// "rof_TZ" => "Rombo (Tanzania)",
|
||||
// "rof" => "Rombo",
|
||||
// "ru_MD" => "Russian (Moldova)",
|
||||
// "ru_RU" => "Russian (Russia)",
|
||||
// "ru_UA" => "Russian (Ukraine)",
|
||||
// "ru" => "Russian",
|
||||
// "rwk_TZ" => "Rwa (Tanzania)",
|
||||
// "rwk" => "Rwa",
|
||||
// "saq_KE" => "Samburu (Kenya)",
|
||||
// "saq" => "Samburu",
|
||||
// "sg_CF" => "Sango (Central African Republic)",
|
||||
// "sg" => "Sango",
|
||||
// "seh_MZ" => "Sena (Mozambique)",
|
||||
// "seh" => "Sena",
|
||||
// "sr_Cyrl" => "Serbian (Cyrillic)",
|
||||
// "sr_Cyrl_BA" => "Serbian (Cyrillic, Bosnia and Herzegovina)",
|
||||
// "sr_Cyrl_ME" => "Serbian (Cyrillic, Montenegro)",
|
||||
// "sr_Cyrl_RS" => "Serbian (Cyrillic, Serbia)",
|
||||
// "sr_Latn" => "Serbian (Latin)",
|
||||
// "sr_Latn_BA" => "Serbian (Latin, Bosnia and Herzegovina)",
|
||||
// "sr_Latn_ME" => "Serbian (Latin, Montenegro)",
|
||||
// "sr_Latn_RS" => "Serbian (Latin, Serbia)",
|
||||
// "sr" => "Serbian",
|
||||
// "sn_ZW" => "Shona (Zimbabwe)",
|
||||
// "sn" => "Shona",
|
||||
// "ii_CN" => "Sichuan Yi (China)",
|
||||
// "ii" => "Sichuan Yi",
|
||||
// "si_LK" => "Sinhala (Sri Lanka)",
|
||||
// "si" => "Sinhala",
|
||||
// "sk_SK" => "Slovak (Slovakia)",
|
||||
// "sk" => "Slovak",
|
||||
// "sl_SI" => "Slovenian (Slovenia)",
|
||||
// "sl" => "Slovenian",
|
||||
// "xog_UG" => "Soga (Uganda)",
|
||||
// "xog" => "Soga",
|
||||
// "so_DJ" => "Somali (Djibouti)",
|
||||
// "so_ET" => "Somali (Ethiopia)",
|
||||
// "so_KE" => "Somali (Kenya)",
|
||||
// "so_SO" => "Somali (Somalia)",
|
||||
// "so" => "Somali",
|
||||
// "es_AR" => "Spanish (Argentina)",
|
||||
// "es_BO" => "Spanish (Bolivia)",
|
||||
// "es_CL" => "Spanish (Chile)",
|
||||
// "es_CO" => "Spanish (Colombia)",
|
||||
// "es_CR" => "Spanish (Costa Rica)",
|
||||
// "es_DO" => "Spanish (Dominican Republic)",
|
||||
// "es_EC" => "Spanish (Ecuador)",
|
||||
// "es_SV" => "Spanish (El Salvador)",
|
||||
// "es_GQ" => "Spanish (Equatorial Guinea)",
|
||||
// "es_GT" => "Spanish (Guatemala)",
|
||||
// "es_HN" => "Spanish (Honduras)",
|
||||
// "es_419" => "Spanish (Latin America)",
|
||||
// "es_MX" => "Spanish (Mexico)",
|
||||
// "es_NI" => "Spanish (Nicaragua)",
|
||||
// "es_PA" => "Spanish (Panama)",
|
||||
// "es_PY" => "Spanish (Paraguay)",
|
||||
// "es_PE" => "Spanish (Peru)",
|
||||
// "es_PR" => "Spanish (Puerto Rico)",
|
||||
// "es_ES" => "Spanish (Spain)",
|
||||
// "es_US" => "Spanish (United States)",
|
||||
// "es_UY" => "Spanish (Uruguay)",
|
||||
// "es_VE" => "Spanish (Venezuela)",
|
||||
// "es" => "Spanish",
|
||||
// "sw_KE" => "Swahili (Kenya)",
|
||||
// "sw_TZ" => "Swahili (Tanzania)",
|
||||
// "sw" => "Swahili",
|
||||
// "sv_FI" => "Swedish (Finland)",
|
||||
// "sv_SE" => "Swedish (Sweden)",
|
||||
// "sv" => "Swedish",
|
||||
// "gsw_CH" => "Swiss German (Switzerland)",
|
||||
// "gsw" => "Swiss German",
|
||||
// "shi_Latn" => "Tachelhit (Latin)",
|
||||
// "shi_Latn_MA" => "Tachelhit (Latin, Morocco)",
|
||||
// "shi_Tfng" => "Tachelhit (Tifinagh)",
|
||||
// "shi_Tfng_MA" => "Tachelhit (Tifinagh, Morocco)",
|
||||
// "shi" => "Tachelhit",
|
||||
// "dav_KE" => "Taita (Kenya)",
|
||||
// "dav" => "Taita",
|
||||
// "ta_IN" => "Tamil (India)",
|
||||
// "ta_LK" => "Tamil (Sri Lanka)",
|
||||
// "ta" => "Tamil",
|
||||
// "te_IN" => "Telugu (India)",
|
||||
// "te" => "Telugu",
|
||||
// "teo_KE" => "Teso (Kenya)",
|
||||
// "teo_UG" => "Teso (Uganda)",
|
||||
// "teo" => "Teso",
|
||||
// "th_TH" => "Thai (Thailand)",
|
||||
// "th" => "Thai",
|
||||
// "bo_CN" => "Tibetan (China)",
|
||||
// "bo_IN" => "Tibetan (India)",
|
||||
// "bo" => "Tibetan",
|
||||
// "ti_ER" => "Tigrinya (Eritrea)",
|
||||
// "ti_ET" => "Tigrinya (Ethiopia)",
|
||||
// "ti" => "Tigrinya",
|
||||
// "to_TO" => "Tonga (Tonga)",
|
||||
// "to" => "Tonga",
|
||||
// "tr_TR" => "Turkish (Turkey)",
|
||||
// "tr" => "Turkish",
|
||||
// "uk_UA" => "Ukrainian (Ukraine)",
|
||||
// "uk" => "Ukrainian",
|
||||
// "ur_IN" => "Urdu (India)",
|
||||
// "ur_PK" => "Urdu (Pakistan)",
|
||||
// "ur" => "Urdu",
|
||||
// "uz_Arab" => "Uzbek (Arabic)",
|
||||
// "uz_Arab_AF" => "Uzbek (Arabic, Afghanistan)",
|
||||
// "uz_Cyrl" => "Uzbek (Cyrillic)",
|
||||
// "uz_Cyrl_UZ" => "Uzbek (Cyrillic, Uzbekistan)",
|
||||
// "uz_Latn" => "Uzbek (Latin)",
|
||||
// "uz_Latn_UZ" => "Uzbek (Latin, Uzbekistan)",
|
||||
// "uz" => "Uzbek",
|
||||
// "vi_VN" => "Vietnamese (Vietnam)",
|
||||
// "vi" => "Vietnamese",
|
||||
// "vun_TZ" => "Vunjo (Tanzania)",
|
||||
// "vun" => "Vunjo",
|
||||
// "cy_GB" => "Welsh (United Kingdom)",
|
||||
// "cy" => "Welsh",
|
||||
// "yo_NG" => "Yoruba (Nigeria)",
|
||||
// "yo" => "Yoruba",
|
||||
// "zu_ZA" => "Zulu (South Africa)",
|
||||
// "zu" => "Zulu"
|
||||
],
|
||||
|
||||
'view_namespaces' => [
|
||||
'buttons' => [
|
||||
'crud::buttons', // falls back to 'resources/views/vendor/backpack/crud/buttons'
|
||||
],
|
||||
'columns' => [
|
||||
'crud::columns', // falls back to 'resources/views/vendor/backpack/crud/columns'
|
||||
],
|
||||
'fields' => [
|
||||
'crud::fields', // falls back to 'resources/views/vendor/backpack/crud/fields'
|
||||
],
|
||||
'filters' => [
|
||||
'crud::filters', // falls back to 'resources/views/vendor/backpack/crud/filters'
|
||||
],
|
||||
],
|
||||
// the uploaders for the `withFiles` macro
|
||||
'uploaders' => [
|
||||
'withFiles' => [
|
||||
'image' => \Backpack\CRUD\app\Library\Uploaders\SingleBase64Image::class,
|
||||
'upload' => \Backpack\CRUD\app\Library\Uploaders\SingleFile::class,
|
||||
'upload_multiple' => \Backpack\CRUD\app\Library\Uploaders\MultipleFiles::class,
|
||||
],
|
||||
],
|
||||
|
||||
'file_name_generator' => \Backpack\CRUD\app\Library\Uploaders\Support\FileNameGenerator::class,
|
||||
|
||||
];
|
11
config/backpack/language-switcher.php
Normal file
11
config/backpack/language-switcher.php
Normal file
@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
// when `false` developer should setup their own route for language switcher
|
||||
// check the default route at /vendor/backpack/language-switcher/routes/language-switcher.php
|
||||
'setup_routes' => true,
|
||||
|
||||
// when true, we will add the route prefix on the language-switcher route.
|
||||
// eg: https://domain.com/admin/set-locale/{locale} instead of https://domain.com/set-locale/{locale}
|
||||
'use_backpack_route_prefix' => false,
|
||||
];
|
42
config/backpack/operations/create.php
Normal file
42
config/backpack/operations/create.php
Normal file
@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Configurations for Backpack's CreateOperation.
|
||||
*
|
||||
* @see https://backpackforlaravel.com/docs/crud-operation-create
|
||||
*/
|
||||
|
||||
return [
|
||||
// Define the size/looks of the content div for all CRUDs
|
||||
// To override per view use $this->crud->setCreateContentClass('class-string')
|
||||
'contentClass' => 'col-md-12 bold-labels',
|
||||
|
||||
// When using tabbed forms (create & update), what kind of tabs would you like?
|
||||
'tabsType' => 'horizontal', //options: horizontal, vertical
|
||||
|
||||
// How would you like the validation errors to be shown?
|
||||
'groupedErrors' => true,
|
||||
'inlineErrors' => true,
|
||||
|
||||
// when the page loads, put the cursor on the first input?
|
||||
'autoFocusOnFirstField' => true,
|
||||
|
||||
// Where do you want to redirect the user by default, save?
|
||||
// options: save_and_back, save_and_edit, save_and_new
|
||||
'defaultSaveAction' => 'save_and_back',
|
||||
|
||||
// When the user chooses "save and back" or "save and new", show a bubble
|
||||
// for the fact that the default save action has been changed?
|
||||
'showSaveActionChange' => true, //options: true, false
|
||||
|
||||
// Should we show a cancel button to the user?
|
||||
'showCancelButton' => true,
|
||||
|
||||
// Should we warn a user before leaving the page with unsaved changes?
|
||||
'warnBeforeLeaving' => false,
|
||||
|
||||
// Before saving the entry, how would you like the request to be stripped?
|
||||
// - false - use Backpack's default (ONLY save inputs that have fields)
|
||||
// - invokable class - custom stripping (the return should be an array with input names)
|
||||
// 'strippedRequest' => App\Http\Requests\StripBackpackRequest::class,
|
||||
];
|
39
config/backpack/operations/form.php
Normal file
39
config/backpack/operations/form.php
Normal file
@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Default configurations for custom form operations.
|
||||
*/
|
||||
|
||||
return [
|
||||
// Define the size/looks of the content div for all CRUDs
|
||||
// To override per view use $this->crud->setCreateContentClass('class-string')
|
||||
'contentClass' => 'col-md-12 bold-labels',
|
||||
|
||||
// When using tabbed forms (create & update), what kind of tabs would you like?
|
||||
'tabsType' => 'horizontal', //options: horizontal, vertical
|
||||
|
||||
// How would you like the validation errors to be shown?
|
||||
'groupedErrors' => true,
|
||||
'inlineErrors' => true,
|
||||
|
||||
// when the page loads, put the cursor on the first input?
|
||||
'autoFocusOnFirstField' => true,
|
||||
|
||||
// Where do you want to redirect the user by default, save?
|
||||
'defaultSaveAction' => 'save_and_back',
|
||||
|
||||
// When the user chooses "save and back" or "save and new", show a bubble
|
||||
// for the fact that the default save action has been changed?
|
||||
'showSaveActionChange' => false, //options: true, false
|
||||
|
||||
// Should we show a cancel button to the user?
|
||||
'showCancelButton' => true,
|
||||
|
||||
// Should we warn a user before leaving the page with unsaved changes?
|
||||
'warnBeforeLeaving' => false,
|
||||
|
||||
// Before saving the entry, how would you like the request to be stripped?
|
||||
// - false - use Backpack's default (ONLY save inputs that have fields)
|
||||
// - invokable class - custom stripping (the return should be an array with input names)
|
||||
// 'strippedRequest' => App\Http\Requests\StripBackpackRequest::class,
|
||||
];
|
67
config/backpack/operations/list.php
Normal file
67
config/backpack/operations/list.php
Normal file
@ -0,0 +1,67 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Configurations for Backpack's ListOperation.
|
||||
*
|
||||
* @see https://backpackforlaravel.com/docs/crud-operation-list
|
||||
*/
|
||||
|
||||
return [
|
||||
// Define the size/looks of the content div for all CRUDs
|
||||
// To override per view use $this->crud->setListContentClass('class-string')
|
||||
'contentClass' => 'col-md-12',
|
||||
|
||||
// enable the datatables-responsive plugin, which hides columns if they don't fit?
|
||||
// if not, a horizontal scrollbar will be shown instead
|
||||
'responsiveTable' => true,
|
||||
|
||||
// stores pagination and filters in localStorage for two hours
|
||||
// whenever the user tries to see that page, backpack loads the previous pagination and filtration
|
||||
'persistentTable' => true,
|
||||
|
||||
// show search bar in the top-right corner?
|
||||
'searchableTable' => true,
|
||||
|
||||
// the time the table will be persisted in minutes
|
||||
// after this the table info is cleared from localStorage.
|
||||
// use false to never force localStorage clear. (default)
|
||||
// keep in mind: User can clear their localStorage whenever they want.
|
||||
|
||||
'persistentTableDuration' => false,
|
||||
|
||||
// How many items should be shown by default by the Datatable?
|
||||
// This value can be overwritten on a specific CRUD by calling
|
||||
// $this->crud->setDefaultPageLength(50);
|
||||
'defaultPageLength' => 10,
|
||||
|
||||
// A 1D array of options which will be used for both the displayed option and the value, or
|
||||
// A 2D array in which the first array is used to define the value options and the second array the displayed options
|
||||
// If a 2D array is used, strings in the right hand array will be automatically run through trans()
|
||||
'pageLengthMenu' => [[10, 25, 50, 100, -1], [10, 25, 50, 100, 'backpack::crud.all']],
|
||||
|
||||
// How important is it for the action buttons to be visible?
|
||||
// - 0 - most important
|
||||
// - 1 - as important as bulk buttons
|
||||
// - 2-3 - more important than the rest of the columns
|
||||
// - 4 - less important than most columns
|
||||
'actionsColumnPriority' => 1,
|
||||
|
||||
// Nest action buttons within a dropdown in actions column
|
||||
'lineButtonsAsDropdown' => false,
|
||||
|
||||
// Show a "Reset" button next to the List operation subheading
|
||||
// (Showing 1 to 25 of 9999 entries. Reset)
|
||||
// that allows the user to erase local storage for that datatable,
|
||||
// thus clearing any searching, filtering or pagination that has been
|
||||
// remembered and persisted using persistentTable
|
||||
'resetButton' => true,
|
||||
|
||||
// The query operator that is used to search on the table.
|
||||
// If you are using PostgreSQL you might want to change
|
||||
// to `ilike` for case-insensitive search
|
||||
'searchOperator' => 'like',
|
||||
|
||||
// Display the `Showing X of XX entries (filtered from X entries)`?
|
||||
// Setting this to false will improve performance on big datasets.
|
||||
'showEntryCount' => true,
|
||||
];
|
16
config/backpack/operations/reorder.php
Normal file
16
config/backpack/operations/reorder.php
Normal file
@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Configurations for Backpack ReorderOperation.
|
||||
*
|
||||
* @see https://backpackforlaravel.com/docs/crud-operation-reorder
|
||||
*/
|
||||
|
||||
return [
|
||||
// Define the size/looks of the content div for all CRUDs
|
||||
// To override per Controller use $this->crud->setReorderContentClass('class-string')
|
||||
'contentClass' => 'col-md-12 col-md-offset-2',
|
||||
|
||||
// should the content of the reorder label be escaped?
|
||||
'escaped' => false,
|
||||
];
|
29
config/backpack/operations/show.php
Normal file
29
config/backpack/operations/show.php
Normal file
@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Configurations for Backpack's ShowOperation.
|
||||
*
|
||||
* @see https://backpackforlaravel.com/docs/crud-operation-show
|
||||
*/
|
||||
|
||||
return [
|
||||
// Define the size/looks of the content div for all CRUDs
|
||||
// To override per Controller use $this->crud->setShowContentClass('class-string')
|
||||
'contentClass' => 'col-md-12',
|
||||
|
||||
// Automatically add all columns from the db table?
|
||||
'setFromDb' => true,
|
||||
|
||||
// Automatically add created_at and updated_at columns, if model has timestamps?
|
||||
'timestamps' => true,
|
||||
|
||||
// If model has SoftDeletes, allow the admin to access the Show page for
|
||||
// soft deleted items & add a deleted_at column to ShowOperation?
|
||||
'softDeletes' => false,
|
||||
|
||||
// Enable to group columns in tabs
|
||||
'tabsEnabled' => false,
|
||||
|
||||
// When using tabbed forms (create & update), what kind of tabs would you like?
|
||||
'tabsType' => 'horizontal', //options: horizontal, vertical
|
||||
];
|
42
config/backpack/operations/update.php
Normal file
42
config/backpack/operations/update.php
Normal file
@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Configurations for Backpack's UpdateOperation.
|
||||
*
|
||||
* @see https://backpackforlaravel.com/docs/crud-operation-update
|
||||
*/
|
||||
|
||||
return [
|
||||
// Define the size/looks of the content div for all CRUDs
|
||||
// To override per view use $this->crud->setEditContentClass('class-string')
|
||||
'contentClass' => 'col-md-12 bold-labels',
|
||||
|
||||
// When using tabbed forms (create & update), what kind of tabs would you like?
|
||||
'tabsType' => 'horizontal', //options: horizontal, vertical
|
||||
|
||||
// How would you like the validation errors to be shown?
|
||||
'groupedErrors' => true,
|
||||
'inlineErrors' => true,
|
||||
|
||||
// when the page loads, put the cursor on the first input?
|
||||
'autoFocusOnFirstField' => true,
|
||||
|
||||
// Where do you want to redirect the user by default, save?
|
||||
// options: save_and_back, save_and_edit, save_and_new
|
||||
'defaultSaveAction' => 'save_and_back',
|
||||
|
||||
// When the user chooses "save and back" or "save and new", show a bubble
|
||||
// for the fact that the default save action has been changed?
|
||||
'showSaveActionChange' => true, //options: true, false
|
||||
|
||||
// Should we show a cancel button to the user?
|
||||
'showCancelButton' => true,
|
||||
|
||||
// Should we warn a user before leaving the page with unsaved changes?
|
||||
'warnBeforeLeaving' => false,
|
||||
|
||||
// Before saving the entry, how would you like the request to be stripped?
|
||||
// - false - use Backpack's default (ONLY save inputs that have fields)
|
||||
// - invokable class - custom stripping (the return should be an array with input names)
|
||||
// 'strippedRequest' => App\Http\Requests\StripBackpackRequest::class,
|
||||
];
|
49
config/backpack/permissionmanager.php
Normal file
49
config/backpack/permissionmanager.php
Normal file
@ -0,0 +1,49 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Models
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Models used in the User, Role and Permission CRUDs.
|
||||
|
|
||||
*/
|
||||
|
||||
'models' => [
|
||||
'user' => config('backpack.base.user_model_fqn', \App\Models\User::class),
|
||||
//'permission' => Backpack\PermissionManager\app\Models\Permission::class,
|
||||
'permission' => App\Models\Permission::class,
|
||||
'role' => App\Models\Role::class,
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Disallow the user interface for creating/updating permissions or roles.
|
||||
|--------------------------------------------------------------------------
|
||||
| Roles and permissions are used in code by their name
|
||||
| - ex: $user->hasPermissionTo('edit articles');
|
||||
|
|
||||
| So after the developer has entered all permissions and roles, the administrator should either:
|
||||
| - not have access to the panels
|
||||
| or
|
||||
| - creating and updating should be disabled
|
||||
*/
|
||||
|
||||
'allow_permission_create' => true,
|
||||
'allow_permission_update' => true,
|
||||
'allow_permission_delete' => true,
|
||||
'allow_role_create' => true,
|
||||
'allow_role_update' => true,
|
||||
'allow_role_delete' => true,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Multiple-guards functionality
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
*/
|
||||
'multiple_guards' => true,
|
||||
|
||||
];
|
174
config/backpack/theme-tabler.php
Normal file
174
config/backpack/theme-tabler.php
Normal file
@ -0,0 +1,174 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Theme Configuration Values
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The file provides extra configs on top of config/backpack/ui.php
|
||||
|
|
||||
| Any value set here will override the ones defined in
|
||||
| config/backpack/ui.php when this theme is in use.
|
||||
|
|
||||
*/
|
||||
|
||||
/**
|
||||
* 1st layer of customization
|
||||
*
|
||||
* Simple pick a layout and let Backpack decide the best look for it.
|
||||
* No extra step is required.
|
||||
*
|
||||
* Possible values: horizontal, horizontal_dark, horizontal_overlap, vertical,
|
||||
* vertical_dark, vertical_transparent (legacy theme), right_vertical, right_vertical_dark, right_vertical_transparent
|
||||
*/
|
||||
'layout' => 'vertical',
|
||||
|
||||
/**
|
||||
* Pick a login page layout.
|
||||
* Possible values: default, illustration, cover
|
||||
*/
|
||||
'auth_layout' => 'default', // default, illustration, cover
|
||||
|
||||
/**
|
||||
* Here you can easily load your own extra css styles.
|
||||
* Note: if you want to customize the style to create your own custom skin colors:
|
||||
* - make a copy of the file "vendor/backpack/theme-tabler/resources/assets/css/colors.css" into your project
|
||||
* - adjust colors variables as you wish
|
||||
* - replace "base_path('vendor/backpack/theme-tabler/resources/assets/css/colors.css')," with the path to the file created above
|
||||
* - boom!
|
||||
*/
|
||||
'styles' => [
|
||||
base_path('vendor/backpack/theme-tabler/resources/assets/css/color-adjustments.css'),
|
||||
base_path('vendor/backpack/theme-tabler/resources/assets/css/colors.css'),
|
||||
],
|
||||
|
||||
/**
|
||||
* 2nd Layer of customization
|
||||
*
|
||||
* If you need to further customize the way your panel looks,
|
||||
* these options will help you achieve that.
|
||||
*/
|
||||
'options' => [
|
||||
/**
|
||||
* The available color modes.
|
||||
*/
|
||||
'colorModes' => [
|
||||
'system' => 'la-desktop',
|
||||
'light' => 'la-sun',
|
||||
'dark' => 'la-moon',
|
||||
],
|
||||
|
||||
/**
|
||||
* The color mode used by default.
|
||||
*/
|
||||
'defaultColorMode' => 'system', // system, light, dark
|
||||
|
||||
/**
|
||||
* When true, a switch is displayed to let admins choose their favorite theme mode.
|
||||
* When false, the theme will only use the "defaultColorMode" set above.
|
||||
* In case "defaultColorMode" is null, system is the default.
|
||||
*/
|
||||
'showColorModeSwitcher' => true,
|
||||
|
||||
/**
|
||||
* Fix the top-header component (present in "vertical_transparent") and the menu when the layout type is set as "horizontal".
|
||||
* This value is skipped when the layout type is horizontal-overlap, using false as default.
|
||||
*/
|
||||
'useStickyHeader' => false,
|
||||
|
||||
/**
|
||||
* When true, the content area will take the whole screen width.
|
||||
*/
|
||||
'useFluidContainers' => false,
|
||||
|
||||
/**
|
||||
* When true, the sidebar content for vertical layouts will not scroll with the rest of the content.
|
||||
*/
|
||||
'sidebarFixed' => false,
|
||||
|
||||
/**
|
||||
* When true, horizontal layouts will display the classic top bar on top to free some space when multiple nav items are used.
|
||||
*/
|
||||
'doubleTopBarInHorizontalLayouts' => false,
|
||||
|
||||
/**
|
||||
* When true, the password input will have a toggle button to show/hide the password.
|
||||
*/
|
||||
'showPasswordVisibilityToggler' => false,
|
||||
],
|
||||
|
||||
/**
|
||||
* 3rd Layer of customization
|
||||
*
|
||||
* In case the first two steps were not enough, here you have full control over
|
||||
* the classes that make up the look of your panel.
|
||||
*/
|
||||
'classes' => [
|
||||
/**
|
||||
* Use this to pass classes to the <body> HTML element, on all pages.
|
||||
*/
|
||||
'body' => null,
|
||||
|
||||
/**
|
||||
* For background colors use:
|
||||
* bg-dark, bg-primary, bg-secondary, bg-danger, bg-warning, bg-success, bg-info, bg-blue, bg-light-blue,
|
||||
* bg-indigo, bg-purple, bg-pink, bg-red, bg-orange, bg-yellow, bg-green, bg-teal, bg-cyan, bg-white.
|
||||
*
|
||||
* For links to be visible on different background colors use: "navbar-dark", "navbar-light".
|
||||
*
|
||||
*/
|
||||
'topHeader' => null,
|
||||
|
||||
/**
|
||||
* Applies only for Vertical Menu Layout
|
||||
* For standard sidebar look (transparent):
|
||||
* - Remove "navbar-dark/light"
|
||||
* - Remove "navbar-light/dark" from 'classes.topHeader' and instead use "bg-light"
|
||||
* You can also add a background class like bg-dark, bg-primary, bg-secondary, bg-danger, bg-warning, bg-success,
|
||||
* bg-info, bg-blue, bg-light-blue, bg-indigo, bg-purple, bg-pink, bg-red, bg-orange, bg-yellow, bg-green, bg-teal, bg-cyan
|
||||
*/
|
||||
'sidebar' => null,
|
||||
|
||||
/**
|
||||
* Used in the top container menu when the layout is of horizontal type.
|
||||
*/
|
||||
'menuHorizontalContainer' => null,
|
||||
|
||||
/**
|
||||
* Used in the top menu content when the layout is of horizontal type.
|
||||
*/
|
||||
'menuHorizontalContent' => null,
|
||||
|
||||
/**
|
||||
* Make transparent with footer-transparent.
|
||||
* Hide it with d-none.
|
||||
*
|
||||
* Change background color with bg-dark, bg-primary, bg-secondary, bg-danger, bg-warning, bg-success, bg-info,
|
||||
* bg-blue, bg-light-blue, bg-indigo, bg-purple, bg-pink, bg-red, bg-orange, bg-yellow, bg-green, bg-teal, bg-cyan, bg-white.
|
||||
*/
|
||||
'footer' => null,
|
||||
|
||||
/**
|
||||
* Use this to pass classes to the table displayed in List Operation
|
||||
* It defaults to: "table table-striped table-hover nowrap rounded card-table table-vcenter card-table shadow-xs border-xs"
|
||||
*/
|
||||
'table' => null,
|
||||
|
||||
/**
|
||||
* Use this to pass classes to the table wrapper component displayed in List Operation
|
||||
*/
|
||||
'tableWrapper' => null,
|
||||
],
|
||||
|
||||
/**
|
||||
* 4th Layer of customization
|
||||
*
|
||||
* Alright, if nothing so far met your need, then you still have an easy way to build
|
||||
* a custom layout using the already existing components of this theme.
|
||||
*
|
||||
* 1. Create a new blade file in resources/views/layouts/your-custom-layout.blade.php
|
||||
* 2. Replace the value of layout on this file with "your-custom-layout"
|
||||
* 3. Customize the blade and place components such as sidebar, header, top-bar, where you need them!
|
||||
*/
|
||||
];
|
147
config/backpack/ui.php
Normal file
147
config/backpack/ui.php
Normal file
@ -0,0 +1,147 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
// IMPORTANT NOTE: The configurations here get overriden by theme config files.
|
||||
//
|
||||
// Eg. If you're using theme-tabler and config/backpack/theme-tabler.php
|
||||
// has "breadcrumbs" set as false, then THAT value will be used instead
|
||||
// of the value in this file.
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Theme (User Interface)
|
||||
|--------------------------------------------------------------------------
|
||||
*/
|
||||
// Change the view namespace in order to load a different theme than the one Backpack provides.
|
||||
// You can create child themes yourself, by creating a view folder anywhere in your resources/views
|
||||
// and choosing that view_namespace instead of the default one. Backpack will load a file from there
|
||||
// if it exists, otherwise it will load it from the fallback namespace.
|
||||
|
||||
'view_namespace' => 'backpack.theme-tabler::',
|
||||
'view_namespace_fallback' => 'backpack.theme-tabler::',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Look & feel customizations
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| To make the UI feel yours.
|
||||
|
|
||||
| Note that values set here might be overriden by theme config files
|
||||
| (eg. config/backpack/theme-tabler.php) when that theme is in use.
|
||||
|
|
||||
*/
|
||||
|
||||
// Date & Datetime Format Syntax: https://carbon.nesbot.com/docs/#api-localization
|
||||
'default_date_format' => 'D MMM YYYY',
|
||||
'default_datetime_format' => 'D MMM YYYY, HH:mm',
|
||||
|
||||
// Direction, according to language
|
||||
// (left-to-right vs right-to-left)
|
||||
'html_direction' => 'ltr',
|
||||
|
||||
// ----
|
||||
// HEAD
|
||||
// ----
|
||||
|
||||
// Project name - shown in the window title
|
||||
'project_name' => '中光電創境網站管理',
|
||||
|
||||
// Content of the HTML meta robots tag to prevent indexing and link following
|
||||
'meta_robots_content' => 'noindex, nofollow',
|
||||
|
||||
// ------
|
||||
// HEADER
|
||||
// ------
|
||||
|
||||
// When clicking on the admin panel's top-left logo/name,
|
||||
// where should the user be redirected?
|
||||
// The string below will be passed through the url() helper.
|
||||
// - default: '' (project root)
|
||||
// - alternative: 'admin' (the admin's dashboard)
|
||||
'home_link' => '',
|
||||
|
||||
// Menu logo. You can replace this with an <img> tag if you have a logo.
|
||||
'project_logo' => '<b>中光電創境</b>網站管理',
|
||||
|
||||
// Show / hide breadcrumbs on admin panel pages.
|
||||
'breadcrumbs' => true,
|
||||
|
||||
// ------
|
||||
// FOOTER
|
||||
// ------
|
||||
|
||||
// Developer or company name. Shown in footer.
|
||||
'developer_name' => '智聯網科技股份有限公司 | 03-5511520 | jcnet106h@gmail.com',
|
||||
|
||||
// Developer website. Link in footer. Type false if you want to hide it.
|
||||
'developer_link' => 'https://106h.net/',
|
||||
|
||||
// Show powered by Laravel Backpack in the footer? true/false
|
||||
'show_powered_by' => false,
|
||||
|
||||
// ---------
|
||||
// DASHBOARD
|
||||
// ---------
|
||||
|
||||
// Show "Getting Started with Backpack" info block?
|
||||
'show_getting_started' => env('APP_ENV') == 'local',
|
||||
|
||||
// -------------
|
||||
// GLOBAL STYLES
|
||||
// -------------
|
||||
|
||||
// CSS files that are loaded in all pages, using Laravel's asset() helper
|
||||
'styles' => [
|
||||
// 'styles/example.css',
|
||||
// 'https://some-cdn.com/example.css',
|
||||
],
|
||||
|
||||
// CSS files that are loaded in all pages, using Laravel's mix() helper
|
||||
'mix_styles' => [ // file_path => manifest_directory_path
|
||||
// 'css/app.css' => '',
|
||||
],
|
||||
|
||||
// CSS files that are loaded in all pages, using Laravel's @vite() helper
|
||||
// Please note that support for Vite was added in Laravel 9.19. Earlier versions are not able to use this feature.
|
||||
'vite_styles' => [ // resource file_path
|
||||
// 'resources/css/app.css',
|
||||
],
|
||||
|
||||
// --------------
|
||||
// GLOBAL SCRIPTS
|
||||
// --------------
|
||||
|
||||
// JS files that are loaded in all pages, using Laravel's asset() helper
|
||||
'scripts' => [
|
||||
// 'js/example.js',
|
||||
// 'https://unpkg.com/vue@2.4.4/dist/vue.min.js',
|
||||
// 'https://unpkg.com/react@16/umd/react.production.min.js',
|
||||
// 'https://unpkg.com/react-dom@16/umd/react-dom.production.min.js',
|
||||
],
|
||||
|
||||
// JS files that are loaded in all pages, using Laravel's mix() helper
|
||||
'mix_scripts' => [ // file_path => manifest_directory_path
|
||||
// 'js/app.js' => '',
|
||||
],
|
||||
|
||||
// JS files that are loaded in all pages, using Laravel's @vite() helper
|
||||
'vite_scripts' => [ // resource file_path
|
||||
// 'resources/js/app.js',
|
||||
],
|
||||
|
||||
'classes' => [
|
||||
/**
|
||||
* Use this as fallback config for themes to pass classes to the table displayed in List Operation
|
||||
* It defaults to: "table table-striped table-hover nowrap rounded card-table table-vcenter card-table shadow-xs border-xs".
|
||||
*/
|
||||
'table' => null,
|
||||
|
||||
/**
|
||||
* Use this as fallback config for themes to pass classes to the table wrapper component displayed in List Operation.
|
||||
*/
|
||||
'tableWrapper' => null,
|
||||
],
|
||||
|
||||
];
|
71
config/broadcasting.php
Normal file
71
config/broadcasting.php
Normal file
@ -0,0 +1,71 @@
|
||||
<?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", "ably", "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'),
|
||||
'host' => env('PUSHER_HOST') ?: 'api-'.env('PUSHER_APP_CLUSTER', 'mt1').'.pusher.com',
|
||||
'port' => env('PUSHER_PORT', 443),
|
||||
'scheme' => env('PUSHER_SCHEME', 'https'),
|
||||
'encrypted' => true,
|
||||
'useTLS' => env('PUSHER_SCHEME', 'https') === 'https',
|
||||
],
|
||||
'client_options' => [
|
||||
// Guzzle client options: https://docs.guzzlephp.org/en/stable/request-options.html
|
||||
],
|
||||
],
|
||||
|
||||
'ably' => [
|
||||
'driver' => 'ably',
|
||||
'key' => env('ABLY_KEY'),
|
||||
],
|
||||
|
||||
'redis' => [
|
||||
'driver' => 'redis',
|
||||
'connection' => 'default',
|
||||
],
|
||||
|
||||
'log' => [
|
||||
'driver' => 'log',
|
||||
],
|
||||
|
||||
'null' => [
|
||||
'driver' => 'null',
|
||||
],
|
||||
|
||||
],
|
||||
|
||||
];
|
111
config/cache.php
Normal file
111
config/cache.php
Normal file
@ -0,0 +1,111 @@
|
||||
<?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.
|
||||
|
|
||||
*/
|
||||
|
||||
'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.
|
||||
|
|
||||
| Supported drivers: "apc", "array", "database", "file",
|
||||
| "memcached", "redis", "dynamodb", "octane", "null"
|
||||
|
|
||||
*/
|
||||
|
||||
'stores' => [
|
||||
|
||||
'apc' => [
|
||||
'driver' => 'apc',
|
||||
],
|
||||
|
||||
'array' => [
|
||||
'driver' => 'array',
|
||||
'serialize' => false,
|
||||
],
|
||||
|
||||
'database' => [
|
||||
'driver' => 'database',
|
||||
'table' => 'cache',
|
||||
'connection' => null,
|
||||
'lock_connection' => null,
|
||||
],
|
||||
|
||||
'file' => [
|
||||
'driver' => 'file',
|
||||
'path' => storage_path('framework/cache/data'),
|
||||
'lock_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',
|
||||
'lock_connection' => 'default',
|
||||
],
|
||||
|
||||
'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'),
|
||||
],
|
||||
|
||||
'octane' => [
|
||||
'driver' => 'octane',
|
||||
],
|
||||
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Cache Key Prefix
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| When utilizing the APC, database, memcached, Redis, or DynamoDB cache
|
||||
| stores there might be other applications using the same cache. For
|
||||
| that reason, you may prefix every cache key to avoid collisions.
|
||||
|
|
||||
*/
|
||||
|
||||
'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache_'),
|
||||
|
||||
];
|
34
config/cors.php
Normal file
34
config/cors.php
Normal file
@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Cross-Origin Resource Sharing (CORS) Configuration
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may configure your settings for cross-origin resource sharing
|
||||
| or "CORS". This determines what cross-origin operations may execute
|
||||
| in web browsers. You are free to adjust these settings as needed.
|
||||
|
|
||||
| To learn more: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
|
||||
|
|
||||
*/
|
||||
|
||||
'paths' => ['api/*', 'sanctum/csrf-cookie'],
|
||||
|
||||
'allowed_methods' => ['*'],
|
||||
|
||||
'allowed_origins' => ['*'],
|
||||
|
||||
'allowed_origins_patterns' => [],
|
||||
|
||||
'allowed_headers' => ['*'],
|
||||
|
||||
'exposed_headers' => [],
|
||||
|
||||
'max_age' => 0,
|
||||
|
||||
'supports_credentials' => false,
|
||||
|
||||
];
|
151
config/database.php
Normal file
151
config/database.php
Normal file
@ -0,0 +1,151 @@
|
||||
<?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,
|
||||
'search_path' => '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,
|
||||
// 'encrypt' => env('DB_ENCRYPT', 'yes'),
|
||||
// 'trust_server_certificate' => env('DB_TRUST_SERVER_CERTIFICATE', 'false'),
|
||||
],
|
||||
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| 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'),
|
||||
'username' => env('REDIS_USERNAME'),
|
||||
'password' => env('REDIS_PASSWORD'),
|
||||
'port' => env('REDIS_PORT', '6379'),
|
||||
'database' => env('REDIS_DB', '0'),
|
||||
],
|
||||
|
||||
'cache' => [
|
||||
'url' => env('REDIS_URL'),
|
||||
'host' => env('REDIS_HOST', '127.0.0.1'),
|
||||
'username' => env('REDIS_USERNAME'),
|
||||
'password' => env('REDIS_PASSWORD'),
|
||||
'port' => env('REDIS_PORT', '6379'),
|
||||
'database' => env('REDIS_CACHE_DB', '1'),
|
||||
],
|
||||
|
||||
],
|
||||
|
||||
];
|
93
config/elfinder.php
Normal file
93
config/elfinder.php
Normal file
@ -0,0 +1,93 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Upload dir
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The dir where to store the images (relative from public).
|
||||
|
|
||||
*/
|
||||
'dir' => ['uploads'],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Filesystem disks (Flysytem)
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Define an array of Filesystem disks, which use Flysystem.
|
||||
| You can set extra options, example:
|
||||
|
|
||||
| 'my-disk' => [
|
||||
| 'URL' => url('to/disk'),
|
||||
| 'alias' => 'Local storage',
|
||||
| ]
|
||||
*/
|
||||
'disks' => [
|
||||
// 'uploads',
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Routes group config
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The default group settings for the elFinder routes.
|
||||
|
|
||||
*/
|
||||
|
||||
'route' => [
|
||||
'prefix' => config('backpack.base.route_prefix', 'admin').'/elfinder',
|
||||
'middleware' => ['web', config('backpack.base.middleware_key', 'admin')], //Set to null to disable middleware filter
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Access filter
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Filter callback to check the files
|
||||
|
|
||||
*/
|
||||
|
||||
'access' => 'Barryvdh\Elfinder\Elfinder::checkAccess',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Roots
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| By default, the roots file is LocalFileSystem, with the above public dir.
|
||||
| If you want custom options, you can set your own roots below.
|
||||
|
|
||||
*/
|
||||
|
||||
'roots' => null,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Options
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| These options are merged, together with 'roots' and passed to the Connector.
|
||||
| See https://github.com/Studio-42/elFinder/wiki/Connector-configuration-options-2.1
|
||||
|
|
||||
*/
|
||||
|
||||
'options' => [],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Root Options
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| These options are merged, together with every root by default.
|
||||
| See https://github.com/Studio-42/elFinder/wiki/Connector-configuration-options-2.1#root-options
|
||||
|
|
||||
*/
|
||||
'root_options' => [
|
||||
|
||||
],
|
||||
];
|
76
config/filesystems.php
Normal file
76
config/filesystems.php
Normal file
@ -0,0 +1,76 @@
|
||||
<?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_DISK', 'local'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| 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 set up for each driver as an example of the required values.
|
||||
|
|
||||
| Supported Drivers: "local", "ftp", "sftp", "s3"
|
||||
|
|
||||
*/
|
||||
|
||||
'disks' => [
|
||||
|
||||
'local' => [
|
||||
'driver' => 'local',
|
||||
'root' => storage_path('app'),
|
||||
'throw' => false,
|
||||
],
|
||||
|
||||
'public' => [
|
||||
'driver' => 'local',
|
||||
'root' => storage_path('app/public'),
|
||||
'url' => env('APP_URL').'/storage',
|
||||
'visibility' => 'public',
|
||||
'throw' => false,
|
||||
],
|
||||
|
||||
'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'),
|
||||
'endpoint' => env('AWS_ENDPOINT'),
|
||||
'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false),
|
||||
'throw' => false,
|
||||
],
|
||||
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Symbolic Links
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may configure the symbolic links that will be created when the
|
||||
| `storage:link` Artisan command is executed. The array keys should be
|
||||
| the locations of the links and the values should be their targets.
|
||||
|
|
||||
*/
|
||||
|
||||
'links' => [
|
||||
public_path('storage') => storage_path('app/public'),
|
||||
],
|
||||
|
||||
];
|
34
config/gravatar.php
Normal file
34
config/gravatar.php
Normal file
@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'default' => [
|
||||
|
||||
// By default, images are presented at 80px by 80px if no size parameter is supplied.
|
||||
// You may request a specific image size, which will be dynamically delivered from Gravatar
|
||||
// by passing a single pixel dimension (since the images are square):
|
||||
'size' => 80,
|
||||
|
||||
// the fallback image, can be a string or a url
|
||||
// for more info, visit: http://en.gravatar.com/site/implement/images/#default-image
|
||||
'fallback' => 'mp',
|
||||
|
||||
// would you like to return a https://... image
|
||||
'secure' => false,
|
||||
|
||||
// Gravatar allows users to self-rate their images so that they can indicate if an image
|
||||
// is appropriate for a certain audience. By default, only 'G' rated images are displayed
|
||||
// unless you indicate that you would like to see higher ratings.
|
||||
// Available options:
|
||||
// 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.
|
||||
'maximumRating' => 'g',
|
||||
|
||||
// If for some reason you wanted to force the default image to always load, you can do that setting this to true
|
||||
'forceDefault' => false,
|
||||
|
||||
// If you require a file-type extension (some places do) then you may also add an (optional) .jpg extension to that URL
|
||||
'forceExtension' => 'jpg',
|
||||
]
|
||||
];
|
54
config/hashing.php
Normal file
54
config/hashing.php
Normal file
@ -0,0 +1,54 @@
|
||||
<?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', 12),
|
||||
'verify' => true,
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| 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' => 65536,
|
||||
'threads' => 1,
|
||||
'time' => 4,
|
||||
'verify' => true,
|
||||
],
|
||||
|
||||
];
|
131
config/logging.php
Normal file
131
config/logging.php
Normal file
@ -0,0 +1,131 @@
|
||||
<?php
|
||||
|
||||
use Monolog\Handler\NullHandler;
|
||||
use Monolog\Handler\StreamHandler;
|
||||
use Monolog\Handler\SyslogUdpHandler;
|
||||
use Monolog\Processor\PsrLogMessageProcessor;
|
||||
|
||||
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'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Deprecations Log Channel
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This option controls the log channel that should be used to log warnings
|
||||
| regarding deprecated PHP and library features. This allows you to get
|
||||
| your application ready for upcoming major versions of dependencies.
|
||||
|
|
||||
*/
|
||||
|
||||
'deprecations' => [
|
||||
'channel' => env('LOG_DEPRECATIONS_CHANNEL', 'null'),
|
||||
'trace' => false,
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| 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' => env('LOG_LEVEL', 'debug'),
|
||||
'replace_placeholders' => true,
|
||||
],
|
||||
|
||||
'daily' => [
|
||||
'driver' => 'daily',
|
||||
'path' => storage_path('logs/laravel.log'),
|
||||
'level' => env('LOG_LEVEL', 'debug'),
|
||||
'days' => 14,
|
||||
'replace_placeholders' => true,
|
||||
],
|
||||
|
||||
'slack' => [
|
||||
'driver' => 'slack',
|
||||
'url' => env('LOG_SLACK_WEBHOOK_URL'),
|
||||
'username' => 'Laravel Log',
|
||||
'emoji' => ':boom:',
|
||||
'level' => env('LOG_LEVEL', 'critical'),
|
||||
'replace_placeholders' => true,
|
||||
],
|
||||
|
||||
'papertrail' => [
|
||||
'driver' => 'monolog',
|
||||
'level' => env('LOG_LEVEL', 'debug'),
|
||||
'handler' => env('LOG_PAPERTRAIL_HANDLER', SyslogUdpHandler::class),
|
||||
'handler_with' => [
|
||||
'host' => env('PAPERTRAIL_URL'),
|
||||
'port' => env('PAPERTRAIL_PORT'),
|
||||
'connectionString' => 'tls://'.env('PAPERTRAIL_URL').':'.env('PAPERTRAIL_PORT'),
|
||||
],
|
||||
'processors' => [PsrLogMessageProcessor::class],
|
||||
],
|
||||
|
||||
'stderr' => [
|
||||
'driver' => 'monolog',
|
||||
'level' => env('LOG_LEVEL', 'debug'),
|
||||
'handler' => StreamHandler::class,
|
||||
'formatter' => env('LOG_STDERR_FORMATTER'),
|
||||
'with' => [
|
||||
'stream' => 'php://stderr',
|
||||
],
|
||||
'processors' => [PsrLogMessageProcessor::class],
|
||||
],
|
||||
|
||||
'syslog' => [
|
||||
'driver' => 'syslog',
|
||||
'level' => env('LOG_LEVEL', 'debug'),
|
||||
'facility' => LOG_USER,
|
||||
'replace_placeholders' => true,
|
||||
],
|
||||
|
||||
'errorlog' => [
|
||||
'driver' => 'errorlog',
|
||||
'level' => env('LOG_LEVEL', 'debug'),
|
||||
'replace_placeholders' => true,
|
||||
],
|
||||
|
||||
'null' => [
|
||||
'driver' => 'monolog',
|
||||
'handler' => NullHandler::class,
|
||||
],
|
||||
|
||||
'emergency' => [
|
||||
'path' => storage_path('logs/laravel.log'),
|
||||
],
|
||||
],
|
||||
|
||||
];
|
134
config/mail.php
Normal file
134
config/mail.php
Normal file
@ -0,0 +1,134 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default Mailer
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This option controls the default mailer that is used to send any email
|
||||
| messages sent by your application. Alternative mailers may be setup
|
||||
| and used as needed; however, this mailer will be used by default.
|
||||
|
|
||||
*/
|
||||
|
||||
'default' => env('MAIL_MAILER', 'smtp'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Mailer Configurations
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may configure all of the mailers used by your application plus
|
||||
| their respective settings. Several examples have been configured for
|
||||
| you and you are free to add your own as your application requires.
|
||||
|
|
||||
| Laravel supports a variety of mail "transport" drivers to be used while
|
||||
| sending an e-mail. You will specify which one you are using for your
|
||||
| mailers below. You are free to add additional mailers as required.
|
||||
|
|
||||
| Supported: "smtp", "sendmail", "mailgun", "ses", "ses-v2",
|
||||
| "postmark", "log", "array", "failover", "roundrobin"
|
||||
|
|
||||
*/
|
||||
|
||||
'mailers' => [
|
||||
'smtp' => [
|
||||
'transport' => 'smtp',
|
||||
'url' => env('MAIL_URL'),
|
||||
'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
|
||||
'port' => env('MAIL_PORT', 587),
|
||||
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
|
||||
'username' => env('MAIL_USERNAME'),
|
||||
'password' => env('MAIL_PASSWORD'),
|
||||
'timeout' => null,
|
||||
'local_domain' => env('MAIL_EHLO_DOMAIN'),
|
||||
],
|
||||
|
||||
'ses' => [
|
||||
'transport' => 'ses',
|
||||
],
|
||||
|
||||
'postmark' => [
|
||||
'transport' => 'postmark',
|
||||
// 'message_stream_id' => null,
|
||||
// 'client' => [
|
||||
// 'timeout' => 5,
|
||||
// ],
|
||||
],
|
||||
|
||||
'mailgun' => [
|
||||
'transport' => 'mailgun',
|
||||
// 'client' => [
|
||||
// 'timeout' => 5,
|
||||
// ],
|
||||
],
|
||||
|
||||
'sendmail' => [
|
||||
'transport' => 'sendmail',
|
||||
'path' => env('MAIL_SENDMAIL_PATH', '/usr/sbin/sendmail -bs -i'),
|
||||
],
|
||||
|
||||
'log' => [
|
||||
'transport' => 'log',
|
||||
'channel' => env('MAIL_LOG_CHANNEL'),
|
||||
],
|
||||
|
||||
'array' => [
|
||||
'transport' => 'array',
|
||||
],
|
||||
|
||||
'failover' => [
|
||||
'transport' => 'failover',
|
||||
'mailers' => [
|
||||
'smtp',
|
||||
'log',
|
||||
],
|
||||
],
|
||||
|
||||
'roundrobin' => [
|
||||
'transport' => 'roundrobin',
|
||||
'mailers' => [
|
||||
'ses',
|
||||
'postmark',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| 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'),
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| 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'),
|
||||
],
|
||||
],
|
||||
|
||||
];
|
163
config/permission.php
Normal file
163
config/permission.php
Normal file
@ -0,0 +1,163 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'models' => [
|
||||
|
||||
/*
|
||||
* When using the "HasPermissions" trait from this package, we need to know which
|
||||
* Eloquent model should be used to retrieve your permissions. Of course, it
|
||||
* is often just the "Permission" model but you may use whatever you like.
|
||||
*
|
||||
* The model you want to use as a Permission model needs to implement the
|
||||
* `Spatie\Permission\Contracts\Permission` contract.
|
||||
*/
|
||||
|
||||
// 'permission' => Spatie\Permission\Models\Permission::class,
|
||||
'permission' => App\Models\Permission::class,
|
||||
|
||||
/*
|
||||
* When using the "HasRoles" trait from this package, we need to know which
|
||||
* Eloquent model should be used to retrieve your roles. Of course, it
|
||||
* is often just the "Role" model but you may use whatever you like.
|
||||
*
|
||||
* The model you want to use as a Role model needs to implement the
|
||||
* `Spatie\Permission\Contracts\Role` contract.
|
||||
*/
|
||||
|
||||
// 'role' => Spatie\Permission\Models\Role::class,
|
||||
'role' => App\Models\Role::class,
|
||||
|
||||
],
|
||||
|
||||
'table_names' => [
|
||||
|
||||
/*
|
||||
* When using the "HasRoles" trait from this package, we need to know which
|
||||
* table should be used to retrieve your roles. We have chosen a basic
|
||||
* default value but you may easily change it to any table you like.
|
||||
*/
|
||||
|
||||
'roles' => 'roles',
|
||||
|
||||
/*
|
||||
* When using the "HasPermissions" trait from this package, we need to know which
|
||||
* table should be used to retrieve your permissions. We have chosen a basic
|
||||
* default value but you may easily change it to any table you like.
|
||||
*/
|
||||
|
||||
'permissions' => 'permissions',
|
||||
|
||||
/*
|
||||
* When using the "HasPermissions" trait from this package, we need to know which
|
||||
* table should be used to retrieve your models permissions. We have chosen a
|
||||
* basic default value but you may easily change it to any table you like.
|
||||
*/
|
||||
|
||||
'model_has_permissions' => 'model_has_permissions',
|
||||
|
||||
/*
|
||||
* When using the "HasRoles" trait from this package, we need to know which
|
||||
* table should be used to retrieve your models roles. We have chosen a
|
||||
* basic default value but you may easily change it to any table you like.
|
||||
*/
|
||||
|
||||
'model_has_roles' => 'model_has_roles',
|
||||
|
||||
/*
|
||||
* When using the "HasRoles" trait from this package, we need to know which
|
||||
* table should be used to retrieve your roles permissions. We have chosen a
|
||||
* basic default value but you may easily change it to any table you like.
|
||||
*/
|
||||
|
||||
'role_has_permissions' => 'role_has_permissions',
|
||||
],
|
||||
|
||||
'column_names' => [
|
||||
/*
|
||||
* Change this if you want to name the related pivots other than defaults
|
||||
*/
|
||||
'role_pivot_key' => null, //default 'role_id',
|
||||
'permission_pivot_key' => null, //default 'permission_id',
|
||||
|
||||
/*
|
||||
* Change this if you want to name the related model primary key other than
|
||||
* `model_id`.
|
||||
*
|
||||
* For example, this would be nice if your primary keys are all UUIDs. In
|
||||
* that case, name this `model_uuid`.
|
||||
*/
|
||||
|
||||
'model_morph_key' => 'model_id',
|
||||
|
||||
/*
|
||||
* Change this if you want to use the teams feature and your related model's
|
||||
* foreign key is other than `team_id`.
|
||||
*/
|
||||
|
||||
'team_foreign_key' => 'team_id',
|
||||
],
|
||||
|
||||
/*
|
||||
* When set to true, the method for checking permissions will be registered on the gate.
|
||||
* Set this to false, if you want to implement custom logic for checking permissions.
|
||||
*/
|
||||
|
||||
'register_permission_check_method' => true,
|
||||
|
||||
/*
|
||||
* When set to true the package implements teams using the 'team_foreign_key'. If you want
|
||||
* the migrations to register the 'team_foreign_key', you must set this to true
|
||||
* before doing the migration. If you already did the migration then you must make a new
|
||||
* migration to also add 'team_foreign_key' to 'roles', 'model_has_roles', and
|
||||
* 'model_has_permissions'(view the latest version of package's migration file)
|
||||
*/
|
||||
|
||||
'teams' => false,
|
||||
|
||||
/*
|
||||
* When set to true, the required permission names are added to the exception
|
||||
* message. This could be considered an information leak in some contexts, so
|
||||
* the default setting is false here for optimum safety.
|
||||
*/
|
||||
|
||||
'display_permission_in_exception' => false,
|
||||
|
||||
/*
|
||||
* When set to true, the required role names are added to the exception
|
||||
* message. This could be considered an information leak in some contexts, so
|
||||
* the default setting is false here for optimum safety.
|
||||
*/
|
||||
|
||||
'display_role_in_exception' => false,
|
||||
|
||||
/*
|
||||
* By default wildcard permission lookups are disabled.
|
||||
*/
|
||||
|
||||
'enable_wildcard_permission' => false,
|
||||
|
||||
'cache' => [
|
||||
|
||||
/*
|
||||
* By default all permissions are cached for 24 hours to speed up performance.
|
||||
* When permissions or roles are updated the cache is flushed automatically.
|
||||
*/
|
||||
|
||||
'expiration_time' => \DateInterval::createFromDateString('24 hours'),
|
||||
|
||||
/*
|
||||
* The cache key used to store all permissions.
|
||||
*/
|
||||
|
||||
'key' => 'spatie.permission.cache',
|
||||
|
||||
/*
|
||||
* You may optionally indicate a specific cache driver to use for permission and
|
||||
* role caching using any of the `store` drivers listed in the cache.php config
|
||||
* file. Using 'default' here means to use the `default` set in cache.php.
|
||||
*/
|
||||
|
||||
'store' => 'default',
|
||||
],
|
||||
];
|
109
config/queue.php
Normal file
109
config/queue.php
Normal file
@ -0,0 +1,109 @@
|
||||
<?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,
|
||||
'after_commit' => false,
|
||||
],
|
||||
|
||||
'beanstalkd' => [
|
||||
'driver' => 'beanstalkd',
|
||||
'host' => 'localhost',
|
||||
'queue' => 'default',
|
||||
'retry_after' => 90,
|
||||
'block_for' => 0,
|
||||
'after_commit' => false,
|
||||
],
|
||||
|
||||
'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', 'default'),
|
||||
'suffix' => env('SQS_SUFFIX'),
|
||||
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
|
||||
'after_commit' => false,
|
||||
],
|
||||
|
||||
'redis' => [
|
||||
'driver' => 'redis',
|
||||
'connection' => 'default',
|
||||
'queue' => env('REDIS_QUEUE', 'default'),
|
||||
'retry_after' => 90,
|
||||
'block_for' => null,
|
||||
'after_commit' => false,
|
||||
],
|
||||
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Job Batching
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following options configure the database and table that store job
|
||||
| batching information. These options can be updated to any database
|
||||
| connection and table which has been defined by your application.
|
||||
|
|
||||
*/
|
||||
|
||||
'batching' => [
|
||||
'database' => env('DB_CONNECTION', 'mysql'),
|
||||
'table' => 'job_batches',
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| 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-uuids'),
|
||||
'database' => env('DB_CONNECTION', 'mysql'),
|
||||
'table' => 'failed_jobs',
|
||||
],
|
||||
|
||||
];
|
83
config/sanctum.php
Normal file
83
config/sanctum.php
Normal file
@ -0,0 +1,83 @@
|
||||
<?php
|
||||
|
||||
use Laravel\Sanctum\Sanctum;
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Stateful Domains
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Requests from the following domains / hosts will receive stateful API
|
||||
| authentication cookies. Typically, these should include your local
|
||||
| and production domains which access your API via a frontend SPA.
|
||||
|
|
||||
*/
|
||||
|
||||
'stateful' => explode(',', env('SANCTUM_STATEFUL_DOMAINS', sprintf(
|
||||
'%s%s',
|
||||
'localhost,localhost:3000,127.0.0.1,127.0.0.1:8000,::1',
|
||||
Sanctum::currentApplicationUrlWithPort()
|
||||
))),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Sanctum Guards
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This array contains the authentication guards that will be checked when
|
||||
| Sanctum is trying to authenticate a request. If none of these guards
|
||||
| are able to authenticate the request, Sanctum will use the bearer
|
||||
| token that's present on an incoming request for authentication.
|
||||
|
|
||||
*/
|
||||
|
||||
'guard' => ['web'],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Expiration Minutes
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This value controls the number of minutes until an issued token will be
|
||||
| considered expired. This will override any values set in the token's
|
||||
| "expires_at" attribute, but first-party sessions are not affected.
|
||||
|
|
||||
*/
|
||||
|
||||
'expiration' => null,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Token Prefix
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Sanctum can prefix new tokens in order to take advantage of numerous
|
||||
| security scanning initiatives maintained by open source platforms
|
||||
| that notify developers if they commit tokens into repositories.
|
||||
|
|
||||
| See: https://docs.github.com/en/code-security/secret-scanning/about-secret-scanning
|
||||
|
|
||||
*/
|
||||
|
||||
'token_prefix' => env('SANCTUM_TOKEN_PREFIX', ''),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Sanctum Middleware
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| When authenticating your first-party SPA with Sanctum you may need to
|
||||
| customize some of the middleware Sanctum uses while processing the
|
||||
| request. You may change the middleware listed below as required.
|
||||
|
|
||||
*/
|
||||
|
||||
'middleware' => [
|
||||
'authenticate_session' => Laravel\Sanctum\Http\Middleware\AuthenticateSession::class,
|
||||
'encrypt_cookies' => App\Http\Middleware\EncryptCookies::class,
|
||||
'verify_csrf_token' => App\Http\Middleware\VerifyCsrfToken::class,
|
||||
],
|
||||
|
||||
];
|
34
config/services.php
Normal file
34
config/services.php
Normal file
@ -0,0 +1,34 @@
|
||||
<?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'),
|
||||
'scheme' => 'https',
|
||||
],
|
||||
|
||||
'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'),
|
||||
],
|
||||
|
||||
];
|
214
config/session.php
Normal file
214
config/session.php
Normal file
@ -0,0 +1,214 @@
|
||||
<?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'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| 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
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| While using one of the framework's cache driven session backends 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".
|
||||
|
|
||||
| Affects: "apc", "dynamodb", "memcached", "redis"
|
||||
|
|
||||
*/
|
||||
|
||||
'store' => env('SESSION_STORE'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| 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'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| 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 when it can't be done securely.
|
||||
|
|
||||
*/
|
||||
|
||||
'secure' => env('SESSION_SECURE_COOKIE'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| 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
|
||||
| will set this value to "lax" since this is a secure default value.
|
||||
|
|
||||
| Supported: "lax", "strict", "none", null
|
||||
|
|
||||
*/
|
||||
|
||||
'same_site' => 'lax',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Partitioned Cookies
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Setting this value to true will tie the cookie to the top-level site for
|
||||
| a cross-site context. Partitioned cookies are accepted by the browser
|
||||
| when flagged "secure" and the Same-Site attribute is set to "none".
|
||||
|
|
||||
*/
|
||||
|
||||
'partitioned' => false,
|
||||
|
||||
];
|
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'))
|
||||
),
|
||||
|
||||
];
|
Reference in New Issue
Block a user