Subtext.Providers.BlogEntryEditor.FCKeditor.FileBrowserConnector.OnLoad C# (CSharp) Method

OnLoad() protected method

protected OnLoad ( EventArgs e ) : void
e EventArgs
return void
        protected override void OnLoad(EventArgs e)
        {
            // Get the main request informaiton.
            string sCommand = Request.QueryString["Command"] ;
            if ( sCommand == null ) return ;

            string sResourceType = Request.QueryString["Type"] ;
            if ( sResourceType == null ) return ;

            string sCurrentFolder = Request.QueryString["CurrentFolder"] ;
            if ( sCurrentFolder == null ) return ;

            // Check the current folder syntax (must begin and start with a slash).
            if ( ! sCurrentFolder.EndsWith( "/" ) )
                sCurrentFolder += "/" ;
            if ( ! sCurrentFolder.StartsWith( "/" ) )
                sCurrentFolder = "/" + sCurrentFolder ;

            // File Upload doesn't have to return XML, so it must be intercepted before anything.
            if ( sCommand == "FileUpload" )
            {
                this.FileUpload( sResourceType, sCurrentFolder ) ;
                return ;
            }

            // Cleans the response buffer.
            Response.ClearHeaders() ;
            Response.Clear() ;

            // Prevent the browser from caching the result.
            Response.CacheControl = "no-cache" ;

            // Set the response format.
            Response.ContentEncoding	= UTF8Encoding.UTF8 ;
            Response.ContentType		= "text/xml" ;

            XmlDocument oXML = new XmlDocument() ;
            XmlNode oConnectorNode = CreateBaseXml( oXML, sCommand, sResourceType, sCurrentFolder ) ;

            if (CreateImageFolder(oConnectorNode))
            {
                if (sResourceType.Equals("Image"))
                {
                    // Execute the required command.
                    switch (sCommand)
                    {
                        case "GetFolders":
                            this.GetFolders(oConnectorNode, sCurrentFolder);
                            break;
                        case "GetFoldersAndFiles":
                            this.GetFolders(oConnectorNode, sCurrentFolder);
                            this.GetFiles(oConnectorNode, sResourceType, sCurrentFolder);
                            break;
                        case "CreateFolder":
                            this.CreateFolder(oConnectorNode, sResourceType, sCurrentFolder);
                            break;
                    }
                }
                else if (sResourceType.Equals("Posts"))
                {
                    // Execute the required command.
                    switch (sCommand)
                    {
                        case "GetFolders":
                            GetCategories(oConnectorNode, sCurrentFolder);
                            break;
                        case "GetFoldersAndFiles":
                            GetCategories(oConnectorNode, sCurrentFolder);
                            GetPosts(oConnectorNode, sCurrentFolder);
                            break;
                        case "CreateFolder":
                            this.CreateFolder(oConnectorNode, sResourceType, sCurrentFolder);
                            break;
                    }
                }
                else if (sResourceType.Equals("File"))
                {
                    // Execute the required command.
                    switch (sCommand)
                    {
                        case "GetFolders":
                            this.GetFolders(oConnectorNode, sCurrentFolder);
                            break;
                        case "GetFoldersAndFiles":
                            this.GetFolders(oConnectorNode, sCurrentFolder);
                            this.GetFiles(oConnectorNode, sResourceType, sCurrentFolder);
                            break;
                        case "CreateFolder":
                            this.CreateFolder(oConnectorNode, sResourceType, sCurrentFolder);
                            break;
                    }
                }
            }

            // Output the resulting XML.
            Response.Write( oXML.OuterXml ) ;

            Response.End() ;

            base.OnLoad (e);
        }