feat(legacy): consolidate constants (#1558)
* remove unused file * fix paths leading slash * remove useless imports * refactor(legacy): use constants everywhere * fix path leading slash * remove useless import * consolidate legacy contants * format code * reuse LIBRETIME_CONFIG_DIR * fix test config path * remove ci legacy log dir creation * some logs improvements
This commit is contained in:
parent
e106858fd8
commit
729a7b99e0
|
@ -72,7 +72,6 @@ jobs:
|
|||
runs-on: ${{ matrix.runs-on }}
|
||||
env:
|
||||
ENVIRONMENT: testing
|
||||
LIBRETIME_LOG_DIR: /tmp/log/libretime
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
|
@ -103,10 +102,7 @@ jobs:
|
|||
${{ runner.os }}-composer-
|
||||
|
||||
- name: Run tests
|
||||
run: |
|
||||
sudo mkdir -p "$LIBRETIME_LOG_DIR"
|
||||
sudo chown runner:runner "$LIBRETIME_LOG_DIR"
|
||||
make test
|
||||
run: make test
|
||||
working-directory: legacy
|
||||
|
||||
# Start lint the code without failing the entire workflow, should be merged
|
||||
|
|
|
@ -1,24 +1,23 @@
|
|||
<?php
|
||||
|
||||
require_once CONFIG_PATH . 'conf.php';
|
||||
require_once 'preload.php';
|
||||
|
||||
$CC_CONFIG = Config::getConfig();
|
||||
|
||||
require_once CONFIG_PATH . 'ACL.php';
|
||||
require_once CONFIG_PATH . '/ACL.php';
|
||||
|
||||
// Since we initialize the database during the configuration check,
|
||||
// check the $configRun global to avoid reinitializing unnecessarily
|
||||
if (!isset($configRun) || !$configRun) {
|
||||
Propel::init(CONFIG_PATH . 'airtime-conf-production.php');
|
||||
Propel::init(PROPEL_CONFIG_FILEPATH);
|
||||
}
|
||||
|
||||
require_once CONFIG_PATH . 'constants.php';
|
||||
|
||||
Logging::setLogPath(LIBRETIME_LOG_DIR . '/legacy.log');
|
||||
Logging::setLogPath(LIBRETIME_LOG_FILEPATH);
|
||||
|
||||
Zend_Session::setOptions(['strict' => true]);
|
||||
Config::setAirtimeVersion();
|
||||
|
||||
require_once CONFIG_PATH . 'navigation.php';
|
||||
require_once CONFIG_PATH . '/navigation.php';
|
||||
|
||||
Zend_Validate::setDefaultNamespaces('Zend');
|
||||
|
||||
|
|
|
@ -27,56 +27,46 @@ function exception_error_handler($errno, $errstr, $errfile, $errline)
|
|||
|
||||
set_error_handler('exception_error_handler');
|
||||
|
||||
// Define application environment
|
||||
defined('APPLICATION_ENV')
|
||||
|| define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));
|
||||
|
||||
defined('VERBOSE_STACK_TRACE')
|
||||
|| define('VERBOSE_STACK_TRACE', (getenv('VERBOSE_STACK_TRACE') ? getenv('VERBOSE_STACK_TRACE') : true));
|
||||
|
||||
// Ensure library/ is on include_path
|
||||
set_include_path(implode(PATH_SEPARATOR, [
|
||||
get_include_path(),
|
||||
realpath(LIB_PATH),
|
||||
]));
|
||||
|
||||
set_include_path(APPLICATION_PATH . 'common' . PATH_SEPARATOR . get_include_path());
|
||||
set_include_path(APPLICATION_PATH . 'common/enum' . PATH_SEPARATOR . get_include_path());
|
||||
set_include_path(APPLICATION_PATH . 'common/interface' . PATH_SEPARATOR . get_include_path());
|
||||
set_include_path(APPLICATION_PATH . '/common' . PATH_SEPARATOR . get_include_path());
|
||||
set_include_path(APPLICATION_PATH . '/common/enum' . PATH_SEPARATOR . get_include_path());
|
||||
set_include_path(APPLICATION_PATH . '/common/interface' . PATH_SEPARATOR . get_include_path());
|
||||
|
||||
//Propel classes.
|
||||
set_include_path(APPLICATION_PATH . 'models' . PATH_SEPARATOR . get_include_path());
|
||||
set_include_path(APPLICATION_PATH . '/models' . PATH_SEPARATOR . get_include_path());
|
||||
|
||||
//Controller plugins.
|
||||
set_include_path(APPLICATION_PATH . 'controllers' . PATH_SEPARATOR . get_include_path());
|
||||
set_include_path(APPLICATION_PATH . '/controllers' . PATH_SEPARATOR . get_include_path());
|
||||
|
||||
//Controller plugins.
|
||||
set_include_path(APPLICATION_PATH . 'controllers/plugins' . PATH_SEPARATOR . get_include_path());
|
||||
set_include_path(APPLICATION_PATH . '/controllers/plugins' . PATH_SEPARATOR . get_include_path());
|
||||
|
||||
//Services.
|
||||
set_include_path(APPLICATION_PATH . '/services/' . PATH_SEPARATOR . get_include_path());
|
||||
set_include_path(APPLICATION_PATH . '/services' . PATH_SEPARATOR . get_include_path());
|
||||
|
||||
//cloud storage directory
|
||||
set_include_path(APPLICATION_PATH . '/cloud_storage' . PATH_SEPARATOR . get_include_path());
|
||||
|
||||
//Upgrade directory
|
||||
set_include_path(APPLICATION_PATH . '/upgrade/' . PATH_SEPARATOR . get_include_path());
|
||||
set_include_path(APPLICATION_PATH . '/upgrade' . PATH_SEPARATOR . get_include_path());
|
||||
|
||||
//Common directory
|
||||
set_include_path(APPLICATION_PATH . '/common/' . PATH_SEPARATOR . get_include_path());
|
||||
|
||||
//Composer's autoloader
|
||||
require_once 'autoload.php';
|
||||
set_include_path(APPLICATION_PATH . '/common' . PATH_SEPARATOR . get_include_path());
|
||||
|
||||
/** Zend_Application */
|
||||
$application = new Zend_Application(
|
||||
APPLICATION_ENV,
|
||||
CONFIG_PATH . 'application.ini',
|
||||
CONFIG_PATH . '/application.ini',
|
||||
true
|
||||
);
|
||||
|
||||
require_once APPLICATION_PATH . 'logging/Logging.php';
|
||||
Logging::setLogPath(LIBRETIME_LOG_DIR . '/legacy.log');
|
||||
require_once APPLICATION_PATH . '/logging/Logging.php';
|
||||
Logging::setLogPath(LIBRETIME_LOG_FILEPATH);
|
||||
Logging::setupParseErrorLogging();
|
||||
|
||||
// Create application, bootstrap, and run
|
||||
|
|
|
@ -17,7 +17,7 @@ class ProxyStorageBackend extends StorageBackend
|
|||
{
|
||||
$CC_CONFIG = Config::getConfig();
|
||||
|
||||
// The storage backend in the airtime.conf directly corresponds to
|
||||
// The storage backend in the config file directly corresponds to
|
||||
// the name of the class that implements it, so we can create the
|
||||
// right backend object dynamically:
|
||||
if ($storageBackend == 'file') {
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
/* The original name of this file is airtime-conf.php but since we need to make custom changes
|
||||
* to it I've renamed it so that our changes aren't removed everytime we regenerate a database schema.
|
||||
* our custom changes requires the database parameters to be loaded from /etc/airtime/airtime.conf so
|
||||
* our custom changes requires the database parameters to be loaded from the config file so
|
||||
* that the user can customize these.
|
||||
*/
|
||||
|
||||
|
|
|
@ -1,29 +1,18 @@
|
|||
<?php
|
||||
/* THIS FILE IS NOT MEANT FOR CUSTOMIZING.
|
||||
* PLEASE EDIT THE FOLLOWING TO CHANGE YOUR CONFIG:
|
||||
* LIBRETIME_CONF_DIR/airtime.conf
|
||||
*/
|
||||
|
||||
require_once __DIR__ . '/constants.php';
|
||||
// THIS FILE IS NOT MEANT FOR CUSTOMIZING.
|
||||
|
||||
class Config
|
||||
{
|
||||
private static $CC_CONFIG;
|
||||
private static $rootDir;
|
||||
|
||||
public static function loadConfig()
|
||||
{
|
||||
self::$rootDir = __DIR__ . '/../..';
|
||||
$CC_CONFIG = [
|
||||
// ================================================ storage configuration
|
||||
'rootDir' => self::$rootDir,
|
||||
];
|
||||
|
||||
//In the unit testing environment, LIBRETIME_CONF_DIR will our local airtime.conf in legacy/application/test/conf:
|
||||
$filename = isset($_SERVER['AIRTIME_CONF']) ? $_SERVER['AIRTIME_CONF'] : LIBRETIME_CONF_DIR . '/airtime.conf';
|
||||
|
||||
$filename = $_SERVER['LIBRETIME_CONFIG_FILEPATH'] ?? LIBRETIME_CONFIG_FILEPATH;
|
||||
$values = parse_ini_file($filename, true);
|
||||
|
||||
$CC_CONFIG = [];
|
||||
|
||||
// Name of the web server user
|
||||
$CC_CONFIG['webServerUser'] = $values['general']['web_server_user'];
|
||||
$CC_CONFIG['rabbitmq'] = $values['rabbitmq'];
|
||||
|
@ -97,7 +86,7 @@ class Config
|
|||
|
||||
public static function setAirtimeVersion()
|
||||
{
|
||||
$version = @file_get_contents(self::$rootDir . '/../VERSION');
|
||||
$version = @file_get_contents(dirname(ROOT_PATH) . '/VERSION');
|
||||
if (!$version) {
|
||||
// fallback to constant from constants.php if no other info is available
|
||||
$version = LIBRETIME_MAJOR_VERSION;
|
||||
|
|
|
@ -140,7 +140,7 @@ $result = $r1 && $r2;
|
|||
?>">
|
||||
Make sure you aren't missing any of the Postgres dependencies in the table above.
|
||||
If your dependencies check out, make sure your database configuration settings in
|
||||
<code>/etc/airtime.conf</code> are correct and the Airtime database was installed correctly.
|
||||
<code><?php echo LIBRETIME_CONFIG_FILEPATH; ?></code> are correct and the Airtime database was installed correctly.
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
@ -158,7 +158,7 @@ $result = $r1 && $r2;
|
|||
<?php
|
||||
} else {
|
||||
?>">
|
||||
Make sure RabbitMQ is installed correctly, and that your settings in /etc/airtime/airtime.conf
|
||||
Make sure RabbitMQ is installed correctly, and that your settings in <?php echo LIBRETIME_CONFIG_FILEPATH; ?>
|
||||
are correct. Try using <code>sudo rabbitmqctl list_users</code> and <code>sudo rabbitmqctl list_vhosts</code>
|
||||
to see if the airtime user (or your custom RabbitMQ user) exists, then checking that
|
||||
<code>sudo rabbitmqctl list_exchanges</code> contains entries for airtime-pypo and airtime-uploads.
|
||||
|
|
|
@ -1,5 +1,34 @@
|
|||
<?php
|
||||
|
||||
// Path constants
|
||||
define('ROOT_PATH', dirname(__DIR__, 2));
|
||||
define('LIB_PATH', ROOT_PATH . '/library');
|
||||
define('BUILD_PATH', ROOT_PATH . '/build');
|
||||
define('SETUP_PATH', BUILD_PATH . '/airtime-setup');
|
||||
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');
|
||||
|
||||
define('LIBRETIME_CONFIG_DIR', getenv('LIBRETIME_CONFIG_DIR') ?: '/etc/airtime');
|
||||
define('LIBRETIME_CONF_DIR', LIBRETIME_CONFIG_DIR); // Deprecated
|
||||
define('LIBRETIME_CONFIG_FILEPATH', getenv('LIBRETIME_CONFIG_FILEPATH') ?: LIBRETIME_CONFIG_DIR . '/airtime.conf');
|
||||
|
||||
// Installer
|
||||
define('INSTALLER_CONFIG_FILEPATH', LIBRETIME_CONFIG_DIR . '/airtime.conf.temp');
|
||||
define('INSTALLER_DEFAULT_STORAGE_PATH', '/srv/libretime/storage');
|
||||
|
||||
// Legacy constants
|
||||
define('PRODUCT_NAME', 'LibreTime');
|
||||
define('PRODUCT_SITE_URL', 'http://libretime.org');
|
||||
|
||||
|
@ -34,10 +63,6 @@ define('AIRTIME_API_VERSION', '1.1');
|
|||
// 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');
|
||||
|
||||
// grab values from env (i'll do this everywhere with a small function if we like it)
|
||||
define('LIBRETIME_CONF_DIR', getenv('LIBRETIME_CONF_DIR') ? getenv('LIBRETIME_CONF_DIR') : '/etc/airtime');
|
||||
define('LIBRETIME_LOG_DIR', getenv('LIBRETIME_LOG_DIR') ? getenv('LIBRETIME_LOG_DIR') : '/var/log/libretime');
|
||||
|
||||
// Defaults
|
||||
define('DEFAULT_LOGO_PLACEHOLDER', 1);
|
||||
define('DEFAULT_LOGO_FILE', 'images/airtime_logo.png');
|
||||
|
@ -106,9 +131,6 @@ define('UI_PLAYLISTCONTROLLER_OBJ_SESSNAME', 'PLAYLISTCONTROLLER_OBJ');
|
|||
/*define('UI_PLAYLIST_SESSNAME', 'PLAYLIST');
|
||||
define('UI_BLOCK_SESSNAME', 'BLOCK');*/
|
||||
|
||||
//Sentry error logging
|
||||
define('SENTRY_CONFIG_PATH', LIBRETIME_CONF_DIR . '/sentry.airtime_web.ini');
|
||||
|
||||
//TuneIn integration
|
||||
define('TUNEIN_API_URL', 'http://air.radiotime.com/Playing.ashx');
|
||||
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
<?php
|
||||
|
||||
/* This file is only needed during upgrades when we need the database parameters from /etc/airtime/airtime.conf.
|
||||
* The reason we don't just use conf.php is because conf.php may try to load configuration parameters that aren't
|
||||
* yet available because airtime.conf hasn't been updated yet. This situation ends up throwing a lot of errors to stdout.
|
||||
* airtime*/
|
||||
|
||||
require_once 'conf.php';
|
||||
|
||||
$CC_CONFIG = Config::getConfig();
|
|
@ -241,7 +241,7 @@ class PageLayoutInitPlugin extends Zend_Controller_Plugin_Abstract
|
|||
protected function _initViewHelpers()
|
||||
{
|
||||
$view = $this->_bootstrap->getResource('view');
|
||||
$view->addHelperPath(APPLICATION_PATH . 'views/helpers', 'Airtime_View_Helper');
|
||||
$view->addHelperPath(APPLICATION_PATH . '/views/helpers', 'Airtime_View_Helper');
|
||||
}
|
||||
|
||||
protected function _initTitle()
|
||||
|
|
|
@ -64,7 +64,7 @@
|
|||
<?php echo _("Dashboard") ?>
|
||||
</a>
|
||||
</div>
|
||||
<?php $subnavPrefix = "/showbuilder"; require_once APPLICATION_PATH . "views/scripts/partialviews/dashboard-sub-nav.php"; ?>
|
||||
<?php $subnavPrefix = "/showbuilder"; require_once APPLICATION_PATH . "/views/scripts/partialviews/dashboard-sub-nav.php"; ?>
|
||||
<div class="media_type_selector dashboard_sub_nav" data-selection-id="<?php echo MediaType::PODCAST ?>">
|
||||
<a href="<?php echo $subnavPrefix; ?>#podcasts">
|
||||
<span class="selector-name"><i class='icon-headphones icon-white'></i><?php echo _("Podcasts") ?></span>
|
||||
|
|
|
@ -8,7 +8,7 @@ class Rest_PodcastController extends Zend_Rest_Controller
|
|||
|
||||
// Remove reliance on .phtml files to render requests
|
||||
$this->_helper->viewRenderer->setNoRender(true);
|
||||
$this->view->setScriptPath(APPLICATION_PATH . 'views/scripts/');
|
||||
$this->view->setScriptPath(APPLICATION_PATH . '/views/scripts/');
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
<?php
|
||||
|
||||
require_once __DIR__ . '/configs/constants.php';
|
||||
|
||||
require_once VENDOR_PATH . '/autoload.php';
|
||||
|
||||
require_once CONFIG_PATH . '/conf.php';
|
|
@ -1,7 +1,7 @@
|
|||
<div><!-- jQuery UI changes the styling on the outermost div; use a blank div so as not to break the .wrapper styling-->
|
||||
<div class="wrapper">
|
||||
<div id="media_selector_wrapper">
|
||||
<?php $subnavPrefix = ""; require_once APPLICATION_PATH . "views/scripts/partialviews/dashboard-sub-nav.php"; ?>
|
||||
<?php $subnavPrefix = ""; require_once APPLICATION_PATH . "/views/scripts/partialviews/dashboard-sub-nav.php"; ?>
|
||||
</div>
|
||||
<?php echo $this->csrf ?>
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<?php
|
||||
$tempConfigPath = '/etc/airtime/airtime.conf.tmp';
|
||||
if (file_exists($tempConfigPath)) {
|
||||
$tempConfigPath = INSTALLER_CONFIG_FILEPATH;
|
||||
if (file_exists($tempConfigPath)) {
|
||||
$airtimeConfig = parse_ini_file($tempConfigPath, true);
|
||||
$db = $airtimeConfig['database'];
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
<form action="#" role="form" id="dbSettingsForm">
|
||||
|
|
|
@ -11,16 +11,16 @@
|
|||
sudo systemctl start libretime-api
|
||||
sudo systemctl start libretime-celery
|
||||
sudo systemctl start libretime-liquidsoap
|
||||
sudo systemctl start libretime-playout</pre
|
||||
sudo systemctl start libretime-playout</pre>
|
||||
<p>
|
||||
Click "Done!" to bring up the Libretime configuration checklist; if your configuration is all green,
|
||||
you're ready to get started with your personal Libretime station!
|
||||
</p>
|
||||
<p>
|
||||
If you need to re-run the web installer, just remove <code>/etc/airtime/airtime.conf</code>.
|
||||
If you need to re-run the web installer, just remove <code><?php echo LIBRETIME_CONFIG_FILEPATH; ?></code>.
|
||||
</p>
|
||||
<div>
|
||||
<input type="submit" formtarget="finishSettingsForm" class="btn btn-primary btn-next" value="Done!"/>
|
||||
<input type="submit" formtarget="finishSettingsForm" class="btn btn-primary btn-next" value="Done!" />
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<?php
|
||||
$tempConfigPath = '/etc/airtime/airtime.conf.tmp';
|
||||
if (file_exists($tempConfigPath)) {
|
||||
$tempConfigPath = INSTALLER_CONFIG_FILEPATH;
|
||||
if (file_exists($tempConfigPath)) {
|
||||
$airtimeConfig = parse_ini_file($tempConfigPath, true);
|
||||
$rmq = $airtimeConfig['rabbitmq'];
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
<form action="#" role="form" id="rmqSettingsForm">
|
||||
|
|
|
@ -92,7 +92,7 @@ function checkDatabaseConfiguration()
|
|||
*/
|
||||
function configureDatabase()
|
||||
{
|
||||
Propel::init(CONFIG_PATH . 'airtime-conf-production.php');
|
||||
Propel::init(PROPEL_CONFIG_FILEPATH);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -102,11 +102,11 @@ function configureDatabase()
|
|||
*/
|
||||
function checkRMQConnection()
|
||||
{
|
||||
// Check for airtime.conf in /etc/airtime/ first, then check in the build directory,
|
||||
if (file_exists(AIRTIME_CONFIG_STOR . AIRTIME_CONFIG)) {
|
||||
$ini = parse_ini_file(AIRTIME_CONFIG_STOR . AIRTIME_CONFIG, true);
|
||||
// Check for installed config file first, then check in the build directory,
|
||||
if (file_exists(LIBRETIME_CONFIG_FILEPATH)) {
|
||||
$ini = parse_ini_file(LIBRETIME_CONFIG_FILEPATH, true);
|
||||
} else {
|
||||
$ini = parse_ini_file(BUILD_PATH . 'airtime.example.conf', true);
|
||||
$ini = parse_ini_file(SAMPLE_CONFIG_FILEPATH, true);
|
||||
}
|
||||
|
||||
$conn = new \PhpAmqpLib\Connection\AMQPStreamConnection(
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
<?php
|
||||
|
||||
require_once dirname(__DIR__, 2) . '/application/preload.php';
|
||||
|
||||
?>
|
||||
|
||||
<html>
|
||||
|
@ -23,27 +26,27 @@
|
|||
<div class="form-slider">
|
||||
<div id="databaseSettings" class="form-wrapper">
|
||||
<?php
|
||||
require_once SETUP_PATH . 'forms/database-settings.php';
|
||||
require_once SETUP_PATH . '/forms/database-settings.php';
|
||||
?>
|
||||
</div>
|
||||
<div id="rabbitmqSettings" class="form-wrapper">
|
||||
<?php
|
||||
require_once SETUP_PATH . 'forms/rabbitmq-settings.php';
|
||||
require_once SETUP_PATH . '/forms/rabbitmq-settings.php';
|
||||
?>
|
||||
</div>
|
||||
<div id="generalSettings" class="form-wrapper">
|
||||
<?php
|
||||
require_once SETUP_PATH . 'forms/general-settings.php';
|
||||
require_once SETUP_PATH . '/forms/general-settings.php';
|
||||
?>
|
||||
</div>
|
||||
<div id="mediaSettings" class="form-wrapper">
|
||||
<?php
|
||||
require_once SETUP_PATH . 'forms/media-settings.php';
|
||||
require_once SETUP_PATH . '/forms/media-settings.php';
|
||||
?>
|
||||
</div>
|
||||
<div id="finishSettings" class="form-wrapper">
|
||||
<?php
|
||||
require_once SETUP_PATH . 'forms/finish-settings.php';
|
||||
require_once SETUP_PATH . '/forms/finish-settings.php';
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
<?php
|
||||
|
||||
require_once dirname(__DIR__) . '/application/preload.php';
|
||||
|
||||
$configRun = false;
|
||||
$extensions = get_loaded_extensions();
|
||||
$airtimeSetup = false;
|
||||
|
@ -13,7 +15,7 @@ function showConfigCheckPage()
|
|||
checkConfiguration();
|
||||
}
|
||||
|
||||
require_once CONFIG_PATH . 'config-check.php';
|
||||
require_once CONFIG_PATH . '/config-check.php';
|
||||
|
||||
exit();
|
||||
}
|
||||
|
@ -25,38 +27,20 @@ function isApiCall()
|
|||
return strpos($path, 'api') !== false;
|
||||
}
|
||||
|
||||
// Define application path constants
|
||||
define('ROOT_PATH', dirname(__DIR__) . '/');
|
||||
define('LIB_PATH', ROOT_PATH . 'library/');
|
||||
define('BUILD_PATH', ROOT_PATH . 'build/');
|
||||
define('SETUP_PATH', BUILD_PATH . 'airtime-setup/');
|
||||
define('APPLICATION_PATH', ROOT_PATH . 'application/');
|
||||
define('CONFIG_PATH', APPLICATION_PATH . 'configs/');
|
||||
define('VENDOR_PATH', ROOT_PATH . 'vendor/');
|
||||
define('REST_MODULE_CONTROLLER_PATH', APPLICATION_PATH . 'modules/rest/controllers/');
|
||||
|
||||
define('AIRTIME_CONFIG_STOR', '/etc/airtime/');
|
||||
|
||||
define('AIRTIME_CONFIG', 'airtime.conf');
|
||||
|
||||
//Rest Module Controllers - for custom Rest_RouteController.php
|
||||
set_include_path(REST_MODULE_CONTROLLER_PATH . PATH_SEPARATOR . get_include_path());
|
||||
set_include_path(APPLICATION_PATH . '/modules/rest/controllers/' . PATH_SEPARATOR . get_include_path());
|
||||
|
||||
// Vendors (Composer, zend-loader is explicitly specified due to https://github.com/zf1/zend-application/pull/2#issuecomment-102599655)
|
||||
set_include_path(VENDOR_PATH . PATH_SEPARATOR . VENDOR_PATH . 'zf1s/zend-loader/library/' . PATH_SEPARATOR . get_include_path());
|
||||
set_include_path(VENDOR_PATH . PATH_SEPARATOR . VENDOR_PATH . '/zf1s/zend-loader/library/' . PATH_SEPARATOR . get_include_path());
|
||||
|
||||
// Ensure library/ is on include_path
|
||||
set_include_path(LIB_PATH . PATH_SEPARATOR . get_include_path());
|
||||
|
||||
require_once VENDOR_PATH . 'autoload.php';
|
||||
|
||||
if (!class_exists('Propel')) {
|
||||
exit('Error: Propel not found. Did you install Airtime\'s third-party dependencies with composer? (Check the README.)');
|
||||
}
|
||||
|
||||
require_once CONFIG_PATH . 'conf.php';
|
||||
|
||||
require_once SETUP_PATH . 'load.php';
|
||||
require_once SETUP_PATH . '/load.php';
|
||||
|
||||
// This allows us to pass ?config as a parameter to any page
|
||||
// and get to the config checklist.
|
||||
|
@ -64,16 +48,13 @@ if (array_key_exists('config', $_GET)) {
|
|||
showConfigCheckPage();
|
||||
}
|
||||
|
||||
$filename = isset($_SERVER['AIRTIME_CONF']) ?
|
||||
$_SERVER['AIRTIME_CONF'] : AIRTIME_CONFIG_STOR . AIRTIME_CONFIG;
|
||||
|
||||
// If a configuration file exists, forward to our boot script
|
||||
if (file_exists($filename)) {
|
||||
require_once APPLICATION_PATH . 'airtime-boot.php';
|
||||
if (file_exists(LIBRETIME_CONFIG_FILEPATH)) {
|
||||
require_once APPLICATION_PATH . '/airtime-boot.php';
|
||||
}
|
||||
// Otherwise, we'll need to run our configuration setup
|
||||
else {
|
||||
$airtimeSetup = true;
|
||||
|
||||
require_once SETUP_PATH . 'setup-config.php';
|
||||
require_once SETUP_PATH . '/setup-config.php';
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
*/
|
||||
class DatabaseSetup extends Setup
|
||||
{
|
||||
// airtime.conf section header
|
||||
// config file section header
|
||||
protected static $_section = '[database]';
|
||||
|
||||
// Constant form field names for passing errors back to the front-end
|
||||
|
@ -17,7 +17,7 @@ class DatabaseSetup extends Setup
|
|||
public const DB_NAME = 'dbName';
|
||||
public const DB_HOST = 'dbHost';
|
||||
|
||||
// Array of key->value pairs for airtime.conf
|
||||
// Array of key->value pairs for the config file
|
||||
protected static $_properties;
|
||||
|
||||
/**
|
||||
|
@ -294,6 +294,6 @@ class DatabaseSetup extends Setup
|
|||
*/
|
||||
private function updateDjangoTables()
|
||||
{
|
||||
shell_exec('LIBRETIME_CONFIG_FILEPATH=/etc/airtime/airtime.conf.temp libretime-api migrate');
|
||||
shell_exec('LIBRETIME_CONFIG_FILEPATH=' . INSTALLER_CONFIG_FILEPATH . ' libretime-api migrate');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,25 +1,5 @@
|
|||
<?php
|
||||
|
||||
define('CONFIG_PATH', dirname(__DIR__, 2) . '/application/configs/');
|
||||
|
||||
require_once dirname(__DIR__, 2) . '/vendor/jooola/propel1/runtime/lib/Propel.php';
|
||||
|
||||
require_once CONFIG_PATH . 'conf.php';
|
||||
|
||||
require_once dirname(__DIR__, 2) . '/application/models/airtime/CcPref.php';
|
||||
|
||||
require_once dirname(__DIR__, 2) . '/application/models/airtime/CcPrefPeer.php';
|
||||
|
||||
require_once dirname(__DIR__, 2) . '/application/models/airtime/CcPrefQuery.php';
|
||||
|
||||
require_once dirname(__DIR__, 2) . '/application/models/airtime/map/CcPrefTableMap.php';
|
||||
|
||||
require_once dirname(__DIR__, 2) . '/application/models/airtime/om/BaseCcPref.php';
|
||||
|
||||
require_once dirname(__DIR__, 2) . '/application/models/airtime/om/BaseCcPrefPeer.php';
|
||||
|
||||
require_once dirname(__DIR__, 2) . '/application/models/airtime/om/BaseCcPrefQuery.php';
|
||||
|
||||
/**
|
||||
* User: sourcefabric
|
||||
* Date: 08/12/14.
|
||||
|
@ -30,10 +10,10 @@ require_once dirname(__DIR__, 2) . '/application/models/airtime/om/BaseCcPrefQue
|
|||
*/
|
||||
class GeneralSetup extends Setup
|
||||
{
|
||||
// airtime.conf section header
|
||||
// config file section header
|
||||
protected static $_section = '[general]';
|
||||
|
||||
// Array of key->value pairs for airtime.conf
|
||||
// Array of key->value pairs for the config file
|
||||
protected static $_properties;
|
||||
|
||||
// Constant form field names for passing errors back to the front-end
|
||||
|
@ -86,8 +66,8 @@ class GeneralSetup extends Setup
|
|||
public function setupCorsUrl()
|
||||
{
|
||||
try {
|
||||
$_SERVER['AIRTIME_CONF'] = AIRTIME_CONF_TEMP_PATH;
|
||||
Propel::init(CONFIG_PATH . 'airtime-conf-production.php');
|
||||
$_SERVER['LIBRETIME_CONFIG_FILEPATH'] = INSTALLER_CONFIG_FILEPATH;
|
||||
Propel::init(PROPEL_CONFIG_FILEPATH);
|
||||
$con = Propel::getConnection();
|
||||
} catch (Exception $e) {
|
||||
self::$message = "Failed to insert Cors URL; database isn't configured properly!";
|
||||
|
@ -104,7 +84,6 @@ class GeneralSetup extends Setup
|
|||
try {
|
||||
Application_Model_Preference::SetAllowedCorsUrls(self::$cors_url);
|
||||
Propel::close();
|
||||
//unset($_SERVER['AIRTIME_CONF']);
|
||||
} catch (Exception $e) {
|
||||
self::$message = 'Failed to insert ' . self::$cors_url . ' into cc_pref' . $e;
|
||||
self::$errors[] = self::CORS_URL;
|
||||
|
|
|
@ -1,26 +1,5 @@
|
|||
<?php
|
||||
|
||||
define('CONFIG_PATH', dirname(__DIR__, 2) . '/application/configs/');
|
||||
define('DEFAULT_STOR_DIR', '/srv/airtime/stor/');
|
||||
|
||||
require_once dirname(__DIR__, 2) . '/vendor/jooola/propel1/runtime/lib/Propel.php';
|
||||
|
||||
require_once CONFIG_PATH . 'conf.php';
|
||||
|
||||
require_once dirname(__DIR__, 2) . '/application/models/airtime/map/CcMusicDirsTableMap.php';
|
||||
|
||||
require_once dirname(__DIR__, 2) . '/application/models/airtime/om/BaseCcMusicDirsQuery.php';
|
||||
|
||||
require_once dirname(__DIR__, 2) . '/application/models/airtime/CcMusicDirsQuery.php';
|
||||
|
||||
require_once dirname(__DIR__, 2) . '/application/models/airtime/om/BaseCcMusicDirs.php';
|
||||
|
||||
require_once dirname(__DIR__, 2) . '/application/models/airtime/CcMusicDirs.php';
|
||||
|
||||
require_once dirname(__DIR__, 2) . '/application/models/airtime/om/BaseCcMusicDirsPeer.php';
|
||||
|
||||
require_once dirname(__DIR__, 2) . '/application/models/airtime/CcMusicDirsPeer.php';
|
||||
|
||||
/**
|
||||
* Author: sourcefabric
|
||||
* Date: 08/12/14.
|
||||
|
@ -32,7 +11,6 @@ require_once dirname(__DIR__, 2) . '/application/models/airtime/CcMusicDirsPeer.
|
|||
class MediaSetup extends Setup
|
||||
{
|
||||
public const MEDIA_FOLDER = 'mediaFolder';
|
||||
public const LIBRETIME_CONF_FILE_NAME = 'airtime.conf';
|
||||
|
||||
public static $path;
|
||||
public static $message;
|
||||
|
@ -50,9 +28,9 @@ class MediaSetup extends Setup
|
|||
{
|
||||
// If the path passed in is empty, set it to the default
|
||||
if (strlen(self::$path) == 0) {
|
||||
self::$path = DEFAULT_STOR_DIR;
|
||||
if (!file_exists(DEFAULT_STOR_DIR)) {
|
||||
mkdir(DEFAULT_STOR_DIR, 0755, true);
|
||||
self::$path = INSTALLER_DEFAULT_STORAGE_PATH;
|
||||
if (!file_exists(INSTALLER_DEFAULT_STORAGE_PATH)) {
|
||||
mkdir(INSTALLER_DEFAULT_STORAGE_PATH, 0755, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -68,10 +46,10 @@ class MediaSetup extends Setup
|
|||
self::$errors[] = self::MEDIA_FOLDER;
|
||||
}
|
||||
|
||||
// Finalize and move airtime.conf.temp
|
||||
if (file_exists('/etc/airtime/')) {
|
||||
// Finalize and move installer config file to libretime config file
|
||||
if (file_exists(LIBRETIME_CONFIG_DIR)) {
|
||||
if (!$this->moveAirtimeConfig()) {
|
||||
self::$message = 'Error moving airtime.conf or deleting /tmp/airtime.conf.temp!';
|
||||
self::$message = 'Error moving or deleting the installer config!';
|
||||
self::$errors[] = 'ERR';
|
||||
}
|
||||
|
||||
|
@ -80,7 +58,7 @@ class MediaSetup extends Setup
|
|||
* airtime.conf to airtime.conf.tmp during the setup process. Now that we're done,
|
||||
* we can rename it to airtime.conf.bak to avoid confusion.
|
||||
*/
|
||||
$fileName = LIBRETIME_CONF_DIR . '/' . self::LIBRETIME_CONF_FILE_NAME;
|
||||
$fileName = LIBRETIME_CONFIG_FILEPATH;
|
||||
$tmpFile = $fileName . '.tmp';
|
||||
$bakFile = $fileName . '.bak';
|
||||
if (file_exists($tmpFile)) {
|
||||
|
@ -104,8 +82,8 @@ class MediaSetup extends Setup
|
|||
*/
|
||||
public function moveAirtimeConfig()
|
||||
{
|
||||
return copy(AIRTIME_CONF_TEMP_PATH, LIBRETIME_CONF_DIR . '/' . self::LIBRETIME_CONF_FILE_NAME)
|
||||
&& unlink(AIRTIME_CONF_TEMP_PATH);
|
||||
return copy(INSTALLER_CONFIG_FILEPATH, LIBRETIME_CONFIG_FILEPATH)
|
||||
&& unlink(INSTALLER_CONFIG_FILEPATH);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -115,8 +93,8 @@ class MediaSetup extends Setup
|
|||
public function setupMusicDirectory()
|
||||
{
|
||||
try {
|
||||
$_SERVER['AIRTIME_CONF'] = AIRTIME_CONF_TEMP_PATH;
|
||||
Propel::init(CONFIG_PATH . 'airtime-conf-production.php');
|
||||
$_SERVER['LIBRETIME_CONFIG_FILEPATH'] = INSTALLER_CONFIG_FILEPATH;
|
||||
Propel::init(PROPEL_CONFIG_FILEPATH);
|
||||
$con = Propel::getConnection();
|
||||
} catch (Exception $e) {
|
||||
self::$message = "Failed to insert media folder; database isn't configured properly!";
|
||||
|
|
|
@ -1,13 +1,6 @@
|
|||
<?php
|
||||
|
||||
define('BUILD_PATH', dirname(__DIR__, 2) . '/build/');
|
||||
define('AIRTIME_CONF_TEMP_PATH', '/etc/airtime/airtime.conf.temp');
|
||||
define('RMQ_INI_TEMP_PATH', '/tmp/rabbitmq.ini.tmp');
|
||||
|
||||
// load autoloader since this files is an entry path see
|
||||
// the end of the file for the "server" that is being
|
||||
// executed.
|
||||
require_once __DIR__ . '/../../vendor/autoload.php';
|
||||
require_once dirname(__DIR__, 2) . '/application/preload.php';
|
||||
|
||||
/**
|
||||
* Class Setup.
|
||||
|
@ -36,11 +29,11 @@ abstract class Setup
|
|||
*/
|
||||
protected function writeToTemp()
|
||||
{
|
||||
if (!file_exists(AIRTIME_CONF_TEMP_PATH)) {
|
||||
copy(BUILD_PATH . 'airtime.example.conf', AIRTIME_CONF_TEMP_PATH);
|
||||
if (!file_exists(INSTALLER_CONFIG_FILEPATH)) {
|
||||
copy(SAMPLE_CONFIG_FILEPATH, INSTALLER_CONFIG_FILEPATH);
|
||||
}
|
||||
//Logging::info(AIRTIME_CONF_TEMP_PATH);
|
||||
$this->_write(AIRTIME_CONF_TEMP_PATH);
|
||||
//Logging::info(CONFIG_TEMP_FILEPATH);
|
||||
$this->_write(INSTALLER_CONFIG_FILEPATH);
|
||||
}
|
||||
|
||||
protected function _write($filePath)
|
||||
|
|
|
@ -2,19 +2,7 @@
|
|||
|
||||
error_reporting(E_ALL | E_STRICT);
|
||||
|
||||
// load composer autoloader
|
||||
require_once __DIR__ . '/../../vendor/autoload.php';
|
||||
|
||||
// Define path to application directory
|
||||
defined('APPLICATION_PATH')
|
||||
|| define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../../application/'));
|
||||
|
||||
// Define path to configs directory
|
||||
define('CONFIG_PATH', APPLICATION_PATH . '/configs/');
|
||||
|
||||
// Define application environment
|
||||
defined('APPLICATION_ENV')
|
||||
|| define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'testing'));
|
||||
require_once dirname(__DIR__, 2) . '/application/preload.php';
|
||||
|
||||
// Ensure library/ is on include_path
|
||||
set_include_path(implode(PATH_SEPARATOR, [
|
||||
|
@ -46,9 +34,7 @@ set_include_path(implode(PATH_SEPARATOR, [
|
|||
realpath(APPLICATION_PATH . '/../../install_minimal/include'),
|
||||
]));
|
||||
|
||||
require_once CONFIG_PATH . '/constants.php';
|
||||
|
||||
Logging::setLogPath(LIBRETIME_LOG_DIR . '/legacy.log');
|
||||
Logging::setLogPath(LIBRETIME_LOG_FILEPATH);
|
||||
|
||||
set_include_path(APPLICATION_PATH . '/common' . PATH_SEPARATOR . get_include_path());
|
||||
|
||||
|
@ -76,8 +62,6 @@ set_include_path(APPLICATION_PATH . '/../tests/application/helpers' . PATH_SEPAR
|
|||
//cloud storage files
|
||||
set_include_path(APPLICATION_PATH . '/cloud_storage' . PATH_SEPARATOR . get_include_path());
|
||||
|
||||
require_once APPLICATION_PATH . '/configs/conf.php';
|
||||
|
||||
require_once 'jooola/propel1/runtime/lib/Propel.php';
|
||||
Propel::init('../application/configs/airtime-conf-production.php');
|
||||
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
<?php
|
||||
|
||||
require_once '../application/configs/conf.php';
|
||||
|
||||
/**
|
||||
* @internal
|
||||
* @coversNothing
|
||||
|
|
|
@ -130,7 +130,7 @@ class TestHelper
|
|||
|
||||
public static function setupZendBootstrap()
|
||||
{
|
||||
$application = new Zend_Application(APPLICATION_ENV, CONFIG_PATH . 'application.ini');
|
||||
$application = new Zend_Application(APPLICATION_ENV, CONFIG_PATH . '/application.ini');
|
||||
$application->bootstrap();
|
||||
|
||||
return $application;
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
<?php
|
||||
|
||||
//require_once "../application/configs/conf.php";
|
||||
|
||||
/**
|
||||
* @internal
|
||||
* @coversNothing
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
<?php
|
||||
|
||||
require_once '../application/configs/conf.php';
|
||||
|
||||
/**
|
||||
* @internal
|
||||
* @coversNothing
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
<?php
|
||||
|
||||
//require_once "../application/configs/conf.php";
|
||||
|
||||
/**
|
||||
* @internal
|
||||
* @coversNothing
|
||||
|
|
|
@ -1,28 +0,0 @@
|
|||
[database]
|
||||
|
||||
host = localhost
|
||||
dbname = libretime_test
|
||||
dbuser = libretime
|
||||
dbpass = libretime
|
||||
|
||||
[rabbitmq]
|
||||
host = 127.0.0.1
|
||||
port = 5672
|
||||
user = airtime_tests
|
||||
password = airtime_tests
|
||||
vhost = /airtime_tests
|
||||
|
||||
[general]
|
||||
dev_env = testing
|
||||
api_key = H2NRICX6CM8F50CU123C
|
||||
web_server_user = www-data
|
||||
airtime_dir = /usr/share/airtime
|
||||
base_url = localhost
|
||||
base_port = 80
|
||||
base_dir = /
|
||||
cache_ahead_hours = 1
|
||||
station_id = teststation
|
||||
|
||||
[monit]
|
||||
monit_user = guest
|
||||
monit_password = airtime
|
|
@ -16,8 +16,9 @@
|
|||
|
||||
<php>
|
||||
<env name="ENVIRONMENT" value="testing" />
|
||||
<env name="AIRTIME_UNIT_TEST" value="1" />
|
||||
<env name="LIBRETIME_CONF_DIR" value="./conf" />
|
||||
<env name="APPLICATION_ENV" value="testing" />
|
||||
<env name="LIBRETIME_UNIT_TEST" value="1" />
|
||||
<env name="LIBRETIME_CONFIG_DIR" value="./config" />
|
||||
<env name="LIBRETIME_LOG_DIR" value="./log" />
|
||||
</php>
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@ export RABBITMQ_USER
|
|||
export RABBITMQ_PASSWORD
|
||||
export RABBITMQ_VHOST
|
||||
|
||||
export AIRTIME_UNIT_TEST="1"
|
||||
export LIBRETIME_UNIT_TEST="1"
|
||||
|
||||
#Change the working directory to this script's directory
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
|
Loading…
Reference in New Issue