Thanks for post (Rating edition)

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

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

Thanks for post (Rating edition)

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

Наименование модификации: 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
Для устранения предупреждения (версия 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
Если вы не видите кнопки "Спасибо"
Скрытый текст
  1. Убедитесь, что вы скопировали файлы-изображения в папку используемого вами стиля
  2. Убедитесь, что вы отредактировали файлы используемого вами стиля
  3. Обновите набор изображений вашего стиля (на вкладке Стили в админке)
  4. Обновите тему вашего стиля (на вкладке Стили в админке)
  5. Обновите кеш
  6. Установите опции мода (вкладка Модули - Спасибо за сообщение)
  7. Убедитесь, что правильно выставлены права доступа
    1. Установите права доступа к форуму в котором вы хотите иметь опцию благодарностей

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

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

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

Проблема с модом спасибок после обновление форума

Сообщение RiGo »

Здравствуйте!! я вчера обновил форум с 3,8 до 3,9 и у меня в моде спасибок появились ошибки! когда нажимаю на спасибку выскакивает это сообщение " Fatal error: Class 'messenger' not found in /home/rigo/domains/zorgee.ru/public_html/includes/functions_thanks.php on line 511 " 1 раз, дальше все нормально.
Последний раз редактировалось Айдар 16.07.2011 13:36, всего редактировалось 1 раз.
Причина: Объединено с темой мода
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 20 лет 4 месяца
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 454 раза

Re: Thanks for post (Rating edition)

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

RiGo
Найдите в файле includes/functions_thanks.php строку

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

		$messenger = new messenger(false);
И если выше неё нет строк

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

		if (!class_exists('messenger'))
		{
			include($phpbb_root_path . 'includes/functions_messenger.' . $phpEx);
		}
То добавьте их (выше найденной строки)
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Erlang
phpBB 2.0.15
Сообщения: 1033
Стаж: 22 года 2 месяца
Откуда: Москва
Благодарил (а): 293 раза
Поблагодарили: 7 раз

Re: Thanks for post (Rating edition)

Сообщение Erlang »

Как-бы поменять заголовок мейла?
<Не указана тема сообщения.>
Это постоянно :О(
С уважением,
Сергей
sweetah
phpBB 2.0.6
Сообщения: 506
Стаж: 16 лет 7 месяцев
Благодарил (а): 108 раз
Поблагодарили: 26 раз

Re: Thanks for post (Rating edition)

Сообщение sweetah »

У меня то же самое. При чем с английской версией все в порядке.
Аватара пользователя
Pazh
Former team member
Сообщения: 2317
Стаж: 16 лет 10 месяцев
Благодарил (а): 42 раза
Поблагодарили: 506 раз

Re: Thanks for post (Rating edition)

Сообщение Pazh »

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

В файле:language\ru\email\user_thanks.txt
Заменить слово:
Тема
На:
Subject
Последний раз редактировалось Pazh 19.07.2011 11:12, всего редактировалось 3 раза.
Помощь в ЛС/email только за WM или ЮMoney
sweetah
phpBB 2.0.6
Сообщения: 506
Стаж: 16 лет 7 месяцев
Благодарил (а): 108 раз
Поблагодарили: 26 раз

Re: Thanks for post (Rating edition)

Сообщение sweetah »

Pazh, есть. Я уже писал раньше в этой теме.
"Тема: Благодарности" присутствует почему-то прямо в тексте письма.
Аватара пользователя
Pazh
Former team member
Сообщения: 2317
Стаж: 16 лет 10 месяцев
Благодарил (а): 42 раза
Поблагодарили: 506 раз

Re: Thanks for post (Rating edition)

Сообщение Pazh »

Исправил предыдущий пост.
Помощь в ЛС/email только за WM или ЮMoney
sweetah
phpBB 2.0.6
Сообщения: 506
Стаж: 16 лет 7 месяцев
Благодарил (а): 108 раз
Поблагодарили: 26 раз

Re: Thanks for post (Rating edition)

Сообщение sweetah »

Это никак не повлияло на тему. Просто в теле письма теперь приходит "Subject: Благодарности".
Аватара пользователя
Pazh
Former team member
Сообщения: 2317
Стаж: 16 лет 10 месяцев
Благодарил (а): 42 раза
Поблагодарили: 506 раз

Re: Thanks for post (Rating edition)

Сообщение Pazh »

Вот мой user_thanks.txt и изначально было что "Нет темы" со строкой "Тема: {THANKS_SUBG}", а сейчас все ОК.

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

Subject: {THANKS_SUBG}

Пользователь {USERNAME} пишет:

{POST_THANKS}: {U_POST_THANKS}

{EMAIL_SIG}
Можно сделать по другому:

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

В файле: includes\functions_thanks.php
Найти:
$messenger->headers('X-AntiAbuse: User IP - ' . $user->ip);
Добавить после:
$messenger->subject($user->lang['GRATITUDES']);
Удалить строку:
'THANKS_SUBG'	=> htmlspecialchars_decode($user->lang['GRATITUDES']),

А в файле  user_thanks.txt вообще убрать строку Subject: {THANKS_SUBG}		
Помощь в ЛС/email только за WM или ЮMoney
alexkd
phpBB 1.0.0
Сообщения: 5
Стаж: 15 лет 2 месяца

Re: Thanks for post (Rating edition)

Сообщение alexkd »

Добрый день.
Подскажите как правильно совместить два мода: "Thanks for post" и "Prime trash bin" (версии последнии)?

В моде корзины есть возможность удалить (пометить на удаление) сообщение пользователя. Такие сообщения становятся не видны обычным пользователям, но прекрасно видны администраторам и модераторам форума.
Для того чтобы их было не видно обычным пользователям при установке мода некоторые SQL-запросы дополняются кодом (например)

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

//-- mod: Prime Trash Bin (Posts) -------------------------------------------//
// Don't include posts that have been mock-deleted if user isn't supposed to see the placeholder
if (stifle_posts_enabled() && !auth_fake_delete('list', $forum_id))
{
	$sql = str_replace('WHERE ', 'WHERE (p.post_deleted_time = 0) AND ', $sql);
}
//-- end: Prime Trash Bin (Posts) -------------------------------------------//
То есть отсеиваются из результатов запроса сообщения имеющие ненулевую дату удаления и соответственно уменьшаются значения "количество сообщений пользователя".

При этом все эти (помеченные на удаление) сообщения прекрасно видно (если им давались "Спасибо") в топлисте мода "Thanks for post". Как сделать чтобы их не было в этом списке и соответственно уменьшались счетчики выданных "Спасибо".
Аватара пользователя
Pazh
Former team member
Сообщения: 2317
Стаж: 16 лет 10 месяцев
Благодарил (а): 42 раза
Поблагодарили: 506 раз

Re: Thanks for post (Rating edition)

Сообщение Pazh »

Нужно при удалении сообщения так же (с использованием процедуры отмены Спасибок из мода "Thanks for post") отменять благодарности.
Помощь в ЛС/email только за WM или ЮMoney
alexkd
phpBB 1.0.0
Сообщения: 5
Стаж: 15 лет 2 месяца

Re: Thanks for post (Rating edition)

Сообщение alexkd »

Все бы это хорошо и мысли такие были, но сообщение пользователя может быть удалено окончательно или восстановлено (снята пометка об удалении). Поэтому это не выход.
alexkd
phpBB 1.0.0
Сообщения: 5
Стаж: 15 лет 2 месяца

Re: Thanks for post (Rating edition)

Сообщение alexkd »

Еще. Замечено.
При перенесении темы в которой присутствуют спасибки в другой подфорум в таблице phpbb_thanks не исправляется для соответствующих записей поле forum_Id и соответственно получаем неправильные данные в топлисте.
Аватара пользователя
Pazh
Former team member
Сообщения: 2317
Стаж: 16 лет 10 месяцев
Благодарил (а): 42 раза
Поблагодарили: 506 раз

Re: Thanks for post (Rating edition)

Сообщение Pazh »

alexkd писал(а):может быть удалено окончательно
В этом случае Благодарности должны удаляться

А вообще сделать поле в таблице phpbb_thanks например allow (учитывать или нет текущую благодарность) и немного подправить функцию array_all_thanks
И подправить на предмет update поля allow в Корзины в случае пометки и снятия пометки на удаление и вообще удаления благодарностей в случае полного удаления поста.
Помощь в ЛС/email только за WM или ЮMoney
Аватара пользователя
TyMaH
phpBB 2.0.3
Сообщения: 389
Стаж: 15 лет 3 месяца
Благодарил (а): 182 раза
Поблагодарили: 18 раз

Re: Thanks for post (Rating edition)

Сообщение TyMaH »

Когда отображаетя опция рейтинга тем, вместе с ним и съезжают значки тем... до этого не замечал, последнее что делал это устанавливал левосторонний Prosilver (сначала по гайду, а потом вернул все на прежние места и сделал через МОД)
Как лечить?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Изображение

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