Thanks for post (Rating edition)

Все моды, созданные нашим сообществом для phpBB 3.0.x, будут анонсированы тут. Вся техническая поддержка по этим модам оказывается в этом форуме.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Зарегистрирован: 24.05.2006 23:20
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 453 раза

Thanks for post (Rating edition)

Сообщение Палыч » 13.07.2009 9:49

Наименование модификации: Thanks for post
Описание::
Открыть 
Мод добавляет возможность поблагодарить автора сообщения (отменить благодарность).
  • Опции реализованы включением добавленного права доступа к форумам. При установке право добавлено в роли Стандартный доступ, Ограниченный доступ, Стандартный доступ с опросами, Ограниченный доступ с опросами и Полный доступ. (Если вы хотите установить другие настройки: перейдите в Администраторский раздел - Права доступа - Локальные права - Права доступа к форумам и выберите форумы, где вы хотите иметь функцию благодарностей за сообщения. Разрешите право "Может благодарить за сообщения" на вкладке Разное).
  • Переключатели выбора опций получения уведомлений о благодарностях (в ЛС и по email) в Личном разделе - Личные настройки.
  • Настройки опций, в том числе обновление счётчиков после массового удаления сообщений/тем/пользователей, слияния учетных записей, смены автора сообщения, разделения/слияния тем и т.п. - в Администраторском разделе - Модули - Благодарности - Обновление счётчиков.
  • Для просмотра списка благодарностей нужно разрешить глобальное пользовательское право - "Может просматривать лист благодарностей" на вкладке Разное. При установке право добавлено в роли Стандартные возможности, Ограниченные возможности, Все возможности, Без личных сообщений, Без аватары и членам группы Зарегистрированные пользователи.
  • Для просмотра топлиста нужно разрешить глобальное пользовательское право - "Может просматривать топлист" на вкладке Разное. При установке право добавлено в роли Стандартные возможности, Ограниченные возможности, Все возможности, Без личных сообщений, Без аватары и членам группы Зарегистрированные пользователи.
  • Для возможности очистки списков благодарностей нужно разрешить глобальное модераторское право - "Может очищать список благодарностей" на вкладке Разное. При установке право добавлено в роль Супермодератор и членам группы Супермодераторы.
  • В папке contrib вы можете найти файлы reput_star_.psd и thanks.psd для разработки собственных изображений под используемый вами стиль.
  • Система рейтинга для сообщений, тем и форумов, основанная на системе СПАСИБО.
    Каждый объект (сообщение, тема или форум), набравший максимальное число СПАСИБО, принимается за 100% рейтинга (лидер). Остальные - как % от рейтинга лидера.
    Например: Сообщение получило 10 СПАСИБО (100% or 10/10), другое сообщение 4 СПАСИБО (40% or 4 / 10), третье сообщение 1 СПАСИБО (10% or 1 / 10). Если первое сообщение получит ещё одно СПАСИБО (10 +1 = 11), рейтинг второго сообщения будет 36.36% или 4 / 11, у третьего сообщения - 9,09% или 1 / 11 и т.д.
    Позиция рейтинга определяется числом СПАСИБО.
    Рейтинг тем - суммой количества СПАСИБО у сообщений в теме.
    Рейтинг форума - суммой количества СПАСИБО у сообщений в форуме.
    Включение\выключение рейтинга для сообщений, тем и форумов - через административный раздел.
    Возможно только цифровое или цифровое + графическое отображение рейтинга.
    Есть топлист рейтинга. Число отображаемых позиций в топлисте устанавливается в административном разделе.
  • Важно! Для корректной работы системы рейтинга в базе данных не должно быть записей о благодарностях по отношению к удалённым, перемещённым сообщениям, или сообщениям от гостей (если ранее они были зарегистрированными пользователями). Вам необходимо использовать средство обновления счетчиков благодарностей после массового удаления постов, тем, пользователей или иных действий модераторов или администраторов (например, замена автора сообщения или объединение аккаунтов). Для корректной работы функции обновления счётчиков требуется MySQL версии 4.1 или выше.
Версия:: 1.3.5

Скриншоты: Можно посмотреть здесь

Скачать: http://www.phpbbguru.net/files/mods/spa ... -rejtinga/
Темы мода на оффсайте:
http://www.phpbb.com/community/viewtopic.php?t=1690905
http://www.phpbb.com/community/viewtopi ... &t=2093007

Fix для правильного склонения слов: раза/раз 
Примечания для более ранних версий МОДа: 
Внимание для версии 1.3.2! В связи с обнаружением некорректной работы функции пересчета счетчиков МОДа в административном разделе следует использовать файл includes/acp/acp_thanks_refresh.php от версии 1.3.1
acp_thanks_refresh 1.3.1.rar
(2.15 КБ) 1587 скачиваний
Для устранения предупреждения (версия 1.3.2): 

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

[phpBB Debug] PHP Warning: in file /includes/db/dbal.php on line 223: Illegal offset type in isset or empty

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

== OPEN ==
includes/functions_thanks.php
== FIND (line 570) ==
    $allow_thanks_pm = (int) $db->sql_fetchfield($result);
== REPLACE ==
    $allow_thanks_pm = (int) $db->sql_fetchfield('user_allow_thanks_pm');
== FIND (line 613) ==
        $allow_thanks_email = (int) $db->sql_fetchfield($result);
== REPLACE ==
        $allow_thanks_email = (int) $db->sql_fetchfield('user_allow_thanks_email'); 
Для устранения ошибки при удалении сообщения из темы (версия 1.3.2): 

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

Call to undefined function delete_post_thanks()

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

== OPEN ==
posting.php
== FIND ==
if (!function_exists('get_max_forum_thanks'))
    {
        include($phpbb_root_path . 'includes/functions_thanks_forum.' . $phpEx);
    }
== REPLACE ==
if (!function_exists('get_thanks'))
    {
        include($phpbb_root_path . 'includes/functions_thanks.' . $phpEx);
    }  
FIX для исправления проблем с личными сообщениями в версии 1.3.1 
файл includes/functions_thanks.php

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

== НАЙТИ ==
	if (!isset($user_cache[$to_id]['allow_thanks_pm']))
== ЗАМЕНИТЬ ==
	if (!($user_cache[$to_id]['allow_thanks_pm']))
FIX для исправления проблем с отображением рейтинга при ограничении доступа к подфорумам в версии 1.2.9 

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

== open == 
includes/functions_display.php
== find ==
    get_max_forum_thanks();
== after-add ==
    $forum_thanks_rating = array();  
FIX для исправления проблем с большим количеством запросов на индексе в версии 1.2.8 
Фикс для версии 1.2.5 - устранение неправильного отображения числа благодарностей при удалении пользователя 
Замените три файла из архива (если необходимо, воспользуйтесь кнопкой Обновить в админке на вкладке Благодарности для пересчёта числа благодарностей)
fix_bug_thanks.zip
(8.34 КБ) 1940 скачиваний
Если вы не видите кнопки "Спасибо"
Скрытый текст
  1. Убедитесь, что вы скопировали файлы-изображения в папку используемого вами стиля
  2. Убедитесь, что вы отредактировали файлы используемого вами стиля
  3. Обновите набор изображений вашего стиля (на вкладке Стили в админке)
  4. Обновите тему вашего стиля (на вкладке Стили в админке)
  5. Обновите кеш
  6. Установите опции мода (вкладка Модули - Спасибо за сообщение)
  7. Убедитесь, что правильно выставлены права доступа
    1. Установите права доступа к форуму в котором вы хотите иметь опцию благодарностей

      При установке право добавлено в роль Стандартный доступ. (Если вы хотите установить другие настройки: перейдите в Администраторский раздел - Права доступа - Локальные права - Права доступа к форумам и выберите форумы, где вы хотите иметь функцию благодарностей за сообщения. Разрешите право "Может благодарить за сообщения" на вкладке Разное).
    2. Установите права доступа к просмотру листа благодарностей

      Для просмотра списка благодарностей нужно разрешить глобальное пользовательское право - "Может просматривать лист благодарностей" на вкладке Разное. При установке право добавлено в роль Стандартные возможности и членам группы Зарегистрированные пользователи.

      Если вы хотите иметь другие настройки (у вас другая роль у зарегистрированных пользователей):
      Админка -> Права доступа -> Прав групп -> Выбор группы:Зарегистрированные пользователи -> Расширенные права -> Разное -> Может просматривать список благодарностей (Может видеть топлист) -> Применить все права
      Пошаговая инструкция в картинках (на английском)
Последний раз редактировалось Татьяна5 11.07.2014 12:16, всего редактировалось 12 раз.
Причина: Вынесла ссылки из-под спойлера
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.

Аватара пользователя
MIT
Former team member
Сообщения: 2500
Зарегистрирован: 14.03.2009 17:52
Откуда: 56°20′02″ с. ш. 36°42′45″ в. д.
Благодарил (а): 4 раза
Поблагодарили: 353 раза

Re: Thanks for post (Спасибо за пост)

Сообщение MIT » 01.08.2009 13:08

Хотелось бы сообщить о найденой недоработке, выявленной в ИЕ.
Сказав спасибо в каком-либо посте происходит редирект на техническую страницу (с текстом "Вы поблагодарили автора сообщения"), после чего произойдет возврат на страницу темы. Ошибка проявляется, если в ИЕ после редиректа на страницу топика нажать "Назад": браузер попытается перезагрузить страницу, а бедный скрипт пожалуется на "Duplicate entry".
Того же можно добиться перезагрузив техническую страницу нормальным браузером.

Текст ошибки:

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

Общая ошибка
SQL ERROR [ mysql4 ]

Duplicate entry '75-2' for key 1 [1062]

SQL

INSERT INTO phpbb_thanks (user_id, post_id, poster_id) VALUES ('2', 75, 53)

BACKTRACE

FILE: includes/db/mysql.php
LINE: 174
CALL: dbal_mysql->sql_error()

FILE: includes/functions_thanks.php
LINE: 87
CALL: dbal_mysql->sql_query()

FILE: viewtopic.php
LINE: 1263
CALL: insert_thanks()
(значение 75-2 понятное дело может быть заменено любым другим)

В данном случае мод установлен на чистый 3.0.5.

Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Зарегистрирован: 24.05.2006 23:20
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 453 раза

Re: Thanks for post (Спасибо за пост)

Сообщение Палыч » 01.08.2009 23:12

MIT
Да, спасибо, глюк уже устранён в версии 1.2.4 (проходит валидацию).
Лечится так:

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

== OPEN ==
includes/functions_thanks.php
== FIND ==

      if ($row['poster_id'] != $user_id && $row['poster_id'] == $to_id && !$thanked)
== REPLACE ==

      if ($row['poster_id'] != $user_id && $row['poster_id'] == $to_id && !already_thanked($post_id, $user_id))  
Добавлено спустя 1 минуту 45 секунд:
RuBAN писал(а):тоесть?
То и есть.
При НОВОЙ УСТАНОВКЕ мода нет указанной вами операции.
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.

Аватара пользователя
F-XIII
phpBB 1.4.1
Сообщения: 42
Зарегистрирован: 18.01.2006 12:40
Откуда: Ростов-на-Дону
Благодарил (а): 6 раз
Поблагодарили: 1 раз

Re: Thanks for post (Спасибо за пост)

Сообщение F-XIII » 03.08.2009 23:58

Палыч
Скажите, планируется ли в будущем возможность использования опции "Может благодарить за сообщения" в Масках прав доступа?
Silver shiny wings bathed in fire
Godly weapons speak to break the chains of darkness ...

Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Зарегистрирован: 24.05.2006 23:20
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 453 раза

Re: Thanks for post (Спасибо за пост)

Сообщение Палыч » 04.08.2009 0:41

F-XIII
А зачем в будущем? Сейчас что, религия не позволяет? 8-)
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.

Аватара пользователя
F-XIII
phpBB 1.4.1
Сообщения: 42
Зарегистрирован: 18.01.2006 12:40
Откуда: Ростов-на-Дону
Благодарил (а): 6 раз
Поблагодарили: 1 раз

Re: Thanks for post (Спасибо за пост)

Сообщение F-XIII » 05.08.2009 1:20

Ха, если бы - нет в маске этого пункта... По крайней мере я его там не увидел...
Silver shiny wings bathed in fire
Godly weapons speak to break the chains of darkness ...

Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Зарегистрирован: 24.05.2006 23:20
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 453 раза

Re: Thanks for post (Спасибо за пост)

Сообщение Палыч » 06.08.2009 8:19

Версия МОДа обновлена до 1.2.4
  • Изменены условия вставки "спасибо" для избежания сообщения об sql-ошибке при двойном клике на кнопку.
  • Оптимизирована функция refresh().
  • Исправлены ошибки перевода языковых переменных.
  • Добавлена опция отключения вывода счётчиков благодарностей в блок сведений об авторе сообщения.
  • Добавлена опция отключения вывода информационных сообщений о выдаче/отмене благодарности.
  • Добавлена опция полной очистки списка благодарностей.
  • Добавлена опция благодарности только за первое сообщение темы.
  • Исправлена небольшая ошибка вызова функции в viewtopic.php.
  • Изменены изображения кнопок в стиле prosilver.
Добавлено спустя 4 минуты 46 секунд:
F-XIII писал(а): По крайней мере я его там не увидел...
Черника, морковка... ну, вообщем, то, где много каротина...
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.

Аватара пользователя
F-XIII
phpBB 1.4.1
Сообщения: 42
Зарегистрирован: 18.01.2006 12:40
Откуда: Ростов-на-Дону
Благодарил (а): 6 раз
Поблагодарили: 1 раз

Re: Thanks for post (Спасибо за пост)

Сообщение F-XIII » 07.08.2009 12:32

Палыч
Согласен... Теперь увидел, спасибо! :))
Silver shiny wings bathed in fire
Godly weapons speak to break the chains of darkness ...

Kastaneda
Former team member
Сообщения: 702
Зарегистрирован: 06.10.2004 14:29
Поблагодарили: 4 раза

Re: Thanks for post (Спасибо за пост)

Сообщение Kastaneda » 08.08.2009 19:00

После обновления до версии 1.2.4 стало возможно выдавать и удалять благодарности у гостей (в сообщениях от гостей появились соответствующие кнопки). Это так задумано или что-то у меня неправильно?

Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Зарегистрирован: 24.05.2006 23:20
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 453 раза

Re: Thanks for post (Спасибо за пост)

Сообщение Палыч » 08.08.2009 23:23

Kastaneda
Так не должно было быть... :?
Можно файл viewtopic_body.html?

Добавлено спустя 34 минуты 58 секунд:
Проверил, есть такое дело.
Спасибо, исправим.

Добавлено спустя 11 минут 44 секунды:
Лечится:

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

== OPEN ==
viewtopic_body.html
== FIND ==
<!-- IF postrow.S_FORUM_THANKS and S_USER_LOGGED_IN and not postrow.S_IS_OWN_POST and (not postrow.S_ALREADY_THANKED or postrow.S_REMOVE_THANKS) -->
== REPLACE ==
<!-- IF not postrow.S_POST_ANONYMOUS and postrow.S_FORUM_THANKS and S_USER_LOGGED_IN and not postrow.S_IS_OWN_POST and (not postrow.S_ALREADY_THANKED or postrow.S_REMOVE_THANKS) --> 
Добавлено спустя 8 минут 59 секунд:
Ещё один фикс для проблем с глобальными объявлениями (важные темы), если в них поставлены спасибки

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

== OPEN ==
thankslist.php
== FIND ==
                        'U_VIEW_TOPIC'        => append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $row['forum_id'] . '&t=' . $row['topic_id']),
== REPLACE ==
                        'U_VIEW_TOPIC'        => append_sid("{$phpbb_root_path}viewtopic.$phpEx", 't=' . $row['topic_id']), 
== FIND ==
                        'U_VIEW_POST'        => (!empty($row['post_id'])) ? append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$forum_id&t=" . $row['topic_id'] . '&p=' . $row['post_id']) . '#p' . $row['post_id'] : '',
== REPLACE ==
                        'U_VIEW_POST'        => (!empty($row['post_id'])) ? append_sid("{$phpbb_root_path}viewtopic.$phpEx", "t=" . $row['topic_id'] . '&p=' . $row['post_id']) . '#p' . $row['post_id'] : '', 
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.

Аватара пользователя
Azureus
phpBB 1.0.0
Сообщения: 1
Зарегистрирован: 14.08.2009 23:50
Откуда: Магнитогорск
Поблагодарили: 1 раз

Re: Thanks for post (Спасибо за пост)

Сообщение Azureus » 15.08.2009 0:00

Здравствуйте.
У меня следующия проблема: скачал последнею версию мода(1.24), делал все в точности как написано в инструкции, появились строчки сколько раз благодарил/поблагодарили, но не появилась кнопка самой благодарности.См скрин.
Заранее спасибо.
Вложения
phpbb.jpg

Аватара пользователя
Garret_Dark
phpBB 2.0.16
Сообщения: 1091
Зарегистрирован: 11.01.2009 15:18
Откуда: root/world/russia/
Благодарил (а): 126 раз
Поблагодарили: 203 раза

Re: Thanks for post (Спасибо за пост)

Сообщение Garret_Dark » 15.08.2009 17:39

Azureus
ПРоверить права (Для каждого форума и группы юзеров отдельно), очистить весь кэш

Zigbert
phpBB 1.2.0
Сообщения: 16
Зарегистрирован: 04.10.2005 15:13
Откуда: http://mysonata.ru
Благодарил (а): 5 раз
Поблагодарили: 2 раза

Re: Thanks for post (Спасибо за пост)

Сообщение Zigbert » 17.08.2009 1:44

Azureus
В настройках админки СТИЛИ-Компоненты стилей-Наборы рисунков-[Ваш стиль]
Проверьте, ассоциированы ли изображения с действиями "Поблагодарить за сообщение" и "Удалить благодарность".
У меня причина была в этом.
Да, не забудьте про права и очистку кэша.

Удачи

Аватара пользователя
Garret_Dark
phpBB 2.0.16
Сообщения: 1091
Зарегистрирован: 11.01.2009 15:18
Откуда: root/world/russia/
Благодарил (а): 126 раз
Поблагодарили: 203 раза

Re: Thanks for post (Спасибо за пост)

Сообщение Garret_Dark » 22.08.2009 21:58

Делаю апдейт с версии 1,2,2 до 1,2,4 по инструкциям из папки contrib
Не могу выполнить шаг2:

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

Открыть: includes/functions.php
Найти
$user->add_lang('/mods/thanks_mod');
Заменить на
$user->add_lang('mods/thanks_mod');
Строки $user->add_lang('/mods/thanks_mod'); у меня нет.
есть только строка $user->setup ('/mods/thanks_mod');
Возможно это из нее нужно слеш убрать?

Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Зарегистрирован: 24.05.2006 23:20
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 453 раза

Re: Thanks for post (Спасибо за пост)

Сообщение Палыч » 23.08.2009 13:06

1.2.2

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

$user->setup ('/mods/thanks_mod');
1.2.3

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

$user->add_lang('/mods/thanks_mod');
1.2.4

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

$user->add_lang('mods/thanks_mod');
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.

Вернуться в «Анонсы и поддержка модов для phpBB 3.0.x»