/// <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> /// Appends a value with the company name /// </summary> /// <param name="title">The title</param> /// <returns>string</returns> public static string AppendTitleWithCompanyName(string title) { LogiszConfig config = LogiszDependencyContainer.Resolve <ILogiszConfigManager>().GetConfig(); if (!config.Modules.PageTitleHandler.Active) { return(title); } string companyName = config.CompanyName; string format = config.Modules.PageTitleHandler.Format; if (!title.Contains(companyName)) { title = String.Format(format, title, companyName); } return(title); }
public override void Write(byte[] buffer, int offset, int count) { bool isDeveloper = LogiszDependencyContainer.Resolve <ILogiszUserManager>().GetLoggedOnUser().IsDeveloper; Encoding encoding = HttpContext.Current.Response.ContentEncoding; string output = encoding.GetString(buffer); var tokens = new List <string>(); string seperatorOpeningTag = config.Modules.Shortcoder.SeperatorOpeningTag; string seperatorCloseTag = config.Modules.Shortcoder.SeperatorCloseTag; //Match paterns to find out with tokens are used Regex regex = new Regex(@"" + seperatorOpeningTag + "(.+?)" + seperatorCloseTag); foreach (Match match in regex.Matches(output)) { tokens.Add(match.Groups[0].Value); } if (tokens.Count > 0) { var modified = false; for (var i = 0; i < tokens.Count; i++) { //Get manager & Type DynamicModuleManager dynamicModuleManager = DynamicModuleManager.GetManager(); Type type = TypeResolutionService.ResolveType("Telerik.Sitefinity.DynamicTypes.Model.Shortcoder.Shortcode"); //Replace brackets string token = tokens[i]; token = token.Replace(seperatorOpeningTag, string.Empty); token = token.Replace(seperatorCloseTag, string.Empty); //Get token based on token key DynamicContent dynamicModuleToken = dynamicModuleManager.GetDataItems(type).FirstOrDefault(t => t.GetValue <string>("key") == token); if (dynamicModuleToken != null) { string value = dynamicModuleToken.GetValue <Lstring>("value"); if (config.Modules.Shortcoder.Debug && isDeveloper) { value = DebugValue(value, token); } output = output.Replace(tokens[i], value); modified = true; } } //Change buffer if (modified) { buffer = Encoding.ASCII.GetBytes(output); } } this.output += output; _stream.Write(buffer, offset, buffer.Length); }
public TokenizedStream(Stream stream) { this._logiszConfigManager = LogiszDependencyContainer.Resolve <ILogiszConfigManager>(); this.config = _logiszConfigManager.GetConfig(); _stream = stream; }