private void btnUpload_Click(object sender, EventArgs e) { if (uploader.HasFile) { SiteUser siteUser = SiteUtils.GetCurrentSiteUser(); if (siteUser == null) return; SharedFile sharedFile = new SharedFile(this.moduleId, this.itemId); sharedFile.ContentChanged += new ContentChangedEventHandler(sharedFile_ContentChanged); if (config.EnableVersioning) { bool historyCreated = SharedFilesHelper.CreateHistory(sharedFile, fileSystem, virtualSourcePath, virtualHistoryPath); if (historyCreated) { sharedFile.ServerFileName = System.Guid.NewGuid().ToString() + ".config"; } } sharedFile.ModuleId = this.moduleId; if (sharedFile.ModuleGuid == Guid.Empty) { Module m = GetModule(moduleId, SharedFile.FeatureGuid); sharedFile.ModuleGuid = m.ModuleGuid; } string fileName = Path.GetFileName(uploader.FileName); sharedFile.OriginalFileName = fileName; sharedFile.FriendlyName = fileName; sharedFile.SizeInKB = (int)(uploader.FileBytes.Length / 1024); sharedFile.UploadUserId = siteUser.UserId; sharedFile.UploadDate = DateTime.UtcNow; if (sharedFile.Save()) { string destPath = virtualSourcePath + sharedFile.ServerFileName; using (Stream s = uploader.FileContent) { //fileSystem.SaveFile(destPath, file1.FileContent, file1.ContentType, true); fileSystem.SaveFile(destPath, s, IOHelper.GetMimeType(Path.GetExtension(sharedFile.FriendlyName).ToLower()), true); } } CurrentPage.UpdateLastModifiedTime(); CacheHelper.ClearModuleCache(moduleId); SiteUtils.QueueIndexing(); } WebUtils.SetupRedirect(this, Request.RawUrl); }
private void btnUpdateFile_Click(object sender, EventArgs e) { SiteUser siteUser = SiteUtils.GetCurrentSiteUser(); if (siteUser == null) return; SharedFile file = new SharedFile(this.moduleId, this.itemId); file.ContentChanged += new ContentChangedEventHandler(sharedFile_ContentChanged); if((file.ItemId > 0)&&(file.ModuleId == this.moduleId)) { file.FriendlyName = this.txtFriendlyName.Text; file.Description = edDescription.Text; file.FolderId = int.Parse(this.ddFolders.SelectedValue); if (file.FolderId > -1) { SharedFileFolder folder = new SharedFileFolder(this.moduleId,file.FolderId); file.FolderGuid = folder.FolderGuid; } if (file.ModuleGuid == Guid.Empty) { Module m = new Module(moduleId); file.ModuleGuid = m.ModuleGuid; } file.UploadUserId = siteUser.UserId; // really last mod date file.UploadDate = DateTime.UtcNow; file.Save(); } CurrentPage.UpdateLastModifiedTime(); CacheHelper.ClearModuleCache(moduleId); SiteUtils.QueueIndexing(); if (hdnReturnUrl.Value.Length > 0) { WebUtils.SetupRedirect(this, hdnReturnUrl.Value); return; } WebUtils.SetupRedirect(this, SiteUtils.GetCurrentPageUrl()); }
protected void dgFile_RowUpdating(object sender, GridViewUpdateEventArgs e) { SiteUser siteUser = SiteUtils.GetCurrentSiteUser(); if (siteUser == null) return; try { GridView grid = (GridView)sender; TextBox txtEditName = (TextBox)grid.Rows[e.RowIndex].Cells[1].FindControl("txtEditName"); if (txtEditName.Text.Trim().Length < 1) return; string keys = grid.DataKeys[e.RowIndex].Value.ToString(); char[] separator = { '~' }; string[] args = keys.Split(separator); string type = args[1]; if (type == "folder") { int folderID = int.Parse(args[0]); SharedFileFolder folder = new SharedFileFolder(this.ModuleId, folderID); folder.FolderName = Path.GetFileName(txtEditName.Text); folder.Save(); } if (type == "file") { int fileID = int.Parse(args[0]); SharedFile sharedFile = new SharedFile(this.ModuleId, fileID); sharedFile.ContentChanged += new ContentChangedEventHandler(sharedFile_ContentChanged); sharedFile.FriendlyName = Path.GetFileName(txtEditName.Text); sharedFile.UploadUserId = siteUser.UserId; sharedFile.UploadDate = DateTime.UtcNow; //lastModDate sharedFile.Save(); } dgFile.EditIndex = -1; BindData(); } catch (Exception ex) { lblError.Text = ex.Message; } upFiles.Update(); }
protected void btnUpload_Click(object sender, EventArgs e) { // as long as javascript is available this code should never execute // because the standard file input ir replaced by javascript and the file upload happens // at the service url /SharedFiles/upload.ashx // this is fallback implementation if (!fileSystem.FolderExists(fileVirtualBasePath)) { fileSystem.CreateFolder(fileVirtualBasePath); } SiteUser siteUser = SiteUtils.GetCurrentSiteUser(); if (siteUser == null) { WebUtils.SetupRedirect(this, Request.RawUrl); return; } if (uploader.HasFile) { SharedFile sharedFile = new SharedFile(); string fileName = Path.GetFileName(uploader.FileName); sharedFile.ModuleId = ModuleId; sharedFile.ModuleGuid = ModuleConfiguration.ModuleGuid; sharedFile.OriginalFileName = fileName; sharedFile.FriendlyName = fileName; //sharedFile.SizeInKB = (int)(file.ContentLength / 1024); sharedFile.SizeInKB = (int)(uploader.FileContent.Length / 1024); sharedFile.FolderId = CurrentFolderId; if (CurrentFolderId > -1) { SharedFileFolder folder = new SharedFileFolder(ModuleId, CurrentFolderId); sharedFile.FolderGuid = folder.FolderGuid; } sharedFile.UploadUserId = siteUser.UserId; sharedFile.UserGuid = siteUser.UserGuid; sharedFile.ContentChanged += new ContentChangedEventHandler(sharedFile_ContentChanged); if (sharedFile.Save()) { string destPath = VirtualPathUtility.Combine(fileVirtualBasePath, sharedFile.ServerFileName); using (Stream s = uploader.FileContent) { fileSystem.SaveFile(destPath, s, IOHelper.GetMimeType(Path.GetExtension(sharedFile.FriendlyName).ToLower()), true); } } } WebUtils.SetupRedirect(this, Request.RawUrl); }
private void CreateFile(Module module, SharedFileFolder folder, SiteUser siteUser, XmlNode fileNode) { SharedFile sharedFile = new SharedFile(); sharedFile.ModuleId = module.ModuleId; sharedFile.ModuleGuid = module.ModuleGuid; if (folder != null) { sharedFile.FolderId = folder.FolderId; sharedFile.FolderGuid = folder.FolderGuid; } if (siteUser != null) { sharedFile.UploadUserId = siteUser.UserId; sharedFile.UserGuid = siteUser.UserGuid; } XmlAttributeCollection fileAttributes = fileNode.Attributes; if (fileAttributes["originalFileName"] != null) { sharedFile.OriginalFileName = fileAttributes["originalFileName"].Value; } if (fileAttributes["friendlyName"] != null) { sharedFile.FriendlyName = fileAttributes["friendlyName"].Value; } if (fileAttributes["serverFileName"] != null) { sharedFile.ServerFileName = fileAttributes["serverFileName"].Value; } if (fileAttributes["sortOrder"] != null) { int size = 0; if (int.TryParse(fileAttributes["sortOrder"].Value, out size)) { sharedFile.SizeInKB = size; } } sharedFile.Save(); }
public static bool RestoreHistoryFile( int historyId, IFileSystem fileSystem, string virtualSourcePath, string virtualHistoryPath) { bool historyRestored = false; if (string.IsNullOrEmpty(virtualSourcePath)) { return historyRestored; } if (string.IsNullOrEmpty(virtualHistoryPath)) { return historyRestored; } if (fileSystem == null) { return historyRestored; } int itemId = 0; int moduleId = 0; string historyFriendlyName = string.Empty; string historyOriginalName = string.Empty; string historyServerName = string.Empty; DateTime historyUploadDate = DateTime.Now; int historyUploadUserID = 0; int historyFileSize = 0; using (IDataReader reader = SharedFile.GetHistoryFileAsIDataReader(historyId)) { if (reader.Read()) { itemId = Convert.ToInt32(reader["ItemID"]); moduleId = Convert.ToInt32(reader["ModuleID"]); historyFriendlyName = reader["FriendlyName"].ToString(); historyOriginalName = reader["OriginalFileName"].ToString(); historyServerName = reader["ServerFileName"].ToString(); historyFileSize = Convert.ToInt32(reader["SizeInKB"]); historyUploadUserID = Convert.ToInt32(reader["UploadUserID"]); historyUploadDate = DateTime.Parse(reader["UploadDate"].ToString()); } } SharedFile sharedFile = new SharedFile(moduleId, itemId); CreateHistory(sharedFile, fileSystem, virtualSourcePath, virtualHistoryPath); //File.Move(Path.Combine(historyPath, Path.GetFileName(historyServerName)), Path.Combine(sourcePath, Path.GetFileName(historyServerName))); fileSystem.MoveFile( VirtualPathUtility.Combine(virtualHistoryPath, historyServerName), VirtualPathUtility.Combine(virtualSourcePath, historyServerName), true); sharedFile.ServerFileName = historyServerName; sharedFile.OriginalFileName = historyOriginalName; sharedFile.FriendlyName = historyFriendlyName; sharedFile.SizeInKB = historyFileSize; sharedFile.UploadDate = historyUploadDate; sharedFile.UploadUserId = historyUploadUserID; historyRestored = sharedFile.Save(); SharedFile.DeleteHistory(historyId); fileSystem.DeleteFile(VirtualPathUtility.Combine(virtualHistoryPath, historyServerName)); return historyRestored; }