Здравствуйте,
у меня появилась задача сделать условную регистрацию пользователей на сайте. Т.е. чтобы зарегистрироваться пользователю будет предложено заполнить тест и по результатам выполнения теста разрешить регистрацию или отклонить. В тесте будет 10 вопросов с вариантами ответов, если правильно отвечено, к примеру, на 7 вопросов, то регистрация разрешается.
Подскажите, есть ли готовые модули для выполнения такой задачи или натолкните на путь решения.
UPD. Мой модуль для решения этой задачи http://drupal.org/project/quizreg
Комментарии
Готовых модулей не знаю, но задачка легко решается своим модулем. На [ru-api=hook_user]hook_user[/ru-api] вешается проверка значения определенной переменной в сессии, если её нет или она равна FALSE, то вместо формы регистрации показываешь другую форму с тестом.
Вот нашел модуль Agreement, который как раз делает такое перенаправление. Насколько я понял, можно сделать перенаправление на любой URL. В принципе это решает часть задачи.
Тогда возникает следующий вопрос. Как сделать страницу с тестом, который случайным образом выбирает 10 вопросов из списка вопросов и подсчитывает, результат?
Можно чуть по другому делать. Регистрировать тех, кто хочет, но после регистрации присваивать пользователям "немощную" роль. Потом давать им тест и на основе его присваивать другую роль
А если использовать обычную капчу, но написать субмодуль с вопросами и повесить это на регистрацию?
Нашел 2 модуля Quiz и Classroom которые позволяют сделать тесты с подсчетом результатов.
Про регистрацию с "немощной" ролью тоже думал, оставлю это как запасной вариант.
Про капчу и субмодуль, честно, говоря, не понял, но мысль написать модуль для этого была, но я не насколько хорошо знаю API Друпала, да и модули никогда не писал. А в процессе обдумывания пришла в голову новая идея, использовать Quiz и/или Classroom еще и для создания обучающих программ, тренингов на сайте.
У капчи есть субмодули, которые реализуют различные виды проверок: показ на картинке цифр и букв, арифметика и т.д. Каждый из этих модулей можно включить и привязать к различным формам, например показ картинки при отправке коммента или при регистрации.
Вот я вам и предлагаю посмотреть как сделаны эти модули и написать нечто подобное. Я думаю там достаточно просто всё - необходимо наверняка создать буквально 3-4 функции, а привязку в системе будет делать сам модуль CAPTCHA.
Решил проблему путем создания собственного модуля, назвал его quizreg (quiz for register).Попробую разместить его на drupal.org, сейчас жду ответа на запрос о доступе на CVS.
http://drupal.org/project/quizreg
Следить.
За чем следить? Модуль успешно работает на сайте, юзеры на drupal.org нашли баг, он уже исправлен.
GDI@drupal.org, я, как и многие здесь, отслеживаю полезные мне топики через свой тракер
Вам большое спасибо за полезную весчь.
полезно
придумать бы вопрос для селекции
А этот модуль считает количество попыток? Можно их ограничить?
Взакладки.
Было б неплохо под 7ку
У меня, к сожалению, нет сайтов на 7ке. Если кто-то возьмется портировать этот модуль под 7ку, то помогу разобраться с функционалом. Там всего несколько функций, так что не думаю, что это будет сложно.