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;
 }
Exemplo n.º 2
0
 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;
 }