You are here

function advanced_link_widget_url_validate in Advanced Link 7

Validate typed values.

1 string reference to 'advanced_link_widget_url_validate'
advanced_link_field_process in ./advanced_link.module
Create element array.

File

./advanced_link.module, line 294
Defines simple advanced_link widget.

Code

function advanced_link_widget_url_validate($element, &$form_state) {
  $urls_allowed = isset($element['#field']['widget']['urls_allowed']) ? $element['#field']['widget']['urls_allowed'] : ADVANCED_LINK_BOTH;
  $urls_filter = isset($element['#field']['widget']['urls_filter']) ? trim($element['#field']['widget']['urls_filter']) : NULL;
  $url = $element['#value'];
  if ($url) {

    // Gettings link type (internal, external).
    if ($urls_allowed != ADVANCED_LINK_BOTH) {
      $type = link_validate_url($url);
      if ($type != $urls_allowed) {
        form_set_error(implode('][', $element['#parents']), t('URLs need to be @url_allowed', array(
          '@url_allowed' => $urls_allowed,
        )));
      }
    }

    // Checking link URL by URL filter patterns.
    if ($urls_filter) {
      $match = drupal_match_path($url, $urls_filter);
      if (!$match) {
        form_set_error(implode('][', $element['#parents']), t("You can't use such URLs."));
      }
    }
  }
}