На Друпале 4.7.2 наблюдаю странный глюк модуля contact - если в поле e-mail после ввода адреса поставить пробел - выдаёт сообщение о том, что "Вы должны ввести верный адрес e-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.
*/ functionvalid_url($url, $absolute = FALSE){ $allowed_characters = '[a-z0-9\/:_\-_\.\?\$,~=#&%\+]'; if($absolute){ returnpreg_match("/^(http|https|ftp):\/\/". $allowed_characters ."+$/i", $url); } else{ returnpreg_match("/^". $allowed_characters ."+$/i", $url); } }
Ну вобщем нужно найти код [a-zA-Z0-9] и заменить его на код [a-zA-Z0-9_]
Точно не знаю где его на Друпале искать.
По идее должен быть в contact.module
Комментарии
Поставить пробел в проверку.
в модуле:
contact.module
эм... а можно поподробнее для тупых?
По идее нужно добавить знак "_" в проверку.
Посмотри в файле includes/common.inc
код:
$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
Ёёёё опять код не вставляется.
ёёёёёё глюки уже достали.