Index: branches/5.1.x/core/kernel/db/cat_event_handler.php =================================================================== diff -u -N -r14007 -r14024 --- branches/5.1.x/core/kernel/db/cat_event_handler.php (.../cat_event_handler.php) (revision 14007) +++ branches/5.1.x/core/kernel/db/cat_event_handler.php (.../cat_event_handler.php) (revision 14024) @@ -1,6 +1,6 @@ Application->getUnitOption($event->Prefix, 'PermItemPrefix'); + $owner_field = $this->getOwnerField($event->Prefix); + $owner_id = $object->GetDBField($owner_field); + switch ($event->Name) { case 'OnCreate': $event_suffix = $is_active ? 'ADD' : 'ADD.PENDING'; - $owner_field = $this->getOwnerField($event->Prefix); - $this->Application->EmailEventAdmin($perm_prefix.'.'.$event_suffix); // there are no ADD.PENDING event for admin :( - $this->Application->EmailEventUser($perm_prefix.'.'.$event_suffix, $object->GetDBField($owner_field)); + $this->Application->EmailEventUser($perm_prefix.'.'.$event_suffix, $owner_id); break; case 'OnUpdate': $event_suffix = $is_active ? 'MODIFY' : 'MODIFY.PENDING'; + $user_id = is_numeric( $object->GetDBField('ModifiedById') ) ? $object->GetDBField('ModifiedById') : $owner_id; $this->Application->EmailEventAdmin($perm_prefix.'.'.$event_suffix); // there are no ADD.PENDING event for admin :( - $this->Application->EmailEventUser($perm_prefix.'.'.$event_suffix, $object->GetDBField('ModifiedById')); + $this->Application->EmailEventUser($perm_prefix.'.'.$event_suffix, $user_id); break; } }