/// <summary> /// Bietet die geforderte Datei zum Download an. /// </summary> /// <param name="file"></param> private void DownloadFile(HttpRequest request, HttpResponse response, ModuleConfig cfg, string file, bool asAttachment) { // Ermitteln des Filewappers der entsprechenden Datei. ConfigAgent cfgAgent = new ConfigAgent(cfg); FileWrapper dwnFile = cfgAgent.RootDirectory.GetFile(file); if (dwnFile != null) { response.CacheControl = "public"; response.Cache.SetCacheability(HttpCacheability.Private); if (asAttachment) response.AddHeader("Content-Disposition", "attachment; filename=" + dwnFile.FileName); response.AddHeader("Content-Length", dwnFile.FileSize.ToString()); String mimeType = dwnFile.MimeType; if (mimeType != null) response.ContentType = mimeType; response.TransmitFile(dwnFile.PhysicalPath); if(!Portal.API.Statistics.StatisticHelper.IsBot(request)) { // In der Statistik zwischenspeichern. Statistic FbStatistic = new Statistic(cfgAgent.PhysicalRoot); FbStatistic.DownloadFile(file); } } else throw new FileNotFoundException(); }
/// <summary> /// Bietet die geforderte Datei zum Download an. /// </summary> /// <param name="file"></param> private void DownloadFile(HttpRequest request, HttpResponse response, ModuleConfig cfg, string file, bool asAttachment) { // Ermitteln des Filewappers der entsprechenden Datei. ConfigAgent cfgAgent = new ConfigAgent(cfg); FileWrapper dwnFile = cfgAgent.RootDirectory.GetFile(file); if (dwnFile != null) { response.CacheControl = "public"; response.Cache.SetCacheability(HttpCacheability.Private); if (asAttachment) { response.AddHeader("Content-Disposition", "attachment; filename=" + dwnFile.FileName); } response.AddHeader("Content-Length", dwnFile.FileSize.ToString()); String mimeType = dwnFile.MimeType; if (mimeType != null) { response.ContentType = mimeType; } response.TransmitFile(dwnFile.PhysicalPath); if (!Portal.API.Statistics.StatisticHelper.IsBot(request)) { // In der Statistik zwischenspeichern. Statistic FbStatistic = new Statistic(cfgAgent.PhysicalRoot); FbStatistic.DownloadFile(file); } } else { throw new FileNotFoundException(); } }
private void Page_Load(object sender, System.EventArgs e) { if (!IsPostBack) { ConfigAgent = null; // Zurücksetzen des Config Agents, damit änderungen an der Konfiguration übernommen werden. } // Laden des entsprechenden Ccontrols zum aktuellen Status. LoadCurrentCtrl(IsPostBack); }
/// <summary> /// Ereignishändler zum bearbeiten des aktuellen Verzeichnis. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void editDirectoryBtn_Click(object sender, EventArgs e) { // Das aktuelle Verzeichnis zum Bearbeiten vorwählen. ConfigAgent cfgAgent = FbConfigAgent; cfgAgent.EditDirectory = cfgAgent.CurrentDirectory; // Statuswechsel in den EditModus. ProcessEvent((int)StateEvent.editDirectory); }
/// <summary> /// Ereignishandler zum Bearbeiten des Unterverzeichnis. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void editSubDirectoryBtn_Click(object sender, CommandEventArgs e) { // Das Subverzeichnis zum Bearbeiten vorwählen. ConfigAgent cfgAgent = FbConfigAgent; cfgAgent.EditDirectory = cfgAgent.CurrentDirectory.GetSubDirectory(e.CommandArgument.ToString()); // Statuswechsel in den EditModus. ProcessEvent((int)StateEvent.editDirectory); }
/// <summary> /// Ereignishandler zum Bearbeiten der enthaltenen Datei. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void editFileBtn_Click(object sender, CommandEventArgs e) { // Die Datei zum Bearbeiten vorwählen. ConfigAgent cfgAgent = FbConfigAgent; cfgAgent.EditFile = cfgAgent.CurrentDirectory.GetFile(e.CommandArgument.ToString()); cfgAgent.EditDirectory = cfgAgent.CurrentDirectory; // Statuswechsel in den EditModus. ProcessEvent((int)StateEvent.editFile); }
/// <summary> /// Ereignishandler der das aktuelle Verzeichnis wechselt. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void ChangeDir(object sender, CommandEventArgs e) { ConfigAgent cfgAgent = FbConfigAgent; // Wechle zu dem entsprechenden Verzeichnis, welches als CommandArgument angegeben wurde. DirectoryWrapper newCurrDir = cfgAgent.RootDirectory.GetSubDirectory(e.CommandArgument.ToString()); if (null == newCurrDir) { // Inzwischen scheint dieses Verzeichnis nicht mehr vorhanden zu sein. Aus diesem Grund wird wieder zum // Root Verzeichnis gewechselt. newCurrDir = cfgAgent.RootDirectory; } ChangeCurrentDir(newCurrDir); }
protected void DeleteBtn_Click(object sender, EventArgs e) { ConfigAgent cfgAgent = ((IStateProcessor)Parent).ConfigAgent; DirectoryWrapper editDir = cfgAgent.EditDirectory; if (editDir != null) { editDir.Delete(); // Falls das aktuelle Verzeichnis das aktive ist, wird eine Ebene nach oben navigiert. if (cfgAgent.EditDirectory == cfgAgent.CurrentDirectory) { cfgAgent.CurrentDirectory = cfgAgent.CurrentDirectory.Parent; } } ProcessEvent((int)StateEvent.ok); }
protected void Page_Load(object sender, EventArgs e) { // Aktuellen Verzeichnispfad anzeigen. ConfigAgent cfgAgent = ((IStateProcessor)Parent).ConfigAgent; DirectoryWrapper currDir = cfgAgent.CurrentDirectory; dirPath.Text = currDir.PresentationPath; FileWrapper editFile = cfgAgent.EditFile; fileName.Text = editFile.FileName; fileDesc.Text = editFile.Description; string dateFormat = Portal.API.Config.DateFormat; modDate.DateTimeValue = editFile.ModificationDate; // Wird eine Datei ausgewählt, soll das Datum aktualisiert werden. fileSelect.Attributes.Add("onChange", modDate.GetChangeHandlerCode(DateTime.Now)); }
/// <summary> /// Erzeugt das physikalische Root-Verzeichnis. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void createRootDir_Click(object sender, EventArgs e) { ConfigAgent cfgAgent = FbConfigAgent; if ((cfgAgent.CurrentDirectory == null) && (cfgAgent.PhysicalRoot != null)) { try { System.IO.Directory.CreateDirectory(cfgAgent.PhysicalRoot); pathNotFound.Visible = false; } catch (Exception exc) { pathNotFound.Visible = true; Label errorLbl = new Label(); errorLbl.Text = exc.Message; pathNotFound.Controls.Add(errorLbl); } } ConfigureControls(); }