示例#1
0
        /// <summary>
        /// Validate the complete template
        /// </summary>
        /// <returns>Returns true if everything is valid false if not</returns>
        public bool Validate()
        {
            _profanityFilterState = ProfanityFilter.FilterState.Pass;

            bool isValid = true;
            foreach (UIField field in _uiFieldData.Values)
            {
                bool isFieldValid = true;
                isFieldValid = field.Validate();

                if (field.ProfanityFilterState == ProfanityFilter.FilterState.FailRefer && _profanityFilterState != ProfanityFilter.FilterState.FailBlock)
                {
                    _profanityFilterState = ProfanityFilter.FilterState.FailRefer;
                }
                else if(field.ProfanityFilterState == ProfanityFilter.FilterState.FailBlock)
                {
                    _profanityFilterState = ProfanityFilter.FilterState.FailBlock;
                }

                if (isValid && !isFieldValid)
                {
                    isValid = false;
                }
            }
            GenerateTemplateXML();
            return isValid;
        }
示例#2
0
        /// <summary>
        /// Checks that the string parses without any profanities
        /// </summary>
        /// <param name="value">The string to check</param>
        /// <returns>Whether the string parses without any profanities</returns>
        private bool HasProfanities(string value)
        {
            string matchingProfanity;
            List<Term> terms = null;
            int forumId = 0;
            if (InputContext.DoesParamExist("forumid", "forumid"))
            {
                forumId = InputContext.GetParamIntOrZero("forumid", "forumid");
            }
            ProfanityFilter.FilterState profanityState = ProfanityFilter.CheckForProfanities(InputContext.CurrentSite.ModClassID, value, out matchingProfanity, out terms, forumId);
            _profanityFilterState = profanityState;

            if (profanityState != ProfanityFilter.FilterState.FailBlock)
            {
                return false;
            }
            else
            {
                AddErrorXml("Profanity Error", "This field contains a blocking profanity. The profanity is " + matchingProfanity + ". Profanity Filter State = " + profanityState.ToString(), _errorXML);
                return true;
            }
        }