Лимит голосов для анонимных пользователей

Раздел форума: 

Здрвствуйте.

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

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

 

 Я пытался сделать так:

$curip = ip_address();
$result = db_query("SELECT count(vote_source) as 'count' FROM {votingapi_vote} WHERE vote_source = '$curip'");
$fetch = db_fetch_object($result);
$count = $fetch->count;

Потом в файле voting.module и thumbs-up.tpl.php пытался использовать, но не работает - вылетаеот ошибка сервера

 

 Подскажите, плиз

 

 

 

 

 

 

 

 

 

Добавить комментарий

Войти, используя Loginza Google Account Yandex Mail.ru Vkontakte Facebook

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.
Прикрепить
Максимальный размер файла: 128 МБ.
Разрешённые типы файлов: txt doc docx rar zip xls xlsx pdf odf odt jpg jpeg gif png psd rtf.

В документации по voting api

В документации по voting api расписаны хуки

https://drupal.org/node/68877

Можете на insert добавить обработку для вычисления количества голосов пользователя.

hook_votingapi_insert($vote)

 

Здесь пример для модуля flag:

https://drupal.org/node/955724

 

  Здрвствуйте. Спасибо за

 

Здрвствуйте. Спасибо за ответ.

Попытался сделать:

function hook_votingapi_insert($votes) {

    foreach ($votes as $vote) {
        $curip = $vote['vote_source'];
        $result = db_query("SELECT count(vote_source) as 'count' FROM {votingapi_vote} WHERE vote_source = '$curip'");
        $fetch = db_fetch_object($result);
        $count = $fetch->count;
        if ($count >= 2) {
           return FALSE;
        }

     }

}

 $vote['vote_source'] - ip-адрес голосующего 

 

 

 Однако не работает. Подскажите что не так