24 private $modules = array();
40 $this->context = $context;
41 $modulesRoot = $context->router->modulesPath;
44 foreach ($modules as $i)
46 $modulePath =
"{$modulesRoot}{$i->directory}/main.php";
47 if (file_exists($modulePath) && $this->loadModule($modulePath, $i))
57 $context->hookManager->loadHooks(\
Entity\ModuleHook::getModules($ids));
66 $mod = include_once($path);
69 $mod->setContext($this->context);
85 $mod = $this->loadModuleFile($path);
88 $mod->setEntity($module);
89 $this->modules[] = $mod;
100 $entity = new \Entity\Module();
101 $entity->name = $modulename;
102 $entity->directory = $modulename;
103 $entity->active =
true;
104 $module = $this->loadModuleFile($this->context->router->modulesPath.$modulename.
'/main.php');
105 if ($module ===
false)
107 $entity->name = $module->getName();
108 $entity->description = $module->getDescription();
109 if ($module->install() ==
false)
112 $module->setEntity($entity);
123 $modulesRoot = $context->router->modulesPath;
125 $modules = scandir($modulesRoot, SCANDIR_SORT_NONE);
126 foreach ($modules as $i)
128 $path = $modulesRoot.$i;
129 if ($i ==
'.' || $i ==
'..' || !is_dir($path))
131 $this->loadModule($path);
142 foreach ($this->modules as $i)
144 if ($i->entity->id == $id)
158 return $this->modules;
break;
160 if (substr($key, 0, 4) ==
"_id_")
161 return $this->getModuleFromId((
int) substr($key, 4));
162 throw new \Exception(
"Cannot access attribute {$key}");