2010-12-07 20:19:27 +01:00
|
|
|
<?php
|
|
|
|
|
2022-02-04 11:00:41 +01:00
|
|
|
// Path constants
|
|
|
|
define('ROOT_PATH', dirname(__DIR__, 2));
|
|
|
|
define('LIB_PATH', ROOT_PATH . '/library');
|
|
|
|
define('BUILD_PATH', ROOT_PATH . '/build');
|
|
|
|
define('APPLICATION_PATH', ROOT_PATH . '/application');
|
|
|
|
define('CONFIG_PATH', APPLICATION_PATH . '/configs');
|
|
|
|
define('VENDOR_PATH', ROOT_PATH . '/vendor');
|
|
|
|
|
|
|
|
define('SAMPLE_CONFIG_FILEPATH', BUILD_PATH . '/airtime.example.conf');
|
|
|
|
define('PROPEL_CONFIG_FILEPATH', CONFIG_PATH . '/airtime-conf-production.php');
|
|
|
|
|
|
|
|
// Define application environment
|
|
|
|
defined('APPLICATION_ENV') || define('APPLICATION_ENV', getenv('APPLICATION_ENV') ?: 'production');
|
|
|
|
defined('VERBOSE_STACK_TRACE') || define('VERBOSE_STACK_TRACE', getenv('VERBOSE_STACK_TRACE') ?? true);
|
|
|
|
|
|
|
|
// Project constants
|
|
|
|
define('LIBRETIME_LOG_DIR', getenv('LIBRETIME_LOG_DIR') ?: '/var/log/libretime');
|
|
|
|
define('LIBRETIME_LOG_FILEPATH', getenv('LIBRETIME_LOG_FILEPATH') ?: LIBRETIME_LOG_DIR . '/legacy.log');
|
|
|
|
|
2022-06-06 17:10:44 +02:00
|
|
|
define('LIBRETIME_CONFIG_DIR', getenv('LIBRETIME_CONFIG_DIR') ?: '/etc/libretime');
|
2022-02-04 11:00:41 +01:00
|
|
|
define('LIBRETIME_CONF_DIR', LIBRETIME_CONFIG_DIR); // Deprecated
|
2022-06-06 17:09:25 +02:00
|
|
|
define('LIBRETIME_CONFIG_FILEPATH', getenv('LIBRETIME_CONFIG_FILEPATH') ?: LIBRETIME_CONFIG_DIR . '/config.yml');
|
2022-02-04 11:00:41 +01:00
|
|
|
|
|
|
|
// Legacy constants
|
2021-10-11 16:10:47 +02:00
|
|
|
define('PRODUCT_NAME', 'LibreTime');
|
2022-08-25 16:25:54 +02:00
|
|
|
define('PRODUCT_SITE_URL', 'https://libretime.org');
|
2014-11-07 00:28:14 +01:00
|
|
|
|
2017-03-08 16:26:18 +01:00
|
|
|
define('SAAS_PRODUCT_BRANDING_NAME', 'LibreTime');
|
2022-08-25 16:25:54 +02:00
|
|
|
define('SAAS_LOGIN_REFERRER', 'https://libretime.org');
|
2015-06-10 18:23:19 +02:00
|
|
|
|
2021-10-11 16:10:47 +02:00
|
|
|
define('COMPANY_NAME', 'LibreTime Community');
|
|
|
|
define('COMPANY_SUFFIX', '');
|
|
|
|
define('COMPANY_SITE', 'libretime.org');
|
2022-08-25 16:25:54 +02:00
|
|
|
define('COMPANY_SITE_URL', 'https://libretime.org');
|
2021-10-11 16:10:47 +02:00
|
|
|
define('SUPPORT_ADDRESS', 'https://discourse.libretime.org/');
|
|
|
|
|
|
|
|
define('HELP_URL', 'https://discourse.libretime.org/');
|
2022-04-01 15:02:13 +02:00
|
|
|
define('WHOS_USING_URL', 'https://github.com/orgs/libretime/people');
|
2022-03-29 13:07:38 +02:00
|
|
|
define('TERMS_AND_CONDITIONS_URL', 'https://github.com/libretime/libretime/blob/main/README.md');
|
2022-04-01 15:02:13 +02:00
|
|
|
define('PRIVACY_POLICY_URL', 'https://github.com/libretime/organization/blob/main/CODE_OF_CONDUCT.md');
|
2022-08-25 16:25:54 +02:00
|
|
|
define('USER_MANUAL_URL', 'https://libretime.org/docs');
|
2023-02-01 20:11:00 +01:00
|
|
|
define('TROUBLESHOOTING_URL', 'https://libretime.org/docs/admin-manual/troubleshooting/');
|
2022-08-25 16:25:54 +02:00
|
|
|
define('ABOUT_AIRTIME_URL', 'https://libretime.org');
|
2021-10-11 16:10:47 +02:00
|
|
|
define('LIBRETIME_CONTRIBUTE_URL', 'https://libretime.org/contribute');
|
|
|
|
define('LIBRETIME_DISCOURSE_URL', 'https://discourse.libretime.org');
|
|
|
|
define('UI_REVAMP_EMBED_URL', 'https://www.youtube.com/embed/nqpNnCKGluY');
|
2022-03-29 13:07:38 +02:00
|
|
|
define('LIBRETIME_WHATS_NEW_URL', 'https://github.com/libretime/libretime/releases');
|
|
|
|
define('LIBRETIME_UPDATE_FEED', 'https://github.com/libretime/libretime/releases.atom');
|
2021-10-11 16:10:47 +02:00
|
|
|
define('LIBRETIME_EMAIL_FROM', 'noreply@libretime.org');
|
|
|
|
|
|
|
|
define('LICENSE_VERSION', 'GNU AGPL v.3');
|
2022-08-25 16:25:54 +02:00
|
|
|
define('LICENSE_URL', 'https://www.gnu.org/licenses/agpl-3.0-standalone.html');
|
2021-10-11 16:10:47 +02:00
|
|
|
|
|
|
|
define('AIRTIME_COPYRIGHT_DATE', '2010-2015');
|
|
|
|
define('AIRTIME_REST_VERSION', '1.1');
|
|
|
|
define('AIRTIME_API_VERSION', '1.1');
|
2017-03-10 20:28:54 +01:00
|
|
|
// XXX: it's important that we upgrade this on major version bumps, usually users get more exact info from VERSION in airtime root dir
|
|
|
|
define('LIBRETIME_MAJOR_VERSION', '3');
|
2011-05-19 20:27:30 +02:00
|
|
|
|
2015-06-24 22:35:06 +02:00
|
|
|
// Defaults
|
2015-06-10 18:23:19 +02:00
|
|
|
define('DEFAULT_LOGO_PLACEHOLDER', 1);
|
2015-06-10 22:01:16 +02:00
|
|
|
define('DEFAULT_LOGO_FILE', 'images/airtime_logo.png');
|
2015-06-24 22:35:06 +02:00
|
|
|
define('DEFAULT_TIMESTAMP_FORMAT', 'Y-m-d H:i:s');
|
2015-06-26 20:42:52 +02:00
|
|
|
define('DEFAULT_MICROTIME_FORMAT', 'Y-m-d H:i:s.u');
|
2015-07-13 21:52:04 +02:00
|
|
|
define('DEFAULT_ICECAST_PORT', 8000);
|
2015-07-13 18:28:58 +02:00
|
|
|
define('DEFAULT_ICECAST_PASS', 'hackme');
|
2015-08-28 02:02:32 +02:00
|
|
|
define('DEFAULT_SHOW_COLOR', '76aca5');
|
2015-11-03 19:04:22 +01:00
|
|
|
define('DEFAULT_INTERVAL_FORMAT', 'H:i:s.u');
|
2011-05-19 20:27:30 +02:00
|
|
|
|
2011-06-08 10:15:35 +02:00
|
|
|
// Metadata Keys for files
|
2021-10-11 16:10:47 +02:00
|
|
|
define('MDATA_KEY_FILEPATH', 'filepath');
|
|
|
|
define('MDATA_KEY_DIRECTORY', 'directory');
|
|
|
|
define('MDATA_KEY_MD5', 'md5');
|
|
|
|
define('MDATA_KEY_TITLE', 'track_title');
|
|
|
|
define('MDATA_KEY_CREATOR', 'artist_name');
|
|
|
|
define('MDATA_KEY_SOURCE', 'album_title');
|
|
|
|
define('MDATA_KEY_DURATION', 'length');
|
|
|
|
define('MDATA_KEY_MIME', 'mime');
|
|
|
|
define('MDATA_KEY_FTYPE', 'ftype');
|
|
|
|
define('MDATA_KEY_URL', 'info_url');
|
|
|
|
define('MDATA_KEY_GENRE', 'genre');
|
|
|
|
define('MDATA_KEY_MOOD', 'mood');
|
|
|
|
define('MDATA_KEY_LABEL', 'label');
|
|
|
|
define('MDATA_KEY_COMPOSER', 'composer');
|
|
|
|
define('MDATA_KEY_DESCRIPTION', 'description');
|
|
|
|
define('MDATA_KEY_SAMPLERATE', 'sample_rate');
|
|
|
|
define('MDATA_KEY_BITRATE', 'bit_rate');
|
|
|
|
define('MDATA_KEY_ENCODER', 'encoded_by');
|
|
|
|
define('MDATA_KEY_ISRC', 'isrc_number');
|
|
|
|
define('MDATA_KEY_COPYRIGHT', 'copyright');
|
|
|
|
define('MDATA_KEY_YEAR', 'year');
|
|
|
|
define('MDATA_KEY_BPM', 'bpm');
|
|
|
|
define('MDATA_KEY_TRACKNUMBER', 'track_number');
|
|
|
|
define('MDATA_KEY_CONDUCTOR', 'conductor');
|
|
|
|
define('MDATA_KEY_LANGUAGE', 'language');
|
|
|
|
define('MDATA_KEY_REPLAYGAIN', 'replay_gain');
|
|
|
|
define('MDATA_KEY_OWNER_ID', 'owner_id');
|
|
|
|
define('MDATA_KEY_CUE_IN', 'cuein');
|
|
|
|
define('MDATA_KEY_CUE_OUT', 'cueout');
|
|
|
|
define('MDATA_KEY_ARTWORK', 'artwork');
|
2019-09-20 02:07:50 +02:00
|
|
|
define('MDATA_KEY_ARTWORK_DATA', 'artwork_data');
|
2022-06-08 16:31:01 +02:00
|
|
|
define('MDATA_KEY_TRACK_TYPE', 'track_type_id');
|
2010-12-07 20:19:27 +01:00
|
|
|
|
2021-10-11 16:10:47 +02:00
|
|
|
define('UI_MDATA_VALUE_FORMAT_FILE', 'File');
|
|
|
|
define('UI_MDATA_VALUE_FORMAT_STREAM', 'live stream');
|
2010-12-07 20:19:27 +01:00
|
|
|
|
2022-03-14 11:15:04 +01:00
|
|
|
// User types
|
2021-10-11 16:10:47 +02:00
|
|
|
define('UTYPE_HOST', 'H');
|
|
|
|
define('UTYPE_ADMIN', 'A');
|
|
|
|
define('UTYPE_SUPERADMIN', 'S');
|
|
|
|
define('UTYPE_GUEST', 'G');
|
|
|
|
define('UTYPE_PROGRAM_MANAGER', 'P');
|
2013-08-29 00:25:46 +02:00
|
|
|
|
2022-03-14 11:15:04 +01:00
|
|
|
// Constants for playout history template fields
|
2013-07-23 00:11:44 +02:00
|
|
|
define('TEMPLATE_DATE', 'date');
|
|
|
|
define('TEMPLATE_TIME', 'time');
|
|
|
|
define('TEMPLATE_DATETIME', 'datetime');
|
|
|
|
define('TEMPLATE_STRING', 'string');
|
|
|
|
define('TEMPLATE_BOOLEAN', 'boolean');
|
|
|
|
define('TEMPLATE_INT', 'integer');
|
|
|
|
define('TEMPLATE_FLOAT', 'float');
|
|
|
|
|
2010-12-07 20:19:27 +01:00
|
|
|
// Session Keys
|
2012-07-25 17:00:46 +02:00
|
|
|
define('UI_PLAYLISTCONTROLLER_OBJ_SESSNAME', 'PLAYLISTCONTROLLER_OBJ');
|
|
|
|
/*define('UI_PLAYLIST_SESSNAME', 'PLAYLIST');
|
|
|
|
define('UI_BLOCK_SESSNAME', 'BLOCK');*/
|
2010-12-07 20:19:27 +01:00
|
|
|
|
2022-03-14 11:15:04 +01:00
|
|
|
// TuneIn integration
|
2022-08-25 16:25:54 +02:00
|
|
|
define('TUNEIN_API_URL', 'https://air.radiotime.com/Playing.ashx');
|
2015-05-13 22:05:37 +02:00
|
|
|
|
2015-06-16 21:10:08 +02:00
|
|
|
// Celery
|
|
|
|
define('CELERY_PENDING_STATUS', 'PENDING');
|
|
|
|
define('CELERY_SUCCESS_STATUS', 'SUCCESS');
|
|
|
|
define('CELERY_FAILED_STATUS', 'FAILED');
|
|
|
|
|
|
|
|
// Celery Services
|
2015-09-23 02:22:06 +02:00
|
|
|
define('PODCAST_SERVICE_NAME', 'podcast');
|
2015-09-16 20:22:13 +02:00
|
|
|
|
2015-10-21 01:03:34 +02:00
|
|
|
// Publish Services
|
|
|
|
define('STATION_PODCAST_SERVICE_NAME', 'station_podcast');
|
|
|
|
|
2015-09-16 20:22:13 +02:00
|
|
|
// Podcast Types
|
2022-03-14 11:15:04 +01:00
|
|
|
// define('STATION_PODCAST', 0);
|
|
|
|
// define('IMPORTED_PODCAST', 1);
|
2015-09-29 19:04:22 +02:00
|
|
|
|
|
|
|
define('ITUNES_XML_NAMESPACE_URL', 'http://www.itunes.com/dtds/podcast-1.0.dtd');
|