public override string StoreFile(Telerik.Web.UI.UploadedFile file, string path, string name, params string[] arguments) { try { string virtualPath = FileSystemValidation.ToVirtualPath(path); string returnValue = DNNValidator.OnCreateFile(FileSystemValidation.CombineVirtualPath(virtualPath, name), file.ContentLength); if (!(string.IsNullOrEmpty(returnValue))) { return(returnValue); } var folder = DNNValidator.GetUserFolder(virtualPath); var fileInfo = new DotNetNuke.Services.FileSystem.FileInfo(); FillFileInfo(file, ref fileInfo); //Add or update file FileManager.Instance.AddFile(folder, name, file.InputStream); return(returnValue); } catch (Exception ex) { return(DNNValidator.LogUnknownError(ex, path, name)); } }
public override string StoreFile(Telerik.Web.UI.UploadedFile file, string path, string name, params string[] arguments) { try { // TODO: Create entries in .resx for these messages Uri uri; if (!Uri.TryCreate(name, UriKind.Relative, out uri)) { ShowMessage(string.Format("The file {0} cannot be uploaded because it would create an invalid URL. Please, rename the file before upload.", name)); return(""); } var invalidChars = new[] { '<', '>', '*', '%', '&', ':', '\\', '?', '+' }; if (invalidChars.Any(uri.ToString().Contains)) { ShowMessage(string.Format("The file {0} contains some invalid characters. The file name cannot contain any of the following characters: {1}", name, new String(invalidChars))); return(""); } string virtualPath = FileSystemValidation.ToVirtualPath(path); string returnValue = DNNValidator.OnCreateFile(FileSystemValidation.CombineVirtualPath(virtualPath, name), file.ContentLength); if (!string.IsNullOrEmpty(returnValue)) { return(returnValue); } var folder = DNNValidator.GetUserFolder(virtualPath); var fileInfo = new Services.FileSystem.FileInfo(); FillFileInfo(file, ref fileInfo); //Add or update file FileManager.Instance.AddFile(folder, name, file.InputStream); return(returnValue); } catch (Exception ex) { return(DNNValidator.LogUnknownError(ex, path, name)); } }
public override string CreateDirectory(string path, string name) { try { var directoryName = name.Trim(); var virtualPath = FileSystemValidation.ToVirtualPath(path); var returnValue = DNNValidator.OnCreateFolder(virtualPath, directoryName); if (!(string.IsNullOrEmpty(returnValue))) { return(returnValue); } //Returns errors or empty string when successful (ie: DirectoryAlreadyExists, InvalidCharactersInPath) returnValue = TelerikContent.CreateDirectory(virtualPath, directoryName); if (!(string.IsNullOrEmpty(returnValue))) { return(GetTelerikMessage(returnValue)); } if (string.IsNullOrEmpty(returnValue)) { var virtualNewPath = FileSystemValidation.CombineVirtualPath(virtualPath, directoryName); var newFolderID = DNNFolderCtrl.AddFolder(PortalSettings.PortalId, FileSystemValidation.ToDBPath(virtualNewPath)); FileSystemUtils.SetFolderPermissions(PortalSettings.PortalId, newFolderID, FileSystemValidation.ToDBPath(virtualNewPath)); //make sure that the folder is flagged secure if necessary DNNValidator.OnFolderCreated(virtualNewPath, virtualPath); } return(returnValue); } catch (Exception ex) { return(DNNValidator.LogUnknownError(ex, path, name)); } }