meefik/semanticNT — pull request #12 by hashcat (2013-12-07 16:33:49+00:00)
Title: Инструкция по использованию модуля рейтинга пользователей на основе голосов (лайков)

Модуль позволяет добавлять в любое место на страницах системы semanticNT блок [ Мне нравится # 3 ], где цифра обозначает суммарное количество голосов для данного блока. Голосовать могут лишь авторизованные пользователи и только один раз. При нажатии на данный блок он выделяется цветом и счетчик голосов увеличивается на единицу.

Чтобы добавить на страницу с сообщениями модуль, достаточно вставить в нужное место шаблона целевой страницы следующий код:

Перед вызовом страницы должна быть объявлена переменная item._id, которая хранит уникальный идентификатор сообщения (объекта).

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

/api/rating

Пример ответа:

{ "user1": 3, "user2": 1 }

Получить рейтинг выбранного пользователя:

/api/rating?userid=user1

Пример ответа:

{ "userid": "user1", "rating": 3 }

Получить идентификатор автора блока и рейтинг по идентификатору блока:

/api/rating?likeid=529714cc8e650ef31700000d

Пример ответа:

{ "user2": 2 }

При добавлении и удалении сообщений необходимо вызывать функции add и remove соответственно:

var rating = require('./rating');
// привязка автора к идентификатору сообщения
rating.add(id,userid);
// удаление информации об авторе сообщения
rating.remove(id);