2020-06-05 13:54:40 +00:00
|
|
|
<?php
|
|
|
|
|
2021-06-08 09:52:11 +00:00
|
|
|
declare(strict_types=1);
|
|
|
|
|
2020-06-05 13:54:40 +00:00
|
|
|
namespace Config;
|
2020-05-27 18:46:16 +02:00
|
|
|
|
|
|
|
use CodeIgniter\Config\BaseConfig;
|
|
|
|
|
|
|
|
class App extends BaseConfig
|
|
|
|
{
|
2021-04-02 17:20:02 +00:00
|
|
|
/**
|
|
|
|
* --------------------------------------------------------------------------
|
|
|
|
* Base Site URL
|
|
|
|
* --------------------------------------------------------------------------
|
|
|
|
*
|
2023-07-06 15:56:05 +00:00
|
|
|
* URL to your CodeIgniter root. Typically, this will be your base URL,
|
2021-04-02 17:20:02 +00:00
|
|
|
* WITH a trailing slash:
|
|
|
|
*
|
2024-03-01 11:32:26 +00:00
|
|
|
* E.g., http://example.com/
|
2021-04-02 17:20:02 +00:00
|
|
|
*/
|
2021-05-18 17:16:36 +00:00
|
|
|
public string $baseURL = 'http://localhost:8080/';
|
2021-04-02 17:20:02 +00:00
|
|
|
|
2023-07-06 15:56:05 +00:00
|
|
|
/**
|
|
|
|
* Allowed Hostnames in the Site URL other than the hostname in the baseURL.
|
|
|
|
* If you want to accept multiple Hostnames, set this.
|
|
|
|
*
|
2024-03-01 11:32:26 +00:00
|
|
|
* E.g.,
|
|
|
|
* When your site URL ($baseURL) is 'http://example.com/', and your site
|
|
|
|
* also accepts 'http://media.example.com/' and 'http://accounts.example.com/':
|
|
|
|
* ['media.example.com', 'accounts.example.com']
|
2023-07-06 15:56:05 +00:00
|
|
|
*
|
2024-01-01 22:54:59 +00:00
|
|
|
* @var list<string>
|
2023-07-06 15:56:05 +00:00
|
|
|
*/
|
|
|
|
public array $allowedHostnames = [];
|
|
|
|
|
2021-04-02 17:20:02 +00:00
|
|
|
/**
|
|
|
|
* --------------------------------------------------------------------------
|
|
|
|
* Index File
|
|
|
|
* --------------------------------------------------------------------------
|
|
|
|
*
|
2024-03-01 11:32:26 +00:00
|
|
|
* Typically, this will be your `index.php` file, unless you've renamed it to
|
|
|
|
* something else. If you have configured your web server to remove this file
|
|
|
|
* from your site URIs, set this variable to an empty string.
|
2021-04-02 17:20:02 +00:00
|
|
|
*/
|
2021-05-18 17:16:36 +00:00
|
|
|
public string $indexPage = '';
|
2020-05-27 18:46:16 +02:00
|
|
|
|
2021-04-02 17:20:02 +00:00
|
|
|
/**
|
|
|
|
* --------------------------------------------------------------------------
|
|
|
|
* URI PROTOCOL
|
|
|
|
* --------------------------------------------------------------------------
|
|
|
|
*
|
2022-08-20 10:08:15 +00:00
|
|
|
* This item determines which server global should be used to retrieve the
|
2024-03-01 11:32:26 +00:00
|
|
|
* URI string. The default setting of 'REQUEST_URI' works for most servers.
|
2021-04-02 17:20:02 +00:00
|
|
|
* If your links do not seem to work, try one of the other delicious flavors:
|
|
|
|
*
|
2024-03-01 11:32:26 +00:00
|
|
|
* 'REQUEST_URI': Uses $_SERVER['REQUEST_URI']
|
|
|
|
* 'QUERY_STRING': Uses $_SERVER['QUERY_STRING']
|
|
|
|
* 'PATH_INFO': Uses $_SERVER['PATH_INFO']
|
2021-04-02 17:20:02 +00:00
|
|
|
*
|
|
|
|
* WARNING: If you set this to 'PATH_INFO', URIs will always be URL-decoded!
|
|
|
|
*/
|
2021-05-18 17:16:36 +00:00
|
|
|
public string $uriProtocol = 'REQUEST_URI';
|
2020-05-27 18:46:16 +02:00
|
|
|
|
2021-04-02 17:20:02 +00:00
|
|
|
/**
|
|
|
|
* --------------------------------------------------------------------------
|
|
|
|
* Default Locale
|
|
|
|
* --------------------------------------------------------------------------
|
|
|
|
*
|
|
|
|
* The Locale roughly represents the language and location that your visitor
|
|
|
|
* is viewing the site from. It affects the language strings and other
|
|
|
|
* strings (like currency markers, numbers, etc), that your program
|
|
|
|
* should run under for this request.
|
|
|
|
*/
|
2021-05-18 17:16:36 +00:00
|
|
|
public string $defaultLocale = 'en';
|
2020-05-27 18:46:16 +02:00
|
|
|
|
2021-04-02 17:20:02 +00:00
|
|
|
/**
|
|
|
|
* --------------------------------------------------------------------------
|
|
|
|
* Negotiate Locale
|
|
|
|
* --------------------------------------------------------------------------
|
|
|
|
*
|
|
|
|
* If true, the current Request object will automatically determine the
|
|
|
|
* language to use based on the value of the Accept-Language header.
|
|
|
|
*
|
|
|
|
* If false, no automatic detection will be performed.
|
|
|
|
*/
|
2021-05-18 17:16:36 +00:00
|
|
|
public bool $negotiateLocale = true;
|
2020-05-27 18:46:16 +02:00
|
|
|
|
2021-04-02 17:20:02 +00:00
|
|
|
/**
|
|
|
|
* --------------------------------------------------------------------------
|
|
|
|
* Supported Locales
|
|
|
|
* --------------------------------------------------------------------------
|
|
|
|
*
|
|
|
|
* If $negotiateLocale is true, this array lists the locales supported
|
|
|
|
* by the application in descending order of priority. If no match is
|
|
|
|
* found, the first locale will be used.
|
|
|
|
*
|
2023-07-06 15:56:05 +00:00
|
|
|
* IncomingRequest::setLocale() also uses this list.
|
|
|
|
*
|
2024-03-01 11:32:26 +00:00
|
|
|
* @var list<string>
|
2021-04-02 17:20:02 +00:00
|
|
|
*/
|
2024-03-08 15:45:20 +00:00
|
|
|
public array $supportedLocales = [
|
|
|
|
'en',
|
|
|
|
'fr',
|
|
|
|
'pl',
|
|
|
|
'de',
|
|
|
|
'pt-BR',
|
|
|
|
'nn-NO',
|
|
|
|
'es',
|
|
|
|
'zh-Hans',
|
|
|
|
'ca',
|
|
|
|
'br',
|
|
|
|
'sr-Latn',
|
|
|
|
];
|
2020-05-27 18:46:16 +02:00
|
|
|
|
2021-04-02 17:20:02 +00:00
|
|
|
/**
|
|
|
|
* --------------------------------------------------------------------------
|
|
|
|
* Application Timezone
|
|
|
|
* --------------------------------------------------------------------------
|
|
|
|
*
|
|
|
|
* The default timezone that will be used in your application to display
|
|
|
|
* dates with the date helper, and can be retrieved through app_timezone()
|
2023-07-06 15:56:05 +00:00
|
|
|
*
|
2024-03-01 11:32:26 +00:00
|
|
|
* @see https://www.php.net/manual/en/timezones.php for list of timezones
|
|
|
|
* supported by PHP.
|
2021-04-02 17:20:02 +00:00
|
|
|
*/
|
2021-05-18 17:16:36 +00:00
|
|
|
public string $appTimezone = 'UTC';
|
2020-05-27 18:46:16 +02:00
|
|
|
|
2021-04-02 17:20:02 +00:00
|
|
|
/**
|
|
|
|
* --------------------------------------------------------------------------
|
|
|
|
* Default Character Set
|
|
|
|
* --------------------------------------------------------------------------
|
|
|
|
*
|
|
|
|
* This determines which character set is used by default in various methods
|
|
|
|
* that require a character set to be provided.
|
|
|
|
*
|
|
|
|
* @see http://php.net/htmlspecialchars for a list of supported charsets.
|
|
|
|
*/
|
2021-05-18 17:16:36 +00:00
|
|
|
public string $charset = 'UTF-8';
|
2020-05-27 18:46:16 +02:00
|
|
|
|
2021-04-02 17:20:02 +00:00
|
|
|
/**
|
|
|
|
* --------------------------------------------------------------------------
|
|
|
|
* URI PROTOCOL
|
|
|
|
* --------------------------------------------------------------------------
|
|
|
|
*
|
|
|
|
* If true, this will force every request made to this application to be
|
|
|
|
* made via a secure connection (HTTPS). If the incoming request is not
|
|
|
|
* secure, the user will be redirected to a secure version of the page
|
2024-03-01 11:32:26 +00:00
|
|
|
* and the HTTP Strict Transport Security (HSTS) header will be set.
|
2021-04-02 17:20:02 +00:00
|
|
|
*/
|
2021-05-18 17:16:36 +00:00
|
|
|
public bool $forceGlobalSecureRequests = true;
|
2020-05-27 18:46:16 +02:00
|
|
|
|
2021-04-02 17:20:02 +00:00
|
|
|
/**
|
|
|
|
* --------------------------------------------------------------------------
|
|
|
|
* Reverse Proxy IPs
|
|
|
|
* --------------------------------------------------------------------------
|
|
|
|
*
|
|
|
|
* If your server is behind a reverse proxy, you must whitelist the proxy
|
|
|
|
* IP addresses from which CodeIgniter should trust headers such as
|
2023-07-04 16:09:14 +00:00
|
|
|
* X-Forwarded-For or Client-IP in order to properly identify
|
2021-04-02 17:20:02 +00:00
|
|
|
* the visitor's IP address.
|
|
|
|
*
|
2023-07-04 16:09:14 +00:00
|
|
|
* You need to set a proxy IP address or IP address with subnets and
|
|
|
|
* the HTTP header for the client IP address.
|
2021-04-02 17:20:02 +00:00
|
|
|
*
|
2023-07-04 16:09:14 +00:00
|
|
|
* Here are some examples:
|
|
|
|
* [
|
|
|
|
* '10.0.1.200' => 'X-Forwarded-For',
|
|
|
|
* '192.168.5.0/24' => 'X-Real-IP',
|
|
|
|
* ]
|
2021-04-02 17:20:02 +00:00
|
|
|
*
|
2023-07-04 16:09:14 +00:00
|
|
|
* @var array<string, string>
|
2021-04-02 17:20:02 +00:00
|
|
|
*/
|
2023-07-04 16:09:14 +00:00
|
|
|
public array $proxyIPs = [];
|
2020-05-27 18:46:16 +02:00
|
|
|
|
2021-04-02 17:20:02 +00:00
|
|
|
/**
|
|
|
|
* --------------------------------------------------------------------------
|
|
|
|
* Content Security Policy
|
|
|
|
* --------------------------------------------------------------------------
|
|
|
|
*
|
|
|
|
* Enables the Response's Content Secure Policy to restrict the sources that
|
|
|
|
* can be used for images, scripts, CSS files, audio, video, etc. If enabled,
|
|
|
|
* the Response object will populate default values for the policy from the
|
|
|
|
* `ContentSecurityPolicy.php` file. Controllers can always add to those
|
|
|
|
* restrictions at run time.
|
|
|
|
*
|
|
|
|
* For a better understanding of CSP, see these documents:
|
|
|
|
*
|
|
|
|
* @see http://www.html5rocks.com/en/tutorials/security/content-security-policy/
|
|
|
|
* @see http://www.w3.org/TR/CSP/
|
|
|
|
*/
|
2021-05-18 17:16:36 +00:00
|
|
|
public bool $CSPEnabled = false;
|
2020-06-12 19:31:10 +00:00
|
|
|
|
2021-10-26 15:54:56 +00:00
|
|
|
/**
|
|
|
|
* --------------------------------------------------------------------------
|
|
|
|
* Instance / Site Config
|
|
|
|
* --------------------------------------------------------------------------
|
|
|
|
*/
|
|
|
|
public string $siteName = 'Castopod';
|
|
|
|
|
2021-11-12 16:31:35 +00:00
|
|
|
public string $siteTitleSeparator = ' | ';
|
|
|
|
|
2022-02-19 16:06:11 +00:00
|
|
|
public string $siteDescription = 'Castopod is an open-source hosting platform made for podcasters who want engage and interact with their audience.';
|
2021-10-26 15:54:56 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @var array<int|string, string>
|
|
|
|
*/
|
|
|
|
public array $siteIcon = [
|
|
|
|
'ico' => '/favicon.ico',
|
2023-06-12 14:47:38 +00:00
|
|
|
'64' => '/icon-64.png',
|
2021-10-26 15:54:56 +00:00
|
|
|
'180' => '/icon-180.png',
|
|
|
|
'192' => '/icon-192.png',
|
|
|
|
'512' => '/icon-512.png',
|
|
|
|
];
|
2021-11-08 16:52:20 +00:00
|
|
|
|
2021-12-02 16:45:41 +00:00
|
|
|
public string $theme = 'pine';
|
2022-07-06 15:29:15 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Storage limit in Gigabytes
|
|
|
|
*/
|
|
|
|
public ?int $storageLimit = null;
|
2022-07-07 10:08:04 +00:00
|
|
|
|
2022-12-28 16:57:14 +00:00
|
|
|
/**
|
|
|
|
* Bandwidth limit (per month) in Gigabytes
|
|
|
|
*/
|
|
|
|
public ?int $bandwidthLimit = null;
|
|
|
|
|
2022-07-07 10:08:04 +00:00
|
|
|
public ?string $legalNoticeURL = null;
|
2020-05-27 18:46:16 +02:00
|
|
|
}
|