m_SiteSettings = &MohitoAPISettings::GetInstance();
}
/**
* ModuleManager::GetRTManager()
*
* @param mixed $par_ModuleName
* @param mixed $par_StructureItemID
* @param string $par_ModuleFolderOffset
* @return
*/
function &GetRTManager($par_ModuleName, $par_StructureItemID, $par_ModuleFolderOffset =
'../')
{
global $g_Settings, $g_Templates, $g_Modules;
require_once ($par_ModuleFolderOffset . $g_Modules[$par_ModuleName]->GetPath() .
'include.php');
// check if there're no initialized runtime managers or required runtime manager is not initialized
if (($this->m_RunTimeManagerList == null) || (!isset($this->
m_RunTimeManagerList[$par_ModuleName])))
{
// if standalone - take $l_ModuleSettings from include.php, otherwise - from DB
if (!$par_StructureItemID)
{
$l_ModuleSettings = &$g_Settings[$par_ModuleName];
$l_Templates = &$g_Templates[$par_ModuleName];
}
else
{
// ???
// select from structure DB where id = $par_StructureItemID
$l_ModuleSettings = unserialize(base64_decode(""));
$l_Templates = unserialize(base64_decode(""));
}
// ===================================================================
// = Module initialization
// ===================================================================
$l_ModuleInstance = &$g_Modules[$par_ModuleName]->GetInstance();
eval('$this->m_RunTimeManagerList[$par_ModuleName] = new ' . $l_ModuleInstance .
'($this->m_SiteSettings, $this, $l_ModuleSettings, $l_Templates);');
// ====================================================================
}
// return particular RuntimeManager Instance
return $this->m_RunTimeManagerList[$par_ModuleName];
}
}
?>