Extra Block Types (EBT) - New Layout Builder experience❗

Extra Block Types (EBT) - styled, customizable block types: Slideshows, Tabs, Cards, Accordions and many others. Built-in settings for background, DOM Box, javascript plugins. Experience the future of layout building today.

Demo EBT modules Download EBT modules

❗Extra Paragraph Types (EPT) - New Paragraphs experience

Extra Paragraph Types (EPT) - analogical paragraph based set of modules.

Demo EPT modules Download EPT modules

Scroll

генерация одноразовых ссылок

генерация одноразовых ссылок
, by

Здарвствуйте! Скажите пожалуста, как генерировать одноразовые ссылки? Необходимо отправить на почту две одноразовые ссылки для подтверждение заявки. Если пользователь переходит по одной ссылке, значит принял заявку, если по друго значит не принял.

1 answer
votes: 634
Answer

Здравствуйте, генерировать ссылки можно через md5(), берете исходные данные: дату, имя пользователя, соль, получаете хеш, из хеша берете кусок и используете его в ссылке вида :

http://site.com/link_page?link=safaf21214jkljsadfda1

Обе ссылки вам нужно хранить в созданной вами таблице со столбцами uid, link1,link2, datestamp. Дату стоит хранить, чтобы удалять старые ссылки по крону.

Дальше пишите модуль в котором создаете action друпала, посылающий емайл пользователю и записывающий адреса ссылок. Action можно через модуль Rules привязать к какому-то событию.

Дальше когда уже action записал ссылки в БД, на странице:

http://site.com/link_page

Страницу можно создать через hook_menu(), проверяете аргумент в get-запросе, если такой аргумент есть в БД в нужной нам таблице, то строчку удаляем и делаем действие если link1 один то одно, если link2 то другое. Ну вот наверно и весь алгоритм, вам осталось только модуль написать.

 

 


Лучше использовать вместо md5(), функцию  uniqid().