/// <summary> /// Retrieve parent page (ForumPage) if it exists. /// </summary> protected void RetrieveParentPage() { // get parent page (ForumPage type), if applicable System.Web.UI.Control parent = this.Parent; // cycle until no there is no parent while (parent != null) { // is parent control of desired type? if (parent is YAF.Classes.Base.ForumPage) { _parentPage = (YAF.Classes.Base.ForumPage)parent; break; } else { // go one step up in hierarchy parent = parent.Parent; // are we topmost? if (parent == null) { _parentPage = null; break; } } } }
/// <summary> /// Retrieve parent page (ForumPage) if it exists. /// </summary> protected void RetrieveParentPage() { // get parent page (ForumPage type), if applicable System.Web.UI.Control parent = this.Parent; // cycle until no there is no parent while (parent != null) { // is parent control of desired type? if (parent is YAF.Classes.Base.ForumPage) { _parentPage = (YAF.Classes.Base.ForumPage)parent; break; } else { // go one step up in hierarchy parent = parent.Parent; // are we topmost? if (parent == null) { _parentPage = null; break; } } } }
private void Forum_Load(object sender, EventArgs e) { string m_baseDir = YafForumInfo.ForumFileRoot; if (Request.QueryString ["g"] != null) { try { _page = (ForumPages)Enum.Parse(typeof(ForumPages), Request.QueryString ["g"], true); } catch (Exception) { _page = ForumPages.forum; } } else { _page = ForumPages.forum; } if (!ValidPage(_page)) { YafBuildLink.Redirect(ForumPages.topics, "f={0}", LockedForum); } string src = string.Format("{0}pages/{1}.ascx", m_baseDir, _page); if (src.IndexOf("/moderate_") >= 0) { src = src.Replace("/moderate_", "/moderate/"); } if (src.IndexOf("/admin_") >= 0) { src = src.Replace("/admin_", "/admin/"); } if (src.IndexOf("/help_") >= 0) { src = src.Replace("/help_", "/help/"); } try { // handle script manager first... if (ScriptManager.GetCurrent(Page) == null) { // add a script manager since one doesn't exist... ScriptManager yafScriptManager = new ScriptManager(); yafScriptManager.ID = "YafScriptManager"; yafScriptManager.EnablePartialRendering = true; this.Controls.Add(yafScriptManager); } YAF.Classes.Base.ForumPage forumControl = (YAF.Classes.Base.ForumPage)LoadControl(src); forumControl.PageTitleSet += new EventHandler <YAF.Classes.Base.ForumPageArgs>(forumControl_PageTitleSet); forumControl.ForumFooter = _footer; forumControl.ForumHeader = _header; // add the header control before the page rendering... if (YafContext.Current.Settings.LockedForum == 0 && _origHeaderClientID == _header.ClientID) { this.Controls.AddAt(0, _header); } this.Controls.Add(forumControl); // add the footer control after the page... if (YafContext.Current.Settings.LockedForum == 0 && _origFooterClientID == _footer.ClientID) { this.Controls.Add(_footer); } } catch (System.IO.FileNotFoundException) { throw new ApplicationException("Failed to load " + src + "."); } }