Автоматическая активация/деактивация учетной записи пользователя по времени

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

Аватар пользователя pavantar pavantar 13 мая 2009 в 0:39

Уважаемые профессионалы!
Подскажите пожалуйста как реализовать:
ЗАДУМКА:Пользователь рагистрируется на сайте, получает e-mail и активирует учетную запись (через SMS).
Через определенное время (день, месяц, год) учетная запись становиться НЕАКТИВНОЙ, и для активации снова отправляет SMS.

Зарегистрировался в SMScoin. Есть код SMSключ. Ключ выдается на разные сроки (день, месяц, год). Но он работает только для закрытия целой страницы.

ПРОБЛЕМА:
1. Как сделать проверку по времени активности учетной записи?
2. Как автоматически сделать учетную запись неактивной?
3. Как автоматически отправить уведомление об изменении статуса учетной записи пользователя на "неактивный"?
4. Как автоматически активировать учетную запись после ввода ключа (SMS)?

Спасибо за помощь

Комментарии

Аватар пользователя Azerot Azerot 13 мая 2009 в 8:09

Пишите скрипт на php который лезет в базу и проверяет:
1. Время активации записи
2. Срок активации записи
Если всё это при сравнении с текущей датой даёт деактивацию учётной записи, то делаете запрос в БД, выставляя данной учётной записи флаг блокировки. Далее пользователю отсылается email.
Скрипт ставится в cron с запуском в 0 часов каждый день

Единственное, что не могу сказать по поводу 4, потому что не представляю как у вас реализовано сопоставление ключа SMS с учётной записью. По идее, надо ещё один скрипт, встроенный в страничку, который будет позволять продление заблокированной учётной записи при вводе правильного ключа. В общем как бы ничего особо сложного нет.

Аватар пользователя pavantar pavantar 13 мая 2009 в 11:37

Спасибо за ответ.
Но, к сожалению, я не силен в php. Не могли бы Вы подсказать поконкретнее код и куда его вставить.
- какие переменные хранят время активации записи;
- как сделать запрос к БД;
- как выставить флаг;
- как выставить срок активности для записи;
- как запустить cron с нужной командой.

Я думал, что можно с триггерами как-то поиграться. Но скорее всего, это cron - регулярно проверяет записи на активность и переводит в состояние "блокирован", если срок истек.

Поставил модуль Role Expire, который должен был устанавливать дату окончания активности роли. Но не могу найти, где он настраивается.
Думал, что с помощью этого модуля можно будет как-нибудь реализавть поставленную задачу..

Аватар пользователя Azerot Azerot 13 мая 2009 в 13:11

Quote:
Не могли бы Вы подсказать поконкретнее код и куда его вставить.

Нет. Я дал вам рецепт действий, а конкретный код за вас писать не собираюсь.

Аватар пользователя FORTIS FORTIS 13 мая 2009 в 13:37

модуль есть такой, только что видел, поищите по слову schedule,
либо откройте drupal.org отфильтруйте модули по 6-й ветке и Recent activity там где-то после 3 страницы было ))

Аватар пользователя Sasha_ne Sasha_ne 1 декабря 2009 в 22:58

да можно самому php выучить, я за несколько недель его выучил, на сайте php.ru есть хороший форум где все описывается