Index: trunk/kernel/units/general/cat_event_handler.php =================================================================== diff -u -r3579 -r3591 --- trunk/kernel/units/general/cat_event_handler.php (.../cat_event_handler.php) (revision 3579) +++ trunk/kernel/units/general/cat_event_handler.php (.../cat_event_handler.php) (revision 3591) @@ -745,7 +745,7 @@ $exploded = explode('.', $foreign_field); $foreign_table = TABLE_PREFIX.$exploded[0]; - if($search_config[$field]['CustomFieldId']) { + if($record['CustomFieldId']) { $exploded[1] = 'l'.$lang.'_'.$exploded[1]; } Index: trunk/core/units/general/cat_event_handler.php =================================================================== diff -u -r3579 -r3591 --- trunk/core/units/general/cat_event_handler.php (.../cat_event_handler.php) (revision 3579) +++ trunk/core/units/general/cat_event_handler.php (.../cat_event_handler.php) (revision 3591) @@ -745,7 +745,7 @@ $exploded = explode('.', $foreign_field); $foreign_table = TABLE_PREFIX.$exploded[0]; - if($search_config[$field]['CustomFieldId']) { + if($record['CustomFieldId']) { $exploded[1] = 'l'.$lang.'_'.$exploded[1]; } Index: trunk/kernel/units/categories/categories_tag_processor.php =================================================================== diff -u -r3557 -r3591 --- trunk/kernel/units/categories/categories_tag_processor.php (.../categories_tag_processor.php) (revision 3557) +++ trunk/kernel/units/categories/categories_tag_processor.php (.../categories_tag_processor.php) (revision 3591) @@ -93,7 +93,15 @@ $module = $this->Application->recallObject('mod.'.$module_name); $module_root_cat = $module->GetDBField('RootCat'); - if ($this->Application->GetVar('m_cat_id') == $module_root_cat) { + $additional_cats = $this->SelectParam($params, 'add_cats'); + if ($additional_cats) { + $additional_cats = explode(',', $additional_cats); + } + else { + $additional_cats = array(); + } + + if ($this->Application->GetVar('m_cat_id') == $module_root_cat || in_array($this->Application->GetVar('m_cat_id'), $additional_cats)) { $home_template = getArrayValue($params, 'home_template'); if (!$home_template) return; $this->Application->Redirect($home_template, Array('pass'=>'all')); Index: trunk/core/units/categories/categories_tag_processor.php =================================================================== diff -u -r3557 -r3591 --- trunk/core/units/categories/categories_tag_processor.php (.../categories_tag_processor.php) (revision 3557) +++ trunk/core/units/categories/categories_tag_processor.php (.../categories_tag_processor.php) (revision 3591) @@ -93,7 +93,15 @@ $module = $this->Application->recallObject('mod.'.$module_name); $module_root_cat = $module->GetDBField('RootCat'); - if ($this->Application->GetVar('m_cat_id') == $module_root_cat) { + $additional_cats = $this->SelectParam($params, 'add_cats'); + if ($additional_cats) { + $additional_cats = explode(',', $additional_cats); + } + else { + $additional_cats = array(); + } + + if ($this->Application->GetVar('m_cat_id') == $module_root_cat || in_array($this->Application->GetVar('m_cat_id'), $additional_cats)) { $home_template = getArrayValue($params, 'home_template'); if (!$home_template) return; $this->Application->Redirect($home_template, Array('pass'=>'all')); Index: trunk/core/kernel/processors/main_processor.php =================================================================== diff -u -r3491 -r3591 --- trunk/core/kernel/processors/main_processor.php (.../main_processor.php) (revision 3491) +++ trunk/core/kernel/processors/main_processor.php (.../main_processor.php) (revision 3591) @@ -695,10 +695,20 @@ { $condition = $this->Application->ConfigValue($condition); } + } + $group = $this->SelectParam($params, 'group'); + $group_access = true; + if ($group) { + $conn =& $this->Application->DB; + $group_id = $conn->GetOne('SELECT GroupId FROM '.TABLE_PREFIX.'PortalGroup WHERE Name = '.$conn->qstr($group)); + if ($group_id) { + $groups = explode(',', $this->Application->RecallVar('UserGroups')); + $group_access = in_array($group_id, $groups); + } } - if( !$this->Application->LoggedIn() && $condition ) + if( (!$this->Application->LoggedIn() || !$group_access) && $condition ) { $t = $this->Application->GetVar('t'); $this->Application->Redirect( $params['login_template'], Array('next_template'=>$t) ); @@ -733,7 +743,7 @@ } } } - + $http_query =& $this->Application->recallObject('HTTPQuery'); $pass = $http_query->getRedirectParams();