33
config/analytics.php
Executable file
33
config/analytics.php
Executable file
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
* The view id of which you want to display data.
|
||||
*/
|
||||
'view_id' => env('ANALYTICS_VIEW_ID'),
|
||||
|
||||
/*
|
||||
* Path to the client secret json file. Take a look at the README of this package
|
||||
* to learn how to get this file. You can also pass the credentials as an array
|
||||
* instead of a file path.
|
||||
*/
|
||||
'service_account_credentials_json' => storage_path('laravel-analytics/certificate.json'),
|
||||
|
||||
/*
|
||||
* The amount of minutes the Google API responses will be cached.
|
||||
* If you set this to zero, the responses won't be cached at all.
|
||||
*/
|
||||
'cache_lifetime_in_minutes' => 60 * 24,
|
||||
|
||||
/*
|
||||
* Here you may configure the "store" that the underlying Google_Client will
|
||||
* use to store it's data. You may also add extra parameters that will
|
||||
* be passed on setCacheConfig (see docs for google-api-php-client).
|
||||
*
|
||||
* Optional parameters: "lifetime", "prefix"
|
||||
*/
|
||||
'cache' => [
|
||||
'store' => 'file',
|
||||
],
|
||||
];
|
||||
234
config/app.php
Executable file
234
config/app.php
Executable file
@@ -0,0 +1,234 @@
|
||||
<?php
|
||||
|
||||
use Matchish\ScoutElasticSearch\ElasticSearchServiceProvider;
|
||||
|
||||
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', null),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Application Timezone
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may specify the default timezone for your application, which
|
||||
| will be used by the PHP date and date-time functions. We have gone
|
||||
| ahead and set this to a sensible default for you out of the box.
|
||||
|
|
||||
*/
|
||||
|
||||
'timezone' => env('APP_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' => env('APP_LOCALE', 'en'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Application Fallback Locale
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The fallback locale determines the locale to use when the current one
|
||||
| is not available. You may change the value to correspond to any of
|
||||
| the language folders that are provided through your application.
|
||||
|
|
||||
*/
|
||||
|
||||
'fallback_locale' => 'en',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Faker Locale
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This locale will be used by the Faker PHP library when generating fake
|
||||
| data for your database seeds. For example, this will be used to get
|
||||
| localized telephone numbers, street address information and more.
|
||||
|
|
||||
*/
|
||||
|
||||
'faker_locale' => 'en_US',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Encryption Key
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This key is used by the Illuminate encrypter service and should be set
|
||||
| to a random, 32 character string, otherwise these encrypted strings
|
||||
| will not be safe. Please do this before deploying an application!
|
||||
|
|
||||
*/
|
||||
|
||||
'key' => env('APP_KEY'),
|
||||
|
||||
'cipher' => 'AES-256-CBC',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Autoloaded Service Providers
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The service providers listed here will be automatically loaded on the
|
||||
| request to your application. Feel free to add your own services to
|
||||
| this array to grant expanded functionality to your applications.
|
||||
|
|
||||
*/
|
||||
|
||||
'providers' => [
|
||||
/*
|
||||
* Laravel Framework Service Providers...
|
||||
*/
|
||||
Illuminate\Auth\AuthServiceProvider::class,
|
||||
Illuminate\Broadcasting\BroadcastServiceProvider::class,
|
||||
Illuminate\Bus\BusServiceProvider::class,
|
||||
Illuminate\Cache\CacheServiceProvider::class,
|
||||
Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class,
|
||||
Illuminate\Cookie\CookieServiceProvider::class,
|
||||
Illuminate\Database\DatabaseServiceProvider::class,
|
||||
Illuminate\Encryption\EncryptionServiceProvider::class,
|
||||
Illuminate\Filesystem\FilesystemServiceProvider::class,
|
||||
Illuminate\Foundation\Providers\FoundationServiceProvider::class,
|
||||
Illuminate\Hashing\HashServiceProvider::class,
|
||||
Illuminate\Mail\MailServiceProvider::class,
|
||||
Illuminate\Notifications\NotificationServiceProvider::class,
|
||||
Illuminate\Pagination\PaginationServiceProvider::class,
|
||||
Illuminate\Pipeline\PipelineServiceProvider::class,
|
||||
Illuminate\Queue\QueueServiceProvider::class,
|
||||
Illuminate\Redis\RedisServiceProvider::class,
|
||||
Illuminate\Auth\Passwords\PasswordResetServiceProvider::class,
|
||||
Illuminate\Session\SessionServiceProvider::class,
|
||||
Illuminate\Translation\TranslationServiceProvider::class,
|
||||
Illuminate\Validation\ValidationServiceProvider::class,
|
||||
Illuminate\View\ViewServiceProvider::class,
|
||||
|
||||
/*
|
||||
* Package Service Providers...
|
||||
*/
|
||||
Common\CommonServiceProvider::class,
|
||||
ElasticSearchServiceProvider::class,
|
||||
|
||||
/*
|
||||
* Application Service Providers...
|
||||
*/
|
||||
App\Providers\AppServiceProvider::class,
|
||||
App\Providers\AuthServiceProvider::class,
|
||||
App\Providers\BroadcastServiceProvider::class,
|
||||
App\Providers\EventServiceProvider::class,
|
||||
App\Providers\HorizonServiceProvider::class,
|
||||
App\Providers\RouteServiceProvider::class,
|
||||
Common\Auth\Fortify\FortifyServiceProvider::class,
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Class Aliases
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This array of class aliases will be registered when this application
|
||||
| is started. However, feel free to register as many as you wish as
|
||||
| the aliases are "lazy" loaded so they don't hinder performance.
|
||||
|
|
||||
*/
|
||||
|
||||
'aliases' => [
|
||||
'App' => Illuminate\Support\Facades\App::class,
|
||||
'Arr' => Illuminate\Support\Arr::class,
|
||||
'Artisan' => Illuminate\Support\Facades\Artisan::class,
|
||||
'Auth' => Illuminate\Support\Facades\Auth::class,
|
||||
'Blade' => Illuminate\Support\Facades\Blade::class,
|
||||
'Broadcast' => Illuminate\Support\Facades\Broadcast::class,
|
||||
'Bus' => Illuminate\Support\Facades\Bus::class,
|
||||
'Cache' => Illuminate\Support\Facades\Cache::class,
|
||||
'Config' => Illuminate\Support\Facades\Config::class,
|
||||
'Cookie' => Illuminate\Support\Facades\Cookie::class,
|
||||
'Crypt' => Illuminate\Support\Facades\Crypt::class,
|
||||
'DB' => Illuminate\Support\Facades\DB::class,
|
||||
'Eloquent' => Illuminate\Database\Eloquent\Model::class,
|
||||
'Event' => Illuminate\Support\Facades\Event::class,
|
||||
'File' => Illuminate\Support\Facades\File::class,
|
||||
'Gate' => Illuminate\Support\Facades\Gate::class,
|
||||
'Hash' => Illuminate\Support\Facades\Hash::class,
|
||||
'Http' => Illuminate\Support\Facades\Http::class,
|
||||
'Lang' => Illuminate\Support\Facades\Lang::class,
|
||||
'Log' => Illuminate\Support\Facades\Log::class,
|
||||
'Mail' => Illuminate\Support\Facades\Mail::class,
|
||||
'Notification' => Illuminate\Support\Facades\Notification::class,
|
||||
'Password' => Illuminate\Support\Facades\Password::class,
|
||||
'Queue' => Illuminate\Support\Facades\Queue::class,
|
||||
'Redirect' => Illuminate\Support\Facades\Redirect::class,
|
||||
'Redis' => Illuminate\Support\Facades\Redis::class,
|
||||
'Request' => Illuminate\Support\Facades\Request::class,
|
||||
'Response' => Illuminate\Support\Facades\Response::class,
|
||||
'Route' => Illuminate\Support\Facades\Route::class,
|
||||
'Schema' => Illuminate\Support\Facades\Schema::class,
|
||||
'Session' => Illuminate\Support\Facades\Session::class,
|
||||
'Storage' => Illuminate\Support\Facades\Storage::class,
|
||||
'Str' => Illuminate\Support\Str::class,
|
||||
'URL' => Illuminate\Support\Facades\URL::class,
|
||||
'Validator' => Illuminate\Support\Facades\Validator::class,
|
||||
'View' => Illuminate\Support\Facades\View::class,
|
||||
|
||||
'Socialite' => Laravel\Socialite\Facades\Socialite::class,
|
||||
'Agent' => Jenssegers\Agent\Facades\Agent::class,
|
||||
],
|
||||
];
|
||||
118
config/auth.php
Executable file
118
config/auth.php
Executable file
@@ -0,0 +1,118 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Authentication Defaults
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This option controls the default authentication "guard" and password
|
||||
| reset options for your application. You may change these defaults
|
||||
| as required, but they're a perfect start for most applications.
|
||||
|
|
||||
*/
|
||||
|
||||
'defaults' => [
|
||||
'guard' => 'web',
|
||||
'passwords' => 'users',
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Authentication Guards
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Next, you may define every authentication guard for your application.
|
||||
| Of course, a great default configuration has been defined for you
|
||||
| here which uses session storage and the Eloquent user provider.
|
||||
|
|
||||
| All authentication drivers have a user provider. This defines how the
|
||||
| users are actually retrieved out of your database or other storage
|
||||
| mechanisms used by this application to persist your user's data.
|
||||
|
|
||||
| Supported: "session", "token"
|
||||
|
|
||||
*/
|
||||
|
||||
'guards' => [
|
||||
'web' => [
|
||||
'driver' => 'session',
|
||||
'provider' => 'users',
|
||||
'remember' => 43200,
|
||||
],
|
||||
|
||||
'api' => [
|
||||
'driver' => 'token',
|
||||
'provider' => 'users',
|
||||
'hash' => false,
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| User Providers
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| All authentication drivers have a user provider. This defines how the
|
||||
| users are actually retrieved out of your database or other storage
|
||||
| mechanisms used by this application to persist your user's data.
|
||||
|
|
||||
| If you have multiple user tables or models you may configure multiple
|
||||
| sources which represent each model / table. These sources may then
|
||||
| be assigned to any extra authentication guards you have defined.
|
||||
|
|
||||
| Supported: "database", "eloquent"
|
||||
|
|
||||
*/
|
||||
|
||||
'providers' => [
|
||||
'users' => [
|
||||
'driver' => 'eloquent',
|
||||
'model' => \App\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 expire time is the number of minutes that the reset token should be
|
||||
| considered valid. This security feature keeps tokens short-lived so
|
||||
| they have less time to be guessed. You may change this as needed.
|
||||
|
|
||||
*/
|
||||
|
||||
'passwords' => [
|
||||
'users' => [
|
||||
'provider' => 'users',
|
||||
'table' => 'password_resets',
|
||||
'expire' => 60,
|
||||
'throttle' => 60,
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Password Confirmation Timeout
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may define the amount of seconds before a password confirmation
|
||||
| times out and the user is prompted to re-enter their password via the
|
||||
| confirmation screen. By default, the timeout lasts for three hours.
|
||||
|
|
||||
*/
|
||||
|
||||
'password_timeout' => 10800,
|
||||
|
||||
];
|
||||
59
config/broadcasting.php
Executable file
59
config/broadcasting.php
Executable file
@@ -0,0 +1,59 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default Broadcaster
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This option controls the default broadcaster that will be used by the
|
||||
| framework when an event needs to be broadcast. You may set this to
|
||||
| any of the connections defined in the "connections" array below.
|
||||
|
|
||||
| Supported: "pusher", "redis", "log", "null"
|
||||
|
|
||||
*/
|
||||
|
||||
'default' => env('BROADCAST_DRIVER', 'null'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Broadcast Connections
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may define all of the broadcast connections that will be used
|
||||
| to broadcast events to other systems or over websockets. Samples of
|
||||
| each available type of connection are provided inside this array.
|
||||
|
|
||||
*/
|
||||
|
||||
'connections' => [
|
||||
|
||||
'pusher' => [
|
||||
'driver' => 'pusher',
|
||||
'key' => env('PUSHER_KEY'),
|
||||
'secret' => env('PUSHER_SECRET'),
|
||||
'app_id' => env('PUSHER_APP_ID'),
|
||||
'options' => [
|
||||
'cluster' => env('PUSHER_CLUSTER'),
|
||||
'useTLS' => true,
|
||||
],
|
||||
],
|
||||
|
||||
'redis' => [
|
||||
'driver' => 'redis',
|
||||
'connection' => 'default',
|
||||
],
|
||||
|
||||
'log' => [
|
||||
'driver' => 'log',
|
||||
],
|
||||
|
||||
'null' => [
|
||||
'driver' => 'null',
|
||||
],
|
||||
|
||||
],
|
||||
|
||||
];
|
||||
104
config/cache.php
Executable file
104
config/cache.php
Executable file
@@ -0,0 +1,104 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default Cache Store
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This option controls the default cache connection that gets used while
|
||||
| using this caching library. This connection is used when another is
|
||||
| not explicitly specified when executing a given caching function.
|
||||
|
|
||||
| Supported: "apc", "array", "database", "file",
|
||||
| "memcached", "redis", "dynamodb"
|
||||
|
|
||||
*/
|
||||
|
||||
'default' => env('CACHE_DRIVER', 'file'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Cache Stores
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may define all of the cache "stores" for your application as
|
||||
| well as their drivers. You may even define multiple stores for the
|
||||
| same cache driver to group types of items stored in your caches.
|
||||
|
|
||||
*/
|
||||
|
||||
'stores' => [
|
||||
|
||||
'apc' => [
|
||||
'driver' => 'apc',
|
||||
],
|
||||
|
||||
'array' => [
|
||||
'driver' => 'array',
|
||||
'serialize' => false,
|
||||
],
|
||||
|
||||
'database' => [
|
||||
'driver' => 'database',
|
||||
'table' => 'cache',
|
||||
'connection' => null,
|
||||
],
|
||||
|
||||
'file' => [
|
||||
'driver' => 'file',
|
||||
'path' => storage_path('framework/cache/data'),
|
||||
],
|
||||
|
||||
'memcached' => [
|
||||
'driver' => 'memcached',
|
||||
'persistent_id' => env('MEMCACHED_PERSISTENT_ID'),
|
||||
'sasl' => [
|
||||
env('MEMCACHED_USERNAME'),
|
||||
env('MEMCACHED_PASSWORD'),
|
||||
],
|
||||
'options' => [
|
||||
// Memcached::OPT_CONNECT_TIMEOUT => 2000,
|
||||
],
|
||||
'servers' => [
|
||||
[
|
||||
'host' => env('MEMCACHED_HOST', '127.0.0.1'),
|
||||
'port' => env('MEMCACHED_PORT', 11211),
|
||||
'weight' => 100,
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'redis' => [
|
||||
'driver' => 'redis',
|
||||
'connection' => 'cache',
|
||||
],
|
||||
|
||||
'dynamodb' => [
|
||||
'driver' => 'dynamodb',
|
||||
'key' => env('AWS_ACCESS_KEY_ID'),
|
||||
'secret' => env('AWS_SECRET_ACCESS_KEY'),
|
||||
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
|
||||
'table' => env('DYNAMODB_CACHE_TABLE', 'cache'),
|
||||
'endpoint' => env('DYNAMODB_ENDPOINT'),
|
||||
],
|
||||
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Cache Key Prefix
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| When utilizing a RAM based store such as APC or Memcached, there might
|
||||
| be other applications utilizing the same cache. So, we'll specify a
|
||||
| value to get prefixed to all our keys so we can avoid collisions.
|
||||
|
|
||||
*/
|
||||
|
||||
'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache'),
|
||||
|
||||
];
|
||||
235
config/clockwork.php
Executable file
235
config/clockwork.php
Executable file
@@ -0,0 +1,235 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Enable Clockwork
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| You can explicitly enable or disable Clockwork here. When enabled, special
|
||||
| headers for communication with the Clockwork Chrome extension will be
|
||||
| included in your application responses and requests data will be available
|
||||
| at /__clockwork url.
|
||||
| When set to null, Clockwork behavior is controlled by app.debug setting.
|
||||
| Default: null
|
||||
|
|
||||
*/
|
||||
|
||||
'enable' => env('CLOCKWORK_ENABLE', null),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Enable web UI
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Enable or disable the Clockwork web UI available at http://your.app/__clockwork.
|
||||
| You can also set whether to use the dark theme by default.
|
||||
| Default: true
|
||||
|
|
||||
*/
|
||||
|
||||
'web' => env('CLOCKWORK_WEB', true),
|
||||
|
||||
'web_dark_theme' => env('CLOCKWORK_WEB_DARK_THEME', false),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Enable data collection, when Clockwork is disabled
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This setting controls, whether data about application requests will be
|
||||
| recorded even when Clockwork is disabled (useful for later analysis).
|
||||
| Default: false
|
||||
|
|
||||
*/
|
||||
|
||||
'collect_data_always' => env('CLOCKWORK_COLLECT_DATA_ALWAYS', false),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Metadata storage
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| You can configure how are the metadata collected by Clockwork stored.
|
||||
| Valid options are: files or sql.
|
||||
| Files storage stores the metadata in one-per-request files in a specified
|
||||
| directory.
|
||||
| Sql storage stores the metadata as rows in a sql database. You can specify
|
||||
| the database by name if defined in database.php or by path to Sqlite
|
||||
| database. Database table will be automatically created.
|
||||
| Sql storage requires PDO.
|
||||
|
|
||||
*/
|
||||
|
||||
'storage' => env('CLOCKWORK_STORAGE', 'files'),
|
||||
|
||||
'storage_files_path' => env('CLOCKWORK_STORAGE_FILES_PATH', storage_path('clockwork')),
|
||||
|
||||
'storage_sql_database' => env('CLOCKWORK_STORAGE_SQL_DATABASE', storage_path('clockwork.sqlite')),
|
||||
'storage_sql_table' => env('CLOCKWORK_STORAGE_SQL_TABLE', 'clockwork'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Metadata expiration
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Maximum lifetime of the metadata in minutes, metadata for older requests
|
||||
| will automatically be deleted when storing new requests.
|
||||
| When set to false, metadata will never be deleted.
|
||||
| Default: 1 week
|
||||
|
|
||||
*/
|
||||
|
||||
'storage_expiration' => env('CLOCKWORK_STORAGE_EXPIRATION', 60 * 24 * 7),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Authentication
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Clockwork can be configured to require authentication before allowing
|
||||
/ access to the collected data. This is recommended when the application
|
||||
/ is publicly accessible, as the metadata might contain sensitive information.
|
||||
/ Setting to "true" enables authentication with a single password set below,
|
||||
/ "false" disables authentication.
|
||||
/ You can also pass a class name of a custom authentication implementation.
|
||||
/ Default: false
|
||||
|
|
||||
*/
|
||||
|
||||
'authentication' => env('CLOCKWORK_AUTHENTICATION', false),
|
||||
|
||||
'authentication_password' => env('CLOCKWORK_AUTHENTICATION_PASSWORD', 'VerySecretPassword'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Filter collected data
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| You can filter collected data by specifying what you don't want to collect
|
||||
| here.
|
||||
|
|
||||
*/
|
||||
|
||||
'filter' => [
|
||||
'cacheQueries', // collecting cache queries in cache-heavy might have a negative performance impact and use a lot of disk space
|
||||
'routes', // collecting routes data on every request might use a lot of disk space
|
||||
'viewsData', // collecting views data, including all variables passed to the view on every request might use a lot of disk space
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Disable data collection for certain URIs
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| You can disable data collection for specific URIs by adding matching
|
||||
| regular expressions here.
|
||||
|
|
||||
*/
|
||||
|
||||
'filter_uris' => [
|
||||
'/horizon/.*', // Laravel Horizon requests
|
||||
'/telescope/.*' // Laravel Telescope requests
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Enable collecting of stack traces
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This setting controls, whether log messages and certain data sources, like
|
||||
/ the database or cache data sources, should collect stack traces.
|
||||
/ You might want to disable this if you are collecting 100s of queries or
|
||||
/ log messages, as the stack traces can considerably increase the metadata size.
|
||||
/ You can force collecting of stack trace for a single log call by passing
|
||||
/ [ 'trace' => true ] as $context.
|
||||
| Default: true
|
||||
|
|
||||
*/
|
||||
|
||||
'collect_stack_traces' => env('CLOCKWORK_COLLECT_STACK_TRACES', true),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Serialization
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Configure how Clockwork serializes the collected data.
|
||||
| Depth limits how many levels of multi-level arrays and objects have
|
||||
| extended serialization (rest uses simple serialization).
|
||||
| Blackbox allows you to specify classes which contents should be never
|
||||
| serialized (eg. a service container class).
|
||||
| Lowering depth limit and adding classes to blackbox lowers the memory
|
||||
| usage and processing time.
|
||||
|
|
||||
*/
|
||||
|
||||
'serialization_depth' => env('CLOCKWORK_SERIALIZATION_DEPTH', 10),
|
||||
|
||||
'serialization_blackbox' => [
|
||||
\Illuminate\Container\Container::class,
|
||||
\Illuminate\Foundation\Application::class,
|
||||
\Laravel\Lumen\Application::class
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Ignored events
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Array of event names that will be ignored when collecting data for the "events" tab.
|
||||
| By default all framework-specific events are also ignored, set to false to log
|
||||
| all possible fired events.
|
||||
|
|
||||
*/
|
||||
|
||||
'ignored_events' => [
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Register helpers
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This setting controls whether the "clock" helper function will be registered. You can use the "clock" function to
|
||||
| quickly log something to Clockwork or access the Clockwork instance.
|
||||
|
|
||||
*/
|
||||
|
||||
'register_helpers' => env('CLOCKWORK_REGISTER_HELPERS', true),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Send Headers for AJAX request
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| When trying to collect data the AJAX method can sometimes fail if it is
|
||||
| missing required headers. For example, an API might require a version
|
||||
| number using Accept headers to route the HTTP request to the correct
|
||||
| codebase.
|
||||
|
|
||||
*/
|
||||
|
||||
'headers' => [
|
||||
// 'Accept' => 'application/vnd.com.whatever.v1+json',
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Server-Timing
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Clockwork supports the W3C Server Timing specification, which allows for
|
||||
/ collecting a simple performance metrics in a cross-browser way. Eg. in
|
||||
/ Chrome, your app, database and timeline event timings will be shown
|
||||
/ in the Dev Tools network tab.
|
||||
/ This setting specifies the max number of timeline events that will be sent.
|
||||
| When set to false, Server-Timing headers will not be set.
|
||||
| Default: 10
|
||||
|
|
||||
*/
|
||||
|
||||
'server_timing' => env('CLOCKWORK_SERVER_TIMING', 10)
|
||||
|
||||
];
|
||||
768
config/common/default-settings.php
Executable file
768
config/common/default-settings.php
Executable file
@@ -0,0 +1,768 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
// branding
|
||||
[
|
||||
'name' => 'branding.site_description',
|
||||
'value' =>
|
||||
"MTDb, the world's most popular and authoritative source for movie, TV and celebrity content.",
|
||||
],
|
||||
|
||||
// billing
|
||||
['name' => 'billing.enable', 'value' => true],
|
||||
|
||||
// menus
|
||||
[
|
||||
'name' => 'menus',
|
||||
'value' => json_encode([
|
||||
[
|
||||
'name' => 'Primary',
|
||||
'positions' => ['primary'],
|
||||
'id' => 'nVKgxI',
|
||||
'items' => [
|
||||
[
|
||||
'id' => 'cVKg0I',
|
||||
'type' => 'channel',
|
||||
'label' => 'Movies',
|
||||
'action' => '/movies',
|
||||
],
|
||||
[
|
||||
'id' => 'nVKg0v',
|
||||
'type' => 'channel',
|
||||
'label' => 'Series',
|
||||
'action' => '/series',
|
||||
],
|
||||
[
|
||||
'id' => 'nVKg0Ix',
|
||||
'type' => 'channel',
|
||||
'label' => 'People',
|
||||
'action' => '/people',
|
||||
],
|
||||
[
|
||||
'id' => 'nVKgdI',
|
||||
'type' => 'channel',
|
||||
'label' => 'News',
|
||||
'action' => '/latest-news',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
[
|
||||
'name' => 'Admin Sidebar',
|
||||
'id' => '2d43u1',
|
||||
'items' => [
|
||||
[
|
||||
'label' => 'Analytics',
|
||||
'id' => '886nz4',
|
||||
'action' => '/admin',
|
||||
'type' => 'route',
|
||||
'icon' => [
|
||||
[
|
||||
'tag' => 'path',
|
||||
'attr' => [
|
||||
'd' =>
|
||||
'M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V5h14v14z',
|
||||
],
|
||||
],
|
||||
|
||||
[
|
||||
'tag' => 'path',
|
||||
'attr' => [
|
||||
'd' =>
|
||||
'M7 12h2v5H7zm8-5h2v10h-2zm-4 7h2v3h-2zm0-4h2v2h-2z',
|
||||
],
|
||||
],
|
||||
],
|
||||
'role' => 1,
|
||||
'permissions' => ['admin.access'],
|
||||
'roles' => [],
|
||||
],
|
||||
[
|
||||
'label' => 'Appearance',
|
||||
'id' => 'slcqm0',
|
||||
'action' => '/admin/appearance',
|
||||
'type' => 'route',
|
||||
'icon' => [
|
||||
[
|
||||
'tag' => 'path',
|
||||
'attr' => [
|
||||
'd' =>
|
||||
'm2.53 19.65 1.34.56v-9.03l-2.43 5.86c-.41 1.02.08 2.19 1.09 2.61zm19.5-3.7L17.07 3.98c-.31-.75-1.04-1.21-1.81-1.23-.26 0-.53.04-.79.15L7.1 5.95c-.75.31-1.21 1.03-1.23 1.8-.01.27.04.54.15.8l4.96 11.97c.31.76 1.05 1.22 1.83 1.23.26 0 .52-.05.77-.15l7.36-3.05c1.02-.42 1.51-1.59 1.09-2.6zm-9.2 3.8L7.87 7.79l7.35-3.04h.01l4.95 11.95-7.35 3.05z',
|
||||
],
|
||||
],
|
||||
[
|
||||
'tag' => 'circle',
|
||||
'attr' => [
|
||||
'cx' => '11',
|
||||
'cy' => '9',
|
||||
'r' => '1',
|
||||
],
|
||||
],
|
||||
[
|
||||
'tag' => 'path',
|
||||
'attr' => [
|
||||
'd' =>
|
||||
'M5.88 19.75c0 1.1.9 2 2 2h1.45l-3.45-8.34v6.34z',
|
||||
],
|
||||
],
|
||||
],
|
||||
'permissions' => ['appearance.update'],
|
||||
],
|
||||
[
|
||||
'label' => 'Settings',
|
||||
'id' => 'x5k484',
|
||||
'action' => '/admin/settings',
|
||||
'type' => 'route',
|
||||
|
||||
'icon' => [
|
||||
[
|
||||
'tag' => 'path',
|
||||
'attr' => [
|
||||
'd' =>
|
||||
'M19.43 12.98c.04-.32.07-.64.07-.98 0-.34-.03-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.09-.16-.26-.25-.44-.25-.06 0-.12.01-.17.03l-2.49 1c-.52-.4-1.08-.73-1.69-.98l-.38-2.65C14.46 2.18 14.25 2 14 2h-4c-.25 0-.46.18-.49.42l-.38 2.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.06-.02-.12-.03-.18-.03-.17 0-.34.09-.43.25l-2 3.46c-.13.22-.07.49.12.64l2.11 1.65c-.04.32-.07.65-.07.98 0 .33.03.66.07.98l-2.11 1.65c-.19.15-.24.42-.12.64l2 3.46c.09.16.26.25.44.25.06 0 .12-.01.17-.03l2.49-1c.52.4 1.08.73 1.69.98l.38 2.65c.03.24.24.42.49.42h4c.25 0 .46-.18.49-.42l.38-2.65c.61-.25 1.17-.59 1.69-.98l2.49 1c.06.02.12.03.18.03.17 0 .34-.09.43-.25l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zm-1.98-1.71c.04.31.05.52.05.73 0 .21-.02.43-.05.73l-.14 1.13.89.7 1.08.84-.7 1.21-1.27-.51-1.04-.42-.9.68c-.43.32-.84.56-1.25.73l-1.06.43-.16 1.13-.2 1.35h-1.4l-.19-1.35-.16-1.13-1.06-.43c-.43-.18-.83-.41-1.23-.71l-.91-.7-1.06.43-1.27.51-.7-1.21 1.08-.84.89-.7-.14-1.13c-.03-.31-.05-.54-.05-.74s.02-.43.05-.73l.14-1.13-.89-.7-1.08-.84.7-1.21 1.27.51 1.04.42.9-.68c.43-.32.84-.56 1.25-.73l1.06-.43.16-1.13.2-1.35h1.39l.19 1.35.16 1.13 1.06.43c.43.18.83.41 1.23.71l.91.7 1.06-.43 1.27-.51.7 1.21-1.07.85-.89.7.14 1.13zM12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm0 6c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z',
|
||||
],
|
||||
],
|
||||
],
|
||||
'permissions' => ['settings.update'],
|
||||
],
|
||||
[
|
||||
'label' => 'Plans',
|
||||
'id' => '7o42rt',
|
||||
'action' => '/admin/plans',
|
||||
'type' => 'route',
|
||||
'icon' => [
|
||||
[
|
||||
'tag' => 'path',
|
||||
'attr' => [
|
||||
'd' =>
|
||||
'M7 15h7v2H7zm0-4h10v2H7zm0-4h10v2H7zm12-4h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5c-.14 0-.27.01-.4.04-.39.08-.74.28-1.01.55-.18.18-.33.4-.43.64-.1.23-.16.49-.16.77v14c0 .27.06.54.16.78s.25.45.43.64c.27.27.62.47 1.01.55.13.02.26.03.4.03h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7-.25c.41 0 .75.34.75.75s-.34.75-.75.75-.75-.34-.75-.75.34-.75.75-.75zM19 19H5V5h14v14z',
|
||||
],
|
||||
],
|
||||
],
|
||||
'permissions' => ['plans.update'],
|
||||
],
|
||||
[
|
||||
'label' => 'Subscriptions',
|
||||
'action' => '/admin/subscriptions',
|
||||
'type' => 'route',
|
||||
'id' => 'sdcb5a',
|
||||
'icon' => [
|
||||
[
|
||||
'tag' => 'path',
|
||||
'attr' => [
|
||||
'd' =>
|
||||
'M4 6h16v2H4zm2-4h12v2H6zm14 8H4c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2zm0 10H4v-8h16v8zm-10-7.27v6.53L16 16z',
|
||||
],
|
||||
],
|
||||
],
|
||||
'permissions' => ['subscriptions.update'],
|
||||
'settings' => ['billing.enable' => true],
|
||||
],
|
||||
[
|
||||
'label' => 'Users',
|
||||
'action' => '/admin/users',
|
||||
'type' => 'route',
|
||||
'id' => 'fzfb45',
|
||||
'icon' => [
|
||||
[
|
||||
'tag' => 'path',
|
||||
'attr' => [
|
||||
'd' =>
|
||||
'M12 6c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2m0 10c2.7 0 5.8 1.29 6 2H6c.23-.72 3.31-2 6-2m0-12C9.79 4 8 5.79 8 8s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm0 10c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z',
|
||||
],
|
||||
],
|
||||
],
|
||||
'permissions' => ['users.update'],
|
||||
],
|
||||
[
|
||||
'label' => 'Roles',
|
||||
'action' => '/admin/roles',
|
||||
'type' => 'route',
|
||||
'id' => 'mwdkf0',
|
||||
'icon' => [
|
||||
[
|
||||
'tag' => 'path',
|
||||
'attr' => [
|
||||
'd' =>
|
||||
'M9 13.75c-2.34 0-7 1.17-7 3.5V19h14v-1.75c0-2.33-4.66-3.5-7-3.5zM4.34 17c.84-.58 2.87-1.25 4.66-1.25s3.82.67 4.66 1.25H4.34zM9 12c1.93 0 3.5-1.57 3.5-3.5S10.93 5 9 5 5.5 6.57 5.5 8.5 7.07 12 9 12zm0-5c.83 0 1.5.67 1.5 1.5S9.83 10 9 10s-1.5-.67-1.5-1.5S8.17 7 9 7zm7.04 6.81c1.16.84 1.96 1.96 1.96 3.44V19h4v-1.75c0-2.02-3.5-3.17-5.96-3.44zM15 12c1.93 0 3.5-1.57 3.5-3.5S16.93 5 15 5c-.54 0-1.04.13-1.5.35.63.89 1 1.98 1 3.15s-.37 2.26-1 3.15c.46.22.96.35 1.5.35z',
|
||||
],
|
||||
],
|
||||
],
|
||||
'permissions' => ['roles.update'],
|
||||
],
|
||||
[
|
||||
'id' => '303113a',
|
||||
'type' => 'route',
|
||||
'label' => 'Channels',
|
||||
'action' => '/admin/channels',
|
||||
'permissions' => ['channels.update'],
|
||||
'icon' => [
|
||||
[
|
||||
'tag' => 'path',
|
||||
'attr' => [
|
||||
'd' =>
|
||||
'M4 8h4V4H4v4zm6 12h4v-4h-4v4zm-6 0h4v-4H4v4zm0-6h4v-4H4v4zm6 0h4v-4h-4v4zm6-10v4h4V4h-4zm-6 4h4V4h-4v4zm6 6h4v-4h-4v4zm0 6h4v-4h-4v4z',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
[
|
||||
'id' => 'nVKg0I',
|
||||
'label' => 'Titles',
|
||||
'action' => '/admin/titles',
|
||||
'permissions' => ['titles.update'],
|
||||
'type' => 'route',
|
||||
'target' => '_self',
|
||||
'icon' => [
|
||||
[
|
||||
'tag' => 'path',
|
||||
'attr' => [
|
||||
'd' =>
|
||||
'M4 6.47 5.76 10H20v8H4V6.47M22 4h-4l2 4h-3l-2-4h-2l2 4h-3l-2-4H8l2 4H7L5 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4z',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
[
|
||||
'id' => 'Qq7wh9',
|
||||
'label' => 'People',
|
||||
'action' => '/admin/people',
|
||||
'permissions' => ['people.update'],
|
||||
'type' => 'route',
|
||||
'target' => '_self',
|
||||
'icon' => [
|
||||
[
|
||||
'tag' => 'path',
|
||||
'attr' => [
|
||||
'd' =>
|
||||
'M21 5h2v14h-2zm-4 0h2v14h-2zm-3 0H2c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V6c0-.55-.45-1-1-1zm-1 12H3V7h10v10z',
|
||||
],
|
||||
],
|
||||
[
|
||||
'tag' => 'circle',
|
||||
'attr' => [
|
||||
'cx' => '8',
|
||||
'cy' => '9.94',
|
||||
'r' => '1.95',
|
||||
],
|
||||
],
|
||||
[
|
||||
'tag' => 'path',
|
||||
'attr' => [
|
||||
'd' =>
|
||||
'M11.89 15.35c0-1.3-2.59-1.95-3.89-1.95s-3.89.65-3.89 1.95V16h7.78v-.65z',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
[
|
||||
'id' => '9_7Uip',
|
||||
'label' => 'News',
|
||||
'permissions' => ['news.update'],
|
||||
'action' => '/admin/news',
|
||||
'type' => 'route',
|
||||
'target' => '_self',
|
||||
'icon' => [
|
||||
[
|
||||
'tag' => 'path',
|
||||
'attr' => [
|
||||
'd' =>
|
||||
'm22 3-1.67 1.67L18.67 3 17 4.67 15.33 3l-1.66 1.67L12 3l-1.67 1.67L8.67 3 7 4.67 5.33 3 3.67 4.67 2 3v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V3zM11 19H4v-6h7v6zm9 0h-7v-2h7v2zm0-4h-7v-2h7v2zm0-4H4V8h16v3z',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
[
|
||||
'id' => '57IFvN',
|
||||
'label' => 'Videos',
|
||||
'permissions' => ['videos.update'],
|
||||
'action' => '/admin/videos',
|
||||
'type' => 'route',
|
||||
'target' => '_self',
|
||||
'icon' => [
|
||||
[
|
||||
'tag' => 'path',
|
||||
'attr' => [
|
||||
'd' =>
|
||||
'M13.05 9.79 10 7.5v9l3.05-2.29L16 12l-2.95-2.21zm0 0L10 7.5v9l3.05-2.29L16 12l-2.95-2.21zm0 0L10 7.5v9l3.05-2.29L16 12l-2.95-2.21zM11 4.07V2.05c-2.01.2-3.84 1-5.32 2.21L7.1 5.69c1.11-.86 2.44-1.44 3.9-1.62zM5.69 7.1 4.26 5.68C3.05 7.16 2.25 8.99 2.05 11h2.02c.18-1.46.76-2.79 1.62-3.9zM4.07 13H2.05c.2 2.01 1 3.84 2.21 5.32l1.43-1.43c-.86-1.1-1.44-2.43-1.62-3.89zm1.61 6.74C7.16 20.95 9 21.75 11 21.95v-2.02c-1.46-.18-2.79-.76-3.9-1.62l-1.42 1.43zM22 12c0 5.16-3.92 9.42-8.95 9.95v-2.02C16.97 19.41 20 16.05 20 12s-3.03-7.41-6.95-7.93V2.05C18.08 2.58 22 6.84 22 12z',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
[
|
||||
'id' => '5eGJwT',
|
||||
'label' => 'Lists',
|
||||
'permissions' => ['lists.update'],
|
||||
'action' => '/admin/lists',
|
||||
'type' => 'route',
|
||||
'target' => '_self',
|
||||
'icon' => [
|
||||
[
|
||||
'tag' => 'path',
|
||||
'attr' => [
|
||||
'd' =>
|
||||
'M2 17h2v.5H3v1h1v.5H2v1h3v-4H2v1zm1-9h1V4H2v1h1v3zm-1 3h1.8L2 13.1v.9h3v-1H3.2L5 10.9V10H2v1zm5-6v2h14V5H7zm0 14h14v-2H7v2zm0-6h14v-2H7v2z',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
[
|
||||
'id' => 'zl5XVb',
|
||||
'label' => 'Reviews',
|
||||
'permissions' => ['reviews.update'],
|
||||
'action' => '/admin/reviews',
|
||||
'type' => 'route',
|
||||
'target' => '_self',
|
||||
'icon' => [
|
||||
[
|
||||
'tag' => 'path',
|
||||
'attr' => [
|
||||
'd' =>
|
||||
'M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 14H5.17L4 17.17V4h16v12z',
|
||||
],
|
||||
],
|
||||
[
|
||||
'tag' => 'path',
|
||||
'attr' => [
|
||||
'd' =>
|
||||
'm12 15 1.57-3.43L17 10l-3.43-1.57L12 5l-1.57 3.43L7 10l3.43 1.57z',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
[
|
||||
'id' => '31pLaw',
|
||||
'label' => 'Comments',
|
||||
'action' => '/admin/comments',
|
||||
'permissions' => ['comments.update'],
|
||||
'type' => 'route',
|
||||
'target' => '_self',
|
||||
'icon' => [
|
||||
[
|
||||
'tag' => 'path',
|
||||
'attr' => [
|
||||
'd' =>
|
||||
'M21.99 4c0-1.1-.89-2-1.99-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h14l4 4-.01-18zM20 4v13.17L18.83 16H4V4h16zM6 12h12v2H6zm0-3h12v2H6zm0-3h12v2H6z',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
[
|
||||
'label' => 'Pages',
|
||||
'action' => '/admin/custom-pages',
|
||||
'type' => 'route',
|
||||
'id' => '63bwv9',
|
||||
'icon' => [
|
||||
[
|
||||
'tag' => 'path',
|
||||
'attr' => [
|
||||
'd' =>
|
||||
'M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z',
|
||||
],
|
||||
],
|
||||
|
||||
[
|
||||
'tag' => 'path',
|
||||
'attr' => [
|
||||
'd' =>
|
||||
'M14 17H7v-2h7v2zm3-4H7v-2h10v2zm0-4H7V7h10v2z',
|
||||
],
|
||||
],
|
||||
],
|
||||
'permissions' => ['custom_pages.update'],
|
||||
],
|
||||
[
|
||||
'label' => 'Keywords',
|
||||
'action' => '/admin/keywords',
|
||||
'type' => 'route',
|
||||
'id' => '2x0pzqx',
|
||||
'icon' => [
|
||||
[
|
||||
'tag' => 'path',
|
||||
'attr' => [
|
||||
'd' =>
|
||||
'M17.63 5.84C17.27 5.33 16.67 5 16 5L5 5.01C3.9 5.01 3 5.9 3 7v10c0 1.1.9 1.99 2 1.99L16 19c.67 0 1.27-.33 1.63-.84L22 12l-4.37-6.16zM16 17H5V7h11l3.55 5L16 17z',
|
||||
],
|
||||
],
|
||||
],
|
||||
'permissions' => ['tags.update'],
|
||||
],
|
||||
[
|
||||
'label' => 'Genres',
|
||||
'action' => '/admin/genres',
|
||||
'type' => 'route',
|
||||
'id' => '2x0pzqt',
|
||||
'icon' => [
|
||||
[
|
||||
'tag' => 'path',
|
||||
'attr' => [
|
||||
'd' =>
|
||||
'm10 11-.94 2.06L7 14l2.06.94L10 17l.94-2.06L13 14l-2.06-.94zm8.01-7 2 4h-3l-2-4h-2l2 4h-3l-2-4h-2l2 4h-3l-2-4h-1c-1.1 0-1.99.9-1.99 2l-.01 12c0 1.1.9 2 2 2h16c1.1 0 1.99-.9 1.99-2V4h-3.99zm2 14h-16V6.47L5.77 10H16l-.63 1.37L14 12l1.37.63L16 14l.63-1.37L18 12l-1.37-.63L16 10h4.01v8z',
|
||||
],
|
||||
],
|
||||
],
|
||||
'permissions' => ['tags.update'],
|
||||
],
|
||||
[
|
||||
'label' => 'Files',
|
||||
'action' => '/admin/files',
|
||||
'type' => 'route',
|
||||
'id' => 'vguvti',
|
||||
'icon' => [
|
||||
[
|
||||
'tag' => 'path',
|
||||
'attr' => [
|
||||
'd' =>
|
||||
'M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm-1 4H8c-1.1 0-1.99.9-1.99 2L6 21c0 1.1.89 2 1.99 2H19c1.1 0 2-.9 2-2V11l-6-6zM8 21V7h6v5h5v9H8z',
|
||||
],
|
||||
],
|
||||
],
|
||||
'permissions' => ['files.update'],
|
||||
],
|
||||
|
||||
[
|
||||
'label' => 'Translations',
|
||||
'action' => '/admin/localizations',
|
||||
'type' => 'route',
|
||||
'id' => 'w91yql',
|
||||
'icon' => [
|
||||
[
|
||||
'tag' => 'path',
|
||||
'attr' => [
|
||||
'd' =>
|
||||
'm12.87 15.07-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7 1.62-4.33L19.12 17h-3.24z',
|
||||
],
|
||||
],
|
||||
],
|
||||
'permissions' => ['localizations.update'],
|
||||
],
|
||||
|
||||
[
|
||||
'label' => 'Ads',
|
||||
'action' => '/admin/ads',
|
||||
'type' => 'route',
|
||||
'id' => 'ohj4qk',
|
||||
'icon' => [
|
||||
[
|
||||
'tag' => 'path',
|
||||
'attr' => [
|
||||
'd' =>
|
||||
'M17 1H7c-1.1 0-2 .9-2 2v18c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V3c0-1.1-.9-2-2-2zM7 4V3h10v1H7zm0 14V6h10v12H7zm0 3v-1h10v1H7z',
|
||||
],
|
||||
],
|
||||
[
|
||||
'tag' => 'path',
|
||||
'attr' => [
|
||||
'd' => 'M16 7H8v2h8V7z',
|
||||
],
|
||||
],
|
||||
],
|
||||
'permissions' => ['settings.update'],
|
||||
],
|
||||
],
|
||||
'positions' => ['admin-sidebar'],
|
||||
],
|
||||
|
||||
[
|
||||
'name' => 'Footer',
|
||||
'id' => '4tbwog',
|
||||
'positions' => ['footer'],
|
||||
'items' => [
|
||||
[
|
||||
'type' => 'route',
|
||||
'id' => 'c1sf2g',
|
||||
'position' => 1,
|
||||
'label' => 'Developers',
|
||||
'action' => '/api-docs',
|
||||
'permissions' => ['api.access'],
|
||||
],
|
||||
[
|
||||
'type' => 'route',
|
||||
'id' => 'rlz27v',
|
||||
'position' => 2,
|
||||
'label' => 'Privacy Policy',
|
||||
'action' => '/pages/privacy-policy',
|
||||
],
|
||||
[
|
||||
'type' => 'route',
|
||||
'id' => 'p80pvk',
|
||||
'position' => 3,
|
||||
'label' => 'Terms of Service',
|
||||
'action' => '/pages/terms-of-service',
|
||||
],
|
||||
[
|
||||
'type' => 'route',
|
||||
'id' => 'q8dtht',
|
||||
'position' => 4,
|
||||
'label' => 'Contact Us',
|
||||
'action' => '/contact',
|
||||
],
|
||||
],
|
||||
],
|
||||
[
|
||||
'name' => 'Footer Social',
|
||||
'id' => 'odw4ah',
|
||||
'positions' => ['footer-secondary'],
|
||||
'items' => [
|
||||
[
|
||||
'type' => 'link',
|
||||
'id' => '6j747e',
|
||||
'position' => 1,
|
||||
'icon' => [
|
||||
[
|
||||
'tag' => 'path',
|
||||
'attr' => [
|
||||
'd' =>
|
||||
'M19 3H5a2 2 0 00-2 2v14a2 2 0 002 2h7.621v-6.961h-2.343v-2.725h2.343V9.309c0-2.324 1.421-3.591 3.495-3.591.699-.002 1.397.034 2.092.105v2.43H16.78c-1.13 0-1.35.534-1.35 1.322v1.735h2.7l-.351 2.725h-2.365V21H19a2 2 0 002-2V5a2 2 0 00-2-2z',
|
||||
],
|
||||
],
|
||||
],
|
||||
'action' => 'https://facebook.com',
|
||||
],
|
||||
[
|
||||
'type' => 'link',
|
||||
'id' => 'jo96zw',
|
||||
'position' => 2,
|
||||
'icon' => [
|
||||
[
|
||||
'tag' => 'path',
|
||||
'attr' => [
|
||||
'd' =>
|
||||
'M24 4.3c-.898.4-1.8.7-2.8.802 1-.602 1.8-1.602 2.198-2.704-1 .602-2 1-3.097 1.204C19.3 2.602 18 2 16.6 2a4.907 4.907 0 00-4.9 4.898c0 .403 0 .801.102 1.102C7.7 7.8 4.102 5.898 1.7 2.898c-.5.704-.7 1.602-.7 2.5 0 1.704.898 3.204 2.2 4.102-.802-.102-1.598-.3-2.2-.602V9c0 2.398 1.7 4.398 3.898 4.8-.398.098-.796.2-1.296.2-.301 0-.602 0-.903-.102.602 2 2.403 3.403 4.602 3.403-1.7 1.3-3.801 2.097-6.102 2.097-.398 0-.8 0-1.199-.097C2.2 20.699 4.8 21.5 7.5 21.5c9.102 0 14-7.5 14-14v-.602c1-.699 1.8-1.597 2.5-2.597',
|
||||
],
|
||||
],
|
||||
],
|
||||
'action' => 'https://twitter.com',
|
||||
],
|
||||
[
|
||||
'type' => 'link',
|
||||
'id' => '57dsea',
|
||||
'position' => 3,
|
||||
'action' => 'https://instagram.com',
|
||||
'icon' => [
|
||||
[
|
||||
'tag' => 'path',
|
||||
'attr' => [
|
||||
'd' =>
|
||||
'M12 0C8.74 0 8.333.015 7.053.072 5.775.132 4.905.333 4.14.63c-.789.306-1.459.717-2.126 1.384S.935 3.35.63 4.14C.333 4.905.131 5.775.072 7.053.012 8.333 0 8.74 0 12s.015 3.667.072 4.947c.06 1.277.261 2.148.558 2.913a5.885 5.885 0 001.384 2.126A5.868 5.868 0 004.14 23.37c.766.296 1.636.499 2.913.558C8.333 23.988 8.74 24 12 24s3.667-.015 4.947-.072c1.277-.06 2.148-.262 2.913-.558a5.898 5.898 0 002.126-1.384 5.86 5.86 0 001.384-2.126c.296-.765.499-1.636.558-2.913.06-1.28.072-1.687.072-4.947s-.015-3.667-.072-4.947c-.06-1.277-.262-2.149-.558-2.913a5.89 5.89 0 00-1.384-2.126A5.847 5.847 0 0019.86.63c-.765-.297-1.636-.499-2.913-.558C15.667.012 15.26 0 12 0zm0 2.16c3.203 0 3.585.016 4.85.071 1.17.055 1.805.249 2.227.415.562.217.96.477 1.382.896.419.42.679.819.896 1.381.164.422.36 1.057.413 2.227.057 1.266.07 1.646.07 4.85s-.015 3.585-.074 4.85c-.061 1.17-.256 1.805-.421 2.227a3.81 3.81 0 01-.899 1.382 3.744 3.744 0 01-1.38.896c-.42.164-1.065.36-2.235.413-1.274.057-1.649.07-4.859.07-3.211 0-3.586-.015-4.859-.074-1.171-.061-1.816-.256-2.236-.421a3.716 3.716 0 01-1.379-.899 3.644 3.644 0 01-.9-1.38c-.165-.42-.359-1.065-.42-2.235-.045-1.26-.061-1.649-.061-4.844 0-3.196.016-3.586.061-4.861.061-1.17.255-1.814.42-2.234.21-.57.479-.96.9-1.381.419-.419.81-.689 1.379-.898.42-.166 1.051-.361 2.221-.421 1.275-.045 1.65-.06 4.859-.06l.045.03zm0 3.678a6.162 6.162 0 100 12.324 6.162 6.162 0 100-12.324zM12 16c-2.21 0-4-1.79-4-4s1.79-4 4-4 4 1.79 4 4-1.79 4-4 4zm7.846-10.405a1.441 1.441 0 01-2.88 0 1.44 1.44 0 012.88 0z',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
[
|
||||
'type' => 'link',
|
||||
'id' => 'lzntr2',
|
||||
'position' => 4,
|
||||
'icon' => [
|
||||
[
|
||||
'tag' => 'path',
|
||||
'attr' => [
|
||||
'd' =>
|
||||
'M5.68 2l1.478 5.344v2.562H8.44V7.344L9.937 2h-1.29l-.538 2.432a27.21 27.21 0 00-.29 1.515h-.04c-.063-.42-.159-.93-.29-1.525L6.97 2H5.68zm5.752 2.018c-.434 0-.784.084-1.051.257-.267.172-.464.448-.59.825-.125.377-.187.876-.187 1.498v.84c0 .615.054 1.107.164 1.478.11.371.295.644.556.82.261.176.62.264 1.078.264.446 0 .8-.087 1.06-.26.26-.173.45-.444.565-.818.116-.374.174-.869.174-1.485v-.84c0-.62-.059-1.118-.178-1.492-.119-.373-.308-.648-.566-.824-.258-.176-.598-.263-1.025-.263zm2.447.113v4.314c0 .534.09.927.271 1.178.182.251.465.377.848.377.552 0 .968-.267 1.244-.8h.028l.113.706H17.4V4.131h-1.298v4.588a.635.635 0 01-.23.263.569.569 0 01-.325.104c-.132 0-.226-.054-.283-.164-.057-.11-.086-.295-.086-.553V4.131h-1.3zm-2.477.781c.182 0 .311.095.383.287.072.191.108.495.108.91v1.8c0 .426-.036.735-.108.923-.072.188-.2.282-.38.283-.183 0-.309-.095-.378-.283-.07-.188-.103-.497-.103-.924V6.11c0-.414.035-.718.107-.91.072-.19.195-.287.371-.287zM5 11c-1.1 0-2 .9-2 2v7c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-7c0-1.1-.9-2-2-2H5zm7.049 2h1.056v2.568h.008c.095-.186.232-.335.407-.449.175-.114.364-.17.566-.17.26 0 .463.07.611.207.148.138.257.361.323.668.066.308.097.735.097 1.281v.772h.002c0 .727-.089 1.26-.264 1.602-.175.342-.447.513-.818.513-.207 0-.394-.047-.564-.142a.93.93 0 01-.383-.391h-.024l-.11.46h-.907V13zm-6.563.246h3.252v.885h-1.09v5.789H6.576v-5.79h-1.09v-.884zm11.612 1.705c.376 0 .665.07.867.207.2.138.343.354.426.645.082.292.123.695.123 1.209v.836h-1.836v.248c0 .313.008.547.027.703.02.156.057.27.115.342.058.072.148.107.27.107.164 0 .277-.064.338-.191.06-.127.094-.338.1-.635l.947.055a1.6 1.6 0 01.007.175c0 .451-.124.788-.37 1.01-.248.223-.595.334-1.046.334-.54 0-.92-.17-1.138-.51-.218-.339-.326-.863-.326-1.574v-.851c0-.732.112-1.267.337-1.604.225-.337.613-.506 1.159-.506zm-8.688.094h1.1v3.58c0 .217.024.373.072.465.048.093.126.139.238.139a.486.486 0 00.276-.088.538.538 0 00.193-.223v-3.873h1.1v4.875h-.862l-.093-.598h-.026c-.234.452-.584.678-1.05.678-.325 0-.561-.106-.715-.318-.154-.212-.233-.544-.233-.994v-3.643zm8.664.648c-.117 0-.204.036-.26.104-.056.069-.093.182-.11.338a6.504 6.504 0 00-.028.71v.35h.803v-.35c0-.312-.01-.548-.032-.71-.02-.162-.059-.276-.115-.342-.056-.066-.14-.1-.258-.1zm-3.482.036a.418.418 0 00-.293.126.699.699 0 00-.192.327v2.767a.487.487 0 00.438.256.337.337 0 00.277-.127c.07-.085.12-.228.149-.43.029-.2.043-.48.043-.835v-.627c0-.382-.011-.676-.035-.883-.024-.207-.067-.357-.127-.444a.299.299 0 00-.26-.13z',
|
||||
],
|
||||
],
|
||||
],
|
||||
'action' => 'https://youtube.com',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
[
|
||||
'name' => 'Auth Dropdown',
|
||||
'id' => 'h8r6vg',
|
||||
'items' => [
|
||||
[
|
||||
'label' => 'Admin area',
|
||||
'id' => 'upm1rv',
|
||||
'action' => '/admin',
|
||||
'type' => 'route',
|
||||
'icon' => [
|
||||
[
|
||||
'tag' => 'path',
|
||||
'attr' => [
|
||||
'd' =>
|
||||
'M19 5v2h-4V5h4M9 5v6H5V5h4m10 8v6h-4v-6h4M9 17v2H5v-2h4M21 3h-8v6h8V3zM11 3H3v10h8V3zm10 8h-8v10h8V11zm-10 4H3v6h8v-6z',
|
||||
],
|
||||
],
|
||||
],
|
||||
'permissions' => ['admin.access'],
|
||||
],
|
||||
[
|
||||
'label' => 'Watchlist',
|
||||
'id' => 'ehj0ukx',
|
||||
'action' => '/watchlist',
|
||||
'type' => 'route',
|
||||
'icon' => [
|
||||
[
|
||||
'tag' => 'path',
|
||||
'attr' => [
|
||||
'd' =>
|
||||
'M12 4c4.41 0 8 3.59 8 8s-3.59 8-8 8-8-3.59-8-8 3.59-8 8-8zm0-2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm2 8H7v2h7v-2zm0-3H7v2h7V7zm-7 8h3v-2H7v2zm12-1.59L17.59 12l-3.54 3.54-1.41-1.41-1.41 1.41 2.83 2.83L19 13.41z',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
[
|
||||
'label' => 'Lists',
|
||||
'id' => 'ehj0uk',
|
||||
'action' => '/',
|
||||
'type' => 'route',
|
||||
'icon' => [
|
||||
[
|
||||
'tag' => 'path',
|
||||
'attr' => [
|
||||
'd' =>
|
||||
'M3 13h2v-2H3v2zm0 4h2v-2H3v2zm0-8h2V7H3v2zm4 4h14v-2H7v2zm0 4h14v-2H7v2zM7 7v2h14V7H7zm-4 6h2v-2H3v2zm0 4h2v-2H3v2zm0-8h2V7H3v2zm4 4h14v-2H7v2zm0 4h14v-2H7v2zM7 7v2h14V7H7z',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
[
|
||||
'label' => 'Account settings',
|
||||
'id' => '6a89z5',
|
||||
'action' => '/account-settings',
|
||||
'type' => 'route',
|
||||
'icon' => [
|
||||
[
|
||||
'tag' => 'path',
|
||||
'attr' => [
|
||||
'd' =>
|
||||
'M19.43 12.98c.04-.32.07-.64.07-.98 0-.34-.03-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.09-.16-.26-.25-.44-.25-.06 0-.12.01-.17.03l-2.49 1c-.52-.4-1.08-.73-1.69-.98l-.38-2.65C14.46 2.18 14.25 2 14 2h-4c-.25 0-.46.18-.49.42l-.38 2.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.06-.02-.12-.03-.18-.03-.17 0-.34.09-.43.25l-2 3.46c-.13.22-.07.49.12.64l2.11 1.65c-.04.32-.07.65-.07.98 0 .33.03.66.07.98l-2.11 1.65c-.19.15-.24.42-.12.64l2 3.46c.09.16.26.25.44.25.06 0 .12-.01.17-.03l2.49-1c.52.4 1.08.73 1.69.98l.38 2.65c.03.24.24.42.49.42h4c.25 0 .46-.18.49-.42l.38-2.65c.61-.25 1.17-.59 1.69-.98l2.49 1c.06.02.12.03.18.03.17 0 .34-.09.43-.25l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zm-1.98-1.71c.04.31.05.52.05.73 0 .21-.02.43-.05.73l-.14 1.13.89.7 1.08.84-.7 1.21-1.27-.51-1.04-.42-.9.68c-.43.32-.84.56-1.25.73l-1.06.43-.16 1.13-.2 1.35h-1.4l-.19-1.35-.16-1.13-1.06-.43c-.43-.18-.83-.41-1.23-.71l-.91-.7-1.06.43-1.27.51-.7-1.21 1.08-.84.89-.7-.14-1.13c-.03-.31-.05-.54-.05-.74s.02-.43.05-.73l.14-1.13-.89-.7-1.08-.84.7-1.21 1.27.51 1.04.42.9-.68c.43-.32.84-.56 1.25-.73l1.06-.43.16-1.13.2-1.35h1.39l.19 1.35.16 1.13 1.06.43c.43.18.83.41 1.23.71l.91.7 1.06-.43 1.27-.51.7 1.21-1.07.85-.89.7.14 1.13zM12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm0 6c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
'positions' => ['auth-dropdown'],
|
||||
],
|
||||
|
||||
[
|
||||
'name' => 'Landing page navbar',
|
||||
'id' => '5vgq1a',
|
||||
'positions' => ['landing-page-navbar'],
|
||||
'items' => [
|
||||
[
|
||||
'type' => 'link',
|
||||
'label' => 'Features',
|
||||
'action' => '#features',
|
||||
'id' => 19041,
|
||||
],
|
||||
[
|
||||
'type' => 'link',
|
||||
'label' => 'Pricing',
|
||||
'action' => '#pricing',
|
||||
'id' => 190456,
|
||||
],
|
||||
],
|
||||
],
|
||||
]),
|
||||
],
|
||||
|
||||
// uploads
|
||||
['name' => 'uploads.max_size', 'value' => 52428800],
|
||||
['name' => 'uploads.available_space', 'value' => 104857600],
|
||||
[
|
||||
'name' => 'uploads.blocked_extensions',
|
||||
'value' => json_encode([
|
||||
'exe',
|
||||
'application/x-msdownload',
|
||||
'x-dosexec',
|
||||
]),
|
||||
],
|
||||
|
||||
// content
|
||||
[
|
||||
'name' => 'title_page.sections',
|
||||
'value' => json_encode([
|
||||
'seasons',
|
||||
'videos',
|
||||
'images',
|
||||
'reviews',
|
||||
'cast',
|
||||
'news',
|
||||
'related',
|
||||
]),
|
||||
],
|
||||
['name' => 'news.auto_update', 'value' => false],
|
||||
['name' => 'tmdb.language', 'value' => 'en'],
|
||||
['name' => 'tmdb.includeAdult', 'value' => false],
|
||||
['name' => 'streaming.video_panel_content', 'value' => 'all'],
|
||||
['name' => 'streaming.related_videos_type', 'value' => 'other_titles'],
|
||||
['name' => 'player.show_next_episodes', 'value' => false],
|
||||
['name' => 'titles.enable_reviews', 'value' => true],
|
||||
['name' => 'titles.enable_comments', 'value' => true],
|
||||
['name' => 'streaming.default_sort', 'value' => 'order:asc'],
|
||||
['name' => 'streaming.show_captions_panel', 'value' => false],
|
||||
['name' => 'streaming.show_category_select', 'value' => false],
|
||||
['name' => 'streaming.auto_approve', 'value' => true],
|
||||
['name' => 'streaming.streaming.show_header_play', 'value' => false],
|
||||
['name' => 'content.people_index_min_popularity', 'value' => 1],
|
||||
['name' => 'content.search_provider', 'value' => 'local'],
|
||||
[
|
||||
'name' => 'streaming.qualities',
|
||||
'value' => json_encode(['regular', 'SD', 'HD', '720p', '1080p', '4k']),
|
||||
],
|
||||
|
||||
// HOMEPAGE APPEARANCE
|
||||
[
|
||||
'name' => 'homepage.trending',
|
||||
'value' => true,
|
||||
],
|
||||
[
|
||||
'name' => 'homepage.pricing',
|
||||
'value' => true,
|
||||
],
|
||||
[
|
||||
'name' => 'homepage.appearance',
|
||||
'value' => json_encode([
|
||||
'headerTitle' => 'Endless Entertainment Awaits',
|
||||
'headerSubtitle' =>
|
||||
'Unleash the Power of Streaming with Our Vast Collection of Movies and TV Shows',
|
||||
'headerImage' => 'images/landing/landing.jpg',
|
||||
'headerImageOpacity' => '0.4',
|
||||
'headerOverlayColor1' => '#000',
|
||||
'blurHeaderImage' => true,
|
||||
'pricingTitle' => 'Simple pricing, for everyone.',
|
||||
'pricingSubtitle' => 'No hidden fees. Cancel anytime.',
|
||||
'actions' => [
|
||||
'cta1' => [
|
||||
'label' => 'Join Now',
|
||||
'type' => 'route',
|
||||
'action' => '/register',
|
||||
],
|
||||
'cta3' => [
|
||||
'label' => 'Get Instant Access',
|
||||
'type' => 'route',
|
||||
'action' => '/register',
|
||||
],
|
||||
],
|
||||
'secondaryFeatures' => [
|
||||
[
|
||||
'title' => 'Watch What You Want, When You Want',
|
||||
'subtitle' => 'On-Demand Streaming',
|
||||
'description' =>
|
||||
'Enjoy the freedom of on-demand streaming with our vast library of movies, TV shows, and more. Dive into entertainment at your convenience.',
|
||||
'image' => 'images/landing/browse.jpg',
|
||||
],
|
||||
[
|
||||
'title' => 'Seamless Streaming Across Devices',
|
||||
'subtitle' => 'Multi-Device Access',
|
||||
'description' =>
|
||||
'Stream on your terms! Enjoy uninterrupted viewing on your smartphone, tablet, smart TV, or computer - switch devices hassle-free.',
|
||||
'image' => 'images/landing/transformers.jpg',
|
||||
],
|
||||
[
|
||||
'title' => 'Uninterrupted Entertainment, No Distractions',
|
||||
'subtitle' => 'Ad-Free Experience',
|
||||
'description' =>
|
||||
'Dive into a seamless streaming experience without pesky ads. Stay fully immersed in your favorite movies and shows, no interruptions.',
|
||||
'image' => 'images/landing/last-of-us.jpg',
|
||||
],
|
||||
],
|
||||
'footerTitle' => 'Start Your Streaming Journey Today!',
|
||||
'footerSubtitle' =>
|
||||
'Unlock a World of Entertainment with MTDb Premium Streaming Service',
|
||||
'footerImage' => 'images/landing/landing.jpg',
|
||||
]),
|
||||
],
|
||||
];
|
||||
88
config/common/demo-blocked-routes.php
Executable file
88
config/common/demo-blocked-routes.php
Executable file
@@ -0,0 +1,88 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
// sitemap
|
||||
['method' => 'POST', 'name' => 'admin/sitemap/generate'],
|
||||
|
||||
// titles
|
||||
['method' => 'POST', 'name' => 'titles'],
|
||||
['method' => 'POST', 'name' => 'titles/{title}/credits'],
|
||||
['method' => 'POST', 'name' => 'titles/credits/reorder'],
|
||||
['method' => 'PUT', 'name' => 'titles/credits/{id}'],
|
||||
['method' => 'DELETE', 'name' => 'titles/credits/{id}'],
|
||||
['method' => 'DELETE', 'name' => 'titles/{title}/credits/{id}'],
|
||||
['method' => 'PUT', 'name' => 'titles/{title}/credits/{pivotId}'],
|
||||
['method' => 'PUT', 'name' => 'titles/{id}'],
|
||||
['method' => 'DELETE', 'name' => 'titles/{ids}'],
|
||||
['method' => 'DELETE', 'name' => 'images/{id}'],
|
||||
['method' => 'DELETE', 'name' => 'videos/{id}'],
|
||||
|
||||
// titles tags
|
||||
['method' => 'POST', 'name' => 'titles/{title}/tags/{type}'],
|
||||
['method' => 'POST', 'name' => 'title-tags/{type}'],
|
||||
['method' => 'PUT', 'name' => 'title-tags/{type}/{tagId}'],
|
||||
['method' => 'DELETE', 'name' => 'title-tags/{type}/{ids}'],
|
||||
['method' => 'DELETE', 'name' => 'titles/{title}/tags/{type}/{tagId}'],
|
||||
|
||||
// seasons
|
||||
['method' => 'POST', 'name' => ' titles/{titleId}/seasons'],
|
||||
['method' => 'DELETE', 'name' => 'seasons/{seasonId}'],
|
||||
|
||||
// episodes
|
||||
['method' => 'POST', 'name' => 'seasons/{seasonId}/episodes'],
|
||||
[
|
||||
'method' => 'PUT',
|
||||
'name' =>
|
||||
'titles/{title}/seasons/{seasonNumber}/episodes/{episodeNumber}',
|
||||
],
|
||||
['method' => 'DELETE', 'name' => 'episodes/{id}'],
|
||||
|
||||
// people
|
||||
['method' => 'POST', 'name' => 'people'],
|
||||
['method' => 'PUT', 'name' => 'people/{id}'],
|
||||
['method' => 'DELETE', 'name' => 'people/{ids}'],
|
||||
|
||||
// images
|
||||
['method' => 'DELETE', 'name' => 'images'],
|
||||
['method' => 'POST', 'name' => 'images'],
|
||||
|
||||
// reviews
|
||||
['method' => 'DELETE', 'name' => 'reviews/{id}', 'origin' => 'admin'],
|
||||
['method' => 'PUT', 'name' => 'reviews/{id}', 'origin' => 'admin'],
|
||||
|
||||
// news
|
||||
['method' => 'POST', 'name' => 'news'],
|
||||
['method' => 'PUT', 'name' => 'news/{id}'],
|
||||
['method' => 'DELETE', 'name' => 'news/{news}'],
|
||||
|
||||
// videos
|
||||
['method' => 'POST', 'name' => 'videos'],
|
||||
['method' => 'PUT', 'name' => 'videos/{id}'],
|
||||
['method' => 'DELETE', 'name' => 'videos/{ids}'],
|
||||
['method' => 'POST', 'name' => 'titles/{video}/videos/change-order'],
|
||||
['method' => 'POST', 'name' => 'videos/{video}/approve'],
|
||||
['method' => 'POST', 'name' => 'videos/{video}/disapprove'],
|
||||
|
||||
// images
|
||||
['method' => 'POST', 'name' => 'uploads/images', 'origin' => 'admin'],
|
||||
|
||||
// custom pages
|
||||
[
|
||||
'method' => 'POST',
|
||||
'name' => 'custom-pages',
|
||||
],
|
||||
|
||||
// import
|
||||
['method' => 'POST', 'name' => 'media/import'],
|
||||
['method' => 'GET', 'name' => 'tmdb/import'],
|
||||
['method' => 'POST', 'name' => 'news/import-from-remote-provider'],
|
||||
|
||||
// Channels
|
||||
['method' => 'POST', 'name' => 'channel/{channel}/detach-item'],
|
||||
['method' => 'POST', 'name' => 'channel/{channel}/attach-item'],
|
||||
['method' => 'POST', 'name' => 'channel/{channel}/change-order'],
|
||||
['method' => 'POST', 'name' => 'channel'],
|
||||
['method' => 'PUT', 'name' => 'channel/{channel}'],
|
||||
['method' => 'DELETE', 'name' => 'channel/{ids}'],
|
||||
['method' => 'POST', 'name' => 'channel/reset-to-default'],
|
||||
];
|
||||
11
config/common/menus.php
Executable file
11
config/common/menus.php
Executable file
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
use Common\Channels\LoadChannelMenuItems;
|
||||
|
||||
return [
|
||||
[
|
||||
'name' => 'Channel',
|
||||
'type' => 'channels',
|
||||
'itemsLoader' => LoadChannelMenuItems::class,
|
||||
]
|
||||
];
|
||||
5
config/common/setting-validators.php
Executable file
5
config/common/setting-validators.php
Executable file
@@ -0,0 +1,5 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
\App\Services\Settings\Validators\TmdbApiKeyValidator::class,
|
||||
];
|
||||
8
config/common/site.php
Executable file
8
config/common/site.php
Executable file
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'local_search_mode' => env('LOCAL_SEARCH_MODE', 'fulltext'),
|
||||
'rating_column' => env('RATING_COLUMN', 'tmdb_vote_average'),
|
||||
'tmdb_delete_when_sync' => env('TMDB_DELETE_WHEN_SYNC', false),
|
||||
'fake_plays_data' => env('FAKE_PLAYS_DATA', false),
|
||||
];
|
||||
42
config/common/themes.php
Executable file
42
config/common/themes.php
Executable file
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'light' => [
|
||||
'--be-foreground-base' => '0 0 0',
|
||||
'--be-primary-light' => '251 146 60', //#fb923c
|
||||
'--be-primary' => '249 115 22', //#f97316
|
||||
'--be-primary-dark' => '234 88 12', //#ea580c
|
||||
'--be-on-primary' => '255 255 255',
|
||||
'--be-background' => '255 255 255',
|
||||
'--be-background-alt' => '246 248 250',
|
||||
'--be-background-chip' => '233 236 239',
|
||||
'--be-paper' => '255 255 255',
|
||||
'--be-disabled-bg-opacity' => '12%',
|
||||
'--be-disabled-fg-opacity' => '26%',
|
||||
'--be-hover-opacity' => '4%',
|
||||
'--be-focus-opacity' => '12%',
|
||||
'--be-selected-opacity' => '8%',
|
||||
'--be-text-main-opacity' => '87%',
|
||||
'--be-text-muted-opacity' => '60%',
|
||||
'--be-divider-opacity' => '12%',
|
||||
],
|
||||
'dark' => [
|
||||
'--be-foreground-base' => '255 255 255',
|
||||
'--be-primary-light' => '251 146 60', //#b4cf9c
|
||||
'--be-primary' => '249 115 22', //#689f38
|
||||
'--be-primary-dark' => '234 88 12', //#527e2c
|
||||
'--be-on-primary' => '255 255 255',
|
||||
'--be-background' => '28 28 32',
|
||||
'--be-background-alt' => '41 41 46',
|
||||
'--be-background-chip' => '66 68 74',
|
||||
'--be-paper' => '36 36 41',
|
||||
'--be-disabled-bg-opacity' => '12%',
|
||||
'--be-disabled-fg-opacity' => '30%',
|
||||
'--be-hover-opacity' => '8%',
|
||||
'--be-focus-opacity' => '12%',
|
||||
'--be-selected-opacity' => '16%',
|
||||
'--be-text-main-opacity' => '100%',
|
||||
'--be-text-muted-opacity' => '70%',
|
||||
'--be-divider-opacity' => '12%',
|
||||
],
|
||||
];
|
||||
34
config/cors.php
Executable file
34
config/cors.php
Executable 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/*'],
|
||||
|
||||
'allowed_methods' => ['*'],
|
||||
|
||||
'allowed_origins' => ['*'],
|
||||
|
||||
'allowed_origins_patterns' => [],
|
||||
|
||||
'allowed_headers' => ['*'],
|
||||
|
||||
'exposed_headers' => [],
|
||||
|
||||
'max_age' => 0,
|
||||
|
||||
'supports_credentials' => false,
|
||||
|
||||
];
|
||||
147
config/database.php
Executable file
147
config/database.php
Executable file
@@ -0,0 +1,147 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default Database Connection Name
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may specify which of the database connections below you wish
|
||||
| to use as your default connection for all database work. Of course
|
||||
| you may use many connections at once using the Database library.
|
||||
|
|
||||
*/
|
||||
|
||||
'default' => env('DB_CONNECTION', 'mysql'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Database Connections
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here are each of the database connections setup for your application.
|
||||
| Of course, examples of configuring each database platform that is
|
||||
| supported by Laravel is shown below to make development simple.
|
||||
|
|
||||
|
|
||||
| All database work in Laravel is done through the PHP PDO facilities
|
||||
| so make sure you have the driver for your particular database of
|
||||
| choice installed on your machine before you begin development.
|
||||
|
|
||||
*/
|
||||
|
||||
'connections' => [
|
||||
|
||||
'sqlite' => [
|
||||
'driver' => 'sqlite',
|
||||
'url' => env('DATABASE_URL'),
|
||||
'database' => env('DB_DATABASE', database_path('database.sqlite')),
|
||||
'prefix' => '',
|
||||
'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
|
||||
],
|
||||
|
||||
'mysql' => [
|
||||
'driver' => 'mysql',
|
||||
'url' => env('DATABASE_URL'),
|
||||
'host' => env('DB_HOST', '127.0.0.1'),
|
||||
'port' => env('DB_PORT', '3306'),
|
||||
'database' => env('DB_DATABASE', 'forge'),
|
||||
'username' => env('DB_USERNAME', 'forge'),
|
||||
'password' => env('DB_PASSWORD', ''),
|
||||
'unix_socket' => env('DB_SOCKET', ''),
|
||||
'charset' => 'utf8mb4',
|
||||
'collation' => 'utf8mb4_unicode_ci',
|
||||
'prefix' => env('DB_PREFIX', ''),
|
||||
'prefix_indexes' => true,
|
||||
'strict' => false,
|
||||
'engine' => null,
|
||||
'options' => extension_loaded('pdo_mysql') ? array_filter([
|
||||
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
|
||||
]) : [],
|
||||
],
|
||||
|
||||
'pgsql' => [
|
||||
'driver' => 'pgsql',
|
||||
'url' => env('DATABASE_URL'),
|
||||
'host' => env('DB_HOST', '127.0.0.1'),
|
||||
'port' => env('DB_PORT', '5432'),
|
||||
'database' => env('DB_DATABASE', 'forge'),
|
||||
'username' => env('DB_USERNAME', 'forge'),
|
||||
'password' => env('DB_PASSWORD', ''),
|
||||
'charset' => 'utf8',
|
||||
'prefix' => '',
|
||||
'prefix_indexes' => true,
|
||||
'schema' => 'public',
|
||||
'sslmode' => 'prefer',
|
||||
],
|
||||
|
||||
'sqlsrv' => [
|
||||
'driver' => 'sqlsrv',
|
||||
'url' => env('DATABASE_URL'),
|
||||
'host' => env('DB_HOST', 'localhost'),
|
||||
'port' => env('DB_PORT', '1433'),
|
||||
'database' => env('DB_DATABASE', 'forge'),
|
||||
'username' => env('DB_USERNAME', 'forge'),
|
||||
'password' => env('DB_PASSWORD', ''),
|
||||
'charset' => 'utf8',
|
||||
'prefix' => '',
|
||||
'prefix_indexes' => true,
|
||||
],
|
||||
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Migration Repository Table
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This table keeps track of all the migrations that have already run for
|
||||
| your application. Using this information, we can determine which of
|
||||
| the migrations on disk haven't actually been run in the database.
|
||||
|
|
||||
*/
|
||||
|
||||
'migrations' => 'migrations',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Redis Databases
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Redis is an open source, fast, and advanced key-value store that also
|
||||
| provides a richer body of commands than a typical key-value system
|
||||
| such as APC or Memcached. Laravel makes it easy to dig right in.
|
||||
|
|
||||
*/
|
||||
|
||||
'redis' => [
|
||||
|
||||
'client' => env('REDIS_CLIENT', 'phpredis'),
|
||||
|
||||
'options' => [
|
||||
'cluster' => env('REDIS_CLUSTER', 'redis'),
|
||||
'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'),
|
||||
],
|
||||
|
||||
'default' => [
|
||||
'url' => env('REDIS_URL'),
|
||||
'host' => env('REDIS_HOST', '127.0.0.1'),
|
||||
'password' => env('REDIS_PASSWORD', null),
|
||||
'port' => env('REDIS_PORT', '6379'),
|
||||
'database' => env('REDIS_DB', '0'),
|
||||
],
|
||||
|
||||
'cache' => [
|
||||
'url' => env('REDIS_URL'),
|
||||
'host' => env('REDIS_HOST', '127.0.0.1'),
|
||||
'password' => env('REDIS_PASSWORD', null),
|
||||
'port' => env('REDIS_PORT', '6379'),
|
||||
'database' => env('REDIS_CACHE_DB', '1'),
|
||||
],
|
||||
|
||||
],
|
||||
|
||||
];
|
||||
84
config/filesystems.php
Executable file
84
config/filesystems.php
Executable file
@@ -0,0 +1,84 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default Filesystem Disk
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may specify the default filesystem disk that should be used
|
||||
| by the framework. The "local" disk, as well as a variety of cloud
|
||||
| based disks are available to your application. Just store away!
|
||||
|
|
||||
*/
|
||||
|
||||
'default' => env('FILESYSTEM_DRIVER', 'local'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default Cloud Filesystem Disk
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Many applications store files both locally and in the cloud. For this
|
||||
| reason, you may specify a default "cloud" driver here. This driver
|
||||
| will be bound as the Cloud disk implementation in the container.
|
||||
|
|
||||
*/
|
||||
|
||||
'cloud' => env('FILESYSTEM_CLOUD', 's3'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Filesystem Disks
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may configure as many filesystem "disks" as you wish, and you
|
||||
| may even configure multiple disks of the same driver. Defaults have
|
||||
| been setup for each driver as an example of the required options.
|
||||
|
|
||||
| Supported Drivers: "local", "ftp", "sftp", "s3"
|
||||
|
|
||||
*/
|
||||
|
||||
'disks' => [
|
||||
'local' => [
|
||||
'driver' => 'local',
|
||||
'root' => public_path('storage'),
|
||||
],
|
||||
|
||||
'uploads' => [
|
||||
'driver' => 'dynamic-uploads',
|
||||
'local_root' => env(
|
||||
'PRIVATE_UPLOADS_LOCAL_ROOT',
|
||||
storage_path('app/uploads'),
|
||||
),
|
||||
'remote_root' => env('PRIVATE_UPLOADS_REMOTE_ROOT', 'uploads'),
|
||||
],
|
||||
|
||||
'public' => [
|
||||
'driver' => 'dynamic-public',
|
||||
'url' => 'storage',
|
||||
'visibility' => 'public',
|
||||
'local_root' => env(
|
||||
'PUBLIC_UPLOADS_LOCAL_ROOT',
|
||||
public_path('storage'),
|
||||
),
|
||||
'remote_root' => env('PUBLIC_UPLOADS_REMOTE_ROOT', 'storage'),
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| 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'),
|
||||
],
|
||||
];
|
||||
144
config/fortify.php
Executable file
144
config/fortify.php
Executable file
@@ -0,0 +1,144 @@
|
||||
<?php
|
||||
|
||||
use App\Providers\RouteServiceProvider;
|
||||
use Laravel\Fortify\Features;
|
||||
|
||||
return [
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Fortify Guard
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may specify which authentication guard Fortify will use while
|
||||
| authenticating users. This value should correspond with one of your
|
||||
| guards that is already present in your "auth" configuration file.
|
||||
|
|
||||
*/
|
||||
|
||||
'guard' => 'web',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Fortify Password Broker
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may specify which password broker Fortify can use when a user
|
||||
| is resetting their password. This configured value should match one
|
||||
| of your password brokers setup in your "auth" configuration file.
|
||||
|
|
||||
*/
|
||||
|
||||
'passwords' => 'users',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Username / Email
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This value defines which model attribute should be considered as your
|
||||
| application's "username" field. Typically, this might be the email
|
||||
| address of the users but you are free to change this value here.
|
||||
|
|
||||
| Out of the box, Fortify expects forgot password and reset password
|
||||
| requests to have a field named 'email'. If the application uses
|
||||
| another name for the field you may define it below as needed.
|
||||
|
|
||||
*/
|
||||
|
||||
'username' => 'email',
|
||||
|
||||
'email' => 'email',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Home Path
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may configure the path where users will get redirected during
|
||||
| authentication or password reset when the operations are successful
|
||||
| and the user is authenticated. You are free to change this value.
|
||||
|
|
||||
*/
|
||||
|
||||
'home' => RouteServiceProvider::HOME,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Fortify Routes Prefix / Subdomain
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may specify which prefix Fortify will assign to all the routes
|
||||
| that it registers with the application. If necessary, you may change
|
||||
| subdomain under which all of the Fortify routes will be available.
|
||||
|
|
||||
*/
|
||||
|
||||
'prefix' => 'auth',
|
||||
|
||||
'domain' => null,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Fortify Routes Middleware
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may specify which middleware Fortify will assign to the routes
|
||||
| that it registers with the application. If necessary, you may change
|
||||
| these middleware but typically this provided default is preferred.
|
||||
|
|
||||
*/
|
||||
|
||||
'middleware' => ['web'],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Rate Limiting
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| By default, Fortify will throttle logins to five requests per minute for
|
||||
| every email and IP address combination. However, if you would like to
|
||||
| specify a custom rate limiter to call then you may specify it here.
|
||||
|
|
||||
*/
|
||||
|
||||
'limiters' => [
|
||||
'login' => 'login',
|
||||
'two-factor' => 'two-factor',
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Register View Routes
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may specify if the routes returning views should be disabled as
|
||||
| you may not need them when building your own application. This may be
|
||||
| especially true if you're writing a custom single-page application.
|
||||
|
|
||||
*/
|
||||
|
||||
'views' => false,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Features
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Some of the Fortify features are optional. You may disable the features
|
||||
| by removing them from this array. You're free to only remove some of
|
||||
| these features or you can even remove all of these if you need to.
|
||||
|
|
||||
*/
|
||||
|
||||
'features' => [
|
||||
Features::registration(),
|
||||
Features::resetPasswords(),
|
||||
Features::emailVerification(),
|
||||
Features::updatePasswords(),
|
||||
Features::twoFactorAuthentication([
|
||||
'confirm' => true,
|
||||
'confirmPassword' => true,
|
||||
// 'window' => 0,
|
||||
]),
|
||||
],
|
||||
];
|
||||
171
config/geoip.php
Executable file
171
config/geoip.php
Executable file
@@ -0,0 +1,171 @@
|
||||
<?php
|
||||
|
||||
use Torann\GeoIP\Services\IPApi;
|
||||
use Torann\GeoIP\Services\IPData;
|
||||
use Torann\GeoIP\Services\IPFinder;
|
||||
use Torann\GeoIP\Services\IPGeoLocation;
|
||||
use Torann\GeoIP\Services\MaxMindDatabase;
|
||||
use Torann\GeoIP\Services\MaxMindWebService;
|
||||
|
||||
return [
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Logging Configuration
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may configure the log settings for when a location is not found
|
||||
| for the IP provided.
|
||||
|
|
||||
*/
|
||||
|
||||
'log_failures' => false,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Include Currency in Results
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| When enabled the system will do it's best in deciding the user's currency
|
||||
| by matching their ISO code to a preset list of currencies.
|
||||
|
|
||||
*/
|
||||
|
||||
'include_currency' => true,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default Service
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may specify the default storage driver that should be used
|
||||
| by the framework.
|
||||
|
|
||||
| Supported: "maxmind_database", "maxmind_api", "ipapi"
|
||||
|
|
||||
*/
|
||||
|
||||
'service' => 'maxmind_database',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Storage Specific Configuration
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may configure as many storage drivers as you wish.
|
||||
|
|
||||
*/
|
||||
|
||||
'services' => [
|
||||
'maxmind_database' => [
|
||||
'class' => MaxMindDatabase::class,
|
||||
'database_path' => storage_path('app/geoip.mmdb'),
|
||||
'update_url' => sprintf(
|
||||
'https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-City&license_key=%s&suffix=tar.gz',
|
||||
env('MAXMIND_LICENSE_KEY'),
|
||||
),
|
||||
'locales' => ['en'],
|
||||
],
|
||||
|
||||
'maxmind_api' => [
|
||||
'class' => MaxMindWebService::class,
|
||||
'user_id' => env('MAXMIND_USER_ID'),
|
||||
'license_key' => env('MAXMIND_LICENSE_KEY'),
|
||||
'locales' => ['en'],
|
||||
],
|
||||
|
||||
'ipapi' => [
|
||||
'class' => IPApi::class,
|
||||
'secure' => true,
|
||||
'key' => env('IPAPI_KEY'),
|
||||
'continent_path' => storage_path('app/continents.json'),
|
||||
'lang' => 'en',
|
||||
],
|
||||
|
||||
'ipgeolocation' => [
|
||||
'class' => IPGeoLocation::class,
|
||||
'secure' => true,
|
||||
'key' => env('IPGEOLOCATION_KEY'),
|
||||
'continent_path' => storage_path('app/continents.json'),
|
||||
'lang' => 'en',
|
||||
],
|
||||
|
||||
'ipdata' => [
|
||||
'class' => IPData::class,
|
||||
'key' => env('IPDATA_API_KEY'),
|
||||
'secure' => true,
|
||||
],
|
||||
|
||||
'ipfinder' => [
|
||||
'class' => IPFinder::class,
|
||||
'key' => env('IPFINDER_API_KEY'),
|
||||
'secure' => true,
|
||||
'locales' => ['en'],
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default Cache Driver
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may specify the type of caching that should be used
|
||||
| by the package.
|
||||
|
|
||||
| Options:
|
||||
|
|
||||
| all - All location are cached
|
||||
| some - Cache only the requesting user
|
||||
| none - Disable cached
|
||||
|
|
||||
*/
|
||||
|
||||
'cache' => 'all',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Cache Tags
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Cache tags are not supported when using the file or database cache
|
||||
| drivers in Laravel. This is done so that only locations can be cleared.
|
||||
|
|
||||
*/
|
||||
|
||||
'cache_tags' => [],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Cache Expiration
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Define how long cached location are valid.
|
||||
|
|
||||
*/
|
||||
|
||||
'cache_expires' => 30,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default Location
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Return when a location is not found.
|
||||
|
|
||||
*/
|
||||
|
||||
'default_location' => [
|
||||
'ip' => '127.0.0.0',
|
||||
'iso_code' => 'US',
|
||||
'country' => 'United States',
|
||||
'city' => 'New Haven',
|
||||
'state' => 'CT',
|
||||
'state_name' => 'Connecticut',
|
||||
'postal_code' => '06510',
|
||||
'lat' => 41.31,
|
||||
'lon' => -72.92,
|
||||
'timezone' => 'America/New_York',
|
||||
'continent' => 'NA',
|
||||
'default' => true,
|
||||
'currency' => 'USD',
|
||||
],
|
||||
];
|
||||
52
config/hashing.php
Executable file
52
config/hashing.php
Executable file
@@ -0,0 +1,52 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default Hash Driver
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This option controls the default hash driver that will be used to hash
|
||||
| passwords for your application. By default, the bcrypt algorithm is
|
||||
| used; however, you remain free to modify this option if you wish.
|
||||
|
|
||||
| Supported: "bcrypt", "argon", "argon2id"
|
||||
|
|
||||
*/
|
||||
|
||||
'driver' => 'bcrypt',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Bcrypt Options
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may specify the configuration options that should be used when
|
||||
| passwords are hashed using the Bcrypt algorithm. This will allow you
|
||||
| to control the amount of time it takes to hash the given password.
|
||||
|
|
||||
*/
|
||||
|
||||
'bcrypt' => [
|
||||
'rounds' => env('BCRYPT_ROUNDS', 10),
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Argon Options
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may specify the configuration options that should be used when
|
||||
| passwords are hashed using the Argon algorithm. These will allow you
|
||||
| to control the amount of time it takes to hash the given password.
|
||||
|
|
||||
*/
|
||||
|
||||
'argon' => [
|
||||
'memory' => 1024,
|
||||
'threads' => 2,
|
||||
'time' => 2,
|
||||
],
|
||||
|
||||
];
|
||||
194
config/horizon.php
Executable file
194
config/horizon.php
Executable file
@@ -0,0 +1,194 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Horizon Domain
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This is the subdomain where Horizon will be accessible from. If this
|
||||
| setting is null, Horizon will reside under the same domain as the
|
||||
| application. Otherwise, this value will serve as the subdomain.
|
||||
|
|
||||
*/
|
||||
|
||||
'domain' => env('HORIZON_DOMAIN', null),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Horizon Path
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This is the URI path where Horizon will be accessible from. Feel free
|
||||
| to change this path to anything you like. Note that the URI will not
|
||||
| affect the paths of its internal API that aren't exposed to users.
|
||||
|
|
||||
*/
|
||||
|
||||
'path' => env('HORIZON_PATH', 'horizon'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Horizon Redis Connection
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This is the name of the Redis connection where Horizon will store the
|
||||
| meta information required for it to function. It includes the list
|
||||
| of supervisors, failed jobs, job metrics, and other information.
|
||||
|
|
||||
*/
|
||||
|
||||
'use' => 'default',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Horizon Redis Prefix
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This prefix will be used when storing all Horizon data in Redis. You
|
||||
| may modify the prefix when you are running multiple installations
|
||||
| of Horizon on the same server so that they don't have problems.
|
||||
|
|
||||
*/
|
||||
|
||||
'prefix' => env(
|
||||
'HORIZON_PREFIX',
|
||||
Str::slug(env('APP_NAME', 'laravel'), '_').'_horizon:'
|
||||
),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Horizon Route Middleware
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| These middleware will get attached onto each Horizon route, giving you
|
||||
| the chance to add your own middleware to this list or change any of
|
||||
| the existing middleware. Or, you can simply stick with this list.
|
||||
|
|
||||
*/
|
||||
|
||||
'middleware' => ['web'],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Queue Wait Time Thresholds
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This option allows you to configure when the LongWaitDetected event
|
||||
| will be fired. Every connection / queue combination may have its
|
||||
| own, unique threshold (in seconds) before this event is fired.
|
||||
|
|
||||
*/
|
||||
|
||||
'waits' => [
|
||||
'redis:default' => 60,
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Job Trimming Times
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you can configure for how long (in minutes) you desire Horizon to
|
||||
| persist the recent and failed jobs. Typically, recent jobs are kept
|
||||
| for one hour while all failed jobs are stored for an entire week.
|
||||
|
|
||||
*/
|
||||
|
||||
'trim' => [
|
||||
'recent' => 30,
|
||||
'pending' => 60,
|
||||
'completed' => 60,
|
||||
'recent_failed' => 60,
|
||||
'failed' => 60,
|
||||
'monitored' => 0,
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Metrics
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you can configure how many snapshots should be kept to display in
|
||||
| the metrics graph. This will get used in combination with Horizon's
|
||||
| `horizon:snapshot` schedule to define how long to retain metrics.
|
||||
|
|
||||
*/
|
||||
|
||||
'metrics' => [
|
||||
'trim_snapshots' => [
|
||||
'job' => 24,
|
||||
'queue' => 24,
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Fast Termination
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| When this option is enabled, Horizon's "terminate" command will not
|
||||
| wait on all of the workers to terminate unless the --wait option
|
||||
| is provided. Fast termination can shorten deployment delay by
|
||||
| allowing a new instance of Horizon to start while the last
|
||||
| instance will continue to terminate each of its workers.
|
||||
|
|
||||
*/
|
||||
|
||||
'fast_termination' => false,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Memory Limit (MB)
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This value describes the maximum amount of memory the Horizon master
|
||||
| supervisor may consume before it is terminated and restarted. For
|
||||
| configuring these limits on your workers, see the next section.
|
||||
|
|
||||
*/
|
||||
|
||||
'memory_limit' => 64,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Queue Worker Configuration
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may define the queue worker settings used by your application
|
||||
| in all environments. These supervisors and settings handle all your
|
||||
| queued jobs and will be provisioned by Horizon during deployment.
|
||||
|
|
||||
*/
|
||||
|
||||
'defaults' => [
|
||||
'supervisor-1' => [
|
||||
'connection' => 'redis',
|
||||
'queue' => ['default'],
|
||||
'balance' => 'auto',
|
||||
'maxProcesses' => 1,
|
||||
'memory' => 128,
|
||||
'tries' => 1,
|
||||
'nice' => 0,
|
||||
],
|
||||
],
|
||||
|
||||
'environments' => [
|
||||
'production' => [
|
||||
'supervisor-1' => [
|
||||
'maxProcesses' => 10,
|
||||
'balanceMaxShift' => 1,
|
||||
'balanceCooldown' => 3,
|
||||
],
|
||||
],
|
||||
|
||||
'local' => [
|
||||
'supervisor-1' => [
|
||||
'maxProcesses' => 3,
|
||||
],
|
||||
],
|
||||
],
|
||||
];
|
||||
20
config/image.php
Executable file
20
config/image.php
Executable file
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Image Driver
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Intervention Image supports "GD Library" and "Imagick" to process images
|
||||
| internally. You may choose one of them according to your PHP
|
||||
| configuration. By default PHP's "GD Library" implementation is used.
|
||||
|
|
||||
| Supported: "gd", "imagick"
|
||||
|
|
||||
*/
|
||||
|
||||
'driver' => 'gd'
|
||||
|
||||
];
|
||||
200
config/log-viewer.php
Executable file
200
config/log-viewer.php
Executable file
@@ -0,0 +1,200 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Log Viewer
|
||||
|--------------------------------------------------------------------------
|
||||
| Log Viewer can be disabled, so it's no longer accessible via browser.
|
||||
|
|
||||
*/
|
||||
|
||||
'enabled' => env('LOG_VIEWER_ENABLED', false),
|
||||
|
||||
'api_only' => env('LOG_VIEWER_API_ONLY', true),
|
||||
|
||||
'require_auth_in_production' => true,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Log Viewer Domain
|
||||
|--------------------------------------------------------------------------
|
||||
| You may change the domain where Log Viewer should be active.
|
||||
| If the domain is empty, all domains will be valid.
|
||||
|
|
||||
*/
|
||||
|
||||
'route_domain' => null,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Log Viewer Route
|
||||
|--------------------------------------------------------------------------
|
||||
| Log Viewer will be available under this URL.
|
||||
|
|
||||
*/
|
||||
|
||||
'route_path' => 'log-viewer',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Back to system URL
|
||||
|--------------------------------------------------------------------------
|
||||
| When set, displays a link to easily get back to this URL.
|
||||
| Set to `null` to hide this link.
|
||||
|
|
||||
| Optional label to display for the above URL.
|
||||
|
|
||||
*/
|
||||
|
||||
'back_to_system_url' => config('app.url', null),
|
||||
|
||||
'back_to_system_label' => null, // Displayed by default: "Back to {{ app.name }}"
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Log Viewer time zone.
|
||||
|--------------------------------------------------------------------------
|
||||
| The time zone in which to display the times in the UI. Defaults to
|
||||
| the application's timezone defined in config/app.php.
|
||||
|
|
||||
*/
|
||||
|
||||
'timezone' => null,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Log Viewer route middleware.
|
||||
|--------------------------------------------------------------------------
|
||||
| Optional middleware to use when loading the initial Log Viewer page.
|
||||
|
|
||||
*/
|
||||
|
||||
'middleware' => [
|
||||
'web',
|
||||
\Opcodes\LogViewer\Http\Middleware\AuthorizeLogViewer::class,
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Log Viewer API middleware.
|
||||
|--------------------------------------------------------------------------
|
||||
| Optional middleware to use on every API request. The same API is also
|
||||
| used from within the Log Viewer user interface.
|
||||
|
|
||||
*/
|
||||
|
||||
'api_middleware' => [
|
||||
\Opcodes\LogViewer\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
|
||||
\Opcodes\LogViewer\Http\Middleware\AuthorizeLogViewer::class,
|
||||
],
|
||||
|
||||
'api_stateful_domains' => env('LOG_VIEWER_API_STATEFUL_DOMAINS')
|
||||
? explode(',', env('LOG_VIEWER_API_STATEFUL_DOMAINS'))
|
||||
: null,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Log Viewer Remote hosts.
|
||||
|--------------------------------------------------------------------------
|
||||
| Log Viewer supports viewing Laravel logs from remote hosts. They must
|
||||
| be running Log Viewer as well. Below you can define the hosts you
|
||||
| would like to show in this Log Viewer instance.
|
||||
|
|
||||
*/
|
||||
|
||||
'hosts' => [
|
||||
'local' => [
|
||||
'name' => ucfirst(env('APP_ENV', 'local')),
|
||||
],
|
||||
|
||||
// 'staging' => [
|
||||
// 'name' => 'Staging',
|
||||
// 'host' => 'https://staging.example.com/log-viewer',
|
||||
// 'auth' => [ // Example of HTTP Basic auth
|
||||
// 'username' => 'username',
|
||||
// 'password' => 'password',
|
||||
// ],
|
||||
// ],
|
||||
//
|
||||
// 'production' => [
|
||||
// 'name' => 'Production',
|
||||
// 'host' => 'https://example.com/log-viewer',
|
||||
// 'auth' => [ // Example of Bearer token auth
|
||||
// 'token' => env('LOG_VIEWER_PRODUCTION_TOKEN'),
|
||||
// ],
|
||||
// 'headers' => [
|
||||
// 'X-Foo' => 'Bar',
|
||||
// ],
|
||||
// ],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Include file patterns
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
*/
|
||||
|
||||
'include_files' => [storage_path('logs/*.log')],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Exclude file patterns.
|
||||
|--------------------------------------------------------------------------
|
||||
| This will take precedence over included files.
|
||||
|
|
||||
*/
|
||||
|
||||
'exclude_files' => ['mail.log', 'geoip.log'],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Hide unknown files.
|
||||
|--------------------------------------------------------------------------
|
||||
| The include/exclude options above might catch files which are not
|
||||
| logs supported by Log Viewer. In that case, you can hide them
|
||||
| from the UI and API calls by setting this to true.
|
||||
|
|
||||
*/
|
||||
|
||||
'hide_unknown_files' => true,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Shorter stack trace filters.
|
||||
|--------------------------------------------------------------------------
|
||||
| Lines containing any of these strings will be excluded from the full log.
|
||||
| This setting is only active when the function is enabled via the user interface.
|
||||
|
|
||||
*/
|
||||
|
||||
'shorter_stack_trace_excludes' => [
|
||||
'/vendor/symfony/',
|
||||
'/vendor/laravel/framework/',
|
||||
'/vendor/barryvdh/laravel-debugbar/',
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Cache driver
|
||||
|--------------------------------------------------------------------------
|
||||
| Cache driver to use for storing the log indices. Indices are used to speed up
|
||||
| log navigation. Defaults to your application's default cache driver.
|
||||
|
|
||||
*/
|
||||
|
||||
'cache_driver' => env('LOG_VIEWER_CACHE_DRIVER', null),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Chunk size when scanning log files lazily
|
||||
|--------------------------------------------------------------------------
|
||||
| The size in MB of files to scan before updating the progress bar when searching across all files.
|
||||
|
|
||||
*/
|
||||
|
||||
'lazy_scan_chunk_size_in_mb' => 50,
|
||||
|
||||
'strip_extracted_context' => true,
|
||||
];
|
||||
134
config/logging.php
Executable file
134
config/logging.php
Executable file
@@ -0,0 +1,134 @@
|
||||
<?php
|
||||
|
||||
use Monolog\Handler\NullHandler;
|
||||
use Monolog\Handler\StreamHandler;
|
||||
use Monolog\Handler\SyslogUdpHandler;
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default Log Channel
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This option defines the default log channel that gets used when writing
|
||||
| messages to the logs. The name specified in this option should match
|
||||
| one of the channels defined in the "channels" configuration array.
|
||||
|
|
||||
*/
|
||||
|
||||
'default' => env('LOG_CHANNEL', 'stack'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| 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' => ['daily'],
|
||||
'ignore_exceptions' => false,
|
||||
],
|
||||
|
||||
'single' => [
|
||||
'driver' => 'single',
|
||||
'path' => storage_path('logs/laravel.log'),
|
||||
'level' => env('LOG_LEVEL', 'debug'),
|
||||
],
|
||||
|
||||
'daily' => [
|
||||
'driver' => 'daily',
|
||||
'path' => storage_path('logs/laravel.log'),
|
||||
'level' => env('LOG_LEVEL', 'debug'),
|
||||
'days' => 14,
|
||||
],
|
||||
|
||||
'slack' => [
|
||||
'driver' => 'slack',
|
||||
'url' => env('LOG_SLACK_WEBHOOK_URL'),
|
||||
'username' => 'Laravel Log',
|
||||
'emoji' => ':boom:',
|
||||
'level' => env('LOG_LEVEL', 'critical'),
|
||||
],
|
||||
|
||||
'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'),
|
||||
],
|
||||
],
|
||||
|
||||
'stderr' => [
|
||||
'driver' => 'monolog',
|
||||
'level' => env('LOG_LEVEL', 'debug'),
|
||||
'handler' => StreamHandler::class,
|
||||
'formatter' => env('LOG_STDERR_FORMATTER'),
|
||||
'with' => [
|
||||
'stream' => 'php://stderr',
|
||||
],
|
||||
],
|
||||
|
||||
'syslog' => [
|
||||
'driver' => 'syslog',
|
||||
'level' => env('LOG_LEVEL', 'debug'),
|
||||
],
|
||||
|
||||
'errorlog' => [
|
||||
'driver' => 'errorlog',
|
||||
'level' => env('LOG_LEVEL', 'debug'),
|
||||
],
|
||||
|
||||
'null' => [
|
||||
'driver' => 'monolog',
|
||||
'handler' => NullHandler::class,
|
||||
],
|
||||
|
||||
'emergency' => [
|
||||
'path' => storage_path('logs/laravel.log'),
|
||||
],
|
||||
|
||||
'mail' => [
|
||||
'driver' => 'single',
|
||||
'path' => storage_path('logs/mail.log'),
|
||||
'level' => 'debug',
|
||||
],
|
||||
|
||||
'broadcasting' => [
|
||||
'driver' => 'single',
|
||||
'path' => storage_path('logs/broadcasting.log'),
|
||||
'level' => 'debug',
|
||||
],
|
||||
],
|
||||
|
||||
];
|
||||
114
config/mail.php
Executable file
114
config/mail.php
Executable file
@@ -0,0 +1,114 @@
|
||||
<?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_DRIVER', '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",
|
||||
| "postmark", "log", "array"
|
||||
|
|
||||
*/
|
||||
|
||||
'mailers' => [
|
||||
'smtp' => [
|
||||
'transport' => 'smtp',
|
||||
'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,
|
||||
'auth_mode' => null,
|
||||
],
|
||||
|
||||
'ses' => [
|
||||
'transport' => 'ses',
|
||||
],
|
||||
|
||||
'mailgun' => [
|
||||
'transport' => 'mailgun',
|
||||
],
|
||||
|
||||
'gmailApi' => [
|
||||
'transport' => 'gmailApi',
|
||||
],
|
||||
|
||||
'postmark' => [
|
||||
'transport' => 'postmark',
|
||||
],
|
||||
|
||||
'sendmail' => [
|
||||
'transport' => 'sendmail',
|
||||
'path' => '/usr/sbin/sendmail -bs',
|
||||
],
|
||||
|
||||
'log' => [
|
||||
'transport' => 'log',
|
||||
'channel' => env('MAIL_LOG_CHANNEL'),
|
||||
],
|
||||
|
||||
'array' => [
|
||||
'transport' => 'array',
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| 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'),
|
||||
],
|
||||
],
|
||||
|
||||
];
|
||||
89
config/queue.php
Executable file
89
config/queue.php
Executable file
@@ -0,0 +1,89 @@
|
||||
<?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_DRIVER', 'sync'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Queue Connections
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may configure the connection information for each server that
|
||||
| is used by your application. A default configuration has been added
|
||||
| for each back-end shipped with Laravel. You are free to add more.
|
||||
|
|
||||
| Drivers: "sync", "database", "beanstalkd", "sqs", "redis", "null"
|
||||
|
|
||||
*/
|
||||
|
||||
'connections' => [
|
||||
|
||||
'sync' => [
|
||||
'driver' => 'sync',
|
||||
],
|
||||
|
||||
'database' => [
|
||||
'driver' => 'database',
|
||||
'table' => 'jobs',
|
||||
'queue' => 'default',
|
||||
'retry_after' => 90,
|
||||
],
|
||||
|
||||
'beanstalkd' => [
|
||||
'driver' => 'beanstalkd',
|
||||
'host' => 'localhost',
|
||||
'queue' => 'default',
|
||||
'retry_after' => 90,
|
||||
'block_for' => 0,
|
||||
],
|
||||
|
||||
'sqs' => [
|
||||
'driver' => 'sqs',
|
||||
'key' => env('SQS_QUEUE_KEY'),
|
||||
'secret' => env('SQS_QUEUE_SECRET'),
|
||||
'prefix' => env('SQS_QUEUE_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'),
|
||||
'queue' => env('SQS_QUEUE_NAME', 'your-queue-name'),
|
||||
'suffix' => env('SQS_QUEUE_SUFFIX'),
|
||||
'region' => env('SQS_QUEUE_REGION', 'us-east-1'),
|
||||
],
|
||||
|
||||
'redis' => [
|
||||
'driver' => 'redis',
|
||||
'connection' => 'default',
|
||||
'queue' => env('REDIS_QUEUE', 'default'),
|
||||
'retry_after' => 90,
|
||||
'block_for' => null,
|
||||
],
|
||||
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Failed Queue Jobs
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| These options configure the behavior of failed queue job logging so you
|
||||
| can control which database and table are used to store the jobs that
|
||||
| have failed. You may change them to any database / table you wish.
|
||||
|
|
||||
*/
|
||||
|
||||
'failed' => [
|
||||
'driver' => env('QUEUE_FAILED_DRIVER', 'database'),
|
||||
'database' => env('DB_CONNECTION', 'mysql'),
|
||||
'table' => 'failed_jobs',
|
||||
],
|
||||
|
||||
];
|
||||
51
config/sanctum.php
Executable file
51
config/sanctum.php
Executable file
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
|
||||
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',
|
||||
env('APP_URL') ? ','.parse_url(env('APP_URL'), PHP_URL_HOST) : ''
|
||||
))),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Expiration Minutes
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This value controls the number of minutes until an issued token will be
|
||||
| considered expired. If this value is null, personal access tokens do
|
||||
| not expire. This won't tweak the lifetime of first-party sessions.
|
||||
|
|
||||
*/
|
||||
|
||||
'expiration' => null,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| 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' => [
|
||||
'verify_csrf_token' => App\Http\Middleware\VerifyCsrfToken::class,
|
||||
'encrypt_cookies' => App\Http\Middleware\EncryptCookies::class,
|
||||
],
|
||||
|
||||
];
|
||||
148
config/scout.php
Executable file
148
config/scout.php
Executable file
@@ -0,0 +1,148 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default Search Engine
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This option controls the default search connection that gets used while
|
||||
| using Laravel Scout. This connection is used when syncing all models
|
||||
| to the search service. You should adjust this based on your needs.
|
||||
|
|
||||
| Supported: "algolia", "meilisearch", "collection", "null"
|
||||
|
|
||||
*/
|
||||
|
||||
'driver' => env('SCOUT_DRIVER', 'mysql'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Index Prefix
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may specify a prefix that will be applied to all search index
|
||||
| names used by Scout. This prefix may be useful if you have multiple
|
||||
| "tenants" or applications sharing the same search infrastructure.
|
||||
|
|
||||
*/
|
||||
|
||||
'prefix' => env('SCOUT_PREFIX', ''),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Queue Data Syncing
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This option allows you to control if the operations that sync your data
|
||||
| with your search engines are queued. When this is set to "true" then
|
||||
| all automatic data syncing will get queued for better performance.
|
||||
|
|
||||
*/
|
||||
|
||||
'queue' => env('SCOUT_QUEUE', false),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Database Transactions
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This configuration option determines if your data will only be synced
|
||||
| with your search indexes after every open database transaction has
|
||||
| been committed, thus preventing any discarded data from syncing.
|
||||
|
|
||||
*/
|
||||
|
||||
'after_commit' => false,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Chunk Sizes
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| These options allow you to control the maximum chunk size when you are
|
||||
| mass importing data into the search engine. This allows you to fine
|
||||
| tune each of these chunk sizes based on the power of the servers.
|
||||
|
|
||||
*/
|
||||
|
||||
'chunk' => [
|
||||
'searchable' => 500,
|
||||
'unsearchable' => 500,
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Soft Deletes
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This option allows to control whether to keep soft deleted records in
|
||||
| the search indexes. Maintaining soft deleted records can be useful
|
||||
| if your application still needs to search for the records later.
|
||||
|
|
||||
*/
|
||||
|
||||
'soft_delete' => false,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Identify User
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This option allows you to control whether to notify the search engine
|
||||
| of the user performing the search. This is sometimes useful if the
|
||||
| engine supports any analytics based on this application's users.
|
||||
|
|
||||
| Supported engines: "algolia"
|
||||
|
|
||||
*/
|
||||
|
||||
'identify' => env('SCOUT_IDENTIFY', false),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Algolia Configuration
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may configure your Algolia settings. Algolia is a cloud hosted
|
||||
| search engine which works great with Scout out of the box. Just plug
|
||||
| in your application ID and admin API key to get started searching.
|
||||
|
|
||||
*/
|
||||
|
||||
'algolia' => [
|
||||
'id' => env('ALGOLIA_APP_ID', ''),
|
||||
'secret' => env('ALGOLIA_SECRET', ''),
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| MeiliSearch Configuration
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may configure your MeiliSearch settings. MeiliSearch is an open
|
||||
| source search engine with minimal configuration. Below, you can state
|
||||
| the host and key information for your own MeiliSearch installation.
|
||||
|
|
||||
| See: https://docs.meilisearch.com/guides/advanced_guides/configuration.html
|
||||
|
|
||||
*/
|
||||
|
||||
'meilisearch' => [
|
||||
'host' => env('MEILISEARCH_HOST', 'http://localhost:7700'),
|
||||
'key' => env('MEILISEARCH_KEY', null),
|
||||
],
|
||||
|
||||
'tntsearch' => [
|
||||
'storage' => storage_path('tntsearch'),
|
||||
'fuzziness' => env('TNTSEARCH_FUZZINESS', true),
|
||||
'fuzzy' => [
|
||||
'prefix_length' => 2,
|
||||
'max_expansions' => 50,
|
||||
'distance' => 2,
|
||||
],
|
||||
'asYouType' => false,
|
||||
'searchBoolean' => env('TNTSEARCH_BOOLEAN', false),
|
||||
'maxDocs' => env('TNTSEARCH_MAX_DOCS', 500),
|
||||
],
|
||||
];
|
||||
17
config/search/meilisearch.php
Executable file
17
config/search/meilisearch.php
Executable file
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
use App\Models\Title;
|
||||
|
||||
return [
|
||||
Title::class => [
|
||||
'stopWords' => ['the', 'a', 'an'],
|
||||
'rankingRules' => [
|
||||
'popularity:desc',
|
||||
'typo',
|
||||
'words',
|
||||
'proximity',
|
||||
'attribute',
|
||||
'exactness',
|
||||
],
|
||||
],
|
||||
];
|
||||
6
config/searchable_models.php
Executable file
6
config/searchable_models.php
Executable file
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
|
||||
use App\Models\Person;
|
||||
use App\Models\Title;
|
||||
|
||||
return [Title::class, Person::class];
|
||||
96
config/sentry.php
Executable file
96
config/sentry.php
Executable file
@@ -0,0 +1,96 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'dsn' => env('SENTRY_LARAVEL_DSN', env('SENTRY_DSN')),
|
||||
|
||||
// The release version of your application
|
||||
// Example with dynamic git hash: trim(exec('git --git-dir ' . base_path('.git') . ' log --pretty="%h" -n1 HEAD'))
|
||||
'release' =>
|
||||
function_exists('exec') && is_dir(__DIR__ . '/../.git')
|
||||
? trim(
|
||||
exec(
|
||||
'git --git-dir ' .
|
||||
base_path('.git') .
|
||||
' log --pretty="%h" -n1 HEAD',
|
||||
),
|
||||
)
|
||||
: env('APP_VERSION'),
|
||||
|
||||
// When left empty or `null` the Laravel environment will be used
|
||||
'environment' => env('SENTRY_ENVIRONMENT'),
|
||||
|
||||
'breadcrumbs' => [
|
||||
// Capture Laravel logs in breadcrumbs
|
||||
'logs' => true,
|
||||
|
||||
// Capture Laravel cache events in breadcrumbs
|
||||
'cache' => true,
|
||||
|
||||
// Capture Livewire components in breadcrumbs
|
||||
'livewire' => true,
|
||||
|
||||
// Capture SQL queries in breadcrumbs
|
||||
'sql_queries' => true,
|
||||
|
||||
// Capture bindings on SQL queries logged in breadcrumbs
|
||||
'sql_bindings' => true,
|
||||
|
||||
// Capture queue job information in breadcrumbs
|
||||
'queue_info' => true,
|
||||
|
||||
// Capture command information in breadcrumbs
|
||||
'command_info' => true,
|
||||
|
||||
// Capture HTTP client requests information in breadcrumbs
|
||||
'http_client_requests' => true,
|
||||
],
|
||||
|
||||
'tracing' => [
|
||||
// Trace queue jobs as their own transactions
|
||||
'queue_job_transactions' => env('SENTRY_TRACE_QUEUE_ENABLED', false),
|
||||
|
||||
// Capture queue jobs as spans when executed on the sync driver
|
||||
'queue_jobs' => true,
|
||||
|
||||
// Capture SQL queries as spans
|
||||
'sql_queries' => true,
|
||||
|
||||
// Try to find out where the SQL query originated from and add it to the query spans
|
||||
'sql_origin' => true,
|
||||
|
||||
// Capture views as spans
|
||||
'views' => true,
|
||||
|
||||
// Capture Livewire components as spans
|
||||
'livewire' => true,
|
||||
|
||||
// Capture HTTP client requests as spans
|
||||
'http_client_requests' => true,
|
||||
|
||||
// Capture Redis operations as spans (this enables Redis events in Laravel)
|
||||
'redis_commands' => env('SENTRY_TRACE_REDIS_COMMANDS', false),
|
||||
|
||||
// Try to find out where the Redis command originated from and add it to the command spans
|
||||
'redis_origin' => true,
|
||||
|
||||
// Indicates if the tracing integrations supplied by Sentry should be loaded
|
||||
'default_integrations' => true,
|
||||
|
||||
// Indicates that requests without a matching route should be traced
|
||||
'missing_routes' => false,
|
||||
],
|
||||
|
||||
// @see: https://docs.sentry.io/platforms/php/guides/laravel/configuration/options/#send-default-pii
|
||||
'send_default_pii' => env('SENTRY_SEND_DEFAULT_PII', false),
|
||||
|
||||
// @see: https://docs.sentry.io/platforms/php/guides/laravel/configuration/options/#traces-sample-rate
|
||||
'traces_sample_rate' =>
|
||||
env('SENTRY_TRACES_SAMPLE_RATE') === null
|
||||
? null
|
||||
: (float) env('SENTRY_TRACES_SAMPLE_RATE'),
|
||||
|
||||
'profiles_sample_rate' =>
|
||||
env('SENTRY_PROFILES_SAMPLE_RATE') === null
|
||||
? null
|
||||
: (float) env('SENTRY_PROFILES_SAMPLE_RATE'),
|
||||
];
|
||||
40
config/services.php
Executable file
40
config/services.php
Executable file
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Third Party Services
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This file is for storing the credentials for third party services such
|
||||
| as Stripe, Mailgun, SparkPost and others. This file provides a sane
|
||||
| default location for this type of information, allowing packages
|
||||
| to have a conventional place to find your various credentials.
|
||||
|
|
||||
*/
|
||||
|
||||
'mailgun' => [
|
||||
'domain' => env('MAILGUN_DOMAIN'),
|
||||
'secret' => env('MAILGUN_SECRET'),
|
||||
'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'),
|
||||
],
|
||||
|
||||
'postmark' => [
|
||||
'token' => env('POSTMARK_TOKEN'),
|
||||
],
|
||||
|
||||
'ses' => [
|
||||
'key' => env('SES_KEY'),
|
||||
'secret' => env('SES_SECRET'),
|
||||
'region' => env('SES_REGION', 'us-east-1'),
|
||||
],
|
||||
|
||||
'sparkpost' => [
|
||||
'secret' => env('SPARKPOST_SECRET'),
|
||||
],
|
||||
|
||||
'tmdb' => [
|
||||
'key' => env('TMDB_API_KEY')
|
||||
],
|
||||
];
|
||||
199
config/session.php
Executable file
199
config/session.php
Executable file
@@ -0,0 +1,199 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
return [
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default Session Driver
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This option controls the default session "driver" that will be used on
|
||||
| requests. By default, we will use the lightweight native driver but
|
||||
| you may specify any of the other wonderful drivers provided here.
|
||||
|
|
||||
| Supported: "file", "cookie", "database", "apc",
|
||||
| "memcached", "redis", "dynamodb", "array"
|
||||
|
|
||||
*/
|
||||
|
||||
'driver' => env('SESSION_DRIVER', 'file'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Session Lifetime
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may specify the number of minutes that you wish the session
|
||||
| to be allowed to remain idle before it expires. If you want them
|
||||
| to immediately expire on the browser closing, set that option.
|
||||
|
|
||||
*/
|
||||
|
||||
'lifetime' => env('SESSION_LIFETIME', 120),
|
||||
|
||||
'expire_on_close' => false,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Session Encryption
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This option allows you to easily specify that all of your session data
|
||||
| should be encrypted before it is stored. All encryption will be run
|
||||
| automatically by Laravel and you can use the Session like normal.
|
||||
|
|
||||
*/
|
||||
|
||||
'encrypt' => false,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Session File Location
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| When using the native session driver, we need a location where session
|
||||
| files may be stored. A default has been set for you but a different
|
||||
| location may be specified. This is only needed for file sessions.
|
||||
|
|
||||
*/
|
||||
|
||||
'files' => storage_path('framework/sessions'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Session Database Connection
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| When using the "database" or "redis" session drivers, you may specify a
|
||||
| connection that should be used to manage these sessions. This should
|
||||
| correspond to a connection in your database configuration options.
|
||||
|
|
||||
*/
|
||||
|
||||
'connection' => env('SESSION_CONNECTION', null),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Session Database Table
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| When using the "database" session driver, you may specify the table we
|
||||
| should use to manage the sessions. Of course, a sensible default is
|
||||
| provided for you; however, you are free to change this as needed.
|
||||
|
|
||||
*/
|
||||
|
||||
'table' => 'sessions',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Session Cache Store
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| 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', null),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Session Sweeping Lottery
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Some session drivers must manually sweep their storage location to get
|
||||
| rid of old sessions from storage. Here are the chances that it will
|
||||
| happen on a given request. By default, the odds are 2 out of 100.
|
||||
|
|
||||
*/
|
||||
|
||||
'lottery' => [2, 100],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Session Cookie Name
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may change the name of the cookie used to identify a session
|
||||
| instance by ID. The name specified here will get used every time a
|
||||
| new session cookie is created by the framework for every driver.
|
||||
|
|
||||
*/
|
||||
|
||||
'cookie' => env(
|
||||
'SESSION_COOKIE',
|
||||
Str::slug(env('APP_NAME', 'laravel'), '_') . '_session',
|
||||
),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Session Cookie Path
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The session cookie path determines the path for which the cookie will
|
||||
| be regarded as available. Typically, this will be the root path of
|
||||
| your application but you are free to change this when necessary.
|
||||
|
|
||||
*/
|
||||
|
||||
'path' => env('SESSION_PATH', '/'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Session Cookie Domain
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may change the domain of the cookie used to identify a session
|
||||
| in your application. This will determine which domains the cookie is
|
||||
| available to in your application. A sensible default has been set.
|
||||
|
|
||||
*/
|
||||
|
||||
'domain' => env('SESSION_DOMAIN', null),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| HTTPS Only Cookies
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| By setting this option to true, session cookies will only be sent back
|
||||
| to the server if the browser has a HTTPS connection. This will keep
|
||||
| the cookie from being sent to you if it can not be done securely.
|
||||
|
|
||||
*/
|
||||
|
||||
'secure' => env('SESSION_SECURE_COOKIE', null),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| 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' => env('SESSION_SAME_SITE', 'lax'),
|
||||
];
|
||||
33
config/tinker.php
Executable file
33
config/tinker.php
Executable file
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Console Commands
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This option allows you to add additional Artisan commands that should
|
||||
| be available within the Tinker environment. Once the command is in
|
||||
| this array you may execute the command in Tinker using its name.
|
||||
|
|
||||
*/
|
||||
|
||||
'commands' => [
|
||||
// App\Console\Commands\ExampleCommand::class,
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Alias Blacklist
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Typically, Tinker automatically aliases classes as you require them in
|
||||
| Tinker. However, you may wish to never alias certain classes, which
|
||||
| you may accomplish by listing the classes in the following array.
|
||||
|
|
||||
*/
|
||||
|
||||
'dont_alias' => [],
|
||||
|
||||
];
|
||||
5
config/trustedproxy.php
Executable file
5
config/trustedproxy.php
Executable file
@@ -0,0 +1,5 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'proxies' => env('TRUSTED_PROXIES', '*'),
|
||||
];
|
||||
36
config/view.php
Executable file
36
config/view.php
Executable 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