AOS Who Visited a Topic (Кто смотрел тему)

Подсчёт и статистика посещений тем пользователями форума

В данном форуме будут выкладываться работы других программистов, не относящихся к нашему сайту, а также переводы и дополнения к ним.
Mario Cimarro
Сообщения: 25
Зарегистрирован: 23.08.13 07:26
Благодарил (а): 8 раз
Поблагодарили: 1 раз

AOS Who Visited a Topic (Кто смотрел тему)

Сообщение Mario Cimarro »

С помощью данной модификации можно посмотреть кто, когда, и сколько раз посетил определенную тему. А также графическую статистику количеств посещений:

Скриншоты:
Clip_10.png
Clip_11.png
Подсказка: чтобы отключить отображение количества посещений каждым пользователем в отдельности, которое присутствует в моде по-умолчанию, нужно зайти в админку --> "Размещение сообщений", и там в самом низу будет блок с настройками мода.

Сам МОД:
AOS_Who_Visited_a_Topic_1.0.2.2.zip
12
(186.71 КБ) 1290 скачиваний
AOS_Who_Visited_a_Topic_1.0.2.2.zip
12
(186.71 КБ) 1290 скачиваний
Перевод:
ru.zip
12
(1.74 КБ) 1128 скачиваний
ru.zip
12
(1.74 КБ) 1128 скачиваний
Shredder
Администратор
Сообщения: 1069
Зарегистрирован: 22.08.13 09:05
Благодарил (а): 132 раза
Поблагодарили: 264 раза
Контактная информация:

AOS Who Visited a Topic (Кто смотрел тему)

Сообщение Shredder »

Mario Cimarro
То, что показано у тебя на скриншотах, я делал вчера сам, вручную отредактировав код. Дело в том, что в оригинальном моде не учитываются особенности русского языка, как всегда бывает в таких случаях. Ведь разработчики мода - англичане, а у них слова и фразы образовываются по-другому, нежели в русском языке. В результате, при установке таких модов на русские форумы, звучание фраз получается корявым. Чтобы исправить данную проблему для этого мода, нужно сделать следующее:

В переводе меняем значение языковой переменной USER_VISITS на Пользователи, смотревшие эту тему. Затем в шаблоне viewtopic_body.html часть кода:

Код: Выделить всё

<!-- IF NUM_VISITORS -->{NUM_VISITORS}<!-- IF NUM_VISITORS == 1 -->{L_USER_VISIT}<!-- ELSE -->{L_USER_VISITS}<!-- ENDIF -->
меняем на:

Код: Выделить всё

<!-- IF NUM_VISITORS -->{L_USER_VISITS} ({NUM_VISITORS}): 
Чистим кеш.
Мои моды и расширения для phpBB
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Shredder
Администратор
Сообщения: 1069
Зарегистрирован: 22.08.13 09:05
Благодарил (а): 132 раза
Поблагодарили: 264 раза
Контактная информация:

AOS Who Visited a Topic (Кто смотрел тему)

Сообщение Shredder »

Мод кстати ущербен. Не раз замечал, что человек заходит в тему, но потом не отображается, что он заходил. У иностранцев тоже с этим проблемы: https://www.phpbb.com/customise/db/mod/ ... pic/112186

Что могу сказать? phpbb и его глючные говномоды, как обычно... :roll:
Мои моды и расширения для phpBB
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Аватара пользователя
apollion
Сообщения: 75
Зарегистрирован: 21.10.15 18:13
Откуда: Россия
Благодарил (а): 14 раз
Поблагодарили: 8 раз
Контактная информация:

AOS Who Visited a Topic (Кто смотрел тему)

Сообщение apollion »

Обнуление счетчика посещений во всех темах:

includes/who_visited_a_topic.php

Найти:

Код: Выделить всё

'topic_views_count' => array('lang' => 'TOPIC_VIEWS_COUNT', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
Добвить после:

Код: Выделить всё

'reset_views_count' => array('lang' => 'TOPIC_VIEWS_RESET', 'validate' => 'string', 'type' => 'custom', 'function' => 'aos_truncate_views_table', 'explain' => true),
Найти:

Код: Выделить всё

return $user->lang['TOPIC_VIEWS_RESET'];
Заменить на:

Код: Выделить всё

return '<br/><input class="button2" type="submit" name="truncate" value="' . $user->lang['TOPIC_VIEWS_RESET'] . '" />';
Добавлено спустя 2 минуты 39 секунд:
Скрыть админа.

includes/who_visited_a_topic.php

Найти:

Код: Выделить всё

    if ($config['topic_views_enabled'] && $user->data['is_registered'] && isset($user->data['session_page']) && !$user->data['is_bot'] && (strpos($user->data['session_page'], '&t=' . $topic_id) === false || isset($user->data['session_created']))) {
Заменить на:

Код: Выделить всё

    if ($config['topic_views_enabled'] && $user->data['is_registered'] && isset($user->data['session_page']) && !$user->data['is_bot'] && (strpos($user->data['session_page'], '&t=' . $topic_id) === false || isset($user->data['session_created'])) && !$auth->acl_get('a_')) {
Аватара пользователя
apollion
Сообщения: 75
Зарегистрирован: 21.10.15 18:13
Откуда: Россия
Благодарил (а): 14 раз
Поблагодарили: 8 раз
Контактная информация:

AOS Who Visited a Topic (Кто смотрел тему)

Сообщение apollion »

Пытался с помощью подсказки с phpbb.com решить проблему зеро дупликейт, начал правки, а некоторых строк, которые надо заменить и пр, не находятся в файлах. А автор мода написал автору подсказок: "Nice, thx". Махнул рукой, и откатил назад.))
Ответить