/// <summary> /// On Page Pre-render complete event, inject LiveChat script to the page. /// Read the License information from Configuration - if user has signed in to their LiveChat account, these values will be set and you should enable LiveChat. /// If they haven't signed-in, do not add LiveChat script to the page. /// </summary> private void OnPagePreRenderCompleteEventHandler(IPagePreRenderCompleteEvent @event) { var config = Telerik.Sitefinity.Configuration.Config.Get <LiveChatConfig>(); string license = config.LicenseID; string email = config.Email; if (license != "0" || email != "0") { // Apply LicenseID to Script string livechatURL = "https://www.livechatinc.com/chat-with/" + license; string liveChatScriptTemplate = @" <script type = 'text/javascript' > window.__lc = window.__lc || {{}}; window.__lc.license = {0}; (function() {{ var lc = document.createElement('script'); lc.type = 'text/javascript'; lc.async = true; lc.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'cdn.livechatinc.com/tracking.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(lc, s); }})(); </script>"; string liveChatScript = string.Format(CultureInfo.InvariantCulture, liveChatScriptTemplate, license); @event.Page.Header.Controls.Add(new LiteralControl(liveChatScript)); } }
/// <summary> /// The pre render event which is triggered automatically. /// </summary> /// <param name="e"></param> public void OnPagePreRenderCompleteEventHandler(IPagePreRenderCompleteEvent e) { //Skip back-end. if (e.PageSiteNode.IsBackend) { return; } if (!globalConfig.Modules.Hreflang.Active) { return; } List <HtmlLink> hrefLangLinks = GetAlternateLinks(e, globalConfig.Modules.Hreflang.IncludeCurrentLanguage); try { foreach (HtmlLink link in hrefLangLinks) { e.Page.Header.Controls.Add(link); string q = null; q = q.ToLower(); } } catch (Exception ex) { _logiszLogger.LogException("Hreflang", ex); } Debug(); }
public void OnPagePreRenderCompleteEventHandler(IPagePreRenderCompleteEvent e) { Page page = e.Page; if (page.IsBackend()) { return; } if (!Config.Active) { return; } Yoast.Models.ValidationResult result = new Yoast.Models.ValidationResult(); result.pageValidationResult = pageValidationMethods.ValidatePage(e.PageSiteNode, e.Page); result.Score = yoastCalculationService.GetPageSEOScore(result); //Calculate score #region Debug Debug(result); #endregion }
private static void OnPagePreRenderCompleteEventHandler(IPagePreRenderCompleteEvent @event) { if (@event.PageSiteNode.IsBackend && [email protected](requestSpyControl)) { @event.Page.Controls.Add(requestSpyControl); } }
private void OnPagePreRenderCompleted(IPagePreRenderCompleteEvent @event) { var ampPage = AMPManager .GetManager() .GetAmpPages() .FirstOrDefault(x => x.PageId == @event.PageSiteNode.Id); if (ampPage != null) { var resolvedDataItem = SystemManager.HttpContextItems["detailItem"] as ILocatable; if (resolvedDataItem == null) { return; } string resolvedItemUrl = resolvedDataItem.Urls.First(x => x.IsDefault).Url; string relativeUrlToAmpPage = "/amp/" + VirtualPathUtility.AppendTrailingSlash(ampPage.UrlName.TrimStart('/')) + resolvedItemUrl.TrimStart('/'); string absoluteUrlToAmpPage = RouteHelper.ResolveUrl(relativeUrlToAmpPage, UrlResolveOptions.Absolute); var linkControl = new HtmlLink(); linkControl.Attributes.Add("rel", "amphtml"); linkControl.Href = absoluteUrlToAmpPage; @event.Page.Header.Controls.Add(linkControl); } }
/// <summary> /// The on pre render event handler /// </summary> /// <param name="evt"></param> public void OnPagePreRenderCompleteEventHandler(IPagePreRenderCompleteEvent evt) { //Do nothing if it's not active if (!globalConfig.Modules.PageTitleHandler.Active) { return; } ExtendPageTitleWithCompanyName(evt.Page); }
private static void OnPagePreRenderCompleteEventHandler(IPagePreRenderCompleteEvent evt) { if (evt != null) { HtmlLink link = new HtmlLink(); link.Href = FavIconHandler.GetCurrentSiteFav(); link.Attributes.Add("rel","icon"); evt.Page.Header.Controls.Add(link); } }
private static void OnPagePreRenderCompleteEventHandler(IPagePreRenderCompleteEvent e) { if (e.PageSiteNode.IsBackend) { return; } // run any gigya related code that needs to be done for every request GigyaAccountHelper.ProcessRequestChecks(HttpContext.Current); }
/// <summary> /// page /// </summary> /// <param name="e"></param> public void OnPagePreRenderCompleteEventHandler(IPagePreRenderCompleteEvent e) { ILogiszConfigManager _logiszConfigManager = LogiszDependencyContainer.Resolve <ILogiszConfigManager>(); if (!_logiszConfigManager.GetConfig().Modules.Shortcoder.Active) { return; } if (!e.PageSiteNode.IsBackend) { if (!Path.HasExtension(e.Page.Request.Url.AbsolutePath) || (Path.HasExtension(e.Page.Request.Url.AbsolutePath) && _tokenize.Contains(Path.GetExtension(e.Page.Request.Url.AbsolutePath).ToLower()))) { e.Page.Response.Filter = new TokenizedStream(e.Page.Response.Filter); } } }
/// <summary> /// Hits on page visit /// </summary> /// <param name="e"></param> public void OnPagePreRenderCompleteEventHandler(IPagePreRenderCompleteEvent e) { if (!IsActive) { return; } //Ensure the model is as new. openGraphModel = new OpenGraphModel(); if (SiteMapBase.GetActualCurrentNode() != null) { Guid currentPageId = SiteMapBase.GetActualCurrentNode().Id; PageNode page = _pageManager.GetPageNode(currentPageId); //Validate current page if (page == null) { return; } if (page.IsBackend) { return; } openGraphModel.SetActivePage(page); } else { //Invalid return; } if (!IsValid) { _logiszLogger.LogException("Failed to enable opengraph due an error:" + GetErrorMessage()); return; } Index(); }
private static void OnPagePreRenderCompleteEventHandler(IPagePreRenderCompleteEvent evt) { var page = evt.Page; if (page != null) { var headerControls = page.Header.Controls; foreach (var control in headerControls) { if (control is HtmlMeta metaTag) { if (metaTag.Attributes[MetaAttrKey] == MetaAttrValue) { headerControls.Remove(metaTag); break; } } } } }
/// <summary> /// Gets the hreflangs /// </summary> /// <param name="e"></param> /// <param name="includeCurrentLanguage"></param> /// <returns></returns> private List <HtmlLink> GetAlternateLinks(IPagePreRenderCompleteEvent e, bool includeCurrentLanguage) { _logiszDebugger.AddDebugData("Include current language", includeCurrentLanguage.ToString()); var alternateLinks = new List <HtmlLink>(); #region Get page node PageNode pageNode = pageManager.GetPageNodes().Where(pN => pN.PageId == e.PageSiteNode.PageId).FirstOrDefault(); #endregion #region Try get content item bool foundDetailContentItem = false; string urlName = RemoveHostFromUrl(e.Page.Request); _logiszDebugger.AddDebugData("Urlname", urlName); object contentObject = null; IHasUrlName o = null; Lstring finalUrlName = new Lstring(); //Check if excluded if (globalConfig.Modules.Hreflang.PageIsExcluded(urlName)) { _logiszDebugger.AddDebugData("Page is excluded", "True"); return(null); } bool pageWithUrlNameExists = (pageManager.GetPageNodes().Where(q => q.UrlName == urlName).Count() != 0); _logiszDebugger.AddDebugData("Found page with urlname", pageWithUrlNameExists.ToString()); if (!pageWithUrlNameExists) { //No page found, search object. foundDetailContentItem = GetObjectByUrlName(pageNode, urlName, out contentObject); _logiszDebugger.AddDebugData("Found content item with urlname", foundDetailContentItem.ToString()); if (contentObject != null) { o = (IHasUrlName)contentObject; if (o != null) { finalUrlName = o.UrlName; } //validate type of static modules _logiszDebugger.AddDebugData("Type of content", contentObject.GetType().Name); if (contentObject.GetType() == typeof(NewsItem)) { NewsItem n = (NewsItem)contentObject; finalUrlName = n.ItemDefaultUrl; } } } #endregion #region Check for detailed page //Detailed page var cultures = includeCurrentLanguage ? e.PageSiteNode.AvailableLanguages : e.PageSiteNode.AvailableLanguages.Where(c => c != CultureInfo.CurrentUICulture); var ulService = ObjectFactory.Resolve <UrlLocalizationService>(); if (foundDetailContentItem) { foreach (var culture in cultures.Where(c => !string.IsNullOrWhiteSpace(c.Name))) { var defaultLocation = UrlPath.ResolveUrl(ulService.ResolveUrl(e.PageSiteNode.GetUrl(culture, false), culture), true, true); if (!string.IsNullOrWhiteSpace(defaultLocation)) { string languagedUrlName = String.Empty; finalUrlName.TryGetValue(out languagedUrlName, culture); defaultLocation += "/" + languagedUrlName; var alternateControl = new HtmlLink(); alternateControl.Attributes.Add("rel", "alternate"); alternateControl.Attributes.Add("href", defaultLocation); alternateControl.Attributes.Add("hreflang", culture.TextInfo.CultureName); _logiszDebugger.AddDebugData("Added hreflang tag (" + culture.TextInfo.CultureName + ")", defaultLocation); alternateLinks.Add(alternateControl); } } } #endregion #region Static page //Static page else { foreach (var culture in cultures.Where(c => !string.IsNullOrWhiteSpace(c.Name))) { var defaultLocation = UrlPath.ResolveUrl(ulService.ResolveUrl(e.PageSiteNode.GetUrl(culture, false), culture), true, true); if (!string.IsNullOrWhiteSpace(defaultLocation)) { var alternateControl = new HtmlLink(); alternateControl.Attributes.Add("rel", "alternate"); alternateControl.Attributes.Add("href", defaultLocation); alternateControl.Attributes.Add("hreflang", culture.TextInfo.CultureName); _logiszDebugger.AddDebugData("Added hreflang tag (" + culture.TextInfo.CultureName + ")", defaultLocation); alternateLinks.Add(alternateControl); } } } #endregion return(alternateLinks); }