Пример #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;
 }
Пример #2
0
function plgSystemAdvancedModulesPrepareModuleList(&$modules)
{
    $mainframe =& JFactory::getApplication();
    $client = $mainframe->getClientId();
    if ($client == 0) {
        $db =& JFactory::getDBO();
        jimport('joomla.filesystem.file');
        require_once JPATH_PLUGINS . DS . 'system' . DS . 'nonumberelements' . DS . 'helpers' . DS . 'parameters.php';
        $parameters =& NNParameters::getParameters();
        require_once JPATH_PLUGINS . DS . 'system' . DS . 'nonumberelements' . DS . 'helpers' . DS . 'assignments.php';
        $assignments = new NoNumberElementsAssignmentsHelper();
        $xmlfile_assignments = JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_advancedmodules' . DS . 'assignments.xml';
        $config = plgSystemAdvancedModulesConfig();
        // set params for all loaded modules first
        // and make it an associated array (array id = module id)
        $new_modules = array();
        foreach ($modules as $id => $module) {
            if (!isset($module->adv_params)) {
                $modarray = get_object_vars($module);
                if (!array_key_exists('adv_params', $modarray)) {
                    $modules[$id]->adv_params = 0;
                    continue;
                }
            }
            if (strpos($module->adv_params, 'assignto_menuitems=') === false) {
                $module->adv_params = plgSystemAdvancedModulesUpdateParams($module->id, $module->adv_params);
            }
            $module->adv_params = $parameters->getParams($module->adv_params, $xmlfile_assignments);
            $new_modules[$module->id] = $module;
        }
        $modules = $new_modules;
        unset($new_modules);
        foreach ($modules as $id => $module) {
            if ($module->adv_params === 0) {
                continue;
            }
            $extraparams = array();
            for ($i = 1; $i <= 5; $i++) {
                $var = 'extra' . $i;
                $extraparams[] = $var . '=' . (isset($module->adv_params->{$var}) ? $module->adv_params->{$var} : '');
            }
            if (!empty($extraparams)) {
                $module->params = implode("\n", $extraparams) . "\n" . $module->params;
            }
            $module->reverse = 0;
            // Check if module should mirror another modules assignment settings
            if ($module->published && $config->show_mirror_module) {
                $count = 0;
                while ($count++ < 10 && $module->adv_params->mirror_module) {
                    $mirror_moduleid = $module->adv_params->mirror_moduleid;
                    $module->reverse = $module->adv_params->mirror_module == 2;
                    $module->adv_params = null;
                    if ($mirror_moduleid && $mirror_moduleid != $id) {
                        if (isset($modules[$mirror_moduleid])) {
                            $module->adv_params = $modules[$mirror_moduleid]->adv_params;
                        } else {
                            $query = 'SELECT params' . ' FROM #__advancedmodules' . ' WHERE moduleid = ' . (int) $mirror_moduleid . ' LIMIT 1';
                            $db->setQuery($query);
                            $module->adv_params = $parameters->getParams($db->loadResult(), $xmlfile_assignments);
                        }
                    }
                }
            }
            if ($module->published) {
                $params = array();
                if ($module->adv_params->assignto_menuitems) {
                    $params['MenuItem'] = null;
                    $params['MenuItem']->assignment = $module->adv_params->assignto_menuitems;
                    $params['MenuItem']->selection = $module->adv_params->assignto_menuitems_selection;
                    $params['MenuItem']->params = null;
                    $params['MenuItem']->params->inc_children = $module->adv_params->assignto_menuitems_inc_children;
                    $params['MenuItem']->params->inc_noItemid = $module->adv_params->assignto_menuitems_inc_noitemid;
                }
                if ($config->show_assignto_secscats && $module->adv_params->assignto_secscats) {
                    $params['SecsCats'] = null;
                    $params['SecsCats']->assignment = $module->adv_params->assignto_secscats;
                    $params['SecsCats']->selection = $module->adv_params->assignto_secscats_selection;
                    $params['SecsCats']->params = null;
                    $incs = $module->adv_params->assignto_secscats_inc;
                    if (!(strpos($incs, '|') === false)) {
                        $incs = explode('|', $incs);
                    } else {
                        $incs = explode(',', $incs);
                    }
                    $params['SecsCats']->params->inc_sections = in_array('inc_secs', $incs);
                    $params['SecsCats']->params->inc_categories = in_array('inc_cats', $incs);
                    $params['SecsCats']->params->inc_articles = in_array('inc_arts', $incs);
                    $params['SecsCats']->params->inc_others = in_array('inc_others', $incs);
                }
                if ($config->show_assignto_articles && $module->adv_params->assignto_articles) {
                    $params['Articles'] = null;
                    $params['Articles']->assignment = $module->adv_params->assignto_articles;
                    $params['Articles']->selection = $module->adv_params->assignto_articles_selection;
                    $params['Articles']->params = null;
                    $params['Articles']->params->keywords = $module->adv_params->assignto_articles_keywords;
                }
                if ($config->show_assignto_k2cats && $module->adv_params->assignto_k2cats && JFile::exists(JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_k2' . DS . 'admin.k2.php')) {
                    $params['Categories_K2'] = null;
                    $params['Categories_K2']->assignment = $module->adv_params->assignto_k2cats;
                    $params['Categories_K2']->selection = $module->adv_params->assignto_k2cats_selection;
                    $params['Categories_K2']->params = null;
                    $params['Categories_K2']->params->inc_children = $module->adv_params->assignto_k2cats_inc_children;
                    $incs = $module->adv_params->assignto_k2cats_inc;
                    if (!(strpos($incs, '|') === false)) {
                        $incs = explode('|', $incs);
                    } else {
                        $incs = explode(',', $incs);
                    }
                    $params['Categories_K2']->params->inc_categories = in_array('inc_cats', $incs);
                    $params['Categories_K2']->params->inc_items = in_array('inc_items', $incs);
                }
                if ($config->show_assignto_mrcats && $module->adv_params->assignto_mrcats && JFile::exists(JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_resource' . DS . 'resource.php')) {
                    $params['Categories_MR'] = null;
                    $params['Categories_MR']->assignment = $module->adv_params->assignto_mrcats;
                    $params['Categories_MR']->selection = $module->adv_params->assignto_mrcats_selection;
                    $params['Categories_MR']->params = null;
                    $params['Categories_MR']->params->inc_children = $module->adv_params->assignto_mrcats_inc_children;
                    $incs = $module->adv_params->assignto_mrcats_inc;
                    if (!(strpos($incs, '|') === false)) {
                        $incs = explode('|', $incs);
                    } else {
                        $incs = explode(',', $incs);
                    }
                    $params['Categories_MR']->params->inc_categories = in_array('inc_cats', $incs);
                    $params['Categories_MR']->params->inc_items = in_array('inc_items', $incs);
                }
                if ($config->show_assignto_zoocats && $module->adv_params->assignto_zoocats && JFile::exists(JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_zoo' . DS . 'zoo.php')) {
                    $params['Categories_ZOO'] = null;
                    $params['Categories_ZOO']->assignment = $module->adv_params->assignto_zoocats;
                    $params['Categories_ZOO']->selection = $module->adv_params->assignto_zoocats_selection;
                    $params['Categories_ZOO']->params = null;
                    $params['Categories_ZOO']->params->inc_children = $module->adv_params->assignto_zoocats_inc_children;
                    $incs = $module->adv_params->assignto_zoocats_inc;
                    if (!(strpos($incs, '|') === false)) {
                        $incs = explode('|', $incs);
                    } else {
                        $incs = explode(',', $incs);
                    }
                    $params['Categories_ZOO']->params->inc_categories = in_array('inc_cats', $incs);
                    $params['Categories_ZOO']->params->inc_items = in_array('inc_items', $incs);
                }
                if ($config->show_assignto_components && $module->adv_params->assignto_components) {
                    $params['Components'] = null;
                    $params['Components']->assignment = $module->adv_params->assignto_components;
                    $params['Components']->selection = $module->adv_params->assignto_components_selection;
                }
                if ($config->show_assignto_urls && $module->adv_params->assignto_urls) {
                    $params['URL'] = null;
                    $params['URL']->assignment = $module->adv_params->assignto_urls;
                    $configuration =& JFactory::getConfig();
                    if ($configuration->getValue('config.sef') == 1) {
                        $params['URL']->selection = $module->adv_params->assignto_urls_selection_sef;
                    } else {
                        $params['URL']->selection = $module->adv_params->assignto_urls_selection;
                    }
                    $params['URL']->selection = str_replace('\\n', "\n", $params['URL']->selection);
                    $params['URL']->selection = str_replace('\\|', '|', $params['URL']->selection);
                    $params['URL']->selection = str_replace('[:REGEX_ENTER:]', '\\n', $params['URL']->selection);
                    $params['URL']->selection = explode("\n", $params['URL']->selection);
                }
                if ($config->show_assignto_browsers && $module->adv_params->assignto_browsers) {
                    $params['Browsers'] = null;
                    $params['Browsers']->assignment = $module->adv_params->assignto_browsers;
                    $params['Browsers']->params = null;
                    $params['Browsers']->selection = $module->adv_params->assignto_browsers_selection;
                }
                if ($config->show_assignto_date && $module->adv_params->assignto_date) {
                    $params['Date'] = null;
                    $params['Date']->assignment = $module->adv_params->assignto_date;
                    $params['Date']->params = null;
                    $params['Date']->params->publish_up = $module->adv_params->assignto_date_publish_up;
                    $params['Date']->params->publish_down = $module->adv_params->assignto_date_publish_down;
                }
                if ($config->show_assignto_date && $module->adv_params->assignto_seasons) {
                    $params['Seasons'] = null;
                    $params['Seasons']->assignment = $module->adv_params->assignto_seasons;
                    $params['Seasons']->selection = $module->adv_params->assignto_seasons_selection;
                    $params['Seasons']->params = null;
                    $params['Seasons']->params->hemisphere = $module->adv_params->assignto_seasons_hemisphere;
                }
                if ($config->show_assignto_date && $module->adv_params->assignto_months) {
                    $params['Months'] = null;
                    $params['Months']->assignment = $module->adv_params->assignto_months;
                    $params['Months']->selection = $module->adv_params->assignto_months_selection;
                }
                if ($config->show_assignto_date && $module->adv_params->assignto_days) {
                    $params['Days'] = null;
                    $params['Days']->assignment = $module->adv_params->assignto_days;
                    $params['Days']->selection = $module->adv_params->assignto_days_selection;
                }
                if ($config->show_assignto_date && $module->adv_params->assignto_time) {
                    $params['Time'] = null;
                    $params['Time']->assignment = $module->adv_params->assignto_time;
                    $params['Time']->params = null;
                    $params['Time']->params->publish_up = $module->adv_params->assignto_time_publish_up;
                    $params['Time']->params->publish_down = $module->adv_params->assignto_time_publish_down;
                }
                if ($config->show_assignto_usergrouplevels && $module->adv_params->assignto_usergrouplevels) {
                    $params['UserGroupLevels'] = null;
                    $params['UserGroupLevels']->assignment = $module->adv_params->assignto_usergrouplevels;
                    $params['UserGroupLevels']->selection = $module->adv_params->assignto_usergrouplevels_selection;
                }
                if ($config->show_assignto_users && $module->adv_params->assignto_users) {
                    $params['Users'] = null;
                    $params['Users']->assignment = $module->adv_params->assignto_users;
                    $params['Users']->selection = $module->adv_params->assignto_users_selection;
                }
                if ($config->show_assignto_languages && $module->adv_params->assignto_languages) {
                    $params['Languages'] = null;
                    $params['Languages']->assignment = $module->adv_params->assignto_languages;
                    $params['Languages']->selection = $module->adv_params->assignto_languages_selection;
                }
                if ($config->show_assignto_templates && $module->adv_params->assignto_templates) {
                    $params['Templates'] = null;
                    $params['Templates']->assignment = $module->adv_params->assignto_templates;
                    $params['Templates']->selection = $module->adv_params->assignto_templates_selection;
                }
                if ($config->show_assignto_php && $module->adv_params->assignto_php) {
                    $params['PHP'] = null;
                    $params['PHP']->assignment = $module->adv_params->assignto_php;
                    $params['PHP']->selection = $module->adv_params->assignto_php_selection;
                }
                $pass = $assignments->passAll($params, $module->adv_params->match_method);
                if (!$pass) {
                    $module->published = 0;
                }
                if ($module->reverse) {
                    $module->published = $module->published ? 0 : 1;
                }
            }
            $modules[$id] = $module;
        }
    }
}
Пример #3
0
function plgSystemAdvancedModulesPrepareModuleList(&$modules)
{
    $mainframe =& JFactory::getApplication();
    $client = $mainframe->getClientId();
    if ($client == 0) {
        $db =& JFactory::getDBO();
        jimport('joomla.filesystem.file');
        require_once JPATH_PLUGINS . DS . 'system' . DS . 'nonumberelements' . DS . 'helpers' . DS . 'parameters.php';
        $parameters =& NNParameters::getParameters();
        require_once JPATH_PLUGINS . DS . 'system' . DS . 'nonumberelements' . DS . 'helpers' . DS . 'assignments.php';
        $assignments = new NoNumberElementsAssignmentsHelper();
        $xmlfile_assignments = JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_advancedmodules' . DS . 'assignments.xml';
        $config = plgSystemAdvancedModulesConfig();
        // set params for all loaded modules first
        // and make it an associated array (array id = module id)
        $new_modules = array();
        require_once JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_advancedmodules' . DS . 'models' . DS . 'module.php';
        $model = new AdvancedModulesModelModule();
        foreach ($modules as $id => $module) {
            if (!isset($module->adv_params)) {
                $module->adv_params = '';
            }
            $registry = new JRegistry();
            if (strpos($module->adv_params, '"assignto_menuitems"') === false) {
                $module->adv_params = $model->initAssignments($module->id, $module, $module->adv_params);
                $registry->loadArray($module->adv_params);
            } else {
                $registry->loadString($module->adv_params);
            }
            $module->adv_params = $registry->toObject();
            $module->adv_params = $parameters->getParams($module->adv_params, $xmlfile_assignments);
            $new_modules[$module->id] = $module;
        }
        $modules = $new_modules;
        unset($new_modules);
        foreach ($modules as $id => $module) {
            if ($module->adv_params === 0) {
                continue;
            }
            $extraparams = array();
            for ($i = 1; $i <= 5; $i++) {
                $var = 'extra' . $i;
                $extraparams[$var] = isset($module->adv_params->{$var}) ? $module->adv_params->{$var} : '';
            }
            if (!empty($extraparams)) {
                $registry = new JRegistry();
                $registry->loadString($module->params);
                $module->params = $registry->toArray();
                $module->params = array_merge($module->params, $extraparams);
                $registry = new JRegistry();
                $registry->loadArray($module->params);
                $module->params = $registry->toString();
            }
            $module->reverse = 0;
            // Check if module should mirror another modules assignment settings
            if ($module->published && $config->show_mirror_module) {
                $count = 0;
                while ($count++ < 10 && isset($module->adv_params->mirror_module) && $module->adv_params->mirror_module && isset($module->adv_params->mirror_moduleid) && $module->adv_params->mirror_moduleid) {
                    $mirror_moduleid = $module->adv_params->mirror_moduleid;
                    $module->reverse = $module->adv_params->mirror_module == 2;
                    if ($mirror_moduleid) {
                        if ($mirror_moduleid == $id) {
                            $empty = new stdClass();
                            $module->adv_params = $parameters->getParams($empty, $xmlfile_assignments);
                        } else {
                            if (isset($modules[$mirror_moduleid])) {
                                $module->adv_params = $modules[$mirror_moduleid]->adv_params;
                            } else {
                                $query = 'SELECT params' . ' FROM #__advancedmodules' . ' WHERE moduleid = ' . (int) $mirror_moduleid . ' LIMIT 1';
                                $db->setQuery($query);
                                $registry = new JRegistry();
                                $registry->loadString($db->loadResult());
                                $module->adv_params = $parameters->getParams($registry->toObject(), $xmlfile_assignments);
                            }
                        }
                    }
                }
            }
            if ($module->published) {
                $params = array();
                if ($module->adv_params->assignto_menuitems) {
                    $params['MenuItem'] = new stdClass();
                    $params['MenuItem']->assignment = $module->adv_params->assignto_menuitems;
                    $params['MenuItem']->selection = $module->adv_params->assignto_menuitems_selection;
                    $params['MenuItem']->params = new stdClass();
                    $params['MenuItem']->params->inc_children = $module->adv_params->assignto_menuitems_inc_children;
                    $params['MenuItem']->params->inc_noItemid = $module->adv_params->assignto_menuitems_inc_noitemid;
                }
                if ($config->show_assignto_homepage && $module->adv_params->assignto_homepage) {
                    $params['HomePage'] = new stdClass();
                    $params['HomePage']->assignment = $module->adv_params->assignto_homepage;
                }
                if ($config->show_assignto_content) {
                    if ($module->adv_params->assignto_cats) {
                        $params['Cats'] = new stdClass();
                        $params['Cats']->assignment = $module->adv_params->assignto_cats;
                        $params['Cats']->selection = $module->adv_params->assignto_cats_selection;
                        $params['Cats']->params = new stdClass();
                        $incs = $assignments->makeArray($module->adv_params->assignto_cats_inc);
                        $params['Cats']->params->inc_categories = in_array('inc_cats', $incs);
                        $params['Cats']->params->inc_articles = in_array('inc_arts', $incs);
                        $params['Cats']->params->inc_others = in_array('inc_others', $incs);
                        $params['Cats']->params->inc_children = $module->adv_params->assignto_cats_inc_children;
                    }
                    if ($module->adv_params->assignto_articles) {
                        $params['Articles'] = new stdClass();
                        $params['Articles']->assignment = $module->adv_params->assignto_articles;
                        $params['Articles']->selection = $module->adv_params->assignto_articles_selection;
                        $params['Articles']->params = new stdClass();
                        $params['Articles']->params->keywords = $module->adv_params->assignto_articles_keywords;
                    }
                }
                /*
                if ( $config->show_assignto_fc && JFile::exists( JPATH_ADMINISTRATOR.DS.'components'.DS.'com_flexicontent'.DS.'admin.flexicontent.php' ) ) {
                	if ( $module->adv_params->assignto_fccats ) {
                		$params['Categories_FC'] = new stdClass();
                		$params['Categories_FC']->assignment = $module->adv_params->assignto_fccats;
                		$params['Categories_FC']->selection = $module->adv_params->assignto_fccats_selection;
                		$params['Categories_FC']->params = new stdClass();
                		$params['Categories_FC']->params->inc_children = $module->adv_params->assignto_fccats_inc_children;
                		$incs = $assignments->makeArray( $module->adv_params->assignto_fccats_inc );
                		$params['Categories_FC']->params->inc_categories = in_array( 'inc_cats', $incs );
                		$params['Categories_FC']->params->inc_items = in_array( 'inc_items', $incs );
                	}
                	if ( $module->adv_params->assignto_fctags ) {
                		$params['Tags_FC'] = new stdClass();
                		$params['Tags_FC']->assignment = $module->adv_params->assignto_fctags;
                		$params['Tags_FC']->selection = $module->adv_params->assignto_fctags_selection;
                		$params['Tags_FC']->params = new stdClass();
                		$incs = $assignments->makeArray( $module->adv_params->assignto_fctags_inc );
                		$params['Tags_FC']->params->inc_tags = in_array( 'inc_tags', $incs );
                		$params['Tags_FC']->params->inc_items = in_array( 'inc_items', $incs );
                	}
                	if ( $module->adv_params->assignto_fctypes ) {
                		$params['Types_FC'] = new stdClass();
                		$params['Types_FC']->assignment = $module->adv_params->assignto_fctypes;
                		$params['Types_FC']->selection = $module->adv_params->assignto_fctypes_selection;
                		$params['Types_FC']->params = new stdClass();
                	}
                	if ( $module->adv_params->assignto_fcitems ) {
                		$params['Items_FC'] = new stdClass();
                		$params['Items_FC']->assignment = $module->adv_params->assignto_fcitems;
                		$params['Items_FC']->selection = $module->adv_params->assignto_fcitems_selection;
                	}
                }
                if ( $config->show_assignto_k2 && JFile::exists( JPATH_ADMINISTRATOR.DS.'components'.DS.'com_k2'.DS.'admin.k2.php' ) ) {
                	if ( $module->adv_params->assignto_k2cats ) {
                		$params['Categories_K2'] = new stdClass();
                		$params['Categories_K2']->assignment = $module->adv_params->assignto_k2cats;
                		$params['Categories_K2']->selection = $module->adv_params->assignto_k2cats_selection;
                		$params['Categories_K2']->params = new stdClass();
                		$params['Categories_K2']->params->inc_children = $module->adv_params->assignto_k2cats_inc_children;
                		$incs = $assignments->makeArray( $module->adv_params->assignto_k2cats_inc );
                		$params['Categories_K2']->params->inc_categories = in_array( 'inc_cats', $incs );
                		$params['Categories_K2']->params->inc_items = in_array( 'inc_items', $incs );
                	}
                	if ( $module->adv_params->assignto_k2tags ) {
                		$params['Tags_K2'] = new stdClass();
                		$params['Tags_K2']->assignment = $module->adv_params->assignto_k2tags;
                		$params['Tags_K2']->selection = $module->adv_params->assignto_k2tags_selection;
                		$params['Tags_K2']->params = new stdClass();
                		$incs = $assignments->makeArray( $module->adv_params->assignto_k2tags_inc );
                		$params['Tags_K2']->params->inc_tags = in_array( 'inc_tags', $incs );
                		$params['Tags_K2']->params->inc_items = in_array( 'inc_items', $incs );
                	}
                	if ( $module->adv_params->assignto_k2items ) {
                		$params['Items_K2'] = new stdClass();
                		$params['Items_K2']->assignment = $module->adv_params->assignto_k2items;
                		$params['Items_K2']->selection = $module->adv_params->assignto_k2items_selection;
                	}
                }
                if ( $config->show_assignto_mr && $module->adv_params->assignto_mrcats && JFile::exists( JPATH_ADMINISTRATOR.DS.'components'.DS.'com_resource'.DS.'resource.php' ) ) {
                	$params['Categories_MR'] = new stdClass();
                	$params['Categories_MR']->assignment = $module->adv_params->assignto_mrcats;
                	$params['Categories_MR']->selection = $module->adv_params->assignto_mrcats_selection;
                	$params['Categories_MR']->params = new stdClass();
                	$params['Categories_MR']->params->inc_children = $module->adv_params->assignto_mrcats_inc_children;
                	$incs = $assignments->makeArray( $module->adv_params->assignto_mrcats_inc );
                	$params['Categories_MR']->params->inc_categories = in_array( 'inc_cats', $incs );
                	$params['Categories_MR']->params->inc_items = in_array( 'inc_items', $incs );
                }
                */
                if ($config->show_assignto_zoo && $module->adv_params->assignto_zoocats && JFile::exists(JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_zoo' . DS . 'zoo.php')) {
                    $params['Categories_ZOO'] = new stdClass();
                    $params['Categories_ZOO']->assignment = $module->adv_params->assignto_zoocats;
                    $params['Categories_ZOO']->selection = $module->adv_params->assignto_zoocats_selection;
                    $params['Categories_ZOO']->params = new stdClass();
                    $params['Categories_ZOO']->params->inc_children = $module->adv_params->assignto_zoocats_inc_children;
                    $incs = $assignments->makeArray($module->adv_params->assignto_zoocats_inc);
                    $params['Categories_ZOO']->params->inc_apps = in_array('inc_apps', $incs);
                    $params['Categories_ZOO']->params->inc_categories = in_array('inc_cats', $incs);
                    $params['Categories_ZOO']->params->inc_items = in_array('inc_items', $incs);
                }
                if ($config->show_assignto_components && $module->adv_params->assignto_components) {
                    $params['Components'] = new stdClass();
                    $params['Components']->assignment = $module->adv_params->assignto_components;
                    $params['Components']->selection = $module->adv_params->assignto_components_selection;
                }
                if ($config->show_assignto_urls && $module->adv_params->assignto_urls) {
                    $params['URL'] = new stdClass();
                    $params['URL']->assignment = $module->adv_params->assignto_urls;
                    $configuration =& JFactory::getConfig();
                    if ($config->use_sef == 1 || $config->use_sef == 2 && $configuration->getValue('config.sef') == 1) {
                        $params['URL']->selection = $module->adv_params->assignto_urls_selection_sef;
                    } else {
                        $params['URL']->selection = $module->adv_params->assignto_urls_selection;
                    }
                    $params['URL']->selection = explode("\n", $params['URL']->selection);
                }
                if ($config->show_assignto_browsers && $module->adv_params->assignto_browsers) {
                    $params['Browsers'] = new stdClass();
                    $params['Browsers']->assignment = $module->adv_params->assignto_browsers;
                    $params['Browsers']->selection = $module->adv_params->assignto_browsers_selection;
                }
                if ($config->show_assignto_date) {
                    if ($module->adv_params->assignto_date) {
                        $params['Date'] = new stdClass();
                        $params['Date']->assignment = $module->adv_params->assignto_date;
                        $params['Date']->params = new stdClass();
                        $params['Date']->params->publish_up = $module->adv_params->assignto_date_publish_up;
                        $params['Date']->params->publish_down = $module->adv_params->assignto_date_publish_down;
                    }
                    if ($module->adv_params->assignto_seasons) {
                        $params['Seasons'] = new stdClass();
                        $params['Seasons']->assignment = $module->adv_params->assignto_seasons;
                        $params['Seasons']->selection = $module->adv_params->assignto_seasons_selection;
                        $params['Seasons']->params = new stdClass();
                        $params['Seasons']->params->hemisphere = $module->adv_params->assignto_seasons_hemisphere;
                    }
                    if ($module->adv_params->assignto_months) {
                        $params['Months'] = new stdClass();
                        $params['Months']->assignment = $module->adv_params->assignto_months;
                        $params['Months']->selection = $module->adv_params->assignto_months_selection;
                    }
                    if ($module->adv_params->assignto_days) {
                        $params['Days'] = new stdClass();
                        $params['Days']->assignment = $module->adv_params->assignto_days;
                        $params['Days']->selection = $module->adv_params->assignto_days_selection;
                    }
                    if ($module->adv_params->assignto_time) {
                        $params['Time'] = new stdClass();
                        $params['Time']->assignment = $module->adv_params->assignto_time;
                        $params['Time']->params = new stdClass();
                        $params['Time']->params->publish_up = $module->adv_params->assignto_time_publish_up;
                        $params['Time']->params->publish_down = $module->adv_params->assignto_time_publish_down;
                    }
                }
                if ($config->show_assignto_usergrouplevels && $module->adv_params->assignto_usergrouplevels) {
                    $params['UserGroupLevels'] = new stdClass();
                    $params['UserGroupLevels']->assignment = $module->adv_params->assignto_usergrouplevels;
                    $params['UserGroupLevels']->selection = $module->adv_params->assignto_usergrouplevels_selection;
                }
                if ($config->show_assignto_users && $module->adv_params->assignto_users) {
                    $params['Users'] = new stdClass();
                    $params['Users']->assignment = $module->adv_params->assignto_users;
                    $params['Users']->selection = $module->adv_params->assignto_users_selection;
                }
                if ($config->show_assignto_languages && $module->adv_params->assignto_languages) {
                    $params['Languages'] = new stdClass();
                    $params['Languages']->assignment = $module->adv_params->assignto_languages;
                    $params['Languages']->selection = $module->adv_params->assignto_languages_selection;
                }
                if ($config->show_assignto_templates && $module->adv_params->assignto_templates) {
                    $params['Templates'] = new stdClass();
                    $params['Templates']->assignment = $module->adv_params->assignto_templates;
                    $params['Templates']->selection = $module->adv_params->assignto_templates_selection;
                }
                if ($config->show_assignto_php && $module->adv_params->assignto_php) {
                    $params['PHP'] = new stdClass();
                    $params['PHP']->assignment = $module->adv_params->assignto_php;
                    $params['PHP']->selection = $module->adv_params->assignto_php_selection;
                }
                $pass = $assignments->passAll($params, $module->adv_params->match_method);
                if (!$pass) {
                    $module->published = 0;
                }
                if ($module->reverse) {
                    $module->published = $module->published ? 0 : 1;
                }
            }
            $modules[$id] = $module;
        }
    }
}