Index: kernel/db/cat_dbitem.php =================================================================== --- kernel/db/cat_dbitem.php (revision 14888) +++ kernel/db/cat_dbitem.php (working copy) @@ -519,7 +519,10 @@ $temp_handler->DeleteItems($this->Prefix, $this->Special, Array ($original_id)); + $this->raiseEvent('OnAfterDeleteOriginal', null, Array('new_resource_id' => $this->GetDBField('ResourceId') )); + $this->SetDBField('OrgId', 0); + return $this->ChangeStatus(STATUS_ACTIVE, true); } Index: kernel/db/cat_event_handler.php =================================================================== --- kernel/db/cat_event_handler.php (revision 14888) +++ kernel/db/cat_event_handler.php (working copy) @@ -27,6 +27,7 @@ 'OnSaveSettings' => Array ('self' => 'add|edit|advanced:import'), 'OnResetSettings' => Array ('self' => 'add|edit|advanced:import'), 'OnBeforeDeleteOriginal' => Array ('self' => 'edit|advanced:approve'), + 'OnAfterDeleteOriginal' => Array ('self' => 'edit|advanced:approve'), 'OnCopy' => Array ('self' => true), 'OnDownloadFile' => Array ('self' => 'view'), @@ -2271,6 +2272,16 @@ } /** + * Occures after original item of item in pending editing got deleted (for hooking only) + * + * @param kEvent $event + */ + function OnAfterDeleteOriginal(&$event) + { + + } + + /** * Occurs before an item has been cloned * Id of newly created item is passed as event' 'id' param * Index: units/helpers/file_helper.php =================================================================== --- units/helpers/file_helper.php (revision 14888) +++ units/helpers/file_helper.php (working copy) @@ -428,6 +428,9 @@ $parts = pathinfo($name); $ext = '.' . $parts['extension']; $filename = $parts['filename']; + if (preg_match('/(.*)_[\d]+$/', $filename, $matches) && $matches[1]) { + $filename = $matches[1]; + } $new_name = $filename . $ext; if ( $parts['dirname'] != '.' ) {