public function property_validation_url_validator::validate in Field Validation 7.2
Validate property.
Overrides property_validation_validator::validate
File
- property_validation/
plugins/ validator/ property_validation_url_validator.inc, line 21
Class
Code
public function validate() {
$settings = $this->rule->settings;
if ($this->value != '') {
$flag = FALSE;
if (empty($settings['external']) && empty($settings['internal'])) {
$flag = TRUE;
}
if (!empty($settings['external'])) {
$flag = valid_url($this->value, TRUE);
}
if (!$flag && !empty($settings['internal'])) {
$normal_path = drupal_get_normal_path($this->value);
if (!url_is_external($normal_path)) {
$parsed_link = parse_url($normal_path);
if ($normal_path != $parsed_link['path']) {
$normal_path = $parsed_link['path'];
}
$flag = drupal_valid_path($normal_path);
}
}
if (!$flag) {
$this
->set_error();
}
}
}