xandeadx.ru Блог музицирующего веб-девелопера

Drupal → Запретить пользователям добавлять одинаковые комментарии

Опубликовано в

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

/**
 * Implements hook_comment().
 */
function mymodule_comment(&$a1, $op) {
  if ($op == 'validate') {
    $result = db_result(db_query("
      SELECT cid FROM {comments}
      WHERE hostname = '%s' AND timestamp > %d AND comment = '%s'
      LIMIT 1
    ", $GLOBALS['user']->hostname, time() - 60*60*24, $a1['comment']));
 
    if ($result) {
      form_set_error('comment', 'Ваше сообщение дублирует добавленное ранее.');
    }
  }
}
Написанное актуально для Drupal 6.x
Похожие записи

Комментарии RSS

Есть также модулек для похожих целей

спасибо! Такую штуку нужно прикрутить к drupal.ru

Эти скрипты куда нужно написать?

Оставить комментарий

Содержимое этого поля является приватным и не будет отображаться публично. Если у вас есть аккаунт в Gravatar, привязанный к этому e-mail адресу, то он будет использован для отображения аватара.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступные HTML теги: <a> <i> <b> <strong> <code> <ul> <ol> <li> <blockquote> <em> <s>
  • Строки и параграфы переносятся автоматически.
  • Подсветка кода осуществляется с помощью тегов: <code>, <css>, <html>, <ini>, <javascript>, <sql>, <php>. Поддерживаемые стили выделения кода: <foo>, [foo].

Подробнее о форматировании