Index: units/relationship/relationship_event_handler.php =================================================================== --- units/relationship/relationship_event_handler.php (revision 14653) +++ units/relationship/relationship_event_handler.php (working copy) @@ -17,15 +17,17 @@ class RelationshipEventHandler extends kDBEventHandler { /** - * Allows to override standart permission mapping + * Allows to override standard permission mapping * */ function mapPermissions() { parent::mapPermissions(); - $permissions = Array( - 'OnProcessSelected' => Array('subitem' => 'add|edit'), - ); + + $permissions = Array ( + 'OnProcessSelected' => Array ('subitem' => 'add|edit') + ); + $this->permMapping = array_merge($this->permMapping, $permissions); } @@ -40,7 +42,7 @@ $object =& $event->getObject(); /* @var $object kDBItem */ - + $table_info = $object->getLinkedInfo(); $object->SetDBField('SourceId', $table_info['ParentId']); @@ -102,8 +104,15 @@ $source_prefix = $this->Application->getUnitOption($event->Prefix, 'ParentPrefix'); $template = $this->Application->getUnitOption($source_prefix, 'AdminTemplatePath') . '/relations_edit'; - $redirect_params = Array ($event->Prefix . '_event' => 'OnNew', 'target_id' => $target_id, 'm_opener' => 's', 'target_type' => $target_type); - $this->Application->EventManager->openerStackPush($template, $redirect_params, 'all,' . $event->Prefix); + $redirect_params = Array ( + $event->Prefix . '_event' => 'OnNew', + 'target_id' => $target_id, + 'm_opener' => 's', + 'target_type' => $target_type, + 'pass' => 'all,' . $event->Prefix, + ); + + $this->Application->EventManager->openerStackPush($template, $redirect_params); } } else { @@ -275,10 +284,10 @@ function OnDeleteForeignRelations(&$event) { $main_object =& $event->MasterEvent->getObject(); - $resource_id = $main_object->GetDBField('ResourceId'); + /* @var $main_object kDBItem */ - $table = $this->Application->getUnitOption($event->Prefix,'TableName'); - $sql = 'DELETE FROM '.$table.' WHERE TargetId = '.$resource_id; + $sql = 'DELETE FROM ' . $this->Application->getUnitOption($event->Prefix, 'TableName') . ' + WHERE TargetId = ' . $main_object->GetDBField('ResourceId'); $this->Conn->Query($sql); }