public function read($p_moduleName, $p_directory)
{
global $Campsite, $CampsiteVars;
if (!ModuleConfiguration::validModuleName($p_moduleName)) {
return "Invalid module name";
}
// compute the configuration file path and include the file
$file_path = ModuleConfiguration::configurationFilePath($p_moduleName, $p_directory);
if (!file_exists($file_path)) {
return "Invalid configuration file path or module name";
}
include $file_path;
// verify if the configuration file was correct
if (!is_array($CampsiteVars) || !is_array($CampsiteVars[$p_moduleName])) {
return "Invalid configuration file format: variable list missing";
}
if (!is_array($Campsite)) {
return "Invalid configuration file format: variables missing";
}
// initialize internal variables
$this->m_moduleName = $p_moduleName;
$this->m_directory = trim($p_directory);
$this->m_variablesList = $CampsiteVars[$p_moduleName];
foreach ($this->m_variablesList as $key => $var_name) {
$this->m_variables[$var_name] = $Campsite[$var_name];
}
return 0;
}