Open Journal Systems  3.3.0
Config.inc.php
1 <?php
2 
23 define('CONFIG_FILE', Core::getBaseDir() . DIRECTORY_SEPARATOR . 'config.inc.php');
24 
25 import('lib.pkp.classes.config.ConfigParser');
26 
27 class Config {
35  static function getVar($section, $key, $default = null) {
36  $configData =& Config::getData();
37  return isset($configData[$section][$key]) ? $configData[$section][$key] : $default;
38  }
39 
44  static function &getData() {
45  $configData =& Registry::get('configData', true, null);
46 
47  if ($configData === null) {
48  // Load configuration data only once per request, implicitly
49  // sets config data by ref in the registry.
50  $configData = Config::reloadData();
51  }
52 
53  return $configData;
54  }
55 
61  static function &reloadData() {
62  if (($configData =& ConfigParser::readConfig(Config::getConfigFileName())) === false) {
63  fatalError(sprintf('Cannot read configuration file %s', Config::getConfigFileName()));
64  }
65 
66  return $configData;
67  }
68 
73  static function setConfigFileName($configFile) {
74  // Reset the config data
75  $configData = null;
76  Registry::set('configData', $configData);
77 
78  // Set the config file
79  Registry::set('configFile', $configFile);
80  }
81 
86  static function getConfigFileName() {
87  return Registry::get('configFile', true, CONFIG_FILE);
88  }
89 
94  static function &getContextBaseUrls() {
95  $contextBaseUrls =& Registry::get('contextBaseUrls'); // Reference required.
96 
97  if (is_null($contextBaseUrls)) {
98  $contextBaseUrls = array();
99  $configData = self::getData();
100  // Filter the settings.
101  $matches = null;
102  foreach ($configData['general'] as $settingName => $settingValue) {
103  if (preg_match('/base_url\[(.*)\]/', $settingName, $matches)) {
104  $workingContextPath = $matches[1];
105  $contextBaseUrls[$workingContextPath] = $settingValue;
106  }
107  }
108  }
109 
110  return $contextBaseUrls;
111  }
112 }
Config\getConfigFileName
static getConfigFileName()
Definition: Config.inc.php:86
ConfigParser\readConfig
static & readConfig($file)
Definition: ConfigParser.inc.php:34
Registry\set
static set($key, &$value)
Definition: Registry.inc.php:53
Config\getContextBaseUrls
static & getContextBaseUrls()
Definition: Config.inc.php:94
Registry\get
static & get($key, $createIfEmpty=false, $createWithDefault=null)
Definition: Registry.inc.php:35
Config\getVar
static getVar($section, $key, $default=null)
Definition: Config.inc.php:35
Config\getData
static & getData()
Definition: Config.inc.php:44
Config\reloadData
static & reloadData()
Definition: Config.inc.php:61
Config
Config class for accessing configuration parameters.
Definition: Config.inc.php:27
Config\setConfigFileName
static setConfigFileName($configFile)
Definition: Config.inc.php:73
Core\getBaseDir
static getBaseDir()
Definition: Core.inc.php:37
fatalError
if(!function_exists('import')) fatalError($reason)
Definition: functions.inc.php:32