Сеанс голосования | |
Author: utilmind |
13.03.2017 введено понятие «сеанса голосования» и его продолжительности, в часах. Это сделано для такого:
Аналогичным образом мы смотрим на количество просмотров результатов голосования, чтобы:
В принципе, у нас уже была хорошая подготовка к этому, переменные $free_result_cats = 5; // сколько категорий мы можем беспрепятственно просмотреть в течение сеанса голосования $demography_ask_cats = 2; // после скольки проголосованых категорий можно показывать попапы (спрашивать демографические данные) $poll_delay_per_item = 2600; $poll_delay_dependence = ’C’; К ним добавлены $vote_session_hours = 4; // сколько часов длится текущий подход к опросу. $vote_nodelay_cats = 10; // во скольки категориях (в течение сеанса) юзер может свободно проголосовать так, чтобы не видеть предупреждений из-за «быстрого» голосовования Но выше это всё настройки. В рантайме у сайта появляются новые функции для контроля. (Я думал сделать переменными, но они нужны довольно редко, проще вызывать функу, которая выудит нужное значение из куки). Функи такие:
Ради дебага модератору выводятся (в шапку рядом с линтером) значения счётчиков ’vote’ (кол-во категорий проголосованых за сеанс) и ’rslt’ (кол-во категорий показаных за сеанс, но их не будет больше значения указанного в $free_result_cats). Технически оба значения сохраняются в куки с короткими именами snn_имясчётчика. В куки хранится не только значение как счётчика, но и идентификатор категории, в которой они были задействованы. Чтобы не делать лишних повторных инкрементов. Куки имеют строковой формат, 2 значения пишутся через запятую: cnt,id. cnt — количество голосов или просмотров за сессию, id — идентификатор последней категории, в которой был голос или просмотр результатов. |
Tweet |
Send by E-mail Print version |