function getActiveModules() { // // At first, get active module IDs. // static $ret; if (isset($ret)) { return $ret; } $handler =& xoops_gethandler('module'); $criteria = new CriteriaCompo(); $criteria->add(new Criteria('isactive', 1)); $criteria->add(new Criteria('hassearch', 1)); // shortcut for speedup $db = $handler->db; $sort = $criteria->getSort(); $sql = 'SELECT mid,name FROM ' . $db->prefix('modules') . ' ' . $criteria->renderWhere() . ($sort ? ' ORDER BY ' . $sort . ' ' . $criteria->getOrder() : ' ORDER BY weight ' . $criteria->getOrder() . ', mid ASC'); $result = $db->query($sql); $handler =& xoops_gethandler('groupperm'); $groupArr = Legacy_SearchUtils::getUserGroups(); $ret = array(); while (list($mid, $name) = $db->fetchRow($result)) { if ($handler->checkRight('module_read', $mid, $groupArr)) { $ret[] = array('mid' => $mid, 'name' => $name); } } return $ret; }
function getActiveModules() { // // At first, get active module IDs. // $handler =& xoops_gethandler('module'); $criteria = new CriteriaCompo(); $criteria->add(new Criteria('isactive', 1)); $criteria->add(new Criteria('hassearch', 1)); $moduleArr =& $handler->getObjects($criteria); $handler =& xoops_gethandler('groupperm'); $groupArr = Legacy_SearchUtils::getUserGroups(); $ret = array(); foreach ($moduleArr as $module) { if ($handler->checkRight('module_read', $module->get('mid'), $groupArr)) { $ret[] = array('mid' => $module->get('mid'), 'name' => $module->get('name')); } } return $ret; }