item;
foreach ($config_xml as $item) {
$this->modules["$item[id]"] = $item;
}
} else {
echo 'Impossible de trouver le fichier de configuration.';
}
}
/**
*
* Initialise les modules activés uniquement
*/
function getModules()
{
foreach ($this->modules as $module => $moduleConf) {
if (file_exists('modules/' . $module . '/' . ucfirst($module) . '.php') && $moduleConf->visibility == "true") {
$params = array();
foreach ($moduleConf as $confParam) {
$params[$confParam->getName()] = "$confParam";
}
$module = new $module($params);
if (is_subclass_of($module, 'Module')) {
$module->build();
}
// require 'modules/'.$module.'/'.ucfirst($module).'.php';
// call_user_func(array($module, "start"), $module, $params);
}
}
}
/**
*
* @return le module donné avec ses paramètres actuellement présent en conf
*/
public static function getModule($module)
{
if ($config = simplexml_load_file('../' . self::CONFIG_FILE)) {
$config_xml = $config->item;
foreach ($config_xml as $item) {
if ($item["id"] == $module) {
$params = array();
foreach ($item as $confParam) {
$params[$confParam->getName()] = "$confParam";
}
//require '../modules/'.$module.'/'.ucfirst($module).'.php';
return new $module($params);
}
}
echo "object not found";
return;
} else {
echo "bad persistance";
return;
}
}
/**
*
* Construit et insère le menu de changement de config
*/
function buildConfigMenu()
{
echo '