private void InitializeBlogPage()
{
MaintainScrollPositionOnPostBack = true;
CurrentBlog = Config.CurrentBlog;
string skinFolder = CurrentSkin.TemplateFolder;
string[] controls = HandlerConfiguration.GetControls(Context);
if (controls != null)
{
UpdatePanel apnlCommentsWrapper = new UpdatePanel();
apnlCommentsWrapper.Visible = true;
apnlCommentsWrapper.ID = CommentsPanelId;
foreach (string controlId in controls)
{
Control control = LoadControl(string.Format(ControlLocation, skinFolder, controlId));
control.ID = controlId.Replace(".", "_");
if (controlId.Equals("Comments.ascx"))
{
control.Visible = true;
commentsControl = control as Comments;
apnlCommentsWrapper.ContentTemplateContainer.Controls.Add(control);
}
else if (controlId.Equals("PostComment.ascx"))
{
postCommentControl = (PostComment)control;
postCommentControl.CommentApproved += postCommentControl_CommentPosted;
apnlCommentsWrapper.ContentTemplateContainer.Controls.Add(control);
CenterBodyControl.Controls.Add(apnlCommentsWrapper);
}
else
{
CenterBodyControl.Controls.Add(control);
}
}
}
if (CurrentSkin.HasCustomCssText)
{
CustomCss.Attributes.Add("href", CurrentBlog.RootUrl + "customcss.aspx");
}
else
{
//MAC IE does not like the empy CSS file, plus its a waste :)
CustomCss.Visible = false;
}
if (Rsd != null)
{
Rsd.Attributes.Add("href", CurrentBlog.RootUrl + "rsd.xml.ashx");
}
if (RSSLink != null)
{
RSSLink.Attributes.Add("href", CurrentBlog.UrlFormats.RssUrl.ToString());
}
if (AtomLink != null)
{
AtomLink.Attributes.Add("href", CurrentBlog.UrlFormats.RssUrl.ToString());
}
// if specified, add script elements
if (scripts != null)
{
scripts.Text = scriptRenderer.RenderScriptElementCollection(CurrentSkin.SkinKey);
}
if (styles != null)
{
styles.Text = styleRenderer.RenderStyleElementCollection(CurrentSkin.SkinKey);
}
if (openIDServer != null && !string.IsNullOrEmpty(CurrentBlog.OpenIDServer))
{
openIDServer.Text = string.Format(OpenIDServerLocation, CurrentBlog.OpenIDServer);
}
if (openIDDelegate != null && !string.IsNullOrEmpty(CurrentBlog.OpenIDDelegate))
{
openIDDelegate.Text = string.Format(OpenIDDelegateLocation, CurrentBlog.OpenIDDelegate);
}
// Add the per-blog MetaTags to the page Head section.
IPagedCollection<MetaTag> blogMetaTags = MetaTags.GetMetaTagsForBlog(CurrentBlog, 0, int.MaxValue);
foreach (MetaTag tag in blogMetaTags)
{
HtmlMeta mt = new HtmlMeta();
mt.Content = tag.Content;
if (!string.IsNullOrEmpty(tag.Name))
mt.Name = tag.Name;
else
mt.HttpEquiv = tag.HttpEquiv;
Literal newLineLiteral = new Literal();
newLineLiteral.Text = Environment.NewLine;
metaTagsPlaceHolder.Controls.Add(newLineLiteral);
metaTagsPlaceHolder.Controls.Add(mt);
}
}