Rename airtime_mvc/ to legacy/

This commit is contained in:
jo 2021-10-11 13:43:25 +02:00
parent f0879322c2
commit 3e18d42c8b
1316 changed files with 0 additions and 0 deletions

View file

@ -0,0 +1,94 @@
<?php
$ccAcl = new Zend_Acl();
$ccAcl->addRole(new Zend_Acl_Role('G'))
->addRole(new Zend_Acl_Role('H'), 'G')
->addRole(new Zend_Acl_Role('P'), 'H')
->addRole(new Zend_Acl_Role('A'), 'P')
->addRole(new Zend_Acl_Role('S'), 'A');
$ccAcl->add(new Zend_Acl_Resource('library'))
->add(new Zend_Acl_Resource('index'))
->add(new Zend_Acl_Resource('user'))
->add(new Zend_Acl_Resource('tracktype'))
->add(new Zend_Acl_Resource('error'))
->add(new Zend_Acl_Resource('login'))
->add(new Zend_Acl_Resource('playlist'))
->add(new Zend_Acl_Resource('plupload'))
->add(new Zend_Acl_Resource('schedule'))
->add(new Zend_Acl_Resource('api'))
->add(new Zend_Acl_Resource('systemstatus'))
->add(new Zend_Acl_Resource('dashboard'))
->add(new Zend_Acl_Resource('preference'))
->add(new Zend_Acl_Resource('showbuilder'))
->add(new Zend_Acl_Resource('playouthistory'))
->add(new Zend_Acl_Resource('playouthistorytemplate'))
->add(new Zend_Acl_Resource('listenerstat'))
->add(new Zend_Acl_Resource('showlistenerstat'))
->add(new Zend_Acl_Resource('usersettings'))
->add(new Zend_Acl_Resource('audiopreview'))
->add(new Zend_Acl_Resource('webstream'))
->add(new Zend_Acl_Resource('locale'))
->add(new Zend_Acl_Resource('upgrade'))
->add(new Zend_Acl_Resource('downgrade'))
->add(new Zend_Acl_Resource('rest:media'))
->add(new Zend_Acl_Resource('rest:show-image'))
->add(new Zend_Acl_Resource('rest:podcast'))
->add(new Zend_Acl_Resource('rest:podcast-episodes'))
->add(new Zend_Acl_Resource('podcast'))
->add(new Zend_Acl_Resource('player'))
->add(new Zend_Acl_Resource('render'))
->add(new Zend_Acl_Resource('embeddablewidgets'))
->add(new Zend_Acl_Resource('setup'))
->add(new Zend_Acl_Resource('feeds'));
/** Creating permissions */
$ccAcl->allow('G', 'index')
->allow('G', 'login')
->allow('G', 'error')
->allow('G', 'user', 'edit-user')
->allow('G', 'showbuilder')
->allow('G', 'render')
->allow('G', 'api')
->allow('G', 'schedule')
->allow('G', 'dashboard')
->allow('G', 'audiopreview')
->allow('G', 'webstream')
->allow('G', 'locale')
->allow('G', 'upgrade')
->allow('G', 'downgrade')
->allow('G', 'rest:show-image', 'get')
->allow('G', 'rest:media', 'get')
->allow('G', 'rest:podcast', 'get')
->allow('G', 'rest:podcast-episodes', 'get')
->allow('G', 'setup')
->allow('G', 'embeddablewidgets')
->allow('G', 'feeds')
->allow('H', 'rest:show-image')
->allow('H', 'rest:media')
->allow('H', 'rest:podcast')
->allow('H', 'rest:podcast-episodes')
->allow('H', 'podcast')
->allow('H', 'preference', 'is-import-in-progress')
->allow('H', 'usersettings')
->allow('H', 'plupload')
->allow('H', 'library')
->allow('H', 'playlist')
->allow('H', 'playouthistory')
->allow('H', 'listenerstat')
->allow('H', 'showlistenerstat')
->allow('A', 'playouthistorytemplate')
->allow('A', 'user')
->allow('A', 'tracktype')
->allow('A', 'systemstatus')
->allow('A', 'preference');
$aclPlugin = new Zend_Controller_Plugin_Acl($ccAcl);
Zend_View_Helper_Navigation_HelperAbstract::setDefaultAcl($ccAcl);
$front = Zend_Controller_Front::getInstance();
$front->registerPlugin($aclPlugin);

View file

@ -0,0 +1,34 @@
<?php
// This file generated by Propel 1.5.2 convert-conf target
// from XML runtime conf file /home/james/src/airtime/airtime_mvc/build/runtime-conf.xml
/* 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
* that the user can customize these.
*/
$CC_CONFIG = Config::getConfig();
$dbhost = $CC_CONFIG['dsn']['hostspec'];
$dbname = $CC_CONFIG['dsn']['database'];
$dbuser = $CC_CONFIG['dsn']['username'];
$dbpass = $CC_CONFIG['dsn']['password'];
$conf = array (
'datasources' =>
array (
'airtime' =>
array (
'adapter' => 'pgsql',
'connection' =>
array (
'dsn' => "pgsql:host=$dbhost;port=5432;dbname=$dbname;user=$dbuser;password=$dbpass",
),
),
'default' => 'airtime',
),
'generator_version' => '1.7.0',
);
$conf['classmap'] = include(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'classmap-airtime-conf.php');
return $conf;

View file

@ -0,0 +1,28 @@
<?php
// This file generated by Propel 1.7.0 convert-conf target
// from XML runtime conf file /vagrant/airtime_mvc/build/runtime-conf.xml
$conf = array (
'datasources' =>
array (
'airtime' =>
array (
'adapter' => 'pgsql',
'connection' =>
array (
'dsn' => 'pgsql:host=localhost;port=5432;dbname=airtime;user=airtime;password=airtime',
),
),
'airtime_test' =>
array (
'adapter' => 'pgsql',
'connection' =>
array (
'dsn' => 'pgsql:host=localhost;port=5432;dbname=airtime_test;user=airtime;password=airtime',
),
),
'default' => 'airtime',
),
'generator_version' => '1.7.0',
);
$conf['classmap'] = include(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'classmap-airtime-conf.php');
return $conf;

View file

@ -0,0 +1,33 @@
[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
appnamespace = "Application"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.params.displayExceptions = 0
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.frontController.plugins.putHandler = "Zend_Controller_Plugin_PutHandler"
resources.modules[] = ""
;load everything in the modules directory including models
resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts/"
resources.modules[] = ""
resources.view[] =
; These are no longer needed. They are specified in /etc/airtime/airtime.conf:
;resources.db.adapter = "Pdo_Pgsql"
;resources.db.params.charset = "utf8"
;resources.db.params.host = "localhost"
;resources.db.params.username = "airtime"
;resources.db.params.password = "airtime"
;resources.db.params.dbname = "airtime"
[staging : production]
[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1

View file

@ -0,0 +1,284 @@
<?php
// This file generated by Propel 1.7.0 convert-conf target
return array (
'BaseCcBlock' => 'airtime/om/BaseCcBlock.php',
'BaseCcBlockPeer' => 'airtime/om/BaseCcBlockPeer.php',
'BaseCcBlockQuery' => 'airtime/om/BaseCcBlockQuery.php',
'BaseCcBlockcontents' => 'airtime/om/BaseCcBlockcontents.php',
'BaseCcBlockcontentsPeer' => 'airtime/om/BaseCcBlockcontentsPeer.php',
'BaseCcBlockcontentsQuery' => 'airtime/om/BaseCcBlockcontentsQuery.php',
'BaseCcBlockcriteria' => 'airtime/om/BaseCcBlockcriteria.php',
'BaseCcBlockcriteriaPeer' => 'airtime/om/BaseCcBlockcriteriaPeer.php',
'BaseCcBlockcriteriaQuery' => 'airtime/om/BaseCcBlockcriteriaQuery.php',
'BaseCcCountry' => 'airtime/om/BaseCcCountry.php',
'BaseCcCountryPeer' => 'airtime/om/BaseCcCountryPeer.php',
'BaseCcCountryQuery' => 'airtime/om/BaseCcCountryQuery.php',
'BaseCcFiles' => 'airtime/om/BaseCcFiles.php',
'BaseCcFilesPeer' => 'airtime/om/BaseCcFilesPeer.php',
'BaseCcFilesQuery' => 'airtime/om/BaseCcFilesQuery.php',
'BaseCcListenerCount' => 'airtime/om/BaseCcListenerCount.php',
'BaseCcListenerCountPeer' => 'airtime/om/BaseCcListenerCountPeer.php',
'BaseCcListenerCountQuery' => 'airtime/om/BaseCcListenerCountQuery.php',
'BaseCcLiveLog' => 'airtime/om/BaseCcLiveLog.php',
'BaseCcLiveLogPeer' => 'airtime/om/BaseCcLiveLogPeer.php',
'BaseCcLiveLogQuery' => 'airtime/om/BaseCcLiveLogQuery.php',
'BaseCcLoginAttempts' => 'airtime/om/BaseCcLoginAttempts.php',
'BaseCcLoginAttemptsPeer' => 'airtime/om/BaseCcLoginAttemptsPeer.php',
'BaseCcLoginAttemptsQuery' => 'airtime/om/BaseCcLoginAttemptsQuery.php',
'BaseCcMountName' => 'airtime/om/BaseCcMountName.php',
'BaseCcMountNamePeer' => 'airtime/om/BaseCcMountNamePeer.php',
'BaseCcMountNameQuery' => 'airtime/om/BaseCcMountNameQuery.php',
'BaseCcMusicDirs' => 'airtime/om/BaseCcMusicDirs.php',
'BaseCcMusicDirsPeer' => 'airtime/om/BaseCcMusicDirsPeer.php',
'BaseCcMusicDirsQuery' => 'airtime/om/BaseCcMusicDirsQuery.php',
'BaseCcPerms' => 'airtime/om/BaseCcPerms.php',
'BaseCcPermsPeer' => 'airtime/om/BaseCcPermsPeer.php',
'BaseCcPermsQuery' => 'airtime/om/BaseCcPermsQuery.php',
'BaseCcPlaylist' => 'airtime/om/BaseCcPlaylist.php',
'BaseCcPlaylistPeer' => 'airtime/om/BaseCcPlaylistPeer.php',
'BaseCcPlaylistQuery' => 'airtime/om/BaseCcPlaylistQuery.php',
'BaseCcPlaylistcontents' => 'airtime/om/BaseCcPlaylistcontents.php',
'BaseCcPlaylistcontentsPeer' => 'airtime/om/BaseCcPlaylistcontentsPeer.php',
'BaseCcPlaylistcontentsQuery' => 'airtime/om/BaseCcPlaylistcontentsQuery.php',
'BaseCcPlayoutHistory' => 'airtime/om/BaseCcPlayoutHistory.php',
'BaseCcPlayoutHistoryMetaData' => 'airtime/om/BaseCcPlayoutHistoryMetaData.php',
'BaseCcPlayoutHistoryMetaDataPeer' => 'airtime/om/BaseCcPlayoutHistoryMetaDataPeer.php',
'BaseCcPlayoutHistoryMetaDataQuery' => 'airtime/om/BaseCcPlayoutHistoryMetaDataQuery.php',
'BaseCcPlayoutHistoryPeer' => 'airtime/om/BaseCcPlayoutHistoryPeer.php',
'BaseCcPlayoutHistoryQuery' => 'airtime/om/BaseCcPlayoutHistoryQuery.php',
'BaseCcPlayoutHistoryTemplate' => 'airtime/om/BaseCcPlayoutHistoryTemplate.php',
'BaseCcPlayoutHistoryTemplateField' => 'airtime/om/BaseCcPlayoutHistoryTemplateField.php',
'BaseCcPlayoutHistoryTemplateFieldPeer' => 'airtime/om/BaseCcPlayoutHistoryTemplateFieldPeer.php',
'BaseCcPlayoutHistoryTemplateFieldQuery' => 'airtime/om/BaseCcPlayoutHistoryTemplateFieldQuery.php',
'BaseCcPlayoutHistoryTemplatePeer' => 'airtime/om/BaseCcPlayoutHistoryTemplatePeer.php',
'BaseCcPlayoutHistoryTemplateQuery' => 'airtime/om/BaseCcPlayoutHistoryTemplateQuery.php',
'BaseCcPref' => 'airtime/om/BaseCcPref.php',
'BaseCcPrefPeer' => 'airtime/om/BaseCcPrefPeer.php',
'BaseCcPrefQuery' => 'airtime/om/BaseCcPrefQuery.php',
'BaseCcSchedule' => 'airtime/om/BaseCcSchedule.php',
'BaseCcSchedulePeer' => 'airtime/om/BaseCcSchedulePeer.php',
'BaseCcScheduleQuery' => 'airtime/om/BaseCcScheduleQuery.php',
'BaseCcServiceRegister' => 'airtime/om/BaseCcServiceRegister.php',
'BaseCcServiceRegisterPeer' => 'airtime/om/BaseCcServiceRegisterPeer.php',
'BaseCcServiceRegisterQuery' => 'airtime/om/BaseCcServiceRegisterQuery.php',
'BaseCcSess' => 'airtime/om/BaseCcSess.php',
'BaseCcSessPeer' => 'airtime/om/BaseCcSessPeer.php',
'BaseCcSessQuery' => 'airtime/om/BaseCcSessQuery.php',
'BaseCcShow' => 'airtime/om/BaseCcShow.php',
'BaseCcShowDays' => 'airtime/om/BaseCcShowDays.php',
'BaseCcShowDaysPeer' => 'airtime/om/BaseCcShowDaysPeer.php',
'BaseCcShowDaysQuery' => 'airtime/om/BaseCcShowDaysQuery.php',
'BaseCcShowHosts' => 'airtime/om/BaseCcShowHosts.php',
'BaseCcShowHostsPeer' => 'airtime/om/BaseCcShowHostsPeer.php',
'BaseCcShowHostsQuery' => 'airtime/om/BaseCcShowHostsQuery.php',
'BaseCcShowInstances' => 'airtime/om/BaseCcShowInstances.php',
'BaseCcShowInstancesPeer' => 'airtime/om/BaseCcShowInstancesPeer.php',
'BaseCcShowInstancesQuery' => 'airtime/om/BaseCcShowInstancesQuery.php',
'BaseCcShowPeer' => 'airtime/om/BaseCcShowPeer.php',
'BaseCcShowQuery' => 'airtime/om/BaseCcShowQuery.php',
'BaseCcShowRebroadcast' => 'airtime/om/BaseCcShowRebroadcast.php',
'BaseCcShowRebroadcastPeer' => 'airtime/om/BaseCcShowRebroadcastPeer.php',
'BaseCcShowRebroadcastQuery' => 'airtime/om/BaseCcShowRebroadcastQuery.php',
'BaseCcStreamSetting' => 'airtime/om/BaseCcStreamSetting.php',
'BaseCcStreamSettingPeer' => 'airtime/om/BaseCcStreamSettingPeer.php',
'BaseCcStreamSettingQuery' => 'airtime/om/BaseCcStreamSettingQuery.php',
'BaseCcTracktypes' => 'airtime/om/BaseCcTracktypes.php',
'BaseCcTracktypesPeer' => 'airtime/om/BaseCcTracktypesPeer.php',
'BaseCcTracktypesQuery' => 'airtime/om/BaseCcTracktypesQuery.php',
'BaseCcSubjs' => 'airtime/om/BaseCcSubjs.php',
'BaseCcSubjsPeer' => 'airtime/om/BaseCcSubjsPeer.php',
'BaseCcSubjsQuery' => 'airtime/om/BaseCcSubjsQuery.php',
'BaseCcSubjsToken' => 'airtime/om/BaseCcSubjsToken.php',
'BaseCcSubjsTokenPeer' => 'airtime/om/BaseCcSubjsTokenPeer.php',
'BaseCcSubjsTokenQuery' => 'airtime/om/BaseCcSubjsTokenQuery.php',
'BaseCcTimestamp' => 'airtime/om/BaseCcTimestamp.php',
'BaseCcTimestampPeer' => 'airtime/om/BaseCcTimestampPeer.php',
'BaseCcTimestampQuery' => 'airtime/om/BaseCcTimestampQuery.php',
'BaseCcWebstream' => 'airtime/om/BaseCcWebstream.php',
'BaseCcWebstreamMetadata' => 'airtime/om/BaseCcWebstreamMetadata.php',
'BaseCcWebstreamMetadataPeer' => 'airtime/om/BaseCcWebstreamMetadataPeer.php',
'BaseCcWebstreamMetadataQuery' => 'airtime/om/BaseCcWebstreamMetadataQuery.php',
'BaseCcWebstreamPeer' => 'airtime/om/BaseCcWebstreamPeer.php',
'BaseCcWebstreamQuery' => 'airtime/om/BaseCcWebstreamQuery.php',
'BaseCeleryTasks' => 'airtime/om/BaseCeleryTasks.php',
'BaseCeleryTasksPeer' => 'airtime/om/BaseCeleryTasksPeer.php',
'BaseCeleryTasksQuery' => 'airtime/om/BaseCeleryTasksQuery.php',
'BaseCloudFile' => 'airtime/om/BaseCloudFile.php',
'BaseCloudFilePeer' => 'airtime/om/BaseCloudFilePeer.php',
'BaseCloudFileQuery' => 'airtime/om/BaseCloudFileQuery.php',
'BaseImportedPodcast' => 'airtime/om/BaseImportedPodcast.php',
'BaseImportedPodcastPeer' => 'airtime/om/BaseImportedPodcastPeer.php',
'BaseImportedPodcastQuery' => 'airtime/om/BaseImportedPodcastQuery.php',
'BasePodcast' => 'airtime/om/BasePodcast.php',
'BasePodcastEpisodes' => 'airtime/om/BasePodcastEpisodes.php',
'BasePodcastEpisodesPeer' => 'airtime/om/BasePodcastEpisodesPeer.php',
'BasePodcastEpisodesQuery' => 'airtime/om/BasePodcastEpisodesQuery.php',
'BasePodcastPeer' => 'airtime/om/BasePodcastPeer.php',
'BasePodcastQuery' => 'airtime/om/BasePodcastQuery.php',
'BaseStationPodcast' => 'airtime/om/BaseStationPodcast.php',
'BaseStationPodcastPeer' => 'airtime/om/BaseStationPodcastPeer.php',
'BaseStationPodcastQuery' => 'airtime/om/BaseStationPodcastQuery.php',
'BaseThirdPartyTrackReferences' => 'airtime/om/BaseThirdPartyTrackReferences.php',
'BaseThirdPartyTrackReferencesPeer' => 'airtime/om/BaseThirdPartyTrackReferencesPeer.php',
'BaseThirdPartyTrackReferencesQuery' => 'airtime/om/BaseThirdPartyTrackReferencesQuery.php',
'CcBlock' => 'airtime/CcBlock.php',
'CcBlockPeer' => 'airtime/CcBlockPeer.php',
'CcBlockQuery' => 'airtime/CcBlockQuery.php',
'CcBlockTableMap' => 'airtime/map/CcBlockTableMap.php',
'CcBlockcontents' => 'airtime/CcBlockcontents.php',
'CcBlockcontentsPeer' => 'airtime/CcBlockcontentsPeer.php',
'CcBlockcontentsQuery' => 'airtime/CcBlockcontentsQuery.php',
'CcBlockcontentsTableMap' => 'airtime/map/CcBlockcontentsTableMap.php',
'CcBlockcriteria' => 'airtime/CcBlockcriteria.php',
'CcBlockcriteriaPeer' => 'airtime/CcBlockcriteriaPeer.php',
'CcBlockcriteriaQuery' => 'airtime/CcBlockcriteriaQuery.php',
'CcBlockcriteriaTableMap' => 'airtime/map/CcBlockcriteriaTableMap.php',
'CcCountry' => 'airtime/CcCountry.php',
'CcCountryPeer' => 'airtime/CcCountryPeer.php',
'CcCountryQuery' => 'airtime/CcCountryQuery.php',
'CcCountryTableMap' => 'airtime/map/CcCountryTableMap.php',
'CcFiles' => 'airtime/CcFiles.php',
'CcFilesPeer' => 'airtime/CcFilesPeer.php',
'CcFilesQuery' => 'airtime/CcFilesQuery.php',
'CcFilesTableMap' => 'airtime/map/CcFilesTableMap.php',
'CcListenerCount' => 'airtime/CcListenerCount.php',
'CcListenerCountPeer' => 'airtime/CcListenerCountPeer.php',
'CcListenerCountQuery' => 'airtime/CcListenerCountQuery.php',
'CcListenerCountTableMap' => 'airtime/map/CcListenerCountTableMap.php',
'CcLiveLog' => 'airtime/CcLiveLog.php',
'CcLiveLogPeer' => 'airtime/CcLiveLogPeer.php',
'CcLiveLogQuery' => 'airtime/CcLiveLogQuery.php',
'CcLiveLogTableMap' => 'airtime/map/CcLiveLogTableMap.php',
'CcLoginAttempts' => 'airtime/CcLoginAttempts.php',
'CcLoginAttemptsPeer' => 'airtime/CcLoginAttemptsPeer.php',
'CcLoginAttemptsQuery' => 'airtime/CcLoginAttemptsQuery.php',
'CcLoginAttemptsTableMap' => 'airtime/map/CcLoginAttemptsTableMap.php',
'CcMountName' => 'airtime/CcMountName.php',
'CcMountNamePeer' => 'airtime/CcMountNamePeer.php',
'CcMountNameQuery' => 'airtime/CcMountNameQuery.php',
'CcMountNameTableMap' => 'airtime/map/CcMountNameTableMap.php',
'CcMusicDirs' => 'airtime/CcMusicDirs.php',
'CcMusicDirsPeer' => 'airtime/CcMusicDirsPeer.php',
'CcMusicDirsQuery' => 'airtime/CcMusicDirsQuery.php',
'CcMusicDirsTableMap' => 'airtime/map/CcMusicDirsTableMap.php',
'CcPerms' => 'airtime/CcPerms.php',
'CcPermsPeer' => 'airtime/CcPermsPeer.php',
'CcPermsQuery' => 'airtime/CcPermsQuery.php',
'CcPermsTableMap' => 'airtime/map/CcPermsTableMap.php',
'CcPlaylist' => 'airtime/CcPlaylist.php',
'CcPlaylistPeer' => 'airtime/CcPlaylistPeer.php',
'CcPlaylistQuery' => 'airtime/CcPlaylistQuery.php',
'CcPlaylistTableMap' => 'airtime/map/CcPlaylistTableMap.php',
'CcPlaylistcontents' => 'airtime/CcPlaylistcontents.php',
'CcPlaylistcontentsPeer' => 'airtime/CcPlaylistcontentsPeer.php',
'CcPlaylistcontentsQuery' => 'airtime/CcPlaylistcontentsQuery.php',
'CcPlaylistcontentsTableMap' => 'airtime/map/CcPlaylistcontentsTableMap.php',
'CcPlayoutHistory' => 'airtime/CcPlayoutHistory.php',
'CcPlayoutHistoryMetaData' => 'airtime/CcPlayoutHistoryMetaData.php',
'CcPlayoutHistoryMetaDataPeer' => 'airtime/CcPlayoutHistoryMetaDataPeer.php',
'CcPlayoutHistoryMetaDataQuery' => 'airtime/CcPlayoutHistoryMetaDataQuery.php',
'CcPlayoutHistoryMetaDataTableMap' => 'airtime/map/CcPlayoutHistoryMetaDataTableMap.php',
'CcPlayoutHistoryPeer' => 'airtime/CcPlayoutHistoryPeer.php',
'CcPlayoutHistoryQuery' => 'airtime/CcPlayoutHistoryQuery.php',
'CcPlayoutHistoryTableMap' => 'airtime/map/CcPlayoutHistoryTableMap.php',
'CcPlayoutHistoryTemplate' => 'airtime/CcPlayoutHistoryTemplate.php',
'CcPlayoutHistoryTemplateField' => 'airtime/CcPlayoutHistoryTemplateField.php',
'CcPlayoutHistoryTemplateFieldPeer' => 'airtime/CcPlayoutHistoryTemplateFieldPeer.php',
'CcPlayoutHistoryTemplateFieldQuery' => 'airtime/CcPlayoutHistoryTemplateFieldQuery.php',
'CcPlayoutHistoryTemplateFieldTableMap' => 'airtime/map/CcPlayoutHistoryTemplateFieldTableMap.php',
'CcPlayoutHistoryTemplatePeer' => 'airtime/CcPlayoutHistoryTemplatePeer.php',
'CcPlayoutHistoryTemplateQuery' => 'airtime/CcPlayoutHistoryTemplateQuery.php',
'CcPlayoutHistoryTemplateTableMap' => 'airtime/map/CcPlayoutHistoryTemplateTableMap.php',
'CcPref' => 'airtime/CcPref.php',
'CcPrefPeer' => 'airtime/CcPrefPeer.php',
'CcPrefQuery' => 'airtime/CcPrefQuery.php',
'CcPrefTableMap' => 'airtime/map/CcPrefTableMap.php',
'CcSchedule' => 'airtime/CcSchedule.php',
'CcSchedulePeer' => 'airtime/CcSchedulePeer.php',
'CcScheduleQuery' => 'airtime/CcScheduleQuery.php',
'CcScheduleTableMap' => 'airtime/map/CcScheduleTableMap.php',
'CcServiceRegister' => 'airtime/CcServiceRegister.php',
'CcServiceRegisterPeer' => 'airtime/CcServiceRegisterPeer.php',
'CcServiceRegisterQuery' => 'airtime/CcServiceRegisterQuery.php',
'CcServiceRegisterTableMap' => 'airtime/map/CcServiceRegisterTableMap.php',
'CcSess' => 'airtime/CcSess.php',
'CcSessPeer' => 'airtime/CcSessPeer.php',
'CcSessQuery' => 'airtime/CcSessQuery.php',
'CcSessTableMap' => 'airtime/map/CcSessTableMap.php',
'CcShow' => 'airtime/CcShow.php',
'CcShowDays' => 'airtime/CcShowDays.php',
'CcShowDaysPeer' => 'airtime/CcShowDaysPeer.php',
'CcShowDaysQuery' => 'airtime/CcShowDaysQuery.php',
'CcShowDaysTableMap' => 'airtime/map/CcShowDaysTableMap.php',
'CcShowHosts' => 'airtime/CcShowHosts.php',
'CcShowHostsPeer' => 'airtime/CcShowHostsPeer.php',
'CcShowHostsQuery' => 'airtime/CcShowHostsQuery.php',
'CcShowHostsTableMap' => 'airtime/map/CcShowHostsTableMap.php',
'CcShowInstances' => 'airtime/CcShowInstances.php',
'CcShowInstancesPeer' => 'airtime/CcShowInstancesPeer.php',
'CcShowInstancesQuery' => 'airtime/CcShowInstancesQuery.php',
'CcShowInstancesTableMap' => 'airtime/map/CcShowInstancesTableMap.php',
'CcShowPeer' => 'airtime/CcShowPeer.php',
'CcShowQuery' => 'airtime/CcShowQuery.php',
'CcShowRebroadcast' => 'airtime/CcShowRebroadcast.php',
'CcShowRebroadcastPeer' => 'airtime/CcShowRebroadcastPeer.php',
'CcShowRebroadcastQuery' => 'airtime/CcShowRebroadcastQuery.php',
'CcShowRebroadcastTableMap' => 'airtime/map/CcShowRebroadcastTableMap.php',
'CcShowTableMap' => 'airtime/map/CcShowTableMap.php',
'CcStreamSetting' => 'airtime/CcStreamSetting.php',
'CcStreamSettingPeer' => 'airtime/CcStreamSettingPeer.php',
'CcStreamSettingQuery' => 'airtime/CcStreamSettingQuery.php',
'CcStreamSettingTableMap' => 'airtime/map/CcStreamSettingTableMap.php',
'CcTracktypes' => 'airtime/CcTracktypes.php',
'CcTracktypesPeer' => 'airtime/CcTracktypesPeer.php',
'CcTracktypesQuery' => 'airtime/CcTracktypesQuery.php',
'CcTracktypesTableMap' => 'airtime/map/CcTracktypesTableMap.php',
'CcSubjs' => 'airtime/CcSubjs.php',
'CcSubjsPeer' => 'airtime/CcSubjsPeer.php',
'CcSubjsQuery' => 'airtime/CcSubjsQuery.php',
'CcSubjsTableMap' => 'airtime/map/CcSubjsTableMap.php',
'CcSubjsToken' => 'airtime/CcSubjsToken.php',
'CcSubjsTokenPeer' => 'airtime/CcSubjsTokenPeer.php',
'CcSubjsTokenQuery' => 'airtime/CcSubjsTokenQuery.php',
'CcSubjsTokenTableMap' => 'airtime/map/CcSubjsTokenTableMap.php',
'CcTimestamp' => 'airtime/CcTimestamp.php',
'CcTimestampPeer' => 'airtime/CcTimestampPeer.php',
'CcTimestampQuery' => 'airtime/CcTimestampQuery.php',
'CcTimestampTableMap' => 'airtime/map/CcTimestampTableMap.php',
'CcWebstream' => 'airtime/CcWebstream.php',
'CcWebstreamMetadata' => 'airtime/CcWebstreamMetadata.php',
'CcWebstreamMetadataPeer' => 'airtime/CcWebstreamMetadataPeer.php',
'CcWebstreamMetadataQuery' => 'airtime/CcWebstreamMetadataQuery.php',
'CcWebstreamMetadataTableMap' => 'airtime/map/CcWebstreamMetadataTableMap.php',
'CcWebstreamPeer' => 'airtime/CcWebstreamPeer.php',
'CcWebstreamQuery' => 'airtime/CcWebstreamQuery.php',
'CcWebstreamTableMap' => 'airtime/map/CcWebstreamTableMap.php',
'CeleryTasks' => 'airtime/CeleryTasks.php',
'CeleryTasksPeer' => 'airtime/CeleryTasksPeer.php',
'CeleryTasksQuery' => 'airtime/CeleryTasksQuery.php',
'CeleryTasksTableMap' => 'airtime/map/CeleryTasksTableMap.php',
'CloudFile' => 'airtime/CloudFile.php',
'CloudFilePeer' => 'airtime/CloudFilePeer.php',
'CloudFileQuery' => 'airtime/CloudFileQuery.php',
'CloudFileTableMap' => 'airtime/map/CloudFileTableMap.php',
'ImportedPodcast' => 'airtime/ImportedPodcast.php',
'ImportedPodcastPeer' => 'airtime/ImportedPodcastPeer.php',
'ImportedPodcastQuery' => 'airtime/ImportedPodcastQuery.php',
'ImportedPodcastTableMap' => 'airtime/map/ImportedPodcastTableMap.php',
'Podcast' => 'airtime/Podcast.php',
'PodcastEpisodes' => 'airtime/PodcastEpisodes.php',
'PodcastEpisodesPeer' => 'airtime/PodcastEpisodesPeer.php',
'PodcastEpisodesQuery' => 'airtime/PodcastEpisodesQuery.php',
'PodcastEpisodesTableMap' => 'airtime/map/PodcastEpisodesTableMap.php',
'PodcastPeer' => 'airtime/PodcastPeer.php',
'PodcastQuery' => 'airtime/PodcastQuery.php',
'PodcastTableMap' => 'airtime/map/PodcastTableMap.php',
'StationPodcast' => 'airtime/StationPodcast.php',
'StationPodcastPeer' => 'airtime/StationPodcastPeer.php',
'StationPodcastQuery' => 'airtime/StationPodcastQuery.php',
'StationPodcastTableMap' => 'airtime/map/StationPodcastTableMap.php',
'ThirdPartyTrackReferences' => 'airtime/ThirdPartyTrackReferences.php',
'ThirdPartyTrackReferencesPeer' => 'airtime/ThirdPartyTrackReferencesPeer.php',
'ThirdPartyTrackReferencesQuery' => 'airtime/ThirdPartyTrackReferencesQuery.php',
'ThirdPartyTrackReferencesTableMap' => 'airtime/map/ThirdPartyTrackReferencesTableMap.php',
);

View file

@ -0,0 +1,122 @@
<?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';
class Config {
private static $CC_CONFIG = null;
private static $rootDir;
public static function loadConfig() {
self::$rootDir = __DIR__."/../..";
$CC_CONFIG = array(
/* ================================================ storage configuration */
"rootDir" => self::$rootDir
);
//In the unit testing environment, LIBRETIME_CONF_DIR will our local airtime.conf in airtime_mvc/application/test/conf:
$filename = isset($_SERVER['AIRTIME_CONF']) ? $_SERVER['AIRTIME_CONF'] : LIBRETIME_CONF_DIR . "/airtime.conf";
$values = parse_ini_file($filename, true);
// Name of the web server user
$CC_CONFIG['webServerUser'] = $values['general']['web_server_user'];
$CC_CONFIG['rabbitmq'] = $values['rabbitmq'];
$CC_CONFIG['baseDir'] = $values['general']['base_dir'];
$CC_CONFIG['baseUrl'] = $values['general']['base_url'];
$CC_CONFIG['basePort'] = $values['general']['base_port'];
$CC_CONFIG['stationId'] = $values['general']['station_id'];
$CC_CONFIG['phpDir'] = $values['general']['airtime_dir'];
$CC_CONFIG['forceSSL'] = isset($values['general']['force_ssl']) ? Config::isYesValue($values['general']['force_ssl']) : FALSE;
$CC_CONFIG['protocol'] = isset($values['general']['protocol']) ? $values['general']['protocol'] : '';
if (isset($values['general']['dev_env'])) {
$CC_CONFIG['dev_env'] = $values['general']['dev_env'];
} else {
$CC_CONFIG['dev_env'] = 'production';
}
$CC_CONFIG['auth'] = 'local';
if (isset($values['general']['auth'])) {
$CC_CONFIG['auth'] = $values['general']['auth'];
}
//Backported static_base_dir default value into saas for now.
if (array_key_exists('static_base_dir', $values['general'])) {
$CC_CONFIG['staticBaseDir'] = $values['general']['static_base_dir'];
} else {
$CC_CONFIG['staticBaseDir'] = '/';
}
// Tells us where file uploads will be uploaded to.
// It will either be set to a cloud storage backend or local file storage.
$CC_CONFIG["current_backend"] = $values["current_backend"]["storage_backend"];
$CC_CONFIG['cache_ahead_hours'] = $values['general']['cache_ahead_hours'];
// Database config
$CC_CONFIG['dsn']['username'] = $values['database']['dbuser'];
$CC_CONFIG['dsn']['password'] = $values['database']['dbpass'];
$CC_CONFIG['dsn']['hostspec'] = $values['database']['host'];
$CC_CONFIG['dsn']['phptype'] = 'pgsql';
$CC_CONFIG['dsn']['database'] = $values['database']['dbname'];
$CC_CONFIG['apiKey'] = array($values['general']['api_key']);
if (isset($values['facebook']['facebook_app_id'])) {
$CC_CONFIG['facebook-app-id'] = $values['facebook']['facebook_app_id'];
$CC_CONFIG['facebook-app-url'] = $values['facebook']['facebook_app_url'];
$CC_CONFIG['facebook-app-api-key'] = $values['facebook']['facebook_app_api_key'];
}
// ldap config
if (array_key_exists('ldap', $values)) {
$CC_CONFIG['ldap_hostname'] = $values['ldap']['hostname'];
$CC_CONFIG['ldap_binddn'] = $values['ldap']['binddn'];
$CC_CONFIG['ldap_password'] = $values['ldap']['password'];
$CC_CONFIG['ldap_account_domain'] = $values['ldap']['account_domain'];
$CC_CONFIG['ldap_basedn'] = $values['ldap']['basedn'];
$CC_CONFIG['ldap_groupmap_guest'] = $values['ldap']['groupmap_guest'];
$CC_CONFIG['ldap_groupmap_host'] = $values['ldap']['groupmap_host'];
$CC_CONFIG['ldap_groupmap_program_manager'] = $values['ldap']['groupmap_program_manager'];
$CC_CONFIG['ldap_groupmap_admin'] = $values['ldap']['groupmap_admin'];
$CC_CONFIG['ldap_groupmap_superadmin'] = $values['ldap']['groupmap_superadmin'];
$CC_CONFIG['ldap_filter_field'] = $values['ldap']['filter_field'];
}
if(isset($values['demo']['demo'])){
$CC_CONFIG['demo'] = $values['demo']['demo'];
}
self::$CC_CONFIG = $CC_CONFIG;
}
public static function setAirtimeVersion() {
$version = @file_get_contents(self::$rootDir."/../VERSION");
if (!$version) {
// fallback to constant from constants.php if no other info is available
$version = LIBRETIME_MAJOR_VERSION;
}
self::$CC_CONFIG['airtime_version'] = trim($version);
}
public static function getConfig() {
if (is_null(self::$CC_CONFIG)) {
self::loadConfig();
}
return self::$CC_CONFIG;
}
/**
* Check if the string is one of 'yes' or 'true' (case insensitive).
*/
public static function isYesValue($value)
{
if (is_bool($value)) return $value;
if (!is_string($value)) return false;
return in_array(strtolower($value), ['yes', 'true']);
}
}

View file

@ -0,0 +1,288 @@
<?php
/*
* We only get here after setup, or if there's an error in the configuration.
*
* Display a table to the user showing the necessary dependencies
* (both PHP and binary) and the status of any application services,
* along with steps to fix them if they're not found or misconfigured.
*/
$phpDependencies = checkPhpDependencies();
$externalServices = checkExternalServices();
$postgres = $phpDependencies["postgres"];
$database = $externalServices["database"];
$rabbitmq = $externalServices["rabbitmq"];
$pypo = $externalServices["pypo"];
$liquidsoap = $externalServices["liquidsoap"];
$analyzer = $externalServices["analyzer"];
$celery = $externalServices['celery'];
$api = $externalServices['api'];
$r1 = array_reduce($phpDependencies, "booleanReduce", true);
$r2 = array_reduce($externalServices, "booleanReduce", true);
$result = $r1 && $r2;
?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="css/bootstrap-3.3.1.min.css">
<link rel="stylesheet" type="text/css" href="css/setup/config-check.css">
</head>
<style>
/*
This is here because we're using the config-check css for
both this page and the system status page
*/
html {
background-color: #f5f5f5;
}
body {
padding: 2em;
min-width: 600px;
text-align: center;
margin: 3em ;
border: 1px solid lightgray;
border-radius: 5px;
}
</style>
<body>
<h2>
<img class="logo" src="css/images/airtime_logo_jp.png" /><br/>
<strong>Configuration Checklist</strong>
</h2>
<?php
if (!$result) {
?>
<br/>
<h3 class="error">Looks like something went wrong!</h3>
<p>
Take a look at the checklist below for possible solutions. If you're tried the suggestions and are
still experiencing issues, read the
<a href="https://github.com/LibreTime/libretime/releases">release notes</a>,
come <a href="https://discourse.libretime.org/">visit our discourse</a>
or, check <a href="http://www.libretime.org/">the website and main docs</a>.
</p>
<?php
} else {
?>
<p>
Your Airtime station is up and running! Get started by logging in with the default username and password: admin/admin
</p>
<button onclick="location = location.pathname;">Log in to Airtime!</button>
<?php
}
?>
<table class="table">
<thead>
<tr>
<th class="component">
Component
</th>
<th class="description">
<strong>Description</strong>
</th>
<th class="solution">
<strong>Status or Solution</strong>
</th>
</tr>
</thead>
</table>
<div class="checklist">
<table class="table table-striped">
<caption class="caption">
PHP Dependencies
</caption>
<tbody>
<tr class="<?=$postgres ? 'success' : 'danger';?>">
<td class="component">
Postgres
</td>
<td class="description">
PDO and PostgreSQL libraries
</td>
<td class="solution <?php if ($postgres) {echo 'check';?>">
<?php
} else {
?>">
Try running <code>sudo apt-get install php5-pgsql</code>
<?php
}
?>
</td>
</tr>
</tbody>
</table>
<table class="table table-striped">
<caption class="caption">
External Services
</caption>
<tbody>
<tr class="<?=$database ? 'success' : 'danger';?>">
<td class="component">
Database
</td>
<td class="description">
Database configuration for Airtime
</td>
<td class="solution <?php if ($database) {echo 'check';?>">
<?php
} else {
?>">
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.
<?php
}
?>
</td>
</tr>
<tr class="<?=$rabbitmq ? 'success' : 'danger';?>">
<td class="component">
RabbitMQ
</td>
<td class="description">
RabbitMQ configuration for Airtime
</td>
<td class="solution <?php if ($rabbitmq) {echo 'check';?>">
<?php
} else {
?>">
Make sure RabbitMQ is installed correctly, and that your settings in /etc/airtime/airtime.conf
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.
<?php
}
?>
</td>
</tr>
<tr class="<?=$analyzer ? 'success' : 'danger';?>">
<td class="component">
Media Analyzer
</td>
<td class="description">
<?php echo _("LibreTime media analyzer service") ?>
</td>
<td class="solution <?php if ($analyzer) {echo 'check';?>">
<?php
} else {
?>">
<?php echo _("Check that the libretime-analyzer service is installed correctly in ") ?><code>/etc/systemd/system/</code>,
<?php echo _(" and ensure that it's running with ") ?>
<br/><code>systemctl status libretime-analyzer</code><br/>
<?php echo _("If not, try ") ?><br/><code>sudo systemctl restart libretime-analyzer</code>
<?php
}
?>
</td>
</tr>
<tr class="<?=$pypo ? 'success' : 'danger';?>">
<td class="component">
Pypo
</td>
<td class="description">
<?php echo _("LibreTime playout service") ?>
</td>
<td class="solution <?php if ($pypo) {echo 'check';?>">
<?php
} else {
?>">
<?php echo _("Check that the libretime-playout service is installed correctly in ") ?><code>/etc/systemd/system/</code>,
<?php echo _(" and ensure that it's running with ") ?>
<br/><code>systemctl status libretime-playout</code><br/>
<?php echo _("If not, try ") ?><br/><code>sudo systemctl restart libretime-playout</code>
<?php
}
?>
</td>
</tr>
<tr class="<?=$liquidsoap ? 'success' : 'danger';?>">
<td class="component">
Liquidsoap
</td>
<td class="description">
<?php echo _("LibreTime liquidsoap service") ?>
</td>
<td class="solution <?php if ($liquidsoap) {echo 'check';?>" >
<?php
} else {
?>">
<?php echo _("Check that the libretime-liquidsoap service is installed correctly in ") ?><code>/etc/systemd/system/</code>,
<?php echo _(" and ensure that it's running with ") ?>
<br/><code>systemctl status libretime-liquidsoap</code><br/>
<?php echo _("If not, try ") ?><br/><code>sudo systemctl restart libretime-liquidsoap</code>
<?php
}
?>
</td>
</tr>
<tr class="<?=$celery ? 'success' : 'danger';?>">
<td class="component">
Celery
</td>
<td class="description">
<?php echo _("LibreTime Celery Task service") ?>
</td>
<td class="solution <?php if ($celery) {echo 'check';?>" >
<?php
} else {
?>">
<?php echo _("Check that the libretime-celery service is installed correctly in ") ?><code>/etc/systemd/system/</code>,
<?php echo _(" and ensure that it's running with ") ?>
<br/><code>systemctl status libretime-celery</code><br/>
<?php echo _("If not, try ") ?><br/><code>sudo systemctl restart libretime-celery</code>
<?php
}
?>
</td>
</tr>
<tr class="<?=$api ? 'success' : 'danger';?>">
<td class="component">
API
</td>
<td class="description">
<?php echo _("LibreTime API service") ?>
</td>
<td class="solution <?php if ($api) {echo 'check';?>" >
<?php
} else {
?>">
<?php echo _("Check that the libretime-api service is installed correctly in ") ?><code>/etc/init.d/</code>,
<?php echo _(" and ensure that it's running with ") ?>
<br/><code>systemctl status libretime-api</code><br/>
<?php echo _("If not, try ") ?><br/><code>sudo systemctl restart libretime-api</code>
<?php
}
?>
</td>
</tr>
</tbody>
</table>
</div>
<div class="footer">
<h3>
PHP Extension List
</h3>
<p>
<?php
global $extensions;
$first = true;
foreach ($extensions as $ext) {
if (!$first) {
echo " | ";
} else {
$first = false;
}
echo $ext;
}
?>
</p>
</div>

View file

@ -0,0 +1,130 @@
<?php
define('PRODUCT_NAME' , 'LibreTime');
define('PRODUCT_SITE_URL' , 'http://libretime.org');
define('SAAS_PRODUCT_BRANDING_NAME', 'LibreTime');
define('SAAS_LOGIN_REFERRER', 'http://libretime.org');
define('COMPANY_NAME' , 'LibreTime Community');
define('COMPANY_SUFFIX' , '');
define('COMPANY_SITE' , 'libretime.org');
define('COMPANY_SITE_URL' , 'http://libretime.org');
define('SUPPORT_ADDRESS' , 'https://discourse.libretime.org/');
define('HELP_URL' , 'https://discourse.libretime.org/');
define('WHOS_USING_URL' , 'https://github.com/orgs/LibreTime/people');
define('TERMS_AND_CONDITIONS_URL' , 'https://github.com/LibreTime/libretime/blob/master/README.md');
define('PRIVACY_POLICY_URL' , 'https://github.com/LibreTime/code-of-conduct/blob/master/CODE_OF_CONDUCT.md');
define('USER_MANUAL_URL' , 'http://libretime.org/docs');
define('ABOUT_AIRTIME_URL' , 'http://libretime.org');
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');
define('LIBRETIME_WHATS_NEW_URL' , 'https://github.com/LibreTime/libretime/releases');
define('LIBRETIME_UPDATE_FEED' , 'https://github.com/LibreTime/libretime/releases.atom');
define('LIBRETIME_EMAIL_FROM' , 'noreply@libretime.org');
define('LICENSE_VERSION' , 'GNU AGPL v.3');
define('LICENSE_URL' , 'http://www.gnu.org/licenses/agpl-3.0-standalone.html');
define('AIRTIME_COPYRIGHT_DATE' , '2010-2015');
define('AIRTIME_REST_VERSION' , '1.1');
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/airtime');
// Defaults
define('DEFAULT_LOGO_PLACEHOLDER', 1);
define('DEFAULT_LOGO_FILE', 'images/airtime_logo.png');
define('DEFAULT_TIMESTAMP_FORMAT', 'Y-m-d H:i:s');
define('DEFAULT_MICROTIME_FORMAT', 'Y-m-d H:i:s.u');
define('DEFAULT_ICECAST_PORT', 8000);
define('DEFAULT_ICECAST_PASS', 'hackme');
define('DEFAULT_SHOW_COLOR', '76aca5');
define('DEFAULT_INTERVAL_FORMAT', 'H:i:s.u');
// Metadata Keys for files
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');
define('MDATA_KEY_ARTWORK_DATA', 'artwork_data');
define('MDATA_KEY_TRACK_TYPE' , 'track_type');
define('UI_MDATA_VALUE_FORMAT_FILE' , 'File');
define('UI_MDATA_VALUE_FORMAT_STREAM' , 'live stream');
//User types
define('UTYPE_HOST' , 'H');
define('UTYPE_ADMIN' , 'A');
define('UTYPE_SUPERADMIN' , 'S');
define('UTYPE_GUEST' , 'G');
define('UTYPE_PROGRAM_MANAGER' , 'P');
//Constants for playout history template fields
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');
// Session Keys
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");
// Celery
define('CELERY_PENDING_STATUS', 'PENDING');
define('CELERY_SUCCESS_STATUS', 'SUCCESS');
define('CELERY_FAILED_STATUS', 'FAILED');
// Celery Services
define('PODCAST_SERVICE_NAME', 'podcast');
// Publish Services
define('STATION_PODCAST_SERVICE_NAME', 'station_podcast');
// Podcast Types
//define('STATION_PODCAST', 0);
//define('IMPORTED_PODCAST', 1);
define('ITUNES_XML_NAMESPACE_URL', 'http://www.itunes.com/dtds/podcast-1.0.dtd');

View file

@ -0,0 +1,10 @@
<?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();

View file

@ -0,0 +1,197 @@
<?php
/**
* Navigation container (config/array)
*
* Each element in the array will be passed to
* Zend_Navigation_Page::factory() when constructing
* the navigation container below.
*
* The class field is used to contain the icon rendered
* before the nav entry for i18n purposes. When this
* gets parsed the language is not yet set and the
* strings stay plain en for now. They get retranslated
* in the menu.phtml script when they are output.
*/
$pages = array();
// Disable My podcasts
// See https://github.com/LibreTime/libretime/issues/1320
// $pages[] = array(
// 'label' => _('My Podcast'),
// 'module' => 'default',
// 'controller' => 'podcast',
// 'action' => 'station',
// 'resource' => 'podcast',
// 'class' => '<i class="icon-music icon-white"></i>'
// );
$pages[] = array(
'label' => _('Radio Page'),
'uri' => '/',
'resource' => '',
'class' => '<i class="icon-globe icon-white"></i>',
'pages' => array(),
'visible' => false
);
$pages[] = array(
'label' => _('Calendar'),
'module' => 'default',
'controller' => 'schedule',
'action' => 'index',
'resource' => 'schedule',
'class' => '<i class="icon-calendar icon-white"></i>'
);
$pages[] = array(
'label' => _('Widgets'),
'module' => 'default',
'controller' => 'embeddablewidgets',
'action' => 'player',
'resource' => 'embeddablewidgets',
'class' => '<i class="icon-wrench icon-white"></i>',
'title' => 'Widgets',
'pages' => array(
array(
'label' => _('Player'),
'module' => 'default',
'controller' => 'embeddablewidgets',
'action' => 'player',
),
array(
'label' => _('Weekly Schedule'),
'module' => 'default',
'controller' => 'embeddablewidgets',
'action' => 'schedule',
)
)
);
$pages[] = array(
'label' => _("Settings"),
'action' => 'edit-user',
'module' => 'default',
'controller' => 'user',
'class' => '<i class="icon-cog icon-white"></i>',
'title' => 'Settings',
'pages' => array(
array(
'label' => _('General'),
'module' => 'default',
'controller' => 'preference',
'resource' => 'preference'
),
array(
'label' => _('My Profile'),
'controller' => 'user',
'action' => 'edit-user'
),
array(
'label' => _('Users'),
'module' => 'default',
'controller' => 'user',
'action' => 'add-user',
'resource' => 'user'
),array(
'label' => _('Track Types'),
'module' => 'default',
'controller' => 'tracktype',
'action' => 'add-tracktype',
'resource' => 'tracktype'
),
array(
'label' => _('Streams'),
'module' => 'default',
'controller' => 'preference',
'action' => 'stream-setting',
'resource' => 'preference'
),
array(
'label' => _('Status'),
'module' => 'default',
'controller' => 'systemstatus',
'action' => 'index',
'resource' => 'systemstatus'
),
)
);
$pages[] = array(
'label' => _("Analytics"),
'module' => 'default',
'controller' => 'playouthistory',
'action' => 'index',
'resource' => 'playouthistory',
'class' => '<i class="icon-signal icon-white"></i>',
'title' => 'Analytics',
'pages' => array(
array(
'label' => _('Playout History'),
'module' => 'default',
'controller' => 'playouthistory',
'action' => 'index',
'resource' => 'playouthistory'
),
array(
'label' => _('History Templates'),
'module' => 'default',
'controller' => 'playouthistorytemplate',
'action' => 'index',
'resource' => 'playouthistorytemplate'
),
array(
'label' => _('Listener Stats'),
'module' => 'default',
'controller' => 'listenerstat',
'action' => 'index',
'resource' => 'listenerstat'
),
array(
'label' => _('Show Listener Stats'),
'module' => 'default',
'controller' => 'listenerstat',
'action' => 'show',
'resource' => 'showlistenerstat'
),
)
);
$pages[] = array(
'label' => _('Help'),
'controller' => 'dashboard',
'action' => 'help',
'resource' => 'dashboard',
'class' => '<i class="icon-question-sign icon-white"></i>',
'title' => 'Help',
'pages' => array(
array(
'label' => _('Getting Started'),
'module' => 'default',
'controller' => 'dashboard',
'action' => 'help',
'resource' => 'dashboard'
),
array(
'label' => _('User Manual'),
'uri' => USER_MANUAL_URL,
'target' => "_blank"
),
array(
'label' => _('Get Help Online'),
'uri' => LIBRETIME_DISCOURSE_URL,
'target' => "_blank"
),
array(
'label' => _('Contribute to LibreTime'),
'uri' => LIBRETIME_CONTRIBUTE_URL,
'target' => "_blank"
),
array(
'label' => _('What\'s New?'),
'uri' => LIBRETIME_WHATS_NEW_URL,
'target' => "_blank"
)
)
);
// Create container from array
$container = new Zend_Navigation($pages);
$container->id = "nav";
//store it in the registry:
Zend_Registry::set('Zend_Navigation', $container);