public override string CopyFile(string path, string newPath) { try { string virtualPathAndFile = FileSystemValidation.ToVirtualPath(path); string virtualNewPathAndFile = FileSystemValidation.ToVirtualPath(newPath); string returnValue = DNNValidator.OnCopyFile(virtualPathAndFile, virtualNewPathAndFile); if (!(string.IsNullOrEmpty(returnValue))) { return(returnValue); } //Returns errors or empty string when successful (ie: NewFileAlreadyExists) returnValue = TelerikContent.CopyFile(virtualPathAndFile, virtualNewPathAndFile); if (string.IsNullOrEmpty(returnValue)) { string virtualNewPath = FileSystemValidation.RemoveFileName(virtualNewPathAndFile); FolderInfo dnnFolder = DNNValidator.GetUserFolder(virtualNewPath); var dnnFileInfo = new Services.FileSystem.FileInfo(); FillFileInfo(virtualNewPathAndFile, ref dnnFileInfo); DNNFileCtrl.AddFile(PortalSettings.PortalId, dnnFileInfo.FileName, dnnFileInfo.Extension, dnnFileInfo.Size, dnnFileInfo.Width, dnnFileInfo.Height, dnnFileInfo.ContentType, dnnFolder.FolderPath, dnnFolder.FolderID, true); } return(returnValue); } catch (Exception ex) { return(DNNValidator.LogUnknownError(ex, path, newPath)); } }