Config
in package
Table of Contents
Constants
- AUTH_AUTO_CREATE = "AUTH_AUTO_CREATE"
- auto create users authenticated via external modules
- AUTH_AUTO_LOGIN = "AUTH_AUTO_LOGIN"
- auto log in users authenticated via external modules i.e. auth_remote
- AUTH_MIN_INTERVAL = "AUTH_MIN_INTERVAL"
- minimum amount of seconds required between authentication attempts
- CACHE_DIR = "CACHE_DIR"
- base directory for local cache (must be writable)
- CACHE_MAX_DAYS = "CACHE_MAX_DAYS"
- max age in days for various automatically cached (temporary) files
- CHECK_FOR_PLUGIN_UPDATES = "CHECK_FOR_PLUGIN_UPDATES"
- enable plugin update checker (using git)
- CHECK_FOR_UPDATES = "CHECK_FOR_UPDATES"
- enable built-in update checker, both for core code and plugins (using git)
- DAEMON_FEED_LIMIT = "DAEMON_FEED_LIMIT"
- how many feeds to update in one batch
- DAEMON_MAX_CHILD_RUNTIME = "DAEMON_MAX_CHILD_RUNTIME"
- in seconds, terminate update tasks that ran longer than this interval
- DAEMON_MAX_JOBS = "DAEMON_MAX_JOBS"
- max concurrent update jobs forking update daemon starts
- DAEMON_SLEEP_INTERVAL = "DAEMON_SLEEP_INTERVAL"
- default sleep interval between feed updates (sec)
- DAEMON_UNSUCCESSFUL_DAYS_LIMIT = "DAEMON_UNSUCCESSFUL_DAYS_LIMIT"
- automatically disable updates for feeds which failed to update for this amount of days; 0 disables
- DAEMON_UPDATE_LOGIN_LIMIT = "DAEMON_UPDATE_LOGIN_LIMIT"
- stop updating feeds if user haven't logged in for X days
- DB_HOST = "DB_HOST"
- database server hostname
- DB_NAME = "DB_NAME"
- database name
- DB_PASS = "DB_PASS"
- database password
- DB_PORT = "DB_PORT"
- database server port
- DB_TYPE = "DB_TYPE"
- database type: pgsql or mysql
- DB_USER = "DB_USER"
- database user
- DIGEST_SUBJECT = "DIGEST_SUBJECT"
- default subject for email digest
- ENABLE_PLUGIN_INSTALLER = "ENABLE_PLUGIN_INSTALLER"
- allow installing first party plugins using plugin installer in prefs
- FEED_FETCH_NO_CACHE_TIMEOUT = "FEED_FETCH_NO_CACHE_TIMEOUT"
- How long to wait for response when requesting uncached feed from a site (seconds)
- FEED_FETCH_TIMEOUT = "FEED_FETCH_TIMEOUT"
- How long to wait for response when requesting feed from a site (seconds)
- FILE_FETCH_CONNECT_TIMEOUT = "FILE_FETCH_CONNECT_TIMEOUT"
- How long to wait for initial response from website when fetching remote files
- FILE_FETCH_TIMEOUT = "FILE_FETCH_TIMEOUT"
- Default timeout when fetching files from remote sites
- FORBID_PASSWORD_CHANGES = "FORBID_PASSWORD_CHANGES"
- prevent users from changing passwords
- FORCE_ARTICLE_PURGE = "FORCE_ARTICLE_PURGE"
- unconditinally purge all articles older than this amount, in days overrides user-controlled purge interval
- HTTP_429_THROTTLE_INTERVAL = "HTTP_429_THROTTLE_INTERVAL"
- delay updates for this feed if received HTTP 429 (Too Many Requests) for this amount of seconds (base value, actual delay is base...base*2)
- HTTP_PROXY = "HTTP_PROXY"
- use HTTP proxy for requests
- HTTP_USER_AGENT = "HTTP_USER_AGENT"
- http user agent (changing this is not recommended)
- ICONS_DIR = "ICONS_DIR"
- directory for feed favicons (directory must be writable)
- ICONS_URL = "ICONS_URL"
- URL for feed favicons
- LOCAL_OVERRIDE_JS = "LOCAL_OVERRIDE_JS"
- same but this javascript file (you can use that for polyfills), should be placed in themes.local
- LOCAL_OVERRIDE_STYLESHEET = "LOCAL_OVERRIDE_STYLESHEET"
- link this stylesheet on all pages (if it exists), should be placed in themes.local
- LOCK_DIRECTORY = "LOCK_DIRECTORY"
- base directory for lockfiles (must be writable)
- LOG_DESTINATION = "LOG_DESTINATION"
- available options: sql (default, event log), syslog, stdout (for debugging)
- LOG_SENT_MAIL = "LOG_SENT_MAIL"
- log all sent emails in the event log
- MAX_CACHE_FILE_SIZE = "MAX_CACHE_FILE_SIZE"
- do not cache files larger than that (bytes)
- MAX_CONDITIONAL_INTERVAL = "MAX_CONDITIONAL_INTERVAL"
- max interval between forced unconditional updates for servers not complying with http if-modified-since (seconds)
- MAX_DOWNLOAD_FILE_SIZE = "MAX_DOWNLOAD_FILE_SIZE"
- do not download files larger than that (bytes)
- MAX_FAVICON_FILE_SIZE = "MAX_FAVICON_FILE_SIZE"
- max file size for downloaded favicons (bytes)
- MYSQL_CHARSET = "MYSQL_CHARSET"
- connection charset for MySQL. if you have a legacy database and/or experience garbage unicode characters with this option, try setting it to a blank string.
- OPENTELEMETRY_ENDPOINT = "OPENTELEMETRY_ENDPOINT"
- host running Jaeger collector to receive traces (disabled if empty)
- OPENTELEMETRY_SERVICE = "OPENTELEMETRY_SERVICE"
- Jaeger service name
- PHP_EXECUTABLE = "PHP_EXECUTABLE"
- use this PHP CLI executable to start various tasks
- PLUGINS = "PLUGINS"
- system plugins enabled for all users, comma separated list, no quotes keep at least one auth module in there (i.e. auth_internal)
- SCHEMA_VERSION = 147
- SELF_URL_PATH = "SELF_URL_PATH"
- this is a fallback falue for the CLI SAPI, it should be set to a fully-qualified tt-rss URL
- SESSION_COOKIE_LIFETIME = "SESSION_COOKIE_LIFETIME"
- default lifetime of a session (e.g. login) cookie. In seconds, 0 means cookie will be deleted when browser closes.
- SESSION_NAME = "SESSION_NAME"
- default session cookie name
- SIMPLE_UPDATE_MODE = "SIMPLE_UPDATE_MODE"
- enables fallback update mode where tt-rss tries to update feeds in background while tt-rss is open in your browser.
- SINGLE_USER_MODE = "SINGLE_USER_MODE"
- operate in single user mode, disables all functionality related to multiple users and authentication. enabling this assumes you have your tt-rss directory protected by other means (e.g. http auth).
- SMTP_FROM_ADDRESS = "SMTP_FROM_ADDRESS"
- send email using this address
- SMTP_FROM_NAME = "SMTP_FROM_NAME"
- send email using this name
- T_BOOL = 1
- T_INT = 3
- T_STRING = 2
Methods
- __construct() : mixed
- add() : void
- cast_to() : bool|int|string
- get() : bool|int|string
- get_instance() : Config
- get_migrations() : Db_Migrations
- get_override_links() : string
- get_schema_version() : int
- get_self_dir() : string
- get_self_url() : string
- returns fully-qualified external URL to tt-rss (no trailing slash) SELF_URL_PATH configuration variable is used as a fallback for the CLI SAPI
- get_user_agent() : string
- get_version() : array<string, mixed>|string
- determine tt-rss version (using git)
- get_version_from_git() : array<string, int|string>
- get_version_html() : string
- is_migration_needed() : bool
- is_server_https() : bool
- sanity_check() : void
Constants
AUTH_AUTO_CREATE
auto create users authenticated via external modules
public
mixed
AUTH_AUTO_CREATE
= "AUTH_AUTO_CREATE"
AUTH_AUTO_LOGIN
auto log in users authenticated via external modules i.e. auth_remote
public
mixed
AUTH_AUTO_LOGIN
= "AUTH_AUTO_LOGIN"
AUTH_MIN_INTERVAL
minimum amount of seconds required between authentication attempts
public
mixed
AUTH_MIN_INTERVAL
= "AUTH_MIN_INTERVAL"
CACHE_DIR
base directory for local cache (must be writable)
public
mixed
CACHE_DIR
= "CACHE_DIR"
CACHE_MAX_DAYS
max age in days for various automatically cached (temporary) files
public
mixed
CACHE_MAX_DAYS
= "CACHE_MAX_DAYS"
CHECK_FOR_PLUGIN_UPDATES
enable plugin update checker (using git)
public
mixed
CHECK_FOR_PLUGIN_UPDATES
= "CHECK_FOR_PLUGIN_UPDATES"
CHECK_FOR_UPDATES
enable built-in update checker, both for core code and plugins (using git)
public
mixed
CHECK_FOR_UPDATES
= "CHECK_FOR_UPDATES"
DAEMON_FEED_LIMIT
how many feeds to update in one batch
public
mixed
DAEMON_FEED_LIMIT
= "DAEMON_FEED_LIMIT"
DAEMON_MAX_CHILD_RUNTIME
in seconds, terminate update tasks that ran longer than this interval
public
mixed
DAEMON_MAX_CHILD_RUNTIME
= "DAEMON_MAX_CHILD_RUNTIME"
DAEMON_MAX_JOBS
max concurrent update jobs forking update daemon starts
public
mixed
DAEMON_MAX_JOBS
= "DAEMON_MAX_JOBS"
DAEMON_SLEEP_INTERVAL
default sleep interval between feed updates (sec)
public
mixed
DAEMON_SLEEP_INTERVAL
= "DAEMON_SLEEP_INTERVAL"
DAEMON_UNSUCCESSFUL_DAYS_LIMIT
automatically disable updates for feeds which failed to update for this amount of days; 0 disables
public
mixed
DAEMON_UNSUCCESSFUL_DAYS_LIMIT
= "DAEMON_UNSUCCESSFUL_DAYS_LIMIT"
DAEMON_UPDATE_LOGIN_LIMIT
stop updating feeds if user haven't logged in for X days
public
mixed
DAEMON_UPDATE_LOGIN_LIMIT
= "DAEMON_UPDATE_LOGIN_LIMIT"
DB_HOST
database server hostname
public
mixed
DB_HOST
= "DB_HOST"
DB_NAME
database name
public
mixed
DB_NAME
= "DB_NAME"
DB_PASS
database password
public
mixed
DB_PASS
= "DB_PASS"
DB_PORT
database server port
public
mixed
DB_PORT
= "DB_PORT"
DB_TYPE
database type: pgsql or mysql
public
mixed
DB_TYPE
= "DB_TYPE"
DB_USER
database user
public
mixed
DB_USER
= "DB_USER"
DIGEST_SUBJECT
default subject for email digest
public
mixed
DIGEST_SUBJECT
= "DIGEST_SUBJECT"
ENABLE_PLUGIN_INSTALLER
allow installing first party plugins using plugin installer in prefs
public
mixed
ENABLE_PLUGIN_INSTALLER
= "ENABLE_PLUGIN_INSTALLER"
FEED_FETCH_NO_CACHE_TIMEOUT
How long to wait for response when requesting uncached feed from a site (seconds)
public
mixed
FEED_FETCH_NO_CACHE_TIMEOUT
= "FEED_FETCH_NO_CACHE_TIMEOUT"
FEED_FETCH_TIMEOUT
How long to wait for response when requesting feed from a site (seconds)
public
mixed
FEED_FETCH_TIMEOUT
= "FEED_FETCH_TIMEOUT"
FILE_FETCH_CONNECT_TIMEOUT
How long to wait for initial response from website when fetching remote files
public
mixed
FILE_FETCH_CONNECT_TIMEOUT
= "FILE_FETCH_CONNECT_TIMEOUT"
FILE_FETCH_TIMEOUT
Default timeout when fetching files from remote sites
public
mixed
FILE_FETCH_TIMEOUT
= "FILE_FETCH_TIMEOUT"
FORBID_PASSWORD_CHANGES
prevent users from changing passwords
public
mixed
FORBID_PASSWORD_CHANGES
= "FORBID_PASSWORD_CHANGES"
FORCE_ARTICLE_PURGE
unconditinally purge all articles older than this amount, in days overrides user-controlled purge interval
public
mixed
FORCE_ARTICLE_PURGE
= "FORCE_ARTICLE_PURGE"
HTTP_429_THROTTLE_INTERVAL
delay updates for this feed if received HTTP 429 (Too Many Requests) for this amount of seconds (base value, actual delay is base...base*2)
public
mixed
HTTP_429_THROTTLE_INTERVAL
= "HTTP_429_THROTTLE_INTERVAL"
HTTP_PROXY
use HTTP proxy for requests
public
mixed
HTTP_PROXY
= "HTTP_PROXY"
HTTP_USER_AGENT
http user agent (changing this is not recommended)
public
mixed
HTTP_USER_AGENT
= "HTTP_USER_AGENT"
ICONS_DIR
directory for feed favicons (directory must be writable)
public
mixed
ICONS_DIR
= "ICONS_DIR"
ICONS_URL
URL for feed favicons
public
mixed
ICONS_URL
= "ICONS_URL"
LOCAL_OVERRIDE_JS
same but this javascript file (you can use that for polyfills), should be placed in themes.local
public
mixed
LOCAL_OVERRIDE_JS
= "LOCAL_OVERRIDE_JS"
LOCAL_OVERRIDE_STYLESHEET
link this stylesheet on all pages (if it exists), should be placed in themes.local
public
mixed
LOCAL_OVERRIDE_STYLESHEET
= "LOCAL_OVERRIDE_STYLESHEET"
LOCK_DIRECTORY
base directory for lockfiles (must be writable)
public
mixed
LOCK_DIRECTORY
= "LOCK_DIRECTORY"
LOG_DESTINATION
available options: sql (default, event log), syslog, stdout (for debugging)
public
mixed
LOG_DESTINATION
= "LOG_DESTINATION"
LOG_SENT_MAIL
log all sent emails in the event log
public
mixed
LOG_SENT_MAIL
= "LOG_SENT_MAIL"
MAX_CACHE_FILE_SIZE
do not cache files larger than that (bytes)
public
mixed
MAX_CACHE_FILE_SIZE
= "MAX_CACHE_FILE_SIZE"
MAX_CONDITIONAL_INTERVAL
max interval between forced unconditional updates for servers not complying with http if-modified-since (seconds)
public
mixed
MAX_CONDITIONAL_INTERVAL
= "MAX_CONDITIONAL_INTERVAL"
MAX_DOWNLOAD_FILE_SIZE
do not download files larger than that (bytes)
public
mixed
MAX_DOWNLOAD_FILE_SIZE
= "MAX_DOWNLOAD_FILE_SIZE"
MAX_FAVICON_FILE_SIZE
max file size for downloaded favicons (bytes)
public
mixed
MAX_FAVICON_FILE_SIZE
= "MAX_FAVICON_FILE_SIZE"
MYSQL_CHARSET
connection charset for MySQL. if you have a legacy database and/or experience garbage unicode characters with this option, try setting it to a blank string.
public
mixed
MYSQL_CHARSET
= "MYSQL_CHARSET"
OPENTELEMETRY_ENDPOINT
host running Jaeger collector to receive traces (disabled if empty)
public
mixed
OPENTELEMETRY_ENDPOINT
= "OPENTELEMETRY_ENDPOINT"
OPENTELEMETRY_SERVICE
Jaeger service name
public
mixed
OPENTELEMETRY_SERVICE
= "OPENTELEMETRY_SERVICE"
PHP_EXECUTABLE
use this PHP CLI executable to start various tasks
public
mixed
PHP_EXECUTABLE
= "PHP_EXECUTABLE"
PLUGINS
system plugins enabled for all users, comma separated list, no quotes keep at least one auth module in there (i.e. auth_internal)
public
mixed
PLUGINS
= "PLUGINS"
SCHEMA_VERSION
public
mixed
SCHEMA_VERSION
= 147
SELF_URL_PATH
this is a fallback falue for the CLI SAPI, it should be set to a fully-qualified tt-rss URL
public
mixed
SELF_URL_PATH
= "SELF_URL_PATH"
SESSION_COOKIE_LIFETIME
default lifetime of a session (e.g. login) cookie. In seconds, 0 means cookie will be deleted when browser closes.
public
mixed
SESSION_COOKIE_LIFETIME
= "SESSION_COOKIE_LIFETIME"
SESSION_NAME
default session cookie name
public
mixed
SESSION_NAME
= "SESSION_NAME"
SIMPLE_UPDATE_MODE
enables fallback update mode where tt-rss tries to update feeds in background while tt-rss is open in your browser.
public
mixed
SIMPLE_UPDATE_MODE
= "SIMPLE_UPDATE_MODE"
if you don't have a lot of feeds and don't want to or can't run background processes while not running tt-rss, this method is generally viable to keep your feeds up to date.
SINGLE_USER_MODE
operate in single user mode, disables all functionality related to multiple users and authentication. enabling this assumes you have your tt-rss directory protected by other means (e.g. http auth).
public
mixed
SINGLE_USER_MODE
= "SINGLE_USER_MODE"
SMTP_FROM_ADDRESS
send email using this address
public
mixed
SMTP_FROM_ADDRESS
= "SMTP_FROM_ADDRESS"
SMTP_FROM_NAME
send email using this name
public
mixed
SMTP_FROM_NAME
= "SMTP_FROM_NAME"
T_BOOL
public
mixed
T_BOOL
= 1
T_INT
public
mixed
T_INT
= 3
T_STRING
public
mixed
T_STRING
= 2
Methods
__construct()
public
__construct() : mixed
add()
public
static add(string $param, string $default[, int $type_hint = Config::T_STRING ]) : void
Parameters
- $param : string
- $default : string
- $type_hint : int = Config::T_STRING
cast_to()
public
static cast_to(string $value, int $type_hint) : bool|int|string
Parameters
- $value : string
- $type_hint : int
Return values
bool|int|stringget()
public
static get(string $param) : bool|int|string
Parameters
- $param : string
Return values
bool|int|stringget_instance()
public
static get_instance() : Config
Return values
Configget_migrations()
public
static get_migrations() : Db_Migrations
Return values
Db_Migrationsget_override_links()
public
static get_override_links() : string
Return values
stringget_schema_version()
public
static get_schema_version() : int
Return values
intget_self_dir()
public
static get_self_dir() : string
Return values
stringget_self_url()
returns fully-qualified external URL to tt-rss (no trailing slash) SELF_URL_PATH configuration variable is used as a fallback for the CLI SAPI
public
static get_self_url([bool $always_detect = false ]) : string
Parameters
- $always_detect : bool = false
Return values
stringget_user_agent()
public
static get_user_agent() : string
Return values
stringget_version()
determine tt-rss version (using git)
public
static get_version([bool $as_string = true ]) : array<string, mixed>|string
package maintainers who don't use git: if version_static.txt exists in tt-rss root directory, its contents are displayed instead of git commit-based version, this could be generated based on source git tree commit used when creating the package
Parameters
- $as_string : bool = true
Return values
array<string, mixed>|stringget_version_from_git()
public
static get_version_from_git(string $dir) : array<string, int|string>
Parameters
- $dir : string
Return values
array<string, int|string>get_version_html()
public
static get_version_html() : string
Return values
stringis_migration_needed()
public
static is_migration_needed() : bool
Return values
boolis_server_https()
public
static is_server_https() : bool
Return values
boolsanity_check()
public
static sanity_check() : void