Модуль contact

Главные вкладки

Аватар пользователя Shelendor Shelendor 16 августа 2006 в 22:32

На Друпале 4.7.2 наблюдаю странный глюк модуля contact - если в поле e-mail после ввода адреса поставить пробел - выдаёт сообщение о том, что "Вы должны ввести верный адрес e-mail". Как исправить этот глюк? Знаю, что многие ставят пробел...

Комментарии

Аватар пользователя moonman moonman 17 августа 2006 в 22:28

По идее нужно добавить знак "_" в проверку.

Посмотри в файле includes/common.inc
код:

function valid_email_address($mail) {
  $user = '[a-zA-Z0-9_\-\.\+\^!#\$%&*+\/\=\?\`\|\{\}~\']+';
  $domain = '(?:(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.?)+';
  $ipv4 = '[0-9]{1,3}(\.[0-9]{1,3}){3}';
  $ipv6 = '[0-9a-fA-F]{1,4}(\:[0-9a-fA-F]{1,4}){7}';

  return preg_match("/^$user@($domain|(\[($ipv4|$ipv6)\]))$/", $mail);
}

/**
 * Verify the syntax of the given URL.
 *
 * param $url
 *   The URL to verify.
 * param $absolute
 *   Whether the URL is absolute (beginning with a scheme such as "http:").
 * return
 *   TRUE if the URL is in a valid format.
 */

function valid_url($url, $absolute = FALSE) {
  $allowed_characters = '[a-z0-9\/:_\-_\.\?\$,~=#&%\+]';
  if ($absolute) {
    return preg_match("/^(http|https|ftp):\/\/". $allowed_characters ."+$/i", $url);
  }
  else {
    return preg_match("/^". $allowed_characters ."+$/i", $url);
  }
}

Ну вобщем нужно найти код [a-zA-Z0-9] и заменить его на код [a-zA-Z0-9_]
Точно не знаю где его на Друпале искать.
По идее должен быть в contact.module