Как при создании материала анонимом выдавать сообщение о необходимости его авторизации(на основе email)

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

Аватар пользователя Olegaarh Olegaarh 7 сентября 2012 в 4:11

Здравствуйте.
Ситуация следующая. Анонимные пользователи могут создавать контент. При создании контента они заполняют поля, в том числе они указывают свой emai. Если адрес новый, то пользователь сохраняется посредством [ru-api=user_save]user_save() [/ru-api]. Возник вопрос, как выдавать сообщение о необходимости авторизоваться анонимному пользователю, который при создании контента указал уже существующий в базе email и при этом сохранить введенные в другие поля данные? Попробовал модуль field_validation, но он не выводит html в сообщении об ошибке валидации, и поэтому ссылку на авторизацию вывести не удается.

Комментарии

Аватар пользователя Worth Worth 7 сентября 2012 в 6:03

Раз вы используете user_save, соответственно у вас уже есть свой кастомный модуль - добавьте туда хук _form_validate, должен называться как ваш_модуль_имя_вашей_формы_validate(&$form, &$form_state)
В нем проверка, если $form_state['values']['поле_емейла']['und'][0]['value'] есть в базе пользователей, то
form_set_error('поле_емейла', '<a href="#">Error</a>');

У себя в проекте я использую inline_registration модуль, он хоть и dev, ведёт себя довольно адекватно.