public static function containKeywords($txt, $keywords = null, $ifNull = true) { if (!is_array($keywords) || count($keywords) < 1) { return $ifNull; // Subscription not contain filter for keywords } foreach ($keywords as $keyword) { if (v::contains($keyword)->validate($txt)) { return true; } } return false; }
/** * Validates that input contains a string * * @param string $hook "validate:contains" * @param string $type "prototyper" * @param ValidationStatus $validation Current validation status * @param array $params Hook params * @return ValidationStatus */ function prototyper_validate_contains($hook, $type, $validation, $params) { if (!$validation instanceof ValidationStatus) { $validation = new ValidationStatus(); } $field = elgg_extract('field', $params); if (!$field instanceof Field) { return $validation; } $rule = elgg_extract('rule', $params); if ($rule != "contains") { return $validation; } $value = elgg_extract('value', $params); $expectation = elgg_extract('expectation', $params); if (!v::contains($expectation)->validate($value)) { $validation->setFail(elgg_echo('prototyper:validate:error:contains', array($field->getLabel(), $expectation))); } return $validation; }