Я использую модуль уведомлений на небольшом сайте drupal 6 и хочу иметь возможность отправлять пользователю sms или сообщения электронной почты в зависимости от значения поля адреса электронной почты пользователя.
У меня есть доступ к шлюзу, поэтому все, что мне нужно сделать, это добавить «@» и адрес шлюза в конце номера мобильного телефона.
Итак, я хочу предложить посетителям ввести номер своего мобильного телефона или адрес, но иметь сценарий, который оценивает, что находится в этом поле. По сути, если уже есть «@» (означает, что они ввели свой адрес электронной почты), значение не изменяется. Но если нет "@" и значение составляет 10 цифр (номер телефона), то автоматически добавляется "@gatewayaddress".
Я могу понять PHP с preg_match, чтобы сделать это, но как мне получить значение поля при создании учетной записи?
Я нашел информацию о настройке регистрации пользователей, но я думаю, что мне следует написать простой модуль, чтобы сделать это, чтобы его было легче поддерживать в будущем.
Я не использую смс-фреймворк и модули шлюза drupal, потому что текстовые сообщения не отправляются, а пробные версии модулей по-прежнему не работают и сломали мой сайт. Кроме того, этот шлюз, который я использую, доступен моему работодателю бесплатно, и, что наиболее важно, он просто чертовски работает.
Может ли кто-нибудь помочь мне понять это, чтобы начать?
@nmc спасибо. Я новичок в разработке модулей, но мне очень нужен этот функционал.
Вот функция моего модуля, которая не работает. Как мне стать на правильный путь?
function emailsmsfield_user($op,&$edit,&$account,$category = NULL) {
//if creating an account or updating
if($op == 'insert' || $op == 'after_update') {
/*checking for '@' symbol. If it is missing, the value gets the gateway address
added to the end*/
if(preg_match('[^@]',$user->mail[0]['value'])) {
$user->mail[0]['value'] = $user->mail[0]['value'] . 'gateway.address.com';
}
}
}