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 только на форумах. По найму не работаю.
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 20 лет 4 месяца
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 454 раза

Re: Thanks for post (Rating edition)

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

romeo_piter писал(а):Можно как то из него вытащить список максимальных спасиб
Можно. Вытаскивайте, я не против.
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
romeo_piter
phpBB 2.0.22
Сообщения: 1375
Стаж: 17 лет 5 месяцев
Благодарил (а): 260 раз
Поблагодарили: 32 раза

Re: Thanks for post (Rating edition)

Сообщение romeo_piter »

Чтобы получить следующее: user1 (120), user2 (100), user3 (40), user4 (30), user5 (12)
Ставим мод Top Five: http://www.phpbb.com/customise/db/mod/top_five/
Далее аддон к спасибам: http://www.phpbb.com/customise/db/mod/t ... 67#p182767

После этого открываем файл styles/prosilver/template/top_five_body.html
Всё в нем стираем и оставляем одну строку:

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

<!-- BEGIN top_five_thanked -->{top_five_thanked.USERNAME_FULL}&nbsp;({top_five_thanked.THANKS});&nbsp;&nbsp;<!-- END top_five_thanked -->
После этого в нужное место index_body перемещаем строку

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

<!-- INCLUDE top_five_body.html -->
И получите в этом месте перечисление в строку пользователей, с указанными в скобках благодарностями.


Добавлю, чтобы строка имела вид как в начале сообщения нужно в
language/en/mods/top_five.php

Найти:

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

'THANKED'         => 'Thanked %d time',
'THANKEDS'         => 'Thanked %d times',
Заменить на:

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

'THANKED'         => '%d',
'THANKEDS'         => '%d',
Последний раз редактировалось romeo_piter 14.11.2010 20:13, всего редактировалось 3 раза.
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 20 лет 4 месяца
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 454 раза

Re: Thanks for post (Rating edition)

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

romeo_piter писал(а):Разобрался, всё в принципе несложно.

Что и требовалось доказать.
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
Di_Mok
Former team member
Сообщения: 814
Стаж: 16 лет 6 месяцев
Откуда: Родной Гондурас ;)
Благодарил (а): 147 раз
Поблагодарили: 118 раз

Re: Thanks for post (Rating edition)

Сообщение Di_Mok »

Палыч, у меня этакий ребус:

Спасибки работали без пробоем, пока не заметил, что в категории, где их не должно быть, разрешено благодарить Новым пользователям. Права поправил. После этого, при входе пользователя или гостя в Форум2, вываливало ошибку:

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

[phpBB Debug] PHP Notice: in file /includes/functions_display.php on line 333: Undefined variable: forum_thanks_rating
В других категориях, и для админов и модераторов, в этой категории, подобных эффектов не наблюдалось. Для наглядности:

Категория
  • Форум1
    Форум2
    • Форум21
Форум21 - доступен только модераторам. Не найдя ни какого криминала, переместил его на уровень вверх, т.е. стало так:

Категория
  • Форум1
    Форум2
    Форум21
Ошибка пропала.

ЗЫ До 1.2.9 пока не обновлялся. Фикс для 1.2.8 делал.
Аватара пользователя
Garret_Dark
phpBB 2.0.16
Сообщения: 1097
Стаж: 17 лет 8 месяцев
Откуда: root/world/russia/
Благодарил (а): 126 раз
Поблагодарили: 206 раз

Re: Thanks for post (Rating edition)

Сообщение Garret_Dark »

Думаю некоторым будет удобно заменить стандартные кнопки мода на более заметные (Я вобще разместил их внизу поста, чтобы после прочтения длинного поста не листать вверх, чтобы сказать "Спасибо").
Вобщем кому как удобнее.
Для просильвера en и ru
Изображение
buttons.rar
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
misterleks
phpBB 2.0.9
Сообщения: 715
Стаж: 16 лет 1 месяц
Откуда: Великий Новгород
Благодарил (а): 103 раза
Поблагодарили: 38 раз

Re: Thanks for post (Rating edition)

Сообщение misterleks »

Garret_Dark, а как вниз кнопку перенести? а то у меня нет места сверху для твоей кнопки )))
Продаю комиксы, продаю инструмент, продаю товары для охоты и рыбаков... и администрирую форум!
Аватара пользователя
Garret_Dark
phpBB 2.0.16
Сообщения: 1097
Стаж: 17 лет 8 месяцев
Откуда: root/world/russia/
Благодарил (а): 126 раз
Поблагодарили: 206 раз

Re: Thanks for post (Rating edition)

Сообщение Garret_Dark »

misterleks писал(а):как вниз кнопку перенести?
После установки мода
Открыть styles/prosilver/template/viewtopic_body.html
Найти

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

<!-- IF postrow.BUMPED_MESSAGE --><div class="notice"><br /><br />{postrow.BUMPED_MESSAGE}</div><!-- ENDIF -->
Добавить после

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

<ul class="profile-icons">
							<!-- IF  not postrow.S_FIRST_POST_ONLY or (not START and postrow.S_ROW_COUNT == 0) -->
						<!-- 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) --><li id="thanks_button{postrow.POST_ID}" class="{postrow.THANKS_IMG}"><a href="{postrow.THANKS_LINK}" title="{postrow.THANK_ALT}{postrow.POST_AUTHOR}" onclick="ajax_thanks.thanks_post({postrow.POST_ID}, '{postrow.THANK_MODE}'); return false;"></a></li><!-- ENDIF -->
					<!-- ENDIF -->
					</ul>
В этом случае отображаются две кнопки "Спасибо" (Вверху и внизу сообщения сразу после текста).
Чтобы удалить "Спасибо" вверху
Открыть styles/prosilver/template/viewtopic_body.html
Найти (примерно 165 строка и НЕ то, что мы только-что добавили)

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

					<!-- IF  not postrow.S_FIRST_POST_ONLY or (not START and postrow.S_ROW_COUNT == 0) -->
						<!-- 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) --><li class="{postrow.THANKS_IMG}"><a href="{postrow.THANKS_LINK}" title="{postrow.THANK_ALT}{postrow.POST_AUTHOR}"></a></li><!-- ENDIF -->					
					<!-- ENDIF -->
И удалить
Аватара пользователя
misterleks
phpBB 2.0.9
Сообщения: 715
Стаж: 16 лет 1 месяц
Откуда: Великий Новгород
Благодарил (а): 103 раза
Поблагодарили: 38 раз

Re: Thanks for post (Rating edition)

Сообщение misterleks »

Garret_Dark, Спасибо, но когда поставил, как то не очень понравилось, на любителя, но всё равно благодарю.
Продаю комиксы, продаю инструмент, продаю товары для охоты и рыбаков... и администрирую форум!
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: Thanks for post (Rating edition)

Сообщение Пчелкин »

Так посимпатичней будет

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

        <ul class="profile-icons">
            <!-- IF  not postrow.S_FIRST_POST_ONLY or (not START and postrow.S_ROW_COUNT == 0) -->
			<!-- 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) --><li class="{postrow.THANKS_IMG}"><a href="{postrow.THANKS_LINK}" title="{postrow.THANK_ALT}{postrow.POST_AUTHOR}"></a></li><!-- ENDIF -->
    <!-- ENDIF -->
         </ul>
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 20 лет 4 месяца
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 454 раза

Re: Thanks for post (Rating edition)

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

Di_Mok
Посмотрите в первом посте:
FIX для исправления проблем с отображением рейтинга при ограничении доступа к подфорумам в версии 1.2.9
Это подходит и для 1.2.8
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
HardCorE_
phpBB 1.4.0
Сообщения: 36
Стаж: 16 лет 10 месяцев
Откуда: Cyber.KG
Благодарил (а): 33 раза

Re: Thanks for post (Rating edition)

Сообщение HardCorE_ »

HardCorE_ писал(а):Помогите, при просмотре профиля, нужно сделать сортировку списка благодарностей так, чтобы вначале выводились благодарности по дате размещения сообщения по убыванию (то есть чем новее сообщение, тем оно выше в списке). А то получается по умолчанию выводятся по возрастанию, то есть чем старше сообщение, тем выше оно в списке и благодарности за новые сообщения попадают под лимит ограничения, которое задано в админке.
Ещё актуально.

Хотя-бы скажите возможно ли это? А то в таблице phpbb_thanks только 3 столбика и там нету как-бы даты.
Аватара пользователя
F-XIII
phpBB 1.4.1
Сообщения: 42
Стаж: 20 лет 8 месяцев
Откуда: Ростов-на-Дону
Благодарил (а): 6 раз
Поблагодарили: 1 раз

Не отображается рейтинг в списке форумов

Сообщение F-XIII »

Палыч
Увидел новую версию Вашего прекрасного МОДа и решил сделать апдейт с 1.25 на 1.29 (взял по ссылке в первом посте), установился в целом нормально (если не считать того, что в результатах работы установщика были ошибки, связанные с невозможностью внесения данных, т.к. они уже умеются в базе). Единственное я не совсем понял, почему рейтинг не отображается на Главной и в субфорумах, хотя все настройки включены, изменения в файлах сделаны и нужные файлы перезалиты? Debug тоже ошибок не выдаёт...
Рейтинг есть только в постах и в списке тем - всё... Также в админке, при попытке обновить счётчики, выдается таблица вообще без данных, т.е. без результатов... :(

Может всё-таки установка прошла неполностью?
Подскажите, в каком хоть направлении "копать"? Или, возможно, у Вас есть апдейт-инструкции с 1.25 на 1.29?
Silver shiny wings bathed in fire
Godly weapons speak to break the chains of darkness ...
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 20 лет 4 месяца
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 454 раза

Re: Thanks for post (Rating edition)

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

F-XIII
Обновляться нужно было последовательно 1.2.5 - 1.2.7 - 1.2.8 - 1.2.9 (1.2.6 не релизилась).
В соответствующих версиях есть апдейты.
Но установки сильно менялись с 1.2.5.....
Я бы на вашем месте снёс всё нафик, таблицу phpbb_thanks переименовал бы (например phpbb_thanks1, только убедитесь, что в ней 6 полей), установил бы 1.2.9 с нуля, вновь созданную таблицу phpbb_thanks удалил, а phpbb_thanks1 вновь переименовал в phpbb_thanks.
Тогда все данные будут сохранены.

Добавлено спустя 31 секунду:
HardCorE_ писал(а):А то в таблице phpbb_thanks только 3 столбика
Там их 6.
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Int
phpBB 1.0.0
Сообщения: 9
Стаж: 15 лет 10 месяцев

Re: Thanks for post (Rating edition)

Сообщение Int »

Здравствуйте.

Возникла следующая проблема. Сделали все по инструкции, изменили все файлы.
При запуске файла install_thanks_mod.php появляется сообщение: "Благодарность за сообщение"
Но при это в базе данных никаких новых полей не появляется и соответственно и в админке в модулях нет этого модуля.
Подскажите пожалуйста, как это исправить.
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: Thanks for post (Rating edition)

Сообщение Пчелкин »

Как вариант, скачать еще раз дистрибутив мода. По новой залить на ФТПи и попробовать еще раз запустить инсталл.
Впечатление такое , буд-то install_thanks_mod.php битый...
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70

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