public BannedUrlPatternCollection FetchAll()
 {
     BannedUrlPatternCollection coll = new BannedUrlPatternCollection();
     Query qry = new Query(BannedUrlPattern.Schema);
     coll.LoadAndCloseReader(qry.ExecuteReader());
     return coll;
 }
예제 #2
0
        /// <summary>
        /// Determines whether a url matches a banned url.
        /// </summary>
        /// <param name="url">The URL to check</param>
        /// <param name="hostId">The host id.</param>
        /// <returns>
        ///     <c>true</c> if the url is banninated; otherwise, <c>false</c>.
        /// </returns>
        public static bool IsUrlBanninated(string url, int hostId)
        {
            BannedUrlPatternCollection coll = BannedUrlPatternCache.GetBannedUrlPatterns(hostId);

            foreach (BannedUrlPattern p in coll)
            {
                if (Regex.IsMatch(url, p.BannedUrlRegex))
                {
                    return(true);
                }
            }
            return(false);
        }
        public static BannedUrlPatternCollection GetBannedUrlPatterns(int hostID)
        {
            CacheManager<string, BannedUrlPatternCollection> cache = GetBannedUrlPatternCache();

            string key = GetCacheKey(hostID);

            if (cache[key] == null)
            {
                Query BannedUrlPatternQuery = BannedUrlPattern.CreateQuery().WHERE(BannedUrlPattern.Columns.HostId, hostID).OR(BannedUrlPattern.Columns.HostId, Comparison.Is, null);

                BannedUrlPatternCollection BannedUrlPatterns = new BannedUrlPatternCollection();
                BannedUrlPatterns.LoadAndCloseReader(BannedUrlPatternQuery.ExecuteReader());

                cache.Insert(key, BannedUrlPatterns, 3600);
            }

            return cache[key];
        }
예제 #4
0
        public static BannedUrlPatternCollection GetBannedUrlPatterns(int hostID)
        {
            CacheManager <string, BannedUrlPatternCollection> cache = GetBannedUrlPatternCache();

            string key = GetCacheKey(hostID);

            if (cache[key] == null)
            {
                Query BannedUrlPatternQuery = BannedUrlPattern.CreateQuery().WHERE(BannedUrlPattern.Columns.HostId, hostID).OR(BannedUrlPattern.Columns.HostId, Comparison.Is, null);

                BannedUrlPatternCollection BannedUrlPatterns = new BannedUrlPatternCollection();
                BannedUrlPatterns.LoadAndCloseReader(BannedUrlPatternQuery.ExecuteReader());

                cache.Insert(key, BannedUrlPatterns, 3600);
            }

            return(cache[key]);
        }
 public BannedUrlPatternCollection FetchByQuery(Query qry)
 {
     BannedUrlPatternCollection coll = new BannedUrlPatternCollection();
     coll.LoadAndCloseReader(qry.ExecuteReader());
     return coll;
 }
 public BannedUrlPatternCollection FetchByID(object PatternId)
 {
     BannedUrlPatternCollection coll = new BannedUrlPatternCollection().Where("PatternId", PatternId).Load();
     return coll;
 }