*
dsn
datasource setting *
tblNamePrefix
prefix for table names in the database *
authCookieName
secret token cookie name *
AdminsGr
name of admin group *
StationPrefsGr
name of station preferences group *
AllGr
name of 'all users' group *
TrashName
name of trash folder (subfolder of the storageRoot) *
storageDir
main directory for storing binary media files *
bufferDir
directory for temporary files *
transDir
directory for incomplete transferred files *
accessDir
directory for symlinks to accessed files *
isArchive
local/central flag *
validate
enable/disable validator *
useTrash
enable/disable safe delete (move to trash) *
storageUrlPath
path-URL-part of storageServer base dir *
storageXMLRPC
XMLRPC server script address relative to storageUrlPath *
storageUrlHost, storageUrlPort
host and port of storageServer *
archiveUrlPath
path-URL-part of archiveServer base dir *
archiveXMLRPC
XMLRPC server script address relative to archiveUrlPath *
archiveUrlHost, archiveUrlPort
host and port of archiveServer *
archiveAccountLogin, archiveAccountPass
account info * for login to archive *
sysSubjs
system users/groups - cannot be deleted *
schedulerPass
scheduler's password for storageServer access * */ include("campcaster_version.php"); // these are the default values for the config $CC_CONFIG = array( /* ================================================== basic configuration */ 'dsn' => array( 'username' => 'ls_dbuser', 'password' => 'ls_dbpassword', 'hostspec' => 'ls_dbserver', 'phptype' => 'pgsql', 'database' => 'ls_database', ), 'tblNamePrefix' => 'ls_', /* ================================================ storage configuration */ 'authCookieName'=> 'campcaster_session_id', 'AdminsGr' => 'Admins', 'StationPrefsGr'=> 'StationPrefs', 'AllGr' => 'All', 'TrashName' => 'trash_', 'storageDir' => dirname(__FILE__).'/../../storageServer/var/stor', 'bufferDir' => dirname(__FILE__).'/../../storageServer/var/stor/buffer', 'transDir' => dirname(__FILE__).'/../../storageServer/var/trans', 'accessDir' => dirname(__FILE__).'/../../storageServer/var/access', 'pearPath' => 'ls_lib_dir/pear', 'cronDir' => dirname(__FILE__).'/../../storageServer/var/cron', 'isArchive' => FALSE, 'validate' => TRUE, 'useTrash' => TRUE, /* ==================================================== URL configuration */ 'storageUrlPath' => 'ls_storageUrlPath', 'storageXMLRPC' => 'xmlrpc/xrLocStor.php', 'storageUrlHost' => 'ls_php_host', 'storageUrlPort' => ls_php_port, /* ================================================ archive configuration */ 'archiveUrlPath' => 'ls_storageUrlPath', 'archiveXMLRPC' => 'xmlrpc/xrLocStor.php', 'archiveUrlHost' => 'ls_php_host', 'archiveUrlPort' => ls_php_port, 'archiveAccountLogin' => 'root', 'archiveAccountPass' => 'q', /* ============================================== scheduler configuration */ 'schedulerUrlPath' => 'ls_scheduler_urlPrefix', 'schedulerXMLRPC' => 'ls_scheduler_xmlRpcPrefix', 'schedulerUrlHost' => 'ls_scheduler_host', 'schedulerUrlPort' => ls_scheduler_port, 'schedulerPass' => 'ls_scheduler_storage_pass', /* ==================================== aplication-specific configuration */ 'objtypes' => array( 'RootNode' => array('Folder'), 'Storage' => array('Folder', 'File', 'Replica'), 'Folder' => array('Folder', 'File', 'Replica'), 'File' => array(), 'audioclip' => array(), 'playlist' => array(), 'Replica' => array(), ), 'allowedActions'=> array( 'RootNode' => array('classes', 'subjects'), 'Folder' => array('editPrivs', 'write', 'read'), 'File' => array('editPrivs', 'write', 'read'), 'audioclip' => array('editPrivs', 'write', 'read'), 'playlist' => array('editPrivs', 'write', 'read'), 'Replica' => array('editPrivs', 'write', 'read'), '_class' => array('editPrivs', 'write', 'read'), ), 'allActions' => array( 'editPrivs', 'write', 'read', 'classes', 'subjects' ), /* ============================================== auxiliary configuration */ 'RootNode' => 'RootNode', 'tmpRootPass' => 'q', /* =================================================== cron configuration */ 'cronUserName' => 'ls_apache_group', 'lockfile' => dirname(__FILE__).'/cron/cron.lock', 'cronfile' => dirname(__FILE__).'/cron/croncall.php', 'paramdir' => dirname(__FILE__).'/cron/params', ); // Add database table names $CC_CONFIG['filesTable'] = $CC_CONFIG['tblNamePrefix'].'files'; $CC_CONFIG['mdataTable'] = $CC_CONFIG['tblNamePrefix'].'mdata'; $CC_CONFIG['accessTable'] = $CC_CONFIG['tblNamePrefix'].'access'; $CC_CONFIG['permTable'] = $CC_CONFIG['tblNamePrefix'].'perms'; $CC_CONFIG['sessTable'] = $CC_CONFIG['tblNamePrefix'].'sess'; $CC_CONFIG['subjTable'] = $CC_CONFIG['tblNamePrefix'].'subjs'; $CC_CONFIG['smembTable'] = $CC_CONFIG['tblNamePrefix'].'smemb'; $CC_CONFIG['classTable'] = $CC_CONFIG['tblNamePrefix'].'classes'; $CC_CONFIG['cmembTable'] = $CC_CONFIG['tblNamePrefix'].'cmemb'; $CC_CONFIG['treeTable'] = $CC_CONFIG['tblNamePrefix'].'tree'; $CC_CONFIG['structTable'] = $CC_CONFIG['tblNamePrefix'].'struct'; $CC_CONFIG['transTable'] = $CC_CONFIG['tblNamePrefix'].'trans'; $CC_CONFIG['prefTable'] = $CC_CONFIG['tblNamePrefix'].'pref'; $CC_CONFIG['playlogTable'] = 'playlog'; $CC_CONFIG['scheduleTable'] = 'schedule'; $CC_CONFIG['backupTable'] = 'backup'; $CC_CONFIG['sysSubjs'] = array( 'root', $CC_CONFIG['AdminsGr'], $CC_CONFIG['AllGr'], $CC_CONFIG['StationPrefsGr'] ); $old_ip = get_include_path(); set_include_path('.'.PATH_SEPARATOR.$CC_CONFIG['pearPath'].PATH_SEPARATOR.$old_ip); // workaround for missing folders foreach (array('storageDir', 'bufferDir', 'transDir', 'accessDir', 'pearPath', 'cronDir') as $d) { $test = file_exists($CC_CONFIG[$d]); if ( $test === FALSE ) { @mkdir($CC_CONFIG[$d], 02775); if (file_exists($CC_CONFIG[$d])) { $rp = realpath($CC_CONFIG[$d]); //echo " * Directory $rp created\n"; } else { echo " * Failed creating {$CC_CONFIG[$d]}\n"; exit(1); } } else { $rp = realpath($CC_CONFIG[$d]); } $CC_CONFIG[$d] = $rp; } ?>