Index: branches/unlabeled/unlabeled-1.6.2/kernel/units/permissions/permissions_event_handler.php =================================================================== diff -u -N -r5561 -r5618 --- branches/unlabeled/unlabeled-1.6.2/kernel/units/permissions/permissions_event_handler.php (.../permissions_event_handler.php) (revision 5561) +++ branches/unlabeled/unlabeled-1.6.2/kernel/units/permissions/permissions_event_handler.php (.../permissions_event_handler.php) (revision 5618) @@ -178,6 +178,27 @@ } } } + + /** + * Don't delete permissions from live table in case of new category creation. + * Called as much times as permission count for categories set, so don't + * perform any sql queries here! + * + * @param kEvent $event + */ + function OnBeforeDeleteFromLive(&$event) + { + $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; + } + } + } } ?> \ No newline at end of file