Index: branches/unlabeled/unlabeled-1.6.2/core/units/permissions/permissions_event_handler.php =================================================================== diff -u -N -r5618 -r5619 --- branches/unlabeled/unlabeled-1.6.2/core/units/permissions/permissions_event_handler.php (.../permissions_event_handler.php) (revision 5618) +++ branches/unlabeled/unlabeled-1.6.2/core/units/permissions/permissions_event_handler.php (.../permissions_event_handler.php) (revision 5619) @@ -188,14 +188,17 @@ */ function OnBeforeDeleteFromLive(&$event) { - $foreign_keys = $event->getEventParam('foreign_key'); + if ($event->Prefix == 'c-perm') { + // only when saving category permissions, not group permissions + $foreign_keys = $event->getEventParam('foreign_key'); - if ((count($foreign_keys) == 1) && ($foreign_keys[0] == 0)) { - // parent item has zero id - $temp_object =& $this->Application->recallObject('c'); - if ($temp_object->isLoaded()) { - // category with id = 0 found in temp table - $event->status = erFAIL; + if ((count($foreign_keys) == 1) && ($foreign_keys[0] == 0)) { + // parent item has zero id + $temp_object =& $this->Application->recallObject('c'); + if ($temp_object->isLoaded()) { + // category with id = 0 found in temp table + $event->status = erFAIL; + } } } }