Как запретить редактировать ноды чаще чем 1 раз в минуту?

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

Аватар пользователя anreyyyy anreyyyy 4 июля 2013 в 5:11

Привет всем!

Как запретить редактировать ноды чаще чем 1 раз в минуту?
Не нашел такого модуля, типа "content type update limit", хочу запретить юзерам обновлять ноды определенного типа чаще, чем раз в минуту.

Кто нибудь сталкивался?

Комментарии

Аватар пользователя Chyvakoff Chyvakoff 4 июля 2013 в 9:50

В hook_node_update смотри когда последний раз нода была обновлена. Если 60 сек не прошло - не сохраняй.
О, лучше в hook_form_validate проверку делай.

Аватар пользователя anreyyyy anreyyyy 4 июля 2013 в 13:52

Думаю это немного не то. Мне нужно проверять не когда нода последний раз была обновлена.
А когда последний раз была обновлена любая нода заданного типа материала.

Аватар пользователя Chyvakoff Chyvakoff 4 июля 2013 в 16:42

Тогда можешь добавить пользователю поле,в котором будешь хранить это время.
и когда чувак сохраняет ноду нужного тебе типа - смотри в это поле. Если минута не прошла - не давай сохранить, иначе записывай в это поле текущее время.

Аватар пользователя anreyyyy anreyyyy 4 июля 2013 в 18:23

Chyvakoff wrote:
Тогда можешь добавить пользователю поле,в котором будешь хранить это время.
и когда чувак сохраняет ноду нужного тебе типа - смотри в это поле. Если минута не прошла - не давай сохранить, иначе записывай в это поле текущее время.

Годный вариант, спасибо!

Аватар пользователя ivanus ivanus 1 апреля 2015 в 8:39

"Chyvakoff" wrote:
Тогда можешь добавить пользователю поле,в котором будешь хранить это время.
и когда чувак сохраняет ноду нужного тебе типа - смотри в это поле. Если минута не прошла - не давай сохранить, иначе записывай в это поле текущее время.

Добрый день! Мне как раз нужна именно такая функциональность - могли бы вы подсказать поподробнее, как это сделать? Спасибо!

Аватар пользователя Chyvakoff Chyvakoff 1 апреля 2015 в 12:03

Добавляешь поле типа Integer через админку.
Создаёшь модуль.
Определяешь там hook_form_alter (если не понятно что такое хук)
Добавляешь в нём валидатор.(тут)
В валидаторе смотришь на поле и сравниваешь его с time()
Если меньше 60 - то делаешь form_set_error.