Exemplo n.º 1
0
 function getAdvancedModules($Itemid)
 {
     require_once JPATH_PLUGINS . DS . 'system' . DS . 'nonumberelements' . DS . 'helpers' . DS . 'parameters.php';
     $parameters =& NNParameters::getParameters();
     $db =& JFactory::getDBO();
     $query = 'SELECT m.id, m.title, m.module, m.position, m.checked_out, m.access,' . ' am.params as adv_params,' . ' g.name AS groupname' . ' FROM #__modules AS m' . ' LEFT JOIN #__advancedmodules AS am ON am.moduleid = m.id' . ' LEFT JOIN #__groups AS g ON g.id = m.access' . ' WHERE m.published = 1' . ' AND m.client_id = 0' . ' GROUP BY m.id' . ' ORDER BY m.position, m.ordering, m.id';
     $db->setQuery($query);
     if (null === ($modules = $db->loadObjectList('id'))) {
         JError::raiseWarning('SOME_ERROR_CODE', JText::_('AMM_ERROR_LOADING_MODULES') . $db->getErrorMsg());
         return false;
     }
     require_once JPATH_PLUGINS . DS . 'system' . DS . 'nonumberelements' . DS . 'helpers' . DS . 'assignments.php';
     $assignments = new NoNumberElementsAssignmentsHelper();
     $assignments->_params->Itemid = $Itemid;
     $xmlfile = JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_advancedmodules' . DS . 'assignments.xml';
     $ordered = array();
     foreach ($modules as $id => $module) {
         $module->adv_params = $parameters->getParams($module->adv_params, $xmlfile);
         if ($module->adv_params->assignto_menuitems) {
             $params = null;
             $params->assignment = $module->adv_params->assignto_menuitems;
             $params->selection = $module->adv_params->assignto_menuitems_selection;
             $params->params = null;
             $params->params->inc_children = $module->adv_params->assignto_menuitems_inc_children;
             $params->params->inc_noItemid = $module->adv_params->assignto_menuitems_inc_noitemid;
             $assignments->initParams($params, 'MenuItem');
             $pass = $assignments->passMenuItem($params->params, $params->selection, $params->assignment);
             if (!$pass) {
                 continue;
             }
         }
         $ordered[] = $modules[$id];
     }
     unset($modules);
     return $ordered;
 }