SobekCM.SobekCM.Page_Load C# (CSharp) Method

Page_Load() protected method

protected Page_Load ( object Sender, EventArgs E ) : void
Sender object
E System.EventArgs
return void
        protected void Page_Load(object Sender, EventArgs E)
        {
            pageGlobals.tracer.Add_Trace("sobekcm(.aspx).Page_Load", String.Empty);

            try
            {
                // Process this page request by building the main writer and
                // analyzing the request's URL
                pageGlobals.On_Page_Load();

                // Is the response completed already?
                if ((pageGlobals.currentMode == null) || (pageGlobals.currentMode.Request_Completed))
                {
                    return;
                }

                if (HttpContext.Current.Items.Contains("Original_URL"))
                {
                    string original_url = HttpContext.Current.Items["Original_URL"].ToString();
                    itemNavForm.Action = original_url;

                    // Save this as the return spot, if it is not preferences
                    if ((pageGlobals.currentMode.Mode != Display_Mode_Enum.Preferences) && (pageGlobals.currentMode.Mode != Display_Mode_Enum.Contact))
                    {
                        Session["Last_Mode"] = original_url;
                    }
                }
                else
                {
                    // Save this as the return spot, if it is not preferences
                    if ((pageGlobals.currentMode.Mode != Display_Mode_Enum.Preferences) && (pageGlobals.currentMode.Mode != Display_Mode_Enum.Contact))
                    {
                        string url = HttpContext.Current.Request.Url.ToString();
                        Session["Last_Mode"] = url;
                    }
                }

                if ((UI_ApplicationCache_Gateway.Settings.Servers.Web_Output_Caching_Minutes > 0) && (String.IsNullOrEmpty(Request.QueryString["refresh"])))
                {
                    if ((pageGlobals.currentMode.Mode != Display_Mode_Enum.Error) &&
                        (pageGlobals.currentMode.Mode != Display_Mode_Enum.My_Sobek) &&
                        (pageGlobals.currentMode.Mode != Display_Mode_Enum.Administrative) &&
                        (pageGlobals.currentMode.Mode != Display_Mode_Enum.Contact) &&
                        (pageGlobals.currentMode.Mode != Display_Mode_Enum.Contact_Sent) &&
                        (pageGlobals.currentMode.Mode != Display_Mode_Enum.Item_Print) &&
                        (pageGlobals.currentMode.Mode != Display_Mode_Enum.Item_Cache_Reload) &&
                        (pageGlobals.currentMode.Mode != Display_Mode_Enum.Reset) &&
                        (pageGlobals.currentMode.Mode != Display_Mode_Enum.Internal) &&
                        (pageGlobals.currentMode.Mode != Display_Mode_Enum.Public_Folder) &&
                        ((pageGlobals.currentMode.Mode != Display_Mode_Enum.Simple_HTML_CMS) || ((pageGlobals.currentMode.WebContent_Type != WebContent_Type_Enum.Edit) && (pageGlobals.currentMode.WebContent_Type != WebContent_Type_Enum.Milestones))) &&
                        ((pageGlobals.currentMode.Mode != Display_Mode_Enum.Aggregation) || (pageGlobals.currentMode.Aggregation_Type != Aggregation_Type_Enum.Home_Edit)) &&
                        ((pageGlobals.currentMode.Mode != Display_Mode_Enum.Aggregation) || (pageGlobals.currentMode.Aggregation_Type != Aggregation_Type_Enum.Work_History)) &&
                        ((pageGlobals.currentMode.Mode != Display_Mode_Enum.Aggregation) || (pageGlobals.currentMode.Aggregation_Type != Aggregation_Type_Enum.User_Permissions)) &&
                        ((pageGlobals.currentMode.Mode != Display_Mode_Enum.Aggregation) || (pageGlobals.currentMode.Aggregation_Type != Aggregation_Type_Enum.Child_Page_Edit)) &&
                        ((pageGlobals.currentMode.Mode != Display_Mode_Enum.Aggregation) || (pageGlobals.currentMode.Aggregation_Type != Aggregation_Type_Enum.Home) || (pageGlobals.currentMode.Home_Type != Home_Type_Enum.Personalized)) &&
                        (pageGlobals.currentMode.Result_Display_Type != Result_Display_Type_Enum.Export) &&
                        ((pageGlobals.currentMode.Mode != Display_Mode_Enum.Item_Display) || (( !String.IsNullOrEmpty(pageGlobals.currentMode.ViewerCode)) && (pageGlobals.currentMode.ViewerCode.ToUpper().IndexOf("citation") < 0) && (pageGlobals.currentMode.ViewerCode.ToUpper().IndexOf("allvolumes3") < 0))))
                    {
                        Response.Cache.SetCacheability(HttpCacheability.Private);
                        Response.Cache.SetMaxAge(new TimeSpan(0, UI_ApplicationCache_Gateway.Settings.Servers.Web_Output_Caching_Minutes, 0));
                    }
                    else
                    {
                        Response.Cache.SetCacheability(HttpCacheability.NoCache);
                    }
                }
                else
                {
                    Response.Cache.SetCacheability(HttpCacheability.NoCache);
                }

                // Check if the item nav form should be shown
                if (!pageGlobals.mainWriter.Include_Navigation_Form)
                {
                    itemNavForm.Visible = false;
                }
                else
                {
                    if (!pageGlobals.mainWriter.Include_Main_Place_Holder)
                        mainPlaceHolder.Visible = false;
                    if (!pageGlobals.mainWriter.Include_TOC_Place_Holder)
                        tocPlaceHolder.Visible = false;
                }

                // The file upload form is only shown in these cases
                if ((pageGlobals.mainWriter != null) && (pageGlobals.mainWriter.File_Upload_Possible))
                {
                    itemNavForm.Enctype = "multipart/form-data";
                }

                // Add the controls now
                pageGlobals.mainWriter.Add_Controls(tocPlaceHolder, mainPlaceHolder, pageGlobals.tracer);
            }
            catch (OutOfMemoryException ee)
            {
                pageGlobals.tracer.Add_Trace("sobekcm(.aspx).Page_Load", "OutOfMemoryException caught!");

                pageGlobals.Email_Information("SobekCM Out of Memory Exception", ee);
            }
            catch (Exception ee)
            {
                pageGlobals.tracer.Add_Trace("sobekcm(.aspx).Page_Load", "Exception caught!", Custom_Trace_Type_Enum.Error);
                pageGlobals.tracer.Add_Trace("sobekcm(.aspx).Page_Load", ee.Message, Custom_Trace_Type_Enum.Error);
                pageGlobals.tracer.Add_Trace("sobekcm(.aspx).Page_Load", ee.StackTrace, Custom_Trace_Type_Enum.Error);

                if (pageGlobals.currentMode != null)
                {
                    pageGlobals.currentMode.Mode = Display_Mode_Enum.Error;
                    pageGlobals.currentMode.Error_Message = "Unknown error caught while executing your request";
                    pageGlobals.currentMode.Caught_Exception = ee;
                }
            }
        }