feat: VivesPOS landing on Winter CMS 1.2 — theme + plugin + Dockerfile
Some checks are pending
Module sub-split / Sub-split (push) Waiting to run
Some checks are pending
Module sub-split / Sub-split (push) Waiting to run
- Base: wintercms/winter branch 1.2 (full framework) - Theme vivespos: Canvas 7 + Bootstrap 5 CDN, custom CSS - Layout: deferred GTM/GA4 tracking, JSON-LD SoftwareApplication - Partials: hero (offline-first), features, modes (offline/nube toggle), screenshots, pricing (3 planes), comparison, FAQ, CTA - Plugin VivesPOS.Site with ContactForm - Dockerfile: PHP 8.2 Apache, port 80, healthcheck - Added winter/wn-pages, blog, sitemap, seo plugins - Active theme set to vivespos
This commit is contained in:
322
config/app.php
Normal file
322
config/app.php
Normal file
@@ -0,0 +1,322 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| 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.
|
||||
|
|
||||
| You can create a CMS page with route "/error" to set the contents
|
||||
| of this page. Otherwise a default error page is shown.
|
||||
|
|
||||
| IMPORTANT: Always have debug mode set to false in production environments
|
||||
| as it can reveal sensitive information about your application and
|
||||
| infrastructure to untrusted users through more detailed errors.
|
||||
|
|
||||
*/
|
||||
|
||||
'debug' => env('APP_DEBUG', true),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| 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', 'Winter CMS'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| 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
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This URL is used to properly generate URLs for assets, including
|
||||
| URLs generated by the `| theme` & `| asset` filters in Twig, or the
|
||||
| `Url::asset()` & `asset()` helpers. If set to null, the URL used will
|
||||
| be the current hostname or `app.url` config.
|
||||
|
|
||||
| 'asset_url' => 'https://cdn.example.com/',
|
||||
|
|
||||
*/
|
||||
|
||||
'asset_url' => env('ASSET_URL', null),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Temporary Path
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This is used to set the application's temporary path. Normally this value
|
||||
| is set automatically by the application, however on some systems you
|
||||
| may need to change it (Laravel Vapor / read-only systems: /tmp).
|
||||
|
|
||||
*/
|
||||
|
||||
'tempPath' => env('APP_TEMP_PATH', null),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Trusted hosts
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| You may specify valid hosts for your application as an array or boolean
|
||||
| below. This helps prevent host header poisoning attacks.
|
||||
|
|
||||
| Possible values:
|
||||
| - `true`: Trust the host specified in app.url, as well as the "www"
|
||||
| subdomain, if applicable.
|
||||
| - `false`: Disable the trusted hosts feature.
|
||||
| - array: Defines the domains to be trusted hosts. Each item should be
|
||||
| a string defining a domain, IP address, or a regex pattern.
|
||||
|
|
||||
| Example of array values:
|
||||
|
|
||||
| 'trustedHosts' => [
|
||||
| 'example.com', // Matches just example.com
|
||||
| 'www.example.com', // Matches just www.example.com
|
||||
| '^(.+\.)?example\.com$', // Matches example.com and all subdomains
|
||||
| 'https://example.com', // Matches just example.com
|
||||
| ],
|
||||
|
|
||||
| NOTE: Even when set to `false`, this functionality is explicitly enabled
|
||||
| on the Backend password reset flow for security reasons.
|
||||
*/
|
||||
|
||||
'trustedHosts' => false,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Trusted proxies
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| You may specify valid proxies for your application, in order for URLs
|
||||
| and requests to be presented as the proxy address should you request
|
||||
| a URL through the proxy.
|
||||
|
|
||||
| Possible values:
|
||||
| - `null` or `false`: Do not trust any proxies
|
||||
| - `'*'`: Trust all proxies
|
||||
| - string: A single or comma-separated list of proxies to trust
|
||||
| - array: An array of proxies to trust
|
||||
|
|
||||
| Examples:
|
||||
| - To trust any proxy (i.e. a single proxy with an unknown IP address):
|
||||
|
|
||||
| 'trustedProxies' => '*',
|
||||
|
|
||||
| - To trust all proxies (i.e. AWS ELB behind CloudFront):
|
||||
|
|
||||
| 'trustedProxies' => '**',
|
||||
|
|
||||
| - To trust two IP addresses as proxies
|
||||
|
|
||||
| 'trustedProxies' => '192.168.1.1, 192.168.1.2',
|
||||
| 'trustedProxies' => ['192.168.1.1', '192.168.1.2'],
|
||||
*/
|
||||
|
||||
'trustedProxies' => null,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Trusted proxy headers
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| In addition to the above, you can also determine which headers to trust
|
||||
| from your proxy when rewriting the request. This is an integer map value
|
||||
| so you may specify more than one value.
|
||||
|
|
||||
| Possible values:
|
||||
| - 'HEADER_X_FORWARDED_ALL' - trust all forwarded headers
|
||||
| - Illuminate\Http\Request::HEADER_X_FORWARDED_FOR - trust only the proxy IP
|
||||
| - Illuminate\Http\Request::HEADER_X_FORWARDED_HOST - trust only the proxy hostname
|
||||
| - Illuminate\Http\Request::HEADER_X_FORWARDED_PORT - trust only the proxy port
|
||||
| - Illuminate\Http\Request::HEADER_X_FORWARDED_PROTO - trust only the proxy protocol
|
||||
| - Illuminate\Http\Request::HEADER_X_FORWARDED_PREFIX - trust only the proxy prefix
|
||||
| - Illuminate\Http\Request::HEADER_X_FORWARDED_AWS_ELB - trust Amazon Elastic Load Balancing headers
|
||||
| - Illuminate\Http\Request::HEADER_X_FORWARDED_TRAEFIK - trust Traefik reverse proxy headers
|
||||
|
|
||||
| Examples:
|
||||
| - To trust only the hostname, use the following:
|
||||
|
|
||||
| 'trustedProxyHeaders' => Illuminate\Http\Request::HEADER_X_FORWARDED_HOST
|
||||
|
|
||||
| - For trusting all except the protocol, you can use the following:
|
||||
|
|
||||
| 'trustedProxyHeaders' => Illuminate\Http\Request::HEADER_X_FORWARDED_FOR
|
||||
| | Illuminate\Http\Request::HEADER_X_FORWARDED_HOST
|
||||
| | Illuminate\Http\Request::HEADER_X_FORWARDED_PORT
|
||||
|
|
||||
| - Amazon ELB users should always use the "HEADER_X_FORWARDED_AWS_ELB" option.
|
||||
*/
|
||||
|
||||
'trustedProxyHeaders' => 'HEADER_X_FORWARDED_ALL',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| 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.
|
||||
|
|
||||
|
|
||||
| -------- STOP! --------
|
||||
| Before you change this value, consider carefully if that is actually
|
||||
| what you want to do. It is HIGHLY recommended that this is always set
|
||||
| to UTC (as your server & DB timezone should be as well) and instead you
|
||||
| use cms.backendTimezone to set the default timezone used in the backend
|
||||
| to display dates & times.
|
||||
|
|
||||
*/
|
||||
|
||||
'timezone' => 'UTC',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Scheduler Timezone
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This property specifies the default timezone for your application's
|
||||
| scheduled tasks. You can set it independently of the application's
|
||||
| default timezone to ensure that schedules run at the desired local time.
|
||||
|
|
||||
*/
|
||||
|
||||
'schedule_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.
|
||||
|
|
||||
| WARNING: Avoid setting this to a locale that is not supported by the
|
||||
| backend yet, as this can cause issues in the backend.
|
||||
|
|
||||
| Currently supported backend locales are listed in
|
||||
| Backend\Models\Preference->getLocaleOptions()
|
||||
|
|
||||
*/
|
||||
|
||||
'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' => array_merge(include(base_path('modules/system/providers.php')), [
|
||||
|
||||
// 'Illuminate\Html\HtmlServiceProvider', // Example
|
||||
|
||||
System\ServiceProvider::class,
|
||||
]),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Load automatically discovered packages
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| By default, Winter CMS disables the loading of discovered packages
|
||||
| through Laravel's package discovery service, in order to allow packages
|
||||
| used by plugins to be disabled if the plugin itself is disabled.
|
||||
|
|
||||
| Set this to `true` to enable automatic loading of these packages. This
|
||||
| will result in packages being loaded, even if the plugin using them is
|
||||
| disabled. This is NOT RECOMMENDED.
|
||||
|
|
||||
| Please note that packages defined in `app.providers` will still be loaded
|
||||
| even if discovery is disabled.
|
||||
|
|
||||
*/
|
||||
|
||||
'loadDiscoveredPackages' => false,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| 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' => array_merge(include(base_path('modules/system/aliases.php')), [
|
||||
// 'Str' => 'Illuminate\Support\Str', // Example
|
||||
]),
|
||||
];
|
||||
41
config/auth.php
Normal file
41
config/auth.php
Normal file
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'throttle' => [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Enable throttling of Backend authentication attempts
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| If set to true, users will be given a limited number of attempts to sign
|
||||
| in to the Backend before being blocked for a specified number of minutes.
|
||||
|
|
||||
*/
|
||||
|
||||
'enabled' => true,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Failed Authentication Attempt Limit
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Number of failed attempts allowed while trying to authenticate a user.
|
||||
|
|
||||
*/
|
||||
|
||||
'attemptLimit' => 5,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Suspension Time
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The number of minutes to suspend further attempts on authentication once
|
||||
| the attempt limit is reached.
|
||||
|
|
||||
*/
|
||||
|
||||
'suspensionTime' => 15,
|
||||
],
|
||||
];
|
||||
60
config/broadcasting.php
Normal file
60
config/broadcasting.php
Normal file
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default Broadcaster
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This option controls the default broadcaster that will be used by the
|
||||
| framework when an event needs to be broadcast. You may set this to
|
||||
| any of the connections defined in the "connections" array below.
|
||||
|
|
||||
| Supported: "pusher", "ably", "redis", "log", "null"
|
||||
|
|
||||
*/
|
||||
|
||||
'default' => env('BROADCAST_DRIVER', 'null'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Broadcast Connections
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may define all of the broadcast connections that will be used
|
||||
| to broadcast events to other systems or over websockets. Samples of
|
||||
| each available type of connection are provided inside this array.
|
||||
|
|
||||
*/
|
||||
|
||||
'connections' => [
|
||||
'pusher' => [
|
||||
'app_id' => env('PUSHER_APP_ID'),
|
||||
'client_options' => [
|
||||
// Guzzle client options: https://docs.guzzlephp.org/en/stable/request-options.html
|
||||
],
|
||||
'driver' => 'pusher',
|
||||
'key' => env('PUSHER_APP_KEY'),
|
||||
'options' => [
|
||||
'cluster' => env('PUSHER_APP_CLUSTER'),
|
||||
'useTLS' => true,
|
||||
],
|
||||
'secret' => env('PUSHER_APP_SECRET'),
|
||||
],
|
||||
'ably' => [
|
||||
'driver' => 'ably',
|
||||
'key' => env('ABLY_KEY'),
|
||||
],
|
||||
'redis' => [
|
||||
'connection' => 'default',
|
||||
'driver' => 'redis',
|
||||
],
|
||||
'log' => [
|
||||
'driver' => 'log',
|
||||
],
|
||||
'null' => [
|
||||
'driver' => 'null',
|
||||
],
|
||||
],
|
||||
];
|
||||
139
config/cache.php
Normal file
139
config/cache.php
Normal file
@@ -0,0 +1,139 @@
|
||||
<?php
|
||||
|
||||
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.
|
||||
|
|
||||
| WARNING! Do not use anything that is used for other information in your
|
||||
| application. Example: If you are using redis for managing queues and / or
|
||||
| sessions, you should NOT be using the EXACT SAME redis connection for the
|
||||
| Cache store, as calling Cache::flush() will flush the entire redis store.
|
||||
|
|
||||
*/
|
||||
|
||||
'default' => env('CACHE_DRIVER', 'file'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Cache Stores
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may define all of the cache "stores" for your application as
|
||||
| well as their drivers. You may even define multiple stores for the
|
||||
| same cache driver to group types of items stored in your caches.
|
||||
|
|
||||
| Supported drivers: "apc", "array", "database", "file",
|
||||
| "memcached", "redis", "dynamodb", "octane", "null"
|
||||
|
|
||||
*/
|
||||
|
||||
'stores' => [
|
||||
'apc' => [
|
||||
'driver' => 'apc',
|
||||
],
|
||||
'array' => [
|
||||
'driver' => 'array',
|
||||
'serialize' => false,
|
||||
],
|
||||
'database' => [
|
||||
'connection' => null,
|
||||
'driver' => 'database',
|
||||
'lock_connection' => null,
|
||||
'table' => 'cache',
|
||||
],
|
||||
'file' => [
|
||||
'driver' => 'file',
|
||||
'path' => storage_path('framework/cache'),
|
||||
],
|
||||
'memcached' => [
|
||||
'driver' => 'memcached',
|
||||
'options' => [
|
||||
// Memcached::OPT_CONNECT_TIMEOUT => 2000,
|
||||
],
|
||||
'persistent_id' => env('MEMCACHED_PERSISTENT_ID'),
|
||||
'sasl' => [
|
||||
env('MEMCACHED_USERNAME'),
|
||||
env('MEMCACHED_PASSWORD'),
|
||||
],
|
||||
'servers' => [
|
||||
[
|
||||
'host' => env('MEMCACHED_HOST', '127.0.0.1'),
|
||||
'port' => env('MEMCACHED_PORT', 11211),
|
||||
'weight' => 100,
|
||||
],
|
||||
],
|
||||
],
|
||||
'redis' => [
|
||||
'connection' => 'cache',
|
||||
'driver' => 'redis',
|
||||
'lock_connection' => 'default',
|
||||
],
|
||||
'dynamodb' => [
|
||||
'driver' => 'dynamodb',
|
||||
'endpoint' => env('DYNAMODB_ENDPOINT'),
|
||||
'key' => env('AWS_ACCESS_KEY_ID'),
|
||||
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
|
||||
'secret' => env('AWS_SECRET_ACCESS_KEY'),
|
||||
'table' => env('DYNAMODB_CACHE_TABLE', 'cache'),
|
||||
],
|
||||
'octane' => [
|
||||
'driver' => 'octane',
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| 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', 'winter'), '_') . '_cache'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Cache Key for the CMS' PHP code parser cache
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This option controls the cache key used by the CMS when storing generated
|
||||
| PHP from the theme PHP sections. Recommended to change this when multiple
|
||||
| servers running Winter CMS are connected to the same cache server to
|
||||
| prevent conflicts.
|
||||
|
|
||||
*/
|
||||
|
||||
'codeParserDataCacheKey' => 'cms-php-file-data',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Disable Request Cache
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The request cache stores cache retrievals from the cache store
|
||||
| in memory to speed up consecutive retrievals within the same request.
|
||||
|
|
||||
| true - always disable this in-memory request cache
|
||||
|
|
||||
| false - always enable; be aware that long-running console commands
|
||||
| (including queue workers) may retain cache entries in memory that
|
||||
| have been changed in other processes or would have otherwise
|
||||
| expired, causing issues with the `queue:restart` command, for
|
||||
| example
|
||||
|
|
||||
| null - enable for HTTP requests, disable when running in CLI
|
||||
|
|
||||
*/
|
||||
|
||||
'disableRequestCache' => null,
|
||||
];
|
||||
476
config/cms.php
Normal file
476
config/cms.php
Normal file
@@ -0,0 +1,476 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Specifies the default CMS theme.
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This parameter value can be overridden by the CMS back-end settings.
|
||||
|
|
||||
*/
|
||||
|
||||
'activeTheme' => 'vivespos',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Bleeding edge updates
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| If you are developing with Winter, it is important to have the latest
|
||||
| code base. Set this value to 'true' to tell the platform to download
|
||||
| and use the development copies of core files and plugins.
|
||||
|
|
||||
*/
|
||||
|
||||
'edgeUpdates' => false,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Back-end URI prefix
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Specifies the URL name used for accessing back-end pages.
|
||||
| For example: backend -> http://localhost/backend
|
||||
|
|
||||
*/
|
||||
|
||||
'backendUri' => 'backend',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Back-end force HTTPS security
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Use this setting to force a secure protocol when accessing any back-end
|
||||
| pages, including the authentication pages. This is usually handled by
|
||||
| web server config, but can be handled by the app for added security.
|
||||
|
|
||||
*/
|
||||
|
||||
'backendForceSecure' => false,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Back-end login remember
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Define live duration of backend sessions:
|
||||
|
|
||||
| true - session never expire (cookie expiration in 5 years)
|
||||
|
|
||||
| false - session have a limited time (see session.lifetime)
|
||||
|
|
||||
| null - The form login display a checkbox that allow user to choose
|
||||
| wanted behavior
|
||||
|
|
||||
*/
|
||||
|
||||
'backendForceRemember' => true,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Back-end timezone
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This acts as the default setting for a back-end user's timezone. This can
|
||||
| be changed by the user at any time using the backend preferences. All
|
||||
| dates displayed in the back-end will be converted to this timezone.
|
||||
|
|
||||
*/
|
||||
|
||||
'backendTimezone' => 'UTC',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Back-end Skin
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Specifies the back-end skin to use.
|
||||
|
|
||||
*/
|
||||
|
||||
'backendSkin' => \Backend\Skins\Standard::class,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Automatically run migrations on login
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| If value is true, UpdateManager will be run on logging in to the backend.
|
||||
| It's recommended to set this value to 'null' in production enviroments
|
||||
| because it clears the cache every time a user logs in to the backend.
|
||||
| If set to null, this setting is enabled when debug mode (app.debug) is enabled
|
||||
| and disabled when debug mode is disabled.
|
||||
|
|
||||
*/
|
||||
|
||||
'runMigrationsOnLogin' => null,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Determines which modules to load
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Specify which modules should be registered when using the application.
|
||||
|
|
||||
*/
|
||||
|
||||
'loadModules' => [
|
||||
'System',
|
||||
'Backend',
|
||||
'Cms',
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Prevents application updates
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| If using composer or git to download updates to the core files, set this
|
||||
| value to 'true' to prevent the update gateway from trying to download
|
||||
| these files again as part of the application update process. Plugins
|
||||
| and themes will still be downloaded.
|
||||
|
|
||||
*/
|
||||
|
||||
'disableCoreUpdates' => false,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Specific plugins to disable
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Specify plugin codes which will always be disabled in the application.
|
||||
|
|
||||
*/
|
||||
|
||||
'disablePlugins' => [],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Determines if the routing caching is enabled.
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| If the caching is enabled, the page URL map is saved in the cache. If a page
|
||||
| URL was changed on the disk, the old URL value could be still saved in the cache.
|
||||
| To update the cache the back-end Clear Cache feature should be used. It is recommended
|
||||
| to disable the caching during the development, and enable it in the production mode.
|
||||
|
|
||||
*/
|
||||
|
||||
'enableRoutesCache' => env('ROUTES_CACHE', false),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Time to live for the URL map.
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The URL map used in the CMS page routing process. By default
|
||||
| the map is updated every time when a page is saved in the back-end or when the
|
||||
| interval, in minutes, specified with the urlMapCacheTTL parameter expires.
|
||||
|
|
||||
*/
|
||||
|
||||
'urlCacheTtl' => 10,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Time to live for parsed CMS objects.
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Specifies the number of minutes the CMS object cache lives. After the interval
|
||||
| is expired item are re-cached. Note that items are re-cached automatically when
|
||||
| the corresponding template file is modified.
|
||||
|
|
||||
*/
|
||||
|
||||
'parsedPageCacheTTL' => 10,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Determines if the asset caching is enabled.
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| If the caching is enabled, combined assets are cached. If a asset file
|
||||
| is changed on the disk, the old file contents could be still saved in the cache.
|
||||
| To update the cache the back-end Clear Cache feature should be used. It is recommended
|
||||
| to disable the caching during the development, and enable it in the production mode.
|
||||
|
|
||||
*/
|
||||
|
||||
'enableAssetCache' => env('ASSET_CACHE', false),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Determines if the asset minification is enabled.
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| If the minification is enabled, combined assets are compressed (minified).
|
||||
| It is recommended to disable the minification during development, and
|
||||
| enable it in production mode. If set to null, assets are minified
|
||||
| when debug mode (app.debug) is disabled.
|
||||
|
|
||||
*/
|
||||
|
||||
'enableAssetMinify' => null,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Check import timestamps when combining assets
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| If deep hashing is enabled, the combiner cache will be reset when a change
|
||||
| is detected on imported files, in addition to those referenced directly.
|
||||
| This will cause slower page performance. If set to null, deep hashing
|
||||
| is used when debug mode (app.debug) is enabled.
|
||||
|
|
||||
*/
|
||||
|
||||
'enableAssetDeepHashing' => null,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Database-driven Themes
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Stores theme templates in the database instead of the filesystem.
|
||||
|
|
||||
| false - All theme templates are sourced from the filesystem.
|
||||
|
|
||||
| true - Source theme templates from the database with fallback to the filesytem.
|
||||
|
|
||||
| null - Setting equal to the inverse of app.debug: debug enabled, this disabled.
|
||||
|
|
||||
| The database layer stores all modified CMS files in the database. Files that are
|
||||
| not modified continue to be loaded from the filesystem. The `theme:sync $themeDir`
|
||||
| console command is available to populate the database from the filesystem with
|
||||
| the `--toFile` flag to sync in the other direction (database to filesystem) and
|
||||
| the `--paths="/path/to/file.md,/path/to/file2.md" flag to sync only specific files.
|
||||
|
|
||||
| Files modified in the database are cached to indicate that they should be loaded
|
||||
| from the database.
|
||||
|
|
||||
*/
|
||||
|
||||
'databaseTemplates' => env('DATABASE_TEMPLATES', false),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Public plugins path
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Specifies the public plugins path relative to the application base URL,
|
||||
| or you can specify a full URL path.
|
||||
|
|
||||
*/
|
||||
|
||||
'pluginsPath' => '/plugins',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Public themes path
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Specifies the public themes path relative to the application base URL,
|
||||
| or you can specify a full URL path.
|
||||
|
|
||||
*/
|
||||
|
||||
'themesPath' => '/themes',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Resource storage
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Specifies the configuration for resource storage, such as media and
|
||||
| upload files. These resources are used:
|
||||
|
|
||||
| media - generated by the media manager.
|
||||
| uploads - generated by attachment model relationships.
|
||||
| resized - generated by System\Classes\ImageResizer or the resize() Twig filter
|
||||
|
|
||||
| For each resource you can specify:
|
||||
|
|
||||
| disk - filesystem disk, as specified in filesystems.php config.
|
||||
| folder - a folder prefix for storing all generated files inside.
|
||||
| path - the public path relative to the application base URL,
|
||||
| or you can specify a full URL path.
|
||||
|
|
||||
| Optionally, you can specify how long temporary URLs to protected files
|
||||
| in cloud storage (ex. AWS, RackSpace) are valid for by setting
|
||||
| temporaryUrlTTL to a value in seconds to define a validity period. This
|
||||
| is only used for the 'uploads' config when using a supported cloud disk
|
||||
|
|
||||
| NOTE: If you have installed Winter in a subfolder, are using local
|
||||
| storage and are not using a linkPolicy of 'force' you should include
|
||||
| the path to the subfolder in the `path` option for these storage
|
||||
| configurations.
|
||||
|
|
||||
| Example: Winter is installed under https://localhost/projects/winter.
|
||||
| You should then specify `/projects/winter/storage/app/uploads` as the
|
||||
| path for the uploads disk and `/projects/winter/storage/app/media` as
|
||||
| the path for the media disk.
|
||||
*/
|
||||
|
||||
'storage' => [
|
||||
'uploads' => [
|
||||
'disk' => 'local',
|
||||
'folder' => 'uploads',
|
||||
'path' => '/storage/app/uploads',
|
||||
'temporaryUrlTTL' => 3600,
|
||||
],
|
||||
'media' => [
|
||||
'disk' => 'local',
|
||||
'folder' => 'media',
|
||||
'path' => '/storage/app/media',
|
||||
],
|
||||
'resized' => [
|
||||
'disk' => 'local',
|
||||
'folder' => 'resized',
|
||||
'path' => '/storage/app/resized',
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Convert Line Endings
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Determines if Winter should convert line endings from the windows style
|
||||
| \r\n to the unix style \n.
|
||||
|
|
||||
*/
|
||||
|
||||
'convertLineEndings' => false,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Linking policy
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Controls how URL links are generated throughout the application.
|
||||
|
|
||||
| detect - detect hostname and use the current schema
|
||||
| secure - detect hostname and force HTTPS schema
|
||||
| insecure - detect hostname and force HTTP schema
|
||||
| force - force hostname and schema using app.url config value
|
||||
|
|
||||
| NOTE: force will ensure that the app.url value is used as the host for
|
||||
| urls generated through the URL helpers which might have unintended
|
||||
| consequences for projects that support multiple hostnames.
|
||||
|
|
||||
*/
|
||||
|
||||
'linkPolicy' => env('LINK_POLICY', 'detect'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default permission mask
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Specifies a default file and folder permission for newly created objects.
|
||||
|
|
||||
*/
|
||||
|
||||
'defaultMask' => [
|
||||
'file' => null,
|
||||
'folder' => null,
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Safe mode
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| If safe mode is enabled, the PHP code section is disabled in the CMS
|
||||
| for security reasons. If set to null, safe mode is enabled when
|
||||
| debug mode (app.debug) is disabled.
|
||||
|
|
||||
*/
|
||||
|
||||
'enableSafeMode' => null,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Cross Site Request Forgery (CSRF) Protection
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| If the CSRF protection is enabled, all "postback" & AJAX requests are
|
||||
| checked for a valid security token.
|
||||
|
|
||||
*/
|
||||
|
||||
'enableCsrfProtection' => env('ENABLE_CSRF', true),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Force bytecode invalidation
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| When using OPcache with opcache.validate_timestamps set to 0 or APC
|
||||
| with apc.stat set to 0 and Twig cache enabled, clearing the template
|
||||
| cache won't update the cache, set to true to get around this.
|
||||
|
|
||||
*/
|
||||
|
||||
'forceBytecodeInvalidation' => true,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Twig Strict Variables
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| If strict_variables is disabled, Twig will silently ignore invalid
|
||||
| variables (variables and or attributes/methods that do not exist) and
|
||||
| replace them with a null value. When enabled, Twig throws an exception
|
||||
| instead. If set to null, it is enabled when debug mode (app.debug) is
|
||||
| enabled.
|
||||
|
|
||||
*/
|
||||
|
||||
'enableTwigStrictVariables' => false,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Base Directory Restriction
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Restricts loading backend template and config files to within the base
|
||||
| directory of the application.
|
||||
|
|
||||
| WARNING: This should always be enabled for security reasons. However, in
|
||||
| some cases you may need to disable this; for instance when developing
|
||||
| plugins that are stored elsewhere in the filesystem for organizational
|
||||
| reasons and then symlinked into the application plugins/ directory.
|
||||
|
|
||||
| NEVER have this disabled in production.
|
||||
|
|
||||
*/
|
||||
|
||||
'restrictBaseDir' => env('RESTRICT_BASE_DIR', true),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Backend Service Worker
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Allow plugins to run Service Workers in the backend.
|
||||
|
|
||||
| WARNING: This should always be disabled for security reasons as Service
|
||||
| Workers can be hijacked and used to run XSS into the backend. Turning
|
||||
| this feature on can create a conflict if you have a frontend Service
|
||||
| Worker running. The 'scope' needs to be correctly set and not have a
|
||||
| duplicate subfolder structure on the frontend, otherwise it will run
|
||||
| on both the frontend and backend of your website.
|
||||
|
|
||||
| true - allow service workers to run in the backend
|
||||
|
|
||||
| false - disallow service workers to run in the backend
|
||||
|
|
||||
*/
|
||||
|
||||
'enableBackendServiceWorkers' => false,
|
||||
];
|
||||
20
config/cookie.php
Normal file
20
config/cookie.php
Normal file
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Cookies that should not be encrypted
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Winter CMS encrypts/decrypts cookies by default. You can specify cookies
|
||||
| that should not be encrypted or decrypted here. This is useful, for
|
||||
| example, when you want to pass data from frontend to server side backend
|
||||
| via cookies, and vice versa.
|
||||
|
|
||||
*/
|
||||
|
||||
'unencryptedCookies' => [
|
||||
// 'my_cookie',
|
||||
],
|
||||
];
|
||||
34
config/cors.php
Normal file
34
config/cors.php
Normal file
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Cross-Origin Resource Sharing (CORS) Configuration
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may configure your settings for cross-origin resource sharing
|
||||
| or "CORS". This determines what cross-origin operations may execute
|
||||
| in web browsers. You are free to adjust these settings as needed.
|
||||
|
|
||||
| To learn more: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
|
||||
|
|
||||
*/
|
||||
|
||||
'paths' => [],
|
||||
|
||||
'allowed_methods' => ['*'],
|
||||
|
||||
'allowed_origins' => ['*'],
|
||||
|
||||
'allowed_origins_patterns' => [],
|
||||
|
||||
'allowed_headers' => ['*'],
|
||||
|
||||
'exposed_headers' => [],
|
||||
|
||||
'max_age' => 0,
|
||||
|
||||
'supports_credentials' => false,
|
||||
|
||||
];
|
||||
133
config/database.php
Normal file
133
config/database.php
Normal file
@@ -0,0 +1,133 @@
|
||||
<?php
|
||||
|
||||
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 Winter CMS is shown below to make development simple.
|
||||
|
|
||||
| All database work in Winter CMS 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' => [
|
||||
'database' => env('DB_DATABASE', storage_path('database.sqlite')),
|
||||
'driver' => 'sqlite',
|
||||
'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
|
||||
'prefix' => '',
|
||||
'url' => env('DATABASE_URL'),
|
||||
],
|
||||
'mysql' => [
|
||||
'charset' => 'utf8mb4',
|
||||
'collation' => 'utf8mb4_unicode_ci',
|
||||
'database' => env('DB_DATABASE', 'winter'),
|
||||
'driver' => 'mysql',
|
||||
'engine' => 'InnoDB',
|
||||
'host' => env('DB_HOST', '127.0.0.1'),
|
||||
'options' => extension_loaded('pdo_mysql') ? array_filter([
|
||||
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
|
||||
]) : [],
|
||||
'password' => env('DB_PASSWORD', ''),
|
||||
'port' => env('DB_PORT', '3306'),
|
||||
'prefix' => '',
|
||||
'prefix_indexes' => true,
|
||||
'strict' => true,
|
||||
'unix_socket' => env('DB_SOCKET', ''),
|
||||
'url' => env('DATABASE_URL'),
|
||||
'username' => env('DB_USERNAME', 'winter'),
|
||||
],
|
||||
'pgsql' => [
|
||||
'charset' => 'utf8',
|
||||
'database' => env('DB_DATABASE', 'winter'),
|
||||
'driver' => 'pgsql',
|
||||
'host' => env('DB_HOST', '127.0.0.1'),
|
||||
'password' => env('DB_PASSWORD', ''),
|
||||
'port' => env('DB_PORT', '5432'),
|
||||
'prefix' => '',
|
||||
'prefix_indexes' => true,
|
||||
'search_path' => 'public',
|
||||
'sslmode' => 'prefer',
|
||||
'url' => env('DATABASE_URL'),
|
||||
'username' => env('DB_USERNAME', 'winter'),
|
||||
],
|
||||
'sqlsrv' => [
|
||||
'charset' => 'utf8',
|
||||
'database' => env('DB_DATABASE', 'winter'),
|
||||
'driver' => 'sqlsrv',
|
||||
'host' => env('DB_HOST', '127.0.0.1'),
|
||||
'password' => env('DB_PASSWORD', ''),
|
||||
'port' => env('DB_PORT', '1433'),
|
||||
'prefix' => '',
|
||||
'prefix_indexes' => true,
|
||||
'url' => env('DATABASE_URL'),
|
||||
'username' => env('DB_USERNAME', 'winter'),
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| 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. Winter 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', 'winter'), '_') . '_database_'),
|
||||
],
|
||||
'default' => [
|
||||
'database' => env('REDIS_DB', '0'),
|
||||
'host' => env('REDIS_HOST', '127.0.0.1'),
|
||||
'password' => env('REDIS_PASSWORD'),
|
||||
'port' => env('REDIS_PORT', '6379'),
|
||||
'url' => env('REDIS_URL'),
|
||||
],
|
||||
'cache' => [
|
||||
'database' => env('REDIS_CACHE_DB', '1'),
|
||||
'host' => env('REDIS_HOST', '127.0.0.1'),
|
||||
'password' => env('REDIS_PASSWORD'),
|
||||
'port' => env('REDIS_PORT', '6379'),
|
||||
'url' => env('REDIS_URL'),
|
||||
],
|
||||
],
|
||||
];
|
||||
2
config/dev/.gitignore
vendored
Normal file
2
config/dev/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
*
|
||||
!.gitignore
|
||||
58
config/develop.php
Normal file
58
config/develop.php
Normal file
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Decompile backend assets
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Enabling this will load all individual backend asset files, instead of
|
||||
| loading the compiled asset files generated by `winter:util compile
|
||||
| assets`. This is useful only for development purposes, and should not be
|
||||
| enabled in production. Please note that enabling this will make the
|
||||
| Backend load a LOT of individual asset files.
|
||||
|
|
||||
| true - allow decompiled backend assets
|
||||
|
|
||||
| false - use compiled backend assets (default)
|
||||
|
|
||||
*/
|
||||
|
||||
'decompileBackendAssets' => false,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Allow deep-level symlinks
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Winter CMS, by default, will allow symlinks within the first level of
|
||||
| subdirectories. When this feature is enabled, the system will allow
|
||||
| symlinks to be used at any directory level. This can be useful for
|
||||
| symlinking individual plugins or themes.
|
||||
|
|
||||
| Please note that this has a negative effect on performance. This feature
|
||||
| abides by "cms.restrictBaseDir" - if enabled, symlinks cannot point to
|
||||
| resources outside of the root folder.
|
||||
|
|
||||
| true - allow symlinks at any level
|
||||
|
|
||||
| false - only allow symlinks at the first level of subdirectories (default)
|
||||
|
|
||||
*/
|
||||
|
||||
'allowDeepSymlinks' => false,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Enable Snowboard debugging
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| By default, Snowboard debugging and client-side logging is disabled.
|
||||
|
|
||||
| If you wish to enable Snowboard debugging, set this value to `true`.
|
||||
|
|
||||
*/
|
||||
|
||||
'debugSnowboard' => env('DEBUG_SNOWBOARD', false),
|
||||
];
|
||||
32
config/environment.php
Normal file
32
config/environment.php
Normal file
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default Application Environment
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This value determines the "environment" your application is currently
|
||||
| running in. This may determine how you prefer to configure various
|
||||
| services your application utilizes. Set this in your ".env" file.
|
||||
|
|
||||
*/
|
||||
|
||||
'default' => 'development',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Environment Multitenancy
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| You may specify a different environment according to the hostname that
|
||||
| is provided with the HTTP request. This is useful if you want to use
|
||||
| different configuration, such as database and theme, per hostname.
|
||||
|
|
||||
*/
|
||||
|
||||
'hosts' => [
|
||||
'localhost' => 'dev',
|
||||
],
|
||||
];
|
||||
53
config/filesystems.php
Normal file
53
config/filesystems.php
Normal file
@@ -0,0 +1,53 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default Filesystem Disk
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may specify the default filesystem disk that should be used
|
||||
| by the framework. The "local" disk, as well as a variety of cloud
|
||||
| based disks are available to your application. Just store away!
|
||||
|
|
||||
*/
|
||||
|
||||
'default' => env('FILESYSTEM_DISK', 'local'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Filesystem Disks
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may configure as many filesystem "disks" as you wish, and you
|
||||
| may even configure multiple disks of the same driver. Defaults have
|
||||
| been setup for each driver as an example of the required options.
|
||||
|
|
||||
| Supported Drivers: "local", "ftp", "sftp", "s3"
|
||||
|
|
||||
| NOTE: s3's stream_uploads option requires the Winter.DriverAWS plugin
|
||||
| to be installed and enabled.
|
||||
|
|
||||
*/
|
||||
|
||||
'disks' => [
|
||||
'local' => [
|
||||
'driver' => 'local',
|
||||
'root' => storage_path('app'),
|
||||
'url' => '/storage/app',
|
||||
'visibility' => 'public',
|
||||
],
|
||||
's3' => [
|
||||
'bucket' => env('AWS_BUCKET'),
|
||||
'driver' => 's3',
|
||||
'endpoint' => env('AWS_ENDPOINT'),
|
||||
'key' => env('AWS_ACCESS_KEY_ID'),
|
||||
'region' => env('AWS_DEFAULT_REGION'),
|
||||
'secret' => env('AWS_SECRET_ACCESS_KEY'),
|
||||
'stream_uploads' => env('AWS_S3_STREAM_UPLOADS', false),
|
||||
'url' => env('AWS_URL'),
|
||||
'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false),
|
||||
],
|
||||
],
|
||||
];
|
||||
51
config/hashing.php
Normal file
51
config/hashing.php
Normal file
@@ -0,0 +1,51 @@
|
||||
<?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' => 65536,
|
||||
'threads' => 1,
|
||||
'time' => 4,
|
||||
],
|
||||
];
|
||||
107
config/logging.php
Normal file
107
config/logging.php
Normal file
@@ -0,0 +1,107 @@
|
||||
<?php
|
||||
|
||||
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' => env('LOG_DEPRECATIONS_CHANNEL', 'null'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Log Channels
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may configure the log channels for your application. Out of
|
||||
| the box, Winter 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' => [
|
||||
'channels' => [
|
||||
'single',
|
||||
],
|
||||
'driver' => 'stack',
|
||||
'ignore_exceptions' => false,
|
||||
],
|
||||
'single' => [
|
||||
'driver' => 'single',
|
||||
'level' => env('LOG_LEVEL', 'debug'),
|
||||
'path' => storage_path('logs/system.log'),
|
||||
],
|
||||
'daily' => [
|
||||
'days' => 14,
|
||||
'driver' => 'daily',
|
||||
'level' => env('LOG_LEVEL', 'debug'),
|
||||
'path' => storage_path('logs/system.log'),
|
||||
],
|
||||
'slack' => [
|
||||
'driver' => 'slack',
|
||||
'emoji' => ':boom:',
|
||||
'level' => env('LOG_LEVEL', 'critical'),
|
||||
'url' => env('LOG_SLACK_WEBHOOK_URL'),
|
||||
'username' => 'Winter Log',
|
||||
],
|
||||
'papertrail' => [
|
||||
'driver' => 'monolog',
|
||||
'handler' => env('LOG_PAPERTRAIL_HANDLER', \Monolog\Handler\SyslogUdpHandler::class),
|
||||
'handler_with' => [
|
||||
'connectionString' => 'tls://' . env('PAPERTRAIL_URL') . ':' . env('PAPERTRAIL_PORT'),
|
||||
'host' => env('PAPERTRAIL_URL'),
|
||||
'port' => env('PAPERTRAIL_PORT'),
|
||||
],
|
||||
'level' => env('LOG_LEVEL', 'debug'),
|
||||
],
|
||||
'stderr' => [
|
||||
'driver' => 'monolog',
|
||||
'formatter' => env('LOG_STDERR_FORMATTER'),
|
||||
'handler' => \Monolog\Handler\StreamHandler::class,
|
||||
'level' => env('LOG_LEVEL', 'debug'),
|
||||
'with' => [
|
||||
'stream' => 'php://stderr',
|
||||
],
|
||||
],
|
||||
'syslog' => [
|
||||
'driver' => 'syslog',
|
||||
'level' => env('LOG_LEVEL', 'debug'),
|
||||
],
|
||||
'errorlog' => [
|
||||
'driver' => 'errorlog',
|
||||
'level' => env('LOG_LEVEL', 'debug'),
|
||||
],
|
||||
'null' => [
|
||||
'driver' => 'monolog',
|
||||
'handler' => \Monolog\Handler\NullHandler::class,
|
||||
],
|
||||
'emergency' => [
|
||||
'path' => storage_path('logs/system.log'),
|
||||
],
|
||||
],
|
||||
];
|
||||
92
config/mail.php
Normal file
92
config/mail.php
Normal file
@@ -0,0 +1,92 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default Mailer
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This option controls the default mailer that is used to send any email
|
||||
| messages sent by your application. Alternative mailers may be setup
|
||||
| and used as needed; however, this mailer will be used by default.
|
||||
|
|
||||
*/
|
||||
|
||||
'default' => env('MAIL_MAILER', 'smtp'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Mailer Configurations
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may configure all of the mailers used by your application plus
|
||||
| their respective settings. Several examples have been configured for
|
||||
| you and you are free to add your own as your application requires.
|
||||
|
|
||||
| Winter 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", "failover"
|
||||
|
|
||||
*/
|
||||
|
||||
'mailers' => [
|
||||
'smtp' => [
|
||||
'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
|
||||
'password' => env('MAIL_PASSWORD'),
|
||||
'port' => env('MAIL_PORT', 587),
|
||||
'timeout' => null,
|
||||
'transport' => 'smtp',
|
||||
'username' => env('MAIL_USERNAME'),
|
||||
],
|
||||
'ses' => [
|
||||
'transport' => 'ses',
|
||||
],
|
||||
'mailgun' => [
|
||||
'transport' => 'mailgun',
|
||||
],
|
||||
'postmark' => [
|
||||
'transport' => 'postmark',
|
||||
],
|
||||
'mail' => [
|
||||
'transport' => 'mail',
|
||||
],
|
||||
'sendmail' => [
|
||||
'path' => env('MAIL_SENDMAIL_PATH', '/usr/sbin/sendmail -t -i'),
|
||||
'transport' => 'sendmail',
|
||||
],
|
||||
'log' => [
|
||||
'channel' => env('MAIL_LOG_CHANNEL'),
|
||||
'transport' => 'log',
|
||||
],
|
||||
'array' => [
|
||||
'transport' => 'array',
|
||||
],
|
||||
'failover' => [
|
||||
'mailers' => [
|
||||
'smtp',
|
||||
'log',
|
||||
],
|
||||
'transport' => 'failover',
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| 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', 'noreply@example.com'),
|
||||
'name' => env('MAIL_FROM_NAME', env('APP_NAME', 'Winter CMS')),
|
||||
],
|
||||
];
|
||||
102
config/queue.php
Normal file
102
config/queue.php
Normal file
@@ -0,0 +1,102 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default Queue Connection Name
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Winter's queue API supports an assortment of back-ends via a single
|
||||
| API, giving you convenient access to each back-end using the same
|
||||
| syntax for every one. Here you may define a default connection.
|
||||
|
|
||||
*/
|
||||
|
||||
'default' => env('QUEUE_CONNECTION', 'sync'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Queue Connections
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may configure the connection information for each server that
|
||||
| is used by your application. A default configuration has been added
|
||||
| for each back-end shipped with Winter. You are free to add more.
|
||||
|
|
||||
| Drivers: "sync", "database", "beanstalkd", "sqs", "redis", "null"
|
||||
|
|
||||
*/
|
||||
|
||||
'connections' => [
|
||||
'sync' => [
|
||||
'driver' => 'sync',
|
||||
],
|
||||
'database' => [
|
||||
'after_commit' => false,
|
||||
'driver' => 'database',
|
||||
'queue' => 'default',
|
||||
'retry_after' => 90,
|
||||
'table' => 'jobs',
|
||||
],
|
||||
'beanstalkd' => [
|
||||
'after_commit' => false,
|
||||
'block_for' => 0,
|
||||
'driver' => 'beanstalkd',
|
||||
'host' => 'localhost',
|
||||
'queue' => 'default',
|
||||
'retry_after' => 90,
|
||||
],
|
||||
'sqs' => [
|
||||
'after_commit' => false,
|
||||
'driver' => 'sqs',
|
||||
'key' => env('AWS_ACCESS_KEY_ID'),
|
||||
'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'),
|
||||
'queue' => env('SQS_QUEUE', 'default'),
|
||||
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
|
||||
'secret' => env('AWS_SECRET_ACCESS_KEY'),
|
||||
'suffix' => env('SQS_SUFFIX'),
|
||||
],
|
||||
'redis' => [
|
||||
'after_commit' => false,
|
||||
'block_for' => null,
|
||||
'connection' => 'default',
|
||||
'driver' => 'redis',
|
||||
'queue' => env('REDIS_QUEUE', 'default'),
|
||||
'retry_after' => 90,
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Job Batching
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following options configure the database and table that store job
|
||||
| batching information. These options can be updated to any database
|
||||
| connection and table which has been defined by your application.
|
||||
|
|
||||
*/
|
||||
|
||||
'batching' => [
|
||||
'database' => env('DB_CONNECTION', 'mysql'),
|
||||
'table' => 'job_batches',
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Failed Queue Jobs
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| These options configure the behavior of failed queue job logging so you
|
||||
| can control which database and table are used to store the jobs that
|
||||
| have failed. You may change them to any database / table you wish.
|
||||
|
|
||||
*/
|
||||
|
||||
'failed' => [
|
||||
'database' => env('DB_CONNECTION', 'mysql'),
|
||||
'driver' => env('QUEUE_FAILED_DRIVER', 'database-uuids'),
|
||||
'table' => 'failed_jobs',
|
||||
],
|
||||
];
|
||||
30
config/services.php
Normal file
30
config/services.php
Normal file
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Third Party Services
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This file is for storing the credentials for third party services such
|
||||
| as Mailgun, Postmark, AWS and more. This file provides the de facto
|
||||
| location for this type of information, allowing packages to have
|
||||
| a conventional file to locate the various service credentials.
|
||||
|
|
||||
*/
|
||||
|
||||
'mailgun' => [
|
||||
'domain' => env('MAILGUN_DOMAIN'),
|
||||
'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'),
|
||||
'secret' => env('MAILGUN_SECRET'),
|
||||
],
|
||||
'postmark' => [
|
||||
'token' => env('POSTMARK_TOKEN'),
|
||||
],
|
||||
'ses' => [
|
||||
'key' => env('AWS_ACCESS_KEY_ID'),
|
||||
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
|
||||
'secret' => env('AWS_SECRET_ACCESS_KEY'),
|
||||
],
|
||||
];
|
||||
216
config/session.php
Normal file
216
config/session.php
Normal file
@@ -0,0 +1,216 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default Session Driver
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This option controls the default session "driver" that will be used on
|
||||
| requests. By default, we will use the lightweight native driver but
|
||||
| you may specify any of the other wonderful drivers provided here.
|
||||
|
|
||||
| Supported: "file", "cookie", "database", "apc",
|
||||
| "memcached", "redis", "dynamodb", "array"
|
||||
|
|
||||
*/
|
||||
|
||||
'driver' => env('SESSION_DRIVER', 'file'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Session Lifetime
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may specify the number of minutes that you wish the session
|
||||
| to be allowed to remain idle before it expires. If you want them
|
||||
| to immediately expire on the browser closing, set that option.
|
||||
|
|
||||
*/
|
||||
|
||||
'lifetime' => env('SESSION_LIFETIME', 120),
|
||||
'expire_on_close' => false,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Session Encryption
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This option allows you to easily specify that all of your session data
|
||||
| should be encrypted before it is stored. All encryption will be run
|
||||
| automatically by Laravel and you can use the Session like normal.
|
||||
|
|
||||
*/
|
||||
|
||||
'encrypt' => false,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Session File Location
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| When using the native session driver, we need a location where session
|
||||
| files may be stored. A default has been set for you but a different
|
||||
| location may be specified. This is only needed for file sessions.
|
||||
|
|
||||
*/
|
||||
|
||||
'files' => storage_path('framework/sessions'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Session Database Connection
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| When using the "database" or "redis" session drivers, you may specify a
|
||||
| connection that should be used to manage these sessions. This should
|
||||
| correspond to a connection in your database configuration options.
|
||||
|
|
||||
*/
|
||||
|
||||
'connection' => env('SESSION_CONNECTION'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Session Database Table
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| When using the "database" session driver, you may specify the table we
|
||||
| should use to manage the sessions. Of course, a sensible default is
|
||||
| provided for you; however, you are free to change this as needed.
|
||||
|
|
||||
*/
|
||||
|
||||
'table' => 'sessions',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Session Cache Store
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| While using one of the framework's cache driven session backends you may
|
||||
| list a cache store that should be used for these sessions. This value
|
||||
| must match with one of the application's configured cache "stores".
|
||||
|
|
||||
| Affects: "apc", "dynamodb", "memcached", "redis"
|
||||
|
|
||||
*/
|
||||
|
||||
'store' => env('SESSION_STORE'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Session Sweeping Lottery
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Some session drivers must manually sweep their storage location to get
|
||||
| rid of old sessions from storage. Here are the chances that it will
|
||||
| happen on a given request. By default, the odds are 2 out of 100.
|
||||
|
|
||||
*/
|
||||
|
||||
'lottery' => [
|
||||
2,
|
||||
100,
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Session Cookie Name
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may change the name of the cookie used to identify a session
|
||||
| instance by ID. The name specified here will get used every time a
|
||||
| new session cookie is created by the framework for every driver.
|
||||
|
|
||||
*/
|
||||
|
||||
'cookie' => env('SESSION_COOKIE', str_slug(env('APP_NAME', 'winter'), '_') . '_session'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Session Cookie Path
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The session cookie path determines the path for which the cookie will
|
||||
| be regarded as available. Typically, this will be the root path of
|
||||
| your application but you are free to change this when necessary.
|
||||
|
|
||||
*/
|
||||
|
||||
'path' => '/',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Session Cookie Domain
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may change the domain of the cookie used to identify a session
|
||||
| in your application. This will determine which domains the cookie is
|
||||
| available to in your application. A sensible default has been set.
|
||||
|
|
||||
*/
|
||||
|
||||
'domain' => env('SESSION_DOMAIN'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| 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,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| HTTPS Only Cookies
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| By setting this option to true, session cookies will only be sent back
|
||||
| to the server if the browser has a HTTPS connection. This will keep
|
||||
| the cookie from being sent to you when it can't be done securely.
|
||||
|
|
||||
*/
|
||||
|
||||
'secure' => env('SESSION_SECURE_COOKIE', false),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| 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.
|
||||
|
|
||||
| Cookies that match the domain of the current site, i.e. what's displayed
|
||||
| in the browser's address bar, are referred to as first-party cookies.
|
||||
| Similarly, cookies from domains other than the current site are referred
|
||||
| to as third-party cookies.
|
||||
|
|
||||
| Cookies without a SameSite attribute will be treated as `SameSite=lax`,
|
||||
| meaning the default behaviour will be to restrict cookies to first party
|
||||
| contexts only.
|
||||
|
|
||||
| Cookies for cross-site usage must specify `same_site` as 'None' and `secure`
|
||||
| as `true` to work correctly.
|
||||
|
|
||||
| lax - Cookies are allowed to be sent with top-level navigations and will
|
||||
| be sent along with GET request initiated by third party website.
|
||||
| This is the default value in modern browsers.
|
||||
|
|
||||
| strict - Cookies will only be sent in a first-party context and not be
|
||||
| sent along with requests initiated by third party websites.
|
||||
|
|
||||
| Supported: "lax", "strict", "none", null
|
||||
|
|
||||
*/
|
||||
|
||||
'same_site' => 'lax',
|
||||
];
|
||||
182
config/testing/cms.php
Normal file
182
config/testing/cms.php
Normal file
@@ -0,0 +1,182 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Specifies the default CMS theme
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This parameter value can be overridden by the CMS back-end settings.
|
||||
|
|
||||
*/
|
||||
|
||||
'activeTheme' => 'test',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Time to live for parsed CMS objects.
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Specifies the number of minutes the CMS object cache lives. After the interval
|
||||
| is expired item are re-cached. Note that items are re-cached automatically when
|
||||
| the corresponding template file is modified.
|
||||
|
|
||||
*/
|
||||
|
||||
'parsedPageCacheTTL' => 1440,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Determines if the routing caching is enabled.
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| If the caching is enabled, the page URL map is saved in the cache. If a page
|
||||
| URL was changed on the disk, the old URL value could be still saved in the cache.
|
||||
| To update the cache the back-end Clear Cache feature should be used. It is recommended
|
||||
| to disable the caching during the development, and enable it in the production mode.
|
||||
|
|
||||
*/
|
||||
|
||||
'enableRoutesCache' => true,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Time to live for the URL map.
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The URL map used in the CMS page routing process. By default
|
||||
| the map is updated every time when a page is saved in the back-end or when the
|
||||
| interval, in minutes, specified with the urlMapCacheTTL parameter expires.
|
||||
|
|
||||
*/
|
||||
|
||||
'urlCacheTtl' => 1,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Determines if the asset caching is enabled.
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| If the caching is enabled, combined assets are cached. If a asset file
|
||||
| is changed on the disk, the old file contents could be still saved in the cache.
|
||||
| To update the cache the back-end Clear Cache feature should be used. It is recommended
|
||||
| to disable the caching during the development, and enable it in the production mode.
|
||||
|
|
||||
*/
|
||||
|
||||
'enableAssetCache' => false,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Disables Twig caching for unit tests
|
||||
|--------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
'twigNoCache' => true,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Convert Line Endings
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Determines if Winter should convert line endings from the windows style
|
||||
| \r\n to the unix style \n.
|
||||
|
|
||||
*/
|
||||
|
||||
'convertLineEndings' => true,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Local plugins path
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Specifies the absolute local plugins path.
|
||||
|
|
||||
*/
|
||||
|
||||
'pluginsPathLocal' => base_path('modules/system/tests/fixtures/plugins'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Local themes path
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Specifies the absolute local themes path.
|
||||
|
|
||||
*/
|
||||
|
||||
'themesPathLocal' => base_path('modules/cms/tests/fixtures/themes'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Resource storage
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Specifies the configuration for resource storage, such as media and
|
||||
| upload files. These resources are used:
|
||||
|
|
||||
| media - generated by the media manager.
|
||||
| uploads - generated by attachment model relationships.
|
||||
| resized - generated by System\Classes\ImageResizer or the resize() Twig filter
|
||||
|
|
||||
| For each resource you can specify:
|
||||
|
|
||||
| disk - filesystem disk, as specified in filesystems.php config.
|
||||
| folder - a folder prefix for storing all generated files inside.
|
||||
| path - the public path relative to the application base URL,
|
||||
| or you can specify a full URL path.
|
||||
|
|
||||
| Optionally, you can specify how long temporary URLs to protected files
|
||||
| in cloud storage (ex. AWS, RackSpace) are valid for by setting
|
||||
| temporaryUrlTTL to a value in seconds to define a validity period. This
|
||||
| is only used for the 'uploads' config when using a supported cloud disk
|
||||
|
|
||||
| NOTE: If you have installed Winter in a subfolder, are using local
|
||||
| storage and are not using a linkPolicy of 'force' you should include
|
||||
| the path to the subfolder in the `path` option for these storage
|
||||
| configurations.
|
||||
|
|
||||
| Example: Winter is installed under https://localhost/projects/winter.
|
||||
| You should then specify `/projects/winter/storage/app/uploads` as the
|
||||
| path for the uploads disk and `/projects/winter/storage/app/media` as
|
||||
| the path for the media disk.
|
||||
*/
|
||||
|
||||
'storage' => [
|
||||
|
||||
'uploads' => [
|
||||
'disk' => 'local',
|
||||
'folder' => 'uploads',
|
||||
'path' => '/storage/tests/app/uploads',
|
||||
'temporaryUrlTTL' => 3600,
|
||||
],
|
||||
|
||||
'media' => [
|
||||
'disk' => 'local',
|
||||
'folder' => 'media',
|
||||
'path' => '/storage/tests/app/media',
|
||||
],
|
||||
|
||||
'resized' => [
|
||||
'disk' => 'local',
|
||||
'folder' => 'resized',
|
||||
'path' => '/storage/tests/app/resized',
|
||||
],
|
||||
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Cross Site Request Forgery (CSRF) Protection
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| If the CSRF protection is enabled, all "postback" requests are checked
|
||||
| for a valid security token.
|
||||
|
|
||||
*/
|
||||
|
||||
'enableCsrfProtection' => false,
|
||||
|
||||
];
|
||||
64
config/testing/filesystems.php
Normal file
64
config/testing/filesystems.php
Normal file
@@ -0,0 +1,64 @@
|
||||
<?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' => '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' => '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' => base_path('storage/tests/app'),
|
||||
'url' => '/storage/tests/app',
|
||||
],
|
||||
|
||||
's3' => [
|
||||
'driver' => 's3',
|
||||
'key' => '',
|
||||
'secret' => '',
|
||||
'region' => '',
|
||||
'bucket' => '',
|
||||
// 'url' => env('AWS_URL'),
|
||||
// 'endpoint' => env('AWS_ENDPOINT'),
|
||||
],
|
||||
|
||||
],
|
||||
|
||||
];
|
||||
34
config/view.php
Normal file
34
config/view.php
Normal file
@@ -0,0 +1,34 @@
|
||||
<?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' => [
|
||||
// Default Laravel Blade template location
|
||||
// @see https://github.com/octobercms/october/issues/3473 & https://github.com/octobercms/october/issues/3459
|
||||
// realpath(base_path('resources/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