Index: trunk/core/units/categories/categories_event_handler.php =================================================================== diff -u -N -r5177 -r5194 --- trunk/core/units/categories/categories_event_handler.php (.../categories_event_handler.php) (revision 5177) +++ trunk/core/units/categories/categories_event_handler.php (.../categories_event_handler.php) (revision 5194) @@ -65,17 +65,21 @@ $object->addFilter('parent_filter', 'ParentId = '.$parent_cat_id); $object->addFilter('perm_filter', 'PermId = 1'); // check for CATEGORY.VIEW permission - if ($this->Application->GetVar('u_id') > 0) { // !$this->Application->IsAdmin() || + if ($this->Application->GetVar('u_id') > 0) { // apply permission filters to all users except "root" $groups = explode(',',$this->Application->RecallVar('UserGroups')); foreach ($groups as $group) { $view_filters[] = 'FIND_IN_SET('.$group.', acl) || ((NOT FIND_IN_SET('.$group.',dacl)) AND acl=\'\')'; } $view_filter = implode(' OR ', $view_filters); $object->addFilter('perm_filter2', $view_filter); - $object->addFilter('status_filter', $object->TableName.'.Status = 1'); } + if (!$this->Application->IsAdmin()) { + // apply status filter only on front + $object->addFilter('status_filter', $object->TableName.'.Status = 1'); + } + if(strpos($types, 'category_related') !== false) { $object->removeFilter('parent_filter');