/// <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();
    }
Beispiel #2
0
        /// <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);
        }
Beispiel #8
0
        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);
        }
Beispiel #9
0
        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();
        }