diff --git a/src/Umbraco.Web/TourFilterResolver.cs b/src/Umbraco.Web/TourFilterResolver.cs index 586d0cb89f..79112f7097 100644 --- a/src/Umbraco.Web/TourFilterResolver.cs +++ b/src/Umbraco.Web/TourFilterResolver.cs @@ -1,6 +1,8 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Text.RegularExpressions; +using Umbraco.Core; using Umbraco.Core.Logging; using Umbraco.Core.ObjectResolution; using Umbraco.Web.Models; @@ -33,6 +35,39 @@ namespace Umbraco.Web _instances.Add(filter); } + /// + /// Helper method for adding a filter by exact plugin name + /// + /// Regex string used for matching + public void AddFilterByPlugin(string pluginName) + { + pluginName = pluginName.EnsureStartsWith("^").EnsureEndsWith("$"); + using (Resolution.Configuration) + _instances.Add(BackOfficeTourFilter.FilterPlugin(new Regex(pluginName, RegexOptions.IgnoreCase))); + } + + /// + /// Helper method for adding a filter by exact file name + /// + /// + public void AddFilterByFile(string file) + { + file = file.EnsureStartsWith("^").EnsureEndsWith("$"); + using (Resolution.Configuration) + _instances.Add(BackOfficeTourFilter.FilterFile(new Regex(file, RegexOptions.IgnoreCase))); + } + + /// + /// Helper method for adding a filter by exact tour alias + /// + /// + public void AddFilterByAlias(string alias) + { + alias = alias.EnsureStartsWith("^").EnsureEndsWith("$"); + using (Resolution.Configuration) + _instances.Add(BackOfficeTourFilter.FilterAlias(new Regex(alias, RegexOptions.IgnoreCase))); + } + /// /// Removes a filter instance ///