26 public $_mXoopsModules = [];
31 public $_mExclusions = [
'.',
'..',
'CVS'];
35 parent::__construct($db);
36 $this->_setupObjects();
42 public function _setupObjects()
44 if ((count ($this -> _mXoopsModules) == 0) && $handler = opendir (XOOPS_MODULE_PATH)) {
45 while (($dir = readdir($handler)) !==
false) {
46 if (!in_array ($dir, $this -> _mExclusions,
true) && is_dir(XOOPS_MODULE_PATH .
'/' . $dir)) {
47 $module =& $this->
get($dir);
48 if ($module !==
false) {
49 $this->_mXoopsModules[] =& $module;
64 public function &
get($dirname)
68 if (!file_exists(XOOPS_MODULE_PATH .
'/' . $dirname .
'/xoops_version.php')) {
72 $moduleHandler =& xoops_gethandler(
'module');
74 $check =& $moduleHandler->getByDirname($dirname);
75 if (is_object($check)) {
79 $module =& $moduleHandler->create();
80 $module->loadInfoAsVar($dirname);
85 public function &getObjects($criteria=
null)
87 return $this->_mXoopsModules;
90 public function &getObjectsFor2ndInstaller()
94 foreach (array_keys($this->_mXoopsModules) as $key) {
95 if (empty($this->_mXoopsModules[$key]->modinfo[
'disable_legacy_2nd_installer'])) {
96 $ret[] =& $this->_mXoopsModules[$key];