private string RenderTweetThis() { string twitterWidgets = "<script type=\"text/javascript\">\n" + "!function (d, s, id) {\n" + "var js, fjs = d.getElementsByTagName(s)[0];\n" + "if (!d.getElementById(id)) {\n" + "js = d.createElement(s);\n" + "js.id = id; js.src = \"//platform.twitter.com/widgets.js\";\n" + "fjs.parentNode.insertBefore(js, fjs);\n" + "}\n" + "} (document, \"script\", \"twitter-wjs\");" + "</script>\n"; Page.ClientScript.RegisterClientScriptBlock(typeof(Page), "twitterwidgets", twitterWidgets); string twitterUrl = "https://twitter.com/share"; string tweetThis = "<a class='twitter-share-button'"; tweetThis += " title='Tweet This'"; tweetThis += " href='" + twitterUrl + "'"; tweetThis += " data-url='" + NewsHelper.FormatNewsUrl(news.Url, news.NewsID, news.ZoneID) + "'"; tweetThis += " data-text='" + news.Title + "'"; tweetThis += " data-count='horizontal'"; tweetThis += "></a>"; return(tweetThis); }
private string RenderFacebookLike() { string facebook = string.Empty; if (WebConfigSettings.DisableFacebookLikeButton) { return(facebook); } string facebookWidgets = "<script type=\"text/javascript\">\n" + "(function (d, s, id) {\n" + "var js, fjs = d.getElementsByTagName(s)[0];\n" + "if (d.getElementById(id)) return;\n" + "js = d.createElement(s); js.id = id\n" + "js.async=true;\n" + "js.src = \"//connect.facebook.net/en_US/all.js#xfbml=1\";\n" + "fjs.parentNode.insertBefore(js, fjs);\n" + "} (document, 'script', 'facebook-jssdk'));\n" + "</script>\n"; Page.ClientScript.RegisterClientScriptBlock(typeof(Page), "facebookwidgets", facebookWidgets); facebook = "<a class='fb-like'"; facebook += " data-href='" + NewsHelper.FormatNewsUrl(news.Url, news.NewsID, news.ZoneID) + "'"; facebook += " data-send='false'"; facebook += " data-layout='button_count'"; facebook += " data-width='100'"; facebook += " data-show-faces='false'"; facebook += "></a>"; return(facebook); }
public void BuildNextPreviousXml( XmlDocument doc, XmlElement root) { news.LoadNextPrevious(languageId); if ((news.PreviousNewsId > -1) || (news.PreviousNewsUrl.Length > 0)) { XmlHelper.AddNode(doc, root, "PreviousLink", "<a href='" + NewsHelper.FormatNewsUrl(news.PreviousNewsUrl, news.PreviousNewsId, news.PreviousZoneId) + "' title='" + news.PreviousNewsTitle + "'>" + NewsResources.NewsPreviousLink + "</a>"); XmlHelper.AddNode(doc, root, "PreviousUrl", NewsHelper.FormatNewsUrl(news.PreviousNewsUrl, news.PreviousNewsId, news.PreviousZoneId)); XmlHelper.AddNode(doc, root, "PreviousNewsTitle", news.PreviousNewsTitle); XmlHelper.AddNode(doc, root, "PreviousTitle", NewsResources.NewsPreviousLink.Replace("<<", "").Replace(">>", "")); XmlHelper.AddNode(doc, root, "IsFirstNews", news.IsFirstNews.ToString().ToLower()); XmlHelper.AddNode(doc, root, "IsLastNews", news.IsLastNews.ToString().ToLower()); } if ((news.NextNewsId > -1) || (news.NextNewsUrl.Length > 0)) { XmlHelper.AddNode(doc, root, "NextLink", "<a href='" + NewsHelper.FormatNewsUrl(news.NextNewsUrl, news.NextNewsId, news.NextZoneId) + "' title='" + news.NextNewsTitle + "'>" + NewsResources.NewsNextLink + "</a>"); XmlHelper.AddNode(doc, root, "NextUrl", NewsHelper.FormatNewsUrl(news.NextNewsUrl, news.NextNewsId, news.NextZoneId)); XmlHelper.AddNode(doc, root, "NextNewsTitle", news.NextNewsTitle); XmlHelper.AddNode(doc, root, "NextTitle", NewsResources.NewsNextLink.Replace("<<", "").Replace(">>", "")); XmlHelper.AddNode(doc, root, "IsFirstNews", news.IsFirstNews.ToString().ToLower()); XmlHelper.AddNode(doc, root, "IsLastNews", news.IsLastNews.ToString().ToLower()); } }
public static XmlDocument BuildNewsDataXml(XmlDocument doc, XmlElement newsXml, News news, TimeZoneInfo timeZone, double timeOffset, string editLink) { XmlHelper.AddNode(doc, newsXml, "Title", news.Title); XmlHelper.AddNode(doc, newsXml, "SubTitle", news.SubTitle); XmlHelper.AddNode(doc, newsXml, "Url", NewsHelper.FormatNewsUrl(news.Url, news.NewsID, news.ZoneID)); XmlHelper.AddNode(doc, newsXml, "Target", NewsHelper.GetNewsTarget(news.OpenInNewWindow)); XmlHelper.AddNode(doc, newsXml, "ShowOption", news.ShowOption.ToString()); XmlHelper.AddNode(doc, newsXml, "NewsId", news.NewsID.ToString()); //2016-08-11 string imageFolderPath = NewsHelper.MediaFolderPath(news.SiteId, news.NewsID); string thumbnailImageFolderPath = imageFolderPath + "thumbs/"; if (news.ImageFile.Length > 0) { XmlHelper.AddNode(doc, newsXml, "ImageUrl", VirtualPathUtility.ToAbsolute(imageFolderPath + news.ImageFile)); } if (news.ThumbnailFile.Length > 0) { XmlHelper.AddNode(doc, newsXml, "ThumbnailUrl", VirtualPathUtility.ToAbsolute(thumbnailImageFolderPath + news.ThumbnailFile)); } XmlHelper.AddNode(doc, newsXml, "EditLink", editLink); XmlHelper.AddNode(doc, newsXml, "BriefContent", news.BriefContent); XmlHelper.AddNode(doc, newsXml, "FullContent", news.FullContent); XmlHelper.AddNode(doc, newsXml, "ViewCount", news.Viewed.ToString()); XmlHelper.AddNode(doc, newsXml, "CommentCount", news.CommentCount.ToString()); XmlHelper.AddNode(doc, newsXml, "FileUrl", news.FileAttachment); object startDate = news.StartDate; XmlHelper.AddNode(doc, newsXml, "CreatedDate", FormatDate(startDate, timeZone, timeOffset, ResourceHelper.GetResourceString("NewsResources", "NewsDateFormat"))); XmlHelper.AddNode(doc, newsXml, "CreatedTime", FormatDate(startDate, timeZone, timeOffset, ResourceHelper.GetResourceString("NewsResources", "NewsTimeFormat"))); XmlHelper.AddNode(doc, newsXml, "CreatedDD", FormatDate(startDate, timeZone, timeOffset, "dd")); XmlHelper.AddNode(doc, newsXml, "CreatedYY", FormatDate(startDate, timeZone, timeOffset, "yy")); XmlHelper.AddNode(doc, newsXml, "CreatedYYYY", FormatDate(startDate, timeZone, timeOffset, "yyyy")); XmlHelper.AddNode(doc, newsXml, "CreatedMM", FormatDate(startDate, timeZone, timeOffset, "MM")); if (System.Globalization.CultureInfo.CurrentCulture.Name.ToLower() == "vi-vn") { string monthVI = "Tháng " + FormatDate(startDate, timeZone, timeOffset, "MM"); XmlHelper.AddNode(doc, newsXml, "CreatedMMM", monthVI); XmlHelper.AddNode(doc, newsXml, "CreatedMMMM", monthVI); } else { XmlHelper.AddNode(doc, newsXml, "CreatedMMM", FormatDate(startDate, timeZone, timeOffset, "MMM")); XmlHelper.AddNode(doc, newsXml, "CreatedMMMM", FormatDate(startDate, timeZone, timeOffset, "MMMM")); } if (news.EndDate != DateTime.MaxValue) { XmlHelper.AddNode(doc, newsXml, "EndDate", FormatDate(news.EndDate, timeZone, timeOffset, ResourceHelper.GetResourceString("NewsResources", "NewsDateFormat"))); } return(doc); }
private string RenderPlusOne() { Page.ClientScript.RegisterStartupScript(typeof(Page), "gplusone", "\n<script type=\"text/javascript\" src=\"" + "https://apis.google.com/js/plusone.js" + "\"></script>", false); string plusOne = "<div class='g-plusone' data-size='medium' data-count='true'"; plusOne += " data-href='" + NewsHelper.FormatNewsUrl(news.Url, news.NewsID, news.ZoneID); plusOne += "'></div>"; return(plusOne); }
private void LoadSettings() { newsId = WebUtils.ParseInt32FromQueryString("NewsID", newsId); siteSettings = CacheHelper.GetCurrentSiteSettings(); news = new News(siteSettings.SiteId, newsId, WorkingCulture.LanguageId); if (news == null || news.NewsID == -1) { news = null; return; } url = WebUtils.ParseStringFromQueryString("u", string.Empty); if (url.Length == 0) { url = NewsHelper.FormatNewsUrl(news.Url, news.NewsID, news.ZoneID); } basePage.Title = SiteUtils.FormatPageTitle(siteSettings, news.Title); basePage.MetaDescription = news.MetaDescription; basePage.MetaKeywords = news.MetaKeywords; currentUser = SiteUtils.GetCurrentSiteUser(); pnlAntiSpam.Visible = false; captcha.Visible = false; captcha.Enabled = false; uplAttachFile1.MaxFileSize = NewsConfiguration.JobApplyAttachFileSize * 1048576; uplAttachFile1.AllowedFileExtensions = NewsConfiguration.JobApplyAttachFileExtensions.Replace(".", string.Empty).Split('|'); uplAttachFile2.MaxFileSize = uplAttachFile1.MaxFileSize; uplAttachFile2.AllowedFileExtensions = uplAttachFile1.AllowedFileExtensions; var litAttachFileNote1 = this.FindControl("litAttachFileNote1") as System.Web.UI.WebControls.Literal; var litAttachFileNote2 = this.FindControl("litAttachFileNote2") as System.Web.UI.WebControls.Literal; if (litAttachFileNote1 != null && litAttachFileNote2 != null) { litAttachFileNote1.Text = NewsConfiguration.JobApplyAttachFileNote; litAttachFileNote2.Text = NewsConfiguration.JobApplyAttachFileNote; } }
public static XmlDocument BuildNewsDataXml(XmlDocument doc, XmlElement newsXml, News news, TimeZoneInfo timeZone, double timeOffset, string editLink, int siteId = 1) { XmlHelper.AddNode(doc, newsXml, "Title", news.Title); XmlHelper.AddNode(doc, newsXml, "SubTitle", news.SubTitle); XmlHelper.AddNode(doc, newsXml, "Url", NewsHelper.FormatNewsUrl(news.Url, news.NewsID, news.ZoneID)); XmlHelper.AddNode(doc, newsXml, "Target", NewsHelper.GetNewsTarget(news.OpenInNewWindow)); XmlHelper.AddNode(doc, newsXml, "ShowOption", news.ShowOption.ToString()); XmlHelper.AddNode(doc, newsXml, "ZoneId", news.ZoneID.ToInvariantString()); SiteMapDataSource siteMapDataSource = new SiteMapDataSource(); siteMapDataSource.SiteMapProvider = "canhcamsite" + siteId.ToInvariantString(); SiteMapNode rootNode = siteMapDataSource.Provider.RootNode; SiteMapNode startingNode = null; if (rootNode == null) { return(null); } if (news.ZoneID > -1) { SiteMapNodeCollection allNodes = rootNode.GetAllNodes(); foreach (SiteMapNode childNode in allNodes) { gbSiteMapNode gbNode = childNode as gbSiteMapNode; if (gbNode == null) { continue; } if (Convert.ToInt32(gbNode.Key) == news.ZoneID) { startingNode = gbNode; XmlHelper.AddNode(doc, newsXml, "ZoneDescription", gbNode.Description); XmlHelper.AddNode(doc, newsXml, "ZoneTitle", gbNode.Title); break; } } } string imageFolderPath = NewsHelper.MediaFolderPath(news.SiteId, news.NewsID); string thumbnailImageFolderPath = imageFolderPath + "thumbs/"; if (news.ImageFile.Length > 0) { XmlHelper.AddNode(doc, newsXml, "ImageUrl", VirtualPathUtility.ToAbsolute(imageFolderPath + news.ImageFile)); } if (news.ThumbnailFile.Length > 0) { XmlHelper.AddNode(doc, newsXml, "ThumbnailUrl", VirtualPathUtility.ToAbsolute(thumbnailImageFolderPath + news.ThumbnailFile)); } XmlHelper.AddNode(doc, newsXml, "EditLink", editLink); XmlHelper.AddNode(doc, newsXml, "BriefContent", news.BriefContent); XmlHelper.AddNode(doc, newsXml, "FullContent", news.FullContent); XmlHelper.AddNode(doc, newsXml, "ViewCount", news.Viewed.ToString()); XmlHelper.AddNode(doc, newsXml, "CommentCount", news.CommentCount.ToString()); XmlHelper.AddNode(doc, newsXml, "FileUrl", news.FileAttachment); object startDate = news.StartDate; XmlHelper.AddNode(doc, newsXml, "CreatedDate", FormatDate(startDate, timeZone, timeOffset, ResourceHelper.GetResourceString("NewsResources", "NewsDateFormat"))); XmlHelper.AddNode(doc, newsXml, "CreatedTime", FormatDate(startDate, timeZone, timeOffset, ResourceHelper.GetResourceString("NewsResources", "NewsTimeFormat"))); XmlHelper.AddNode(doc, newsXml, "CreatedDD", FormatDate(startDate, timeZone, timeOffset, "dd")); XmlHelper.AddNode(doc, newsXml, "CreatedYY", FormatDate(startDate, timeZone, timeOffset, "yy")); XmlHelper.AddNode(doc, newsXml, "CreatedYYYY", FormatDate(startDate, timeZone, timeOffset, "yyyy")); XmlHelper.AddNode(doc, newsXml, "CreatedMM", FormatDate(startDate, timeZone, timeOffset, "MM")); if (System.Globalization.CultureInfo.CurrentCulture.Name.ToLower() == "vi-vn") { string monthVI = "Tháng " + FormatDate(startDate, timeZone, timeOffset, "MM"); XmlHelper.AddNode(doc, newsXml, "CreatedMMM", monthVI); XmlHelper.AddNode(doc, newsXml, "CreatedMMMM", monthVI); } else { XmlHelper.AddNode(doc, newsXml, "CreatedMMM", FormatDate(startDate, timeZone, timeOffset, "MMM")); XmlHelper.AddNode(doc, newsXml, "CreatedMMMM", FormatDate(startDate, timeZone, timeOffset, "MMMM")); } if (news.EndDate != null && news.EndDate != DateTime.MaxValue) { XmlHelper.AddNode(doc, newsXml, "EndDate", FormatDate(news.EndDate, timeZone, timeOffset, ResourceHelper.GetResourceString("NewsResources", "NewsDateFormat"))); } return(doc); }
public static void SendApprovalRequestNotification( SmtpSettings smtpSettings, SiteSettings siteSettings, int workflowId, SiteUser submittingUser, News draftNews ) { if (!draftNews.StateId.HasValue) { return; } WorkflowState workflowState = WorkflowHelper.GetWorkflowState(workflowId, draftNews.StateId.Value); if (workflowState == null || workflowState.StateId == -1) { return; } if (workflowState.ReviewRoles.Length == 0 || workflowState.NotifyTemplate.Length == 0) //"ApprovalRequestNotification" { return; } string approvalRoles = workflowState.ReviewRoles; gbSiteMapNode gbNode = SiteUtils.GetSiteMapNodeByZoneId(draftNews.ZoneID); if (gbNode != null) { List <string> authorizedRoles = gbNode.AuthorizedRoles.SplitOnCharAndTrim(';'); List <string> reviewRoles = workflowState.ReviewRoles.SplitOnCharAndTrim(';'); if (authorizedRoles.Count > 0 && reviewRoles.Count > 0) { approvalRoles = string.Empty; foreach (string reviewRole in reviewRoles) { foreach (string role in authorizedRoles) { if (reviewRole.ToLower() == role.ToLower()) { approvalRoles += reviewRole + ";"; } } } } } List <string> emailAddresses = SiteUser.GetEmailAddresses(siteSettings.SiteId, approvalRoles); int queuedMessageCount = 0; EmailTemplate template = EmailTemplate.Get(siteSettings.SiteId, workflowState.NotifyTemplate); string subject = template.Subject.Replace("{SiteName}", siteSettings.SiteName); string messageTemplate = template.HtmlBody; List <string> emailTo = (template.ToAddresses.Length > 0 ? ";" + template.ToAddresses : "").SplitOnCharAndTrim(';'); string emailToAddress = string.Empty; foreach (string email in emailAddresses) { if (WebConfigSettings.EmailAddressesToExcludeFromAdminNotifications.IndexOf(email, StringComparison.InvariantCultureIgnoreCase) > -1) { continue; } if (!Email.IsValidEmailAddressSyntax(email)) { continue; } if (!emailToAddress.Contains(email + ";")) { emailToAddress += email + ";"; } } foreach (string email in emailTo) { if (WebConfigSettings.EmailAddressesToExcludeFromAdminNotifications.IndexOf(email, StringComparison.InvariantCultureIgnoreCase) > -1) { continue; } if (!Email.IsValidEmailAddressSyntax(email)) { continue; } if (!emailToAddress.Contains(email + ";")) { emailToAddress += email + ";"; } } string replyEmail = submittingUser.Email; if (template.ReplyToAddress.Length > 0) { replyEmail += ";" + template.ReplyToAddress; } string fromEmailAlias = (template.FromName.Length > 0 ? template.FromName : siteSettings.DefaultFromEmailAlias); StringBuilder message = new StringBuilder(); message.Append(messageTemplate); message.Replace("{Title}", draftNews.Title); message.Replace("{SubmittedDate}", DateTimeHelper.GetLocalTimeString(draftNews.ApprovedUtc, SiteUtils.GetUserTimeZone(), SiteUtils.GetUserTimeOffset())); message.Replace("{SubmittedBy}", submittingUser.Name); message.Replace("{ContentUrl}", NewsHelper.FormatNewsUrl(draftNews.Url, draftNews.NewsID, draftNews.ZoneID)); EmailMessageTask messageTask = new EmailMessageTask(smtpSettings); messageTask.SiteGuid = siteSettings.SiteGuid; messageTask.EmailFrom = siteSettings.DefaultEmailFromAddress; messageTask.EmailFromAlias = fromEmailAlias; messageTask.EmailReplyTo = replyEmail; messageTask.EmailTo = emailToAddress; messageTask.EmailCc = template.CcAddresses; messageTask.EmailBcc = template.BccAddresses; messageTask.UseHtml = true; messageTask.Subject = subject; messageTask.HtmlBody = message.ToString(); messageTask.QueueTask(); queuedMessageCount += 1; //Email.Send( // smtpSettings, // siteSettings.DefaultEmailFromAddress, // siteSettings.DefaultFromEmailAlias, // submittingUser.Email, // email, // string.Empty, // string.Empty, // messageSubject, // message.ToString(), // false, // Email.PriorityNormal); WebTaskManager.StartOrResumeTasks(); }
protected void PopulateControls() { if (parametersAreInvalid) { pnlInnerWrap.Visible = false; return; } if (news.IsDeleted) { if (WebConfigSettings.Custom404Page.Length > 0) { Server.Transfer(WebConfigSettings.Custom404Page); } else { Server.Transfer("~/PageNotFound.aspx"); } return; } if (news.IsPublished && news.EndDate < DateTime.UtcNow) { expired.Visible = true; //http://support.google.com/webmasters/bin/answer.py?hl=en&answer=40132 // 410 means the resource is gone but once existed // google treats it as more permanent than a 404 // and it should result in de-indexing the content Response.StatusCode = 410; Response.StatusDescription = "Content Expired"; if ( !NewsPermission.CanUpdate || !basePage.UserCanAuthorizeZone(news.ZoneID) ) { pnlInnerWrap.Visible = false; return; } } // if not published only the editor can see it if (!news.IsPublished) { bool stopRedirect = false; if (WebConfigSettings.EnableContentWorkflow && basePage.SiteInfo.EnableContentWorkflow) { if (news.StateId.HasValue && WorkflowHelper.UserHasStatePermission(workflowId, news.StateId.Value)) { stopRedirect = true; } } else { if ( (currentUser != null && currentUser.UserGuid == news.UserGuid) || (NewsPermission.CanUpdate && basePage.UserCanAuthorizeZone(news.ZoneID)) ) { stopRedirect = true; } } if (!stopRedirect) { pnlInnerWrap.Visible = false; WebUtils.SetupRedirect(this, SiteUtils.GetCurrentZoneUrl()); return; } } SetupMetaTags(); XmlDocument doc = new XmlDocument(); doc.LoadXml("<NewsDetail></NewsDetail>"); XmlElement root = doc.DocumentElement; //XmlHelper.AddNode(doc, root, "ModuleTitle", module.ModuleTitle); XmlHelper.AddNode(doc, root, "ZoneTitle", basePage.CurrentZone.Name); XmlHelper.AddNode(doc, root, "ZoneDescription", basePage.CurrentZone.Description); XmlHelper.AddNode(doc, root, "ViewMore", NewsResources.NewsMoreLinkText); XmlHelper.AddNode(doc, root, "Title", news.Title); XmlHelper.AddNode(doc, root, "SubTitle", news.SubTitle); XmlHelper.AddNode(doc, root, "ZoneUrl", SiteUtils.GetCurrentZoneUrl()); if (module.ResourceFileDef.Length > 0 && module.ResourceKeyDef.Length > 0) { List <string> lstResourceKeys = module.ResourceKeyDef.SplitOnCharAndTrim(';'); foreach (string item in lstResourceKeys) { XmlHelper.AddNode(doc, root, item, ResourceHelper.GetResourceString(module.ResourceFileDef, item)); } } XmlHelper.AddNode(doc, root, "EditLink", NewsHelper.BuildEditLink(news, basePage, userCanUpdate, currentUser)); //XmlHelper.AddNode(doc, root, "ViewCVLink", GetCVListLink(news.NewsID, news.CommentCount, NewsPermission.CanManageComment)); XmlHelper.AddNode(doc, root, "ApplyText", NewsResources.JobApplyLable); XmlHelper.AddNode(doc, root, "ApplyUrl", this.siteRoot + "/News/JobApplyDialog.aspx?zoneid=" + zoneId.ToString() + "&NewsID=" + newsId.ToString()); XmlHelper.AddNode(doc, root, "ShowOption", news.ShowOption.ToString()); XmlHelper.AddNode(doc, root, "CreatedDate", FormatDate(news.StartDate, NewsResources.NewsDateFormat)); XmlHelper.AddNode(doc, root, "CreatedTime", FormatDate(news.StartDate, NewsResources.NewsTimeFormat)); XmlHelper.AddNode(doc, root, "CreatedDD", FormatDate(news.StartDate, "dd")); XmlHelper.AddNode(doc, root, "CreatedYY", FormatDate(news.StartDate, "yy")); XmlHelper.AddNode(doc, root, "CreatedYYYY", FormatDate(news.StartDate, "yyyy")); XmlHelper.AddNode(doc, root, "CreatedMM", FormatDate(news.StartDate, "MM")); if (WorkingCulture.DefaultName.ToLower() == "vi-vn") { string monthVI = "Tháng " + FormatDate(news.StartDate, "MM"); XmlHelper.AddNode(doc, root, "CreatedMMM", monthVI); XmlHelper.AddNode(doc, root, "CreatedMMMM", monthVI); } else { XmlHelper.AddNode(doc, root, "CreatedMMM", FormatDate(news.StartDate, "MMM")); XmlHelper.AddNode(doc, root, "CreatedMMMM", FormatDate(news.StartDate, "MMMM")); } XmlHelper.AddNode(doc, root, "Code", news.Code); XmlHelper.AddNode(doc, root, "BriefContent", news.BriefContent); XmlHelper.AddNode(doc, root, "FullContent", news.FullContent); XmlHelper.AddNode(doc, root, "ViewCount", news.Viewed.ToString()); XmlHelper.AddNode(doc, root, "FileUrl", news.FileAttachment); if (displaySettings.ShowNextPreviousLink) { BuildNextPreviousXml(doc, root); } XmlHelper.AddNode(doc, root, "FacebookLike", RenderFacebookLike()); XmlHelper.AddNode(doc, root, "PlusOne", RenderPlusOne()); XmlHelper.AddNode(doc, root, "TweetThis", RenderTweetThis()); XmlHelper.AddNode(doc, root, "Print", RenderPrinter()); XmlHelper.AddNode(doc, root, "Email", RenderEmailSubject()); XmlHelper.AddNode(doc, root, "FullUrl", NewsHelper.FormatNewsUrl(news.Url, news.NewsID, news.ZoneID)); if (displaySettings.ShowAttribute) { BuildNewsAttributesXml(doc, root, languageId); } BuildNewsImagesXml(doc, root); #region Start news other BuildNewsOtherXml(doc, root, zoneId, pageNumber, config.RelatedItemsToShow, out totalPages); if (NewsHelper.IsAjaxRequest(Request) && WebUtils.ParseBoolFromQueryString("isajax", false)) { Response.Write(XmlHelper.TransformXML(SiteUtils.GetXsltBasePath("news", config.XsltFileNameDetailPage), doc)); Response.End(); return; } string pageUrlLeaveOutPageNumber = NewsHelper.FormatNewsUrl(news.Url, news.NewsID, news.ZoneID); if (config.HidePaginationOnDetailPage) { divPager.Visible = false; } else { string pageUrl = pageUrlLeaveOutPageNumber; if (WebUtils.ParseInt32FromQueryString("NewsId", -1) == -1 && config.LoadFirstItem) { pageUrl = SiteUtils.GetCurrentZoneUrl(); } if (pageUrl.Contains("?")) { pageUrl += "&pagenumber={0}"; } else { pageUrl += "?pagenumber={0}"; } pgr.PageURLFormat = pageUrl; pgr.ShowFirstLast = true; pgr.PageSize = config.PageSize; pgr.PageCount = totalPages; pgr.CurrentIndex = pageNumber; divPager.Visible = (totalPages > 1); } if (WebUtils.ParseInt32FromQueryString("pagenumber", -1) == 1) { basePage.AdditionalMetaMarkup += "\n<link rel=\"canonical\" href=\"" + pageUrlLeaveOutPageNumber + "\" />"; } #endregion XmlHelper.XMLTransform(xmlTransformer, SiteUtils.GetXsltBasePath("news", config.XsltFileNameDetailPage), doc); News.IncrementViewedCount(news.NewsID); }
private string RenderEmailSubject() { SetupEmailSubjectScript(); return(string.Format("<a href='{0}' class='email-link' target='_blank' title='{1}' rel='nofollow'><span>{2}</span></a>", siteRoot + "/News/EmailSubjectDialog.aspx?u=" + Context.Server.HtmlEncode(NewsHelper.FormatNewsUrl(news.Url, news.NewsID, news.ZoneID)), NewsResources.NewsEmailLink, NewsResources.NewsEmailLink)); }
public void BuildNewsOtherXml( XmlDocument doc, XmlElement root, int zoneId, int pageNumber, int pageSize, out int totalPages) { XmlHelper.AddNode(doc, root, "NewsOtherText", NewsResources.OtherNewsLabel); XmlHelper.AddNode(doc, root, "ProductOtherText", NewsResources.OtherProductLabel); XmlHelper.AddNode(doc, root, "ProjectOtherText", NewsResources.OtherProjectLabel); List <News> lstNews = new List <News>(); if (pageSize < 0) { pageSize = -pageSize; totalPages = 1; int totalRows = News.GetCount(basePage.SiteId, zoneId, languageId, -1, -1); if (pageSize > 0) { totalPages = totalRows / pageSize; } if (totalRows <= pageSize) { totalPages = 1; } else if (pageSize > 0) { int remainder; Math.DivRem(totalRows, pageSize, out remainder); if (remainder > 0) { totalPages += 1; } } lstNews = News.GetPage(basePage.SiteId, zoneId, languageId, -1, -1, pageNumber, pageSize); } else { lstNews = News.GetPageNewsOther(zoneId, news.NewsID, languageId, config.NewsType, pageNumber, pageSize, out totalPages); } foreach (News news in lstNews) { XmlElement newsXml = doc.CreateElement("NewsOther"); root.AppendChild(newsXml); NewsHelper.BuildNewsDataXml(doc, newsXml, news, timeZone, timeOffset, NewsHelper.BuildEditLink(news, basePage, userCanUpdate, currentUser)); if (news.NewsID == newsId) { XmlHelper.AddNode(doc, newsXml, "IsActive", "true"); } } if (pageNumber < totalPages) { string pageUrl = NewsHelper.FormatNewsUrl(news.Url, news.NewsID, news.ZoneID); int iNewsId = WebUtils.ParseInt32FromQueryString("NewsId", -1); if (iNewsId == -1 && config.LoadFirstItem) { pageUrl = SiteUtils.GetCurrentZoneUrl(); } if (pageUrl.Contains("?")) { pageUrl += "&pagenumber=" + (pageNumber + 1).ToString(); } else { pageUrl += "?pagenumber=" + (pageNumber + 1).ToString(); } XmlHelper.AddNode(doc, root, "NextPageUrl", pageUrl); } }
private void SetupMetaTags() { string title = news.Title; if (news.MetaTitle.Length > 0) { basePage.Title = news.MetaTitle; title = news.MetaTitle; } else { basePage.Title = SiteUtils.FormatPageTitle(basePage.SiteInfo, news.Title); } if (news.MetaKeywords.Length > 0) { basePage.MetaKeywordCsv = news.MetaKeywords; } else if (basePage.SiteInfo.MetaKeyWords.Length > 0) { basePage.MetaKeywordCsv = basePage.SiteInfo.GetMetaKeyWords(WorkingCulture.LanguageId); } if (news.MetaDescription.Length > 0) { basePage.MetaDescription = news.MetaDescription; } else if (news.BriefContent.Length > 0) { basePage.MetaDescription = UIHelper.CreateExcerpt(news.BriefContent, 156); } else if (news.FullContent.Length > 0) { basePage.MetaDescription = UIHelper.CreateExcerpt(news.FullContent, 156); } if (title.Length > 0) { basePage.AdditionalMetaMarkup += "\n<meta property=\"og:title\" content=\"" + title + "\" />"; } if (basePage.MetaDescription.Length > 0) { basePage.AdditionalMetaMarkup += "\n<meta property=\"og:description\" content=\"" + basePage.MetaDescription + "\" />"; } basePage.AdditionalMetaMarkup += "\n<meta property=\"og:url\" content=\"" + NewsHelper.FormatNewsUrl(news.Url, news.NewsID, news.ZoneID) + "\" />"; basePage.AdditionalMetaMarkup += "\n<meta property=\"og:site_name\" content=\"" + basePage.SiteInfo.SiteName + "\" />"; basePage.AdditionalMetaMarkup += "\n<meta property=\"og:type\" content=\"article\" />"; if (title.Length > 0) { basePage.AdditionalMetaMarkup += "\n<meta itemprop=\"name\" content=\"" + title + "\" />"; } if (basePage.MetaDescription.Length > 0) { basePage.AdditionalMetaMarkup += "\n<meta itemprop=\"description\" content=\"" + basePage.MetaDescription + "\" />"; } ZoneSettings currentZone = CacheHelper.GetCurrentZone(); if (basePage.SiteInfo.MetaAdditional.Length > 0) { basePage.AdditionalMetaMarkup = basePage.SiteInfo.MetaAdditional; } if (currentZone.AdditionalMetaTags.Length > 0) { basePage.AdditionalMetaMarkup += currentZone.AdditionalMetaTags; } if (news.AdditionalMetaTags.Length > 0) { basePage.AdditionalMetaMarkup += news.AdditionalMetaTags; } }