config.php 9.5 KB
<?php
 /**
 * @file config.php
 * @version $Id: config.php 2368 2014-05-21 08:46:23Z elena $
 *
 *
 */

$useFirePHP = false;
// require FirePHP files
if($useFirePHP) {
	require_once("firephp/FirePHP.class.php");
	require_once("firephp/fb.php");
}

// define empty fb() function so code does not break
// on any forgotten fb() calls later
else {
	function fb() {};
}

ob_start();

// all installation dependent staff
require_once 'my_config.php';

if (is_file('php/amda_version.php') || is_file('amda_version.php'))
            require_once 'amda_version.php';

// all impex dependent staff
// if (is_file('php/impex_config.php') || is_file('impex_config.php'))
//             require_once 'impex_config.php';
if (is_file('php/impex_config.php'))
	require_once 'php/impex_config.php';
else  require_once 'impex_config.php';
//---------------------------------------

if (!defined('PHP_VERSION_ID'))
 {
    $version = explode('.', PHP_VERSION);
    define('PHP_VERSION_ID', ($version[0] * 10000 + $version[1] * 100 + $version[2]));
}

if (!defined('MAGIC_FILE'))
		define('MAGIC_FILE','/usr/share/misc/magic');

define("MaxGuests", 10);
define("GuestSessionDuration", 300);   //300 minutes
define("MaxGuestTimeInterval", 10);   // days

ini_set('upload_max_filesize',30000000);
// SHOULD BE DEFINED IN MASTER php.ini !!!
// ini_set('post_max_size',40000000);
ini_set('memory_limit',128000000);

// max lines of uploaded ascii file to show
define('MAX_FILE_INDEX_TO_SHOW', 100);
// user WS size limit
define('DISK_QUOTA', 1024*1024*200); // 200MB

// to avoid 403 error while copying from URL
ini_set('user_agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:7.0) Gecko/201001012 Firefox/7.0');

// private key used to be considerate as a trust client for some functions of DD web service
define('DDSERVICE_PRIVATEKEY','!%p856Dc');

date_default_timezone_set('UTC');
// time restriction suffix
define('restricted', '_restr');

// one cycle secs to sleep to allow job be executed
define('JOBTIMEOUT', '1');
define('PLOT_CYCLES_NUMBER', 500); // cycles number for PNG
define('JOB_CYCLES_NUMBER', 5);   // cycles number for all the jobs

//TODO secs wait before job is killed  OR 'max_execution_time' - kill automatic?
//define('TIMEOUT', '100');
//TODO define max PHP execution
ini_set('max_execution_time',600);

//Error codes
define('-1','NAME_EXISTS');
define('-2','ID_CREATION_ERROR');
define('-3','NO_SUCH_ID');
define('-4','NO_SUCH_PARENT_ID');
define('-5','NO_OBJECT_FILE');

// SVN Repository for local parameters files (DD_*.xml, LocalParams.xml, ...)
define('SVN_DDMISSIONSINFO', 'svn://cdpp1.cesr.fr/depotINFO/');
define('SVN_LOCALPARAMSINFO', SVN_DDMISSIONSINFO.'LocalParam/');
define('SVN_TEMPLATES', SVN_DDMISSIONSINFO.'Templates/');

// EPN-TAP services
define('EPNTAP_APIS','http://voparis-tap.obspm.fr/__system__/tap/run/tap/sync');
define('EPNTAP_AMDA','http://cdpp-epntap.cesr.fr/__system__/tap/run/tap/sync');

// General Info dirs; old AMDA
define('INFODIR', ROOT_PATH.'INFO/');
define('XMLDIR', ROOT_PATH.'XML/');

// General Info files; old AMDA
define('userGroupsXml',XMLDIR.'AMDA_Users.xml');

// PHP classes : new AMDA
define('CLASSPATH', BASE_PATH.'php/classes/');
define('OLD_CLASSPATH', BASE_PATH.'php/old_amda/');
define('XMLPATH', BASE_PATH.'php/XML/');

// General Info dirs : new AMDA
define('DATAPATH', BASE_PATH.'generic_data/');

define('Param', DATAPATH.'Param/');
define('ParamArgs', Param.'Args/');
define('LocalData', DATAPATH.'LocalData/');
define('LocalDataParam', LocalData.'Param/');
define('EPNResources', DATAPATH.'EPNResources/');
define('LocalDataTemplate', LocalData.'Templates/');
define('RemoteData', DATAPATH.'RemoteData/');
define('Functions', DATAPATH.'Functions/');
define('Plot', DATAPATH.'Plot/');
define('Hst', DATAPATH.'Hst/');
define('GeneralInfo', DATAPATH.'Info/');
define('SpecialSettingsDir',DATAPATH.'SpecialSettings/');

// General Info files; new  AMDA
define('paramListXml',Param.'LocalParamsList.xml');
define('paramXml',Param.'LocalParams.xml');
define('orbitesXml',Param.'Orbites.xml');
define('spectraXml',Param.'SpectraParamList.xml');
define('targetsXml',LocalData.'targets.xml');

define('missionXml',LocalData.'Missions.xml');
define('internalParams', LocalData.'DD_InternalParams.xml');
define('FeedbackXml', DATAPATH.'Feedback/Feedback.xml');
define('TEMPLATES',BASE_PATH.'amda_plus/templates/');
define('PREDEFINED',BASE_PATH.'amda_plus/predefined/');
define('PRO',BASE_PATH.'amda_plus/pro/');
define('specialGrpsXml',SpecialSettingsDir.'Groups.xml');

// EPN-TAP data
define('EpnTapDataPath', DATAPATH.'EpnTapData/');

//Help info dirs
define('HELPPATH',  BASE_PATH."help/");
define('targetsSimu',HELPPATH.'simu/TargetsSimu.xml');

//Root User dir : new AMDA
// All user dirs are defined in UserMgr.php
define('USERPATH', BASE_PATH.'data/');

// Shared dir
define('SHAREDPATH', BASE_PATH.'shared_data/');

// Web Services result directory
define('WSRESULT', USERPATH.'WSRESULT/');

// Web Service result file
define('wsResultsXml',WSRESULT.'WSresults.xml');

// Web Service getPlot : list of parameters to plot
define('plotsXml', BASE_PATH.'public/WebServices/XML/AmdaPlots.xml');
// Web Service serveurs WSDL

// $_SERVER['SERVER_NAME'] (par apache)  gethostname() (par command)
$SERVER_NAME = array_key_exists('SERVER_NAME', $_SERVER) ? $_SERVER['SERVER_NAME'] : gethostname();
define('wsdl_AMDA', "http://".$SERVER_NAME.APACHE_ALIAS."public/wsdl/Methods_AMDA.wsdl");

// AKKA - KERNELBIN is now the new kernel bin dir
define('KERNELBIN',NEWKERNEL_INSTALL_DIR.'bin/');

putenv("LD_LIBRARY_PATH=".SYS_LIBS.":".DDLIB.":".CEFLIB.":".CDFLIB);
putenv("PATH=./:".DDBIN.":".SYS_BIN.":".BASE_PATH."php/bin");

putenv("DDPATH=".DDRES_DIR);

set_include_path(".:".CLASSPATH.":".OLD_CLASSPATH);

global $API;

if (!function_exists('__autoload')) {
     function __autoload($class_name) {
            require_once $class_name . '.php';
     }
}


$API = array(
    'AmdaAction'=>array(
        'methods'=>array(
	      'getTree'=>array(
		  'len'=>1
	      ),
	      'saveTree'=>array(
		  'len'=>1
	      ),
	      'getInfo'=>array(
		  'len'=>1
	      ),
	      'doNothing'=>array(
		  'len'=>1
	      ),
	      'deleteFromTree'=>array(
		  'len'=>1
	      ),
	      'getObject'=>array(
		  'len'=>2
	      ),
	      'getAsciiFile'=>array(
		  'len'=>1
	      ),
	      'getTmpObject'=>array(
		  'len'=>3
	      ),
	      'getUploadedObject'=>array(
		  'len'=>3
	      ),
	      'getMyParamInfo'=>array(
		  'len'=>1
	      ),
	      'deleteObject'=>array(
		  'len'=>1
	      ),
	      'renameObject'=>array(
		  'len'=>1
	      ),
	      'createObject'=>array(
		  'len'=>2
	      ),
	      'modifyObject'=>array(
		  'len'=>1
	      ),
		'validNameObject'=>array(
			'len'=>1
		),
	      'getJobs'=>array(
		  'len'=>0
	      ),
	      'execute'=>array(
		  'len'=>2
  //		'formHandler'=>true
	      ),
		'compilParam' => array(
			'len'=>1
		),
		'compilParamDelete' => array(
			'len'=>1
		),
	      'killPlotRequest' =>array(
		  'len'=>0
	      ),
	      'merge'=>array(
		      'len'=>1
	      ),
	      'intersect'=>array(
		      'len'=>1
	      ),
	      'loadTTIntervals'=>array(
	          'len'=>1
	      ),
	      'saveTTCacheIntervalsInTT'=>array(
		  'len'=>1
	      ),
		'initTTCache' => array (
		'len'=>2
		)	,
		'initTTCacheFromTT' => array(
		'len'=>2
		),
		'initForChart' => array(
		'len'=>4
		),
		'initTTCacheFromTmpObject' => array(
		'len'=>3
		),
		'initTTCacheFromUploadedFile' => array(
		'len'=>2
		),
		'readTTCacheIntervals'=>array(
		'len'=>1
		),
		'readIntervalsForChart'=>array(
		'len'=>1
		),
		'addTTCacheInterval'=>array (
		'len'=>1
		),
		'removeTTCacheIntervalFromId'=>array (
		'len'=>2
		),
		'modifyTTCacheInterval' => array(
		'len'=>1
		),
		'operationTTCacheIntervals' => array(
		'len'=>2
		),
		'mergeTTCacheIntervals' => array (
		'len'=>0
		),
		'getTTCacheStatistics' => array (
		'len'=>0
		),
	      'sendFeedback'=>array(
		      'len'=>1
	      ),
	      'saveState'=>array(
	          'len'=>1
	      ),
	      'loadState'=>array(
	          'len'=>1
	      ),
	      'sendToSAMP'=>array(
	          'len'=>1
	      ),
	      'getHstImagesUrl'=>array(
	          'len'=>1
	      ),
	      'getAPISImagesUrl'=>array(
	          'len'=>1
	      ),
              'loadFilterList'=>array(
                  'len'=>0
              ),
	      'loadFilters'=>array(
	          'len'=>1
	      ),
	      'saveFilter'=>array(
	          'len'=>1
	      ),
	      'createFilter'=>array(
	          'len'=>1
	      ),
	      'destroyFilter'=>array(
	          'len'=>1
	      ),
	      'getCrtFilterId'=>array(
	          'len'=>0
	      ),
	      'getCrtFilterResult'=>array(
	          'len'=>0
	      ),
	      'setCrtFilterId'=>array(
	           'len'=>1
	      ),
	      'resetFilter'=>array(
	           'len'=>0
	      ),
	      'logout'=>array(
	           'len'=>1
	      ),
	      'getUserInfo'=>array(
	           'len'=>0
	      ),
		'convertWS'=>array(
			'len'=>0
		),
		'getRun'=>array(
			'len'=>1
		),
		'addRun'=>array(
			'len'=>1
		),
		//AKKA - New action to clean user WS
		'cleanUserWS'=>array(
			'len'=>0
		),
		'deleteSpecialInfo'=>array(
			'len'=>1
		),
        'interactivePlot'=>array(
			'len'=>2
		),
        'getParamPlotInit'=>array(
        	'len'=>1
		),
        'getParamInfo'=>array(
        	'len'=>1
        ),
        'getSharedObjectFolders' => array(
        	'len'=>1
        ),
        'shareObjects' => array(
        	'len'=>1
        ),
        'isSharedObjectNameAlreadyUsed' => array(
        	'len'=>1
        ),
		'epnTapGetGranules' => array('len'=>5),
		'epnTapGetNbRows' => array('len'=>3),
        'epnTapGetServices' => array('len'=>0)
      )
    )
);
?>