Esempio n. 1
0
 /**
  * Method to test for a banned subject
  *
  * @param   SimpleXMLElement  $element  The SimpleXMLElement object representing the <field /> tag for the form field object.
  * @param   mixed             $value    The form field value to validate.
  * @param   string            $group    The field name group control value. This acts as as an array container for the field.
  *                                      For example if the field has name="foo" and the group value is set to "bar" then the
  *                                      full field name would end up being "bar[foo]".
  * @param   Registry          $input    An optional Registry object with the entire data set to validate against the entire form.
  * @param   JForm             $form     The form object for which the field is being tested.
  *
  * @return  boolean  True if the value is valid, false otherwise
  */
 public function test(SimpleXMLElement $element, $value, $group = null, Registry $input = null, JForm $form = null)
 {
     $params = JComponentHelper::getParams('com_contact');
     $banned = $params->get('banned_subject');
     if ($banned) {
         foreach (explode(';', $banned) as $item) {
             if ($item != '' && StringHelper::stristr($value, $item) !== false) {
                 return false;
             }
         }
     }
     return true;
 }
	/**
	 * Method to test the value.
	 *
	 * @param   SimpleXMLElement  $element  The SimpleXMLElement object representing the <field /> tag for the form field object.
	 * @param   mixed             $value    The form field value to validate.
	 * @param   string            $group    The field name group control value. This acts as as an array container for the field.
	 *                                      For example if the field has name="foo" and the group value is set to "bar" then the
	 *                                      full field name would end up being "bar[foo]".
	 * @param   Registry          $input    An optional JRegistry object with the entire data set to validate against the entire form.
	 * @param   JForm             $form     The form object for which the field is being tested.
	 *
	 * @return  boolean  True if the value is valid, false otherwise.
	 *
	 * @since    1.5
	 */
	public function test(SimpleXMLElement $element, $value, $group = null, Registry $input = null, JForm $form = null)
	{
		$params = JComponentHelper::getParams('com_churchdirectory');
		$banned = $params->get('banned_subject');

		foreach (explode(';', $banned) as $item)
		{
			if (\Joomla\String\StringHelper::stristr($item, $value) !== false)
			{
				return false;
			}
		}

		return true;
	}
	/**
	 * Method to test the email address and optionally check for uniqueness.
	 *
	 * @param   SimpleXMLElement  &$element  The SimpleXMLElement object representing the <field /> tag for the form field object.
	 * @param   mixed             $value     The form field value to validate.
	 * @param   string            $group     The field name group control value. This acts as as an array container for the field.
	 *                                       For example if the field has name="foo" and the group value is set to "bar" then the
	 *                                       full field name would end up being "bar[foo]".
	 * @param   JRegistry         &$input    An optional JRegistry object with the entire data set to validate against the entire form.
	 * @param   JForm             &$form     The form object for which the field is being tested.
	 *
	 * @return  boolean  True if the value is valid, false otherwise.
	 *
	 * @since    1.5
	 */
	public function test(& $element, $value, $group = null, &$input = null, &$form = null)
	{
		if (!parent::test($element, $value, $group, $input, $form))
		{
			return false;
		}

		$params = JComponentHelper::getParams('com_churchdirectory');
		$banned = $params->get('banned_email');

		foreach (explode(';', $banned) as $item)
		{
			if (\Joomla\String\StringHelper::stristr($item, $value) !== false)
			{
				return false;
			}
		}

		return true;
	}
Esempio n. 4
0
 /**
  * Checks an object for search terms (after stripping fields of HTML).
  *
  * @param   object  $object      The object to check.
  * @param   string  $searchTerm  Search words to check for.
  * @param   array   $fields      List of object variables to check against.
  *
  * @return  boolean True if searchTerm is in object, false otherwise.
  */
 public static function checkNoHtml($object, $searchTerm, $fields)
 {
     $searchRegex = array('#<script[^>]*>.*?</script>#si', '#<style[^>]*>.*?</style>#si', '#<!.*?(--|]])>#si', '#<[^>]*>#i');
     $terms = explode(' ', $searchTerm);
     if (empty($fields)) {
         return false;
     }
     foreach ($fields as $field) {
         if (!isset($object->{$field})) {
             continue;
         }
         $text = self::remove_accents($object->{$field});
         foreach ($searchRegex as $regex) {
             $text = preg_replace($regex, '', $text);
         }
         foreach ($terms as $term) {
             $term = self::remove_accents($term);
             if (StringHelper::stristr($text, $term) !== false) {
                 return true;
             }
         }
     }
     return false;
 }