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 только на форумах. По найму не работаю.
snupy
phpBB 1.2.0
Сообщения: 16
Стаж: 17 лет 6 месяцев
Благодарил (а): 1 раз

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

Сообщение snupy »

Warlock75

Если сделать так, как Вы предлагаете, то лист благодарностей вообще перестает отображаться, появляется ошибка:

SQL ERROR [ mysql4 ]
Unknown column 'u.user_topics' in 'field list' [1054]

У меня стоит phpBB3 SEO Premod v 3.0.6

P.S. Стандартный вариант thankslist.php работает корректно.
Аватара пользователя
DK7
Former team member
Сообщения: 1008
Стаж: 20 лет 2 месяца
Откуда: Кишинёв
Благодарил (а): 3 раза
Поблагодарили: 25 раз

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

Сообщение DK7 »

найти

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

$sort_key_sql = array('a' => 'u.username_clean', 'b' => 'u.user_from', 'c' => 'u.user_regdate', 'd' => 'u.user_posts', 'o' => 'u.user_topics');
удалить

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

, 'o' => 'u.user_topics'
см. отредактированный файл.
Аватара пользователя
Warlock75
Former team member
Сообщения: 1429
Стаж: 18 лет 7 месяцев
Откуда: Москва
Благодарил (а): 50 раз
Поблагодарили: 95 раз

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

Сообщение Warlock75 »

snupy писал(а): SQL ERROR [ mysql4 ]
Unknown column 'u.user_topics' in 'field list' [1054]
Закомментируйте строки, относящиеся к выводу тем и все в порядке будет. У вас мод то не стоит, а запрос идет в базу.
snupy писал(а):Стандартный вариант thankslist.php работает корректно.
Нажмите в шапке таблицы благодарностей (листа) на дату регистрации, имя пользователя и т.д. и посмотрите на результат - вместо сортировки ошибка 404.
DK7 писал(а):удалить

Код: Выделить всё
, 'o' => 'u.user_topics'
Совершенно верно.
Готовый файл, без модификации под NV Usertopics поместили выше.
Внимательно изучаем форум и чиаем FAQ. 95% всех ответов на возможные вопросы там уже есть!

Правила
Мини FAQ по phpBB 3.1.x/3.2.x/3.3.x
Как устанавливать расширения
snupy
phpBB 1.2.0
Сообщения: 16
Стаж: 17 лет 6 месяцев
Благодарил (а): 1 раз

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

Сообщение snupy »

all

Кстати, еще существенное исправление для работы с SEO-модом: http://www.phpbb-seo.com/en/advanced-se ... tml#p29143 У меня без этого исправления нет реакции на кнопку вынести (или снять) благодарность.

P.S. Палыч это уже озвучивал. Однако думаю, что в данном случае повторение вполне уместно, кому-то это сэкономит время.
Аватара пользователя
Джим
phpBB 2.0.0
Сообщения: 218
Стаж: 16 лет 11 месяцев
Благодарил (а): 160 раз
Поблагодарили: 69 раз

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

Сообщение Джим »

Спасибо за замечательый мод!
Но одна небольшая проблемка обнаружилась: ничего не меняется при отключении "Списки благодарностей в профиле". Т.е. благодарности в профиле всё равно отображаются. Пришлось удалять код из memberlist_view.html
Ставил на 3.0.6., тема subsilver2.
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 20 лет 4 месяца
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 454 раза

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

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

Джим писал(а):Но одна небольшая проблемка обнаружилась:
Проблемка у вас с пониманием.
Списки благодарностей и Счётчик благодарностей - две большие разницы.
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
Джим
phpBB 2.0.0
Сообщения: 218
Стаж: 16 лет 11 месяцев
Благодарил (а): 160 раз
Поблагодарили: 69 раз

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

Сообщение Джим »

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

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

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

Джим
Только во Viewtopic.
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
Warlock75
Former team member
Сообщения: 1429
Стаж: 18 лет 7 месяцев
Откуда: Москва
Благодарил (а): 50 раз
Поблагодарили: 95 раз

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

Сообщение Warlock75 »

Можно поставить условие, чтобы было видно только модерам и админу.
Внимательно изучаем форум и чиаем FAQ. 95% всех ответов на возможные вопросы там уже есть!

Правила
Мини FAQ по phpBB 3.1.x/3.2.x/3.3.x
Как устанавливать расширения
smpl
phpBB 1.0.0
Сообщения: 5
Стаж: 16 лет 8 месяцев

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

Сообщение smpl »

пытался поставить мод на чистую версию форума 3.0.6
делал в соответсвие с инструкцией, наткнулся на следушую проблему
в начале я установил мод для prosilver проблемка возникла мелкая в 1 месте(не мог целиком строку найти потом её сократил и увидел что тока 1 строка похожа вообшем установил)
решил ставит на subsilver в соответсвие с инструкцией "Инструкции по установке 'Thanks for posts (for subsilver2) install over Thank Post MOD ver 040 by Geoffrey Craft' Версия 1.2.4" которую я чесно говоря случайно нашёл в contrib
никаких инструкция по установке мода на subsilver я не нашёл
так вот собственно пункт вызвавший ошибку(вернее не могу найти строку что надо заменить)
Открыть: styles/subsilver2/template/viewtopic_body.html
Найти

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

<!-- IF postrow.U_PROFILE -->
					<br /><strong>{L_GIVEN}:</strong> {postrow.POSTER_GIVE_COUNT} {L_THANKS}
					<br /><strong>{L_RECEIVED}:</strong> {postrow.POSTER_RECEIVE_COUNT} {L_THANKS}
					<!-- ENDIF -->
заменить на

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

					<!-- IF not postrow.S_POST_ANONYMOUS and postrow.THANKS_COUNTERS_VIEW --><br /><b>{L_GIVEN}:</b> {postrow.POSTER_GIVE_COUNT} {L_THANKS}<br /><b>{L_RECEIVED}:</b> {postrow.POSTER_RECEIVE_COUNT} {L_THANKS}<!-- ENDIF -->
строка что надо найти там нет в файле параметров IF postrow.U_PROFILE или postrow.POSTER_GIVE_COUNT} и тд
я прошу прошения но не могли бы вы дать ссылку наустановку мода спасибо за пост на subsilver или вложить его в архив с модом
был бы очень признателен, очень хочу воспользоваться этим модом на стиле subsilver
качал модификацию отсюда http://www.phpbbguru.net/project/thanks_mod
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 20 лет 4 месяца
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 454 раза

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

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

smpl писал(а):в начале я установил мод для prosilver проблемка возникла мелкая в 1 месте
Да, в 3.0.6 viewtopic_body.html в этом месте изменён.
Для 3.0.6 предназначена версия 1.2.5 (ещё не прошла валидацию, поэтому нет в паблике)
Поправка кода при установке на 3.0.6 выложена на оффсайте http://www.phpbb.com/community/viewtopi ... #p11255735
smpl писал(а):которую я чесно говоря случайно нашёл в contrib
Плохо искали. И вы взяли не ту инструкцию. Ваша - subsilver2, а не subsilver2_install_over_thankspostmod (эта для установки поверх Thank Post MOD версии 040 автора Geoffrey Craft)
smpl писал(а):строка что надо найти там нет в файле
Конечно, нет. Вы же не ставили сначала мод автора Geoffrey Craft

И вообще, инструкцию нужно открывать в браузере и пользоваться русским языком. Тогда меньше будет вопросов.
Прямо над данной темой есть ссылка Как устанавливать моды. Прочтите.
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
smpl
phpBB 1.0.0
Сообщения: 5
Стаж: 16 лет 8 месяцев

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

Сообщение smpl »

Для 3.0.6 предназначена версия 1.2.5 (ещё не прошла валидацию, поэтому нет в паблике)
Поправка кода при установке на 3.0.6 выложена на оффсайте http://www.phpbb.com/community/viewtopi ... #p11255735
спасибо большое за ссылку сделаю непременно как там написано, а вообше имхо такие полезные веши надо выносить ссылку в пост, потому как люди заходяшие врятли осилят все 49 страниц, обычно читаеться только 1 пост и последняя страница, и шанс найти ответ на 29 странице как то очень мало вероятен
И вы взяли не ту инструкцию.
моё косоглазие полностью с вами согласен, всё нашёл, попробую установить
Как устанавливать моды
не поверите читал)
а вообше можите выложить changelog 1.2.5? мб стоит её подождать?
спасибо за ответ и за прямую ссылку на сообшение)) обязательно переправерю правильно ли я сделал)
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 20 лет 4 месяца
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 454 раза

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

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

smpl писал(а):такие полезные веши надо выносить ссылку в пост
версия 1.2.4 предназначена для phpBB 3.0.5 , о чём прямо написано.
smpl писал(а):обычно читаеться только 1 пост и последняя страница
Дятлами - да.
smpl писал(а):не поверите читал)
Верю.
smpl писал(а):а вообше можите выложить changelog 1.2.5? мб стоит её подождать?
Там нет ничего сверхестественного. Две правки для исправления мелких багов (здесь есть - http://www.phpbb.com/community/viewtopi ... #p10190655 )
Да и в процессе валидации частенько вносятся изменения по требованию разработчиков
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
DEm__2006
phpBB 1.0.0
Сообщения: 7
Стаж: 16 лет 8 месяцев

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

Сообщение DEm__2006 »

phpBB 3.0.6
при установке мода 1.2.4 возникла ошибка...
теперь по порядку...
1) скопировал файлы по своим каталогам
2) внес изменения в файлы...(add after - добавить после найденного)
3) сделал запрос в бд
4) запускаю install_thanks_mod.php - пишет "Вы не внесли изменения в файлы в соответствии с инструкцией по установке мода."
5) ПЕРЕПРОВЕРИЛ ВСЕ
6) см. п.4
7) подправил файл install_thanks_mod.php, чтобы небыло проверки на "изменения файлов в соответствии с инструкцией"
8) получил ошибку бд при входе в тему, просмотре и редактировании юзеров и т.д.

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

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

Table 'cyxoe261_MySQL.phpbb_3thanks' doesn't exist [1146]

SQL

SELECT t.*, u.username, u.user_colour FROM (phpbb_3thanks t, phpbb_3users u) WHERE t.poster_id = 2 AND u.user_id = t.user_id

BACKTRACE

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

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

FILE: memberlist.php
LINE: 610
CALL: output_thanks_memberlist()
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
DK7
Former team member
Сообщения: 1008
Стаж: 20 лет 2 месяца
Откуда: Кишинёв
Благодарил (а): 3 раза
Поблагодарили: 25 раз

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

Сообщение DK7 »

На прямую, руками в бд, не пробовали

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

CREATE TABLE phpbb_thanks (
			post_id mediumint(8) NOT NULL default '0',
			poster_id mediumint(8) NOT NULL default '0',
			user_id mediumint(8) NOT NULL default '0',
			PRIMARY KEY (post_id , user_id)); 

ALTER TABLE phpbb_users ADD user_allow_thanks_pm tinyint(1) UNSIGNED DEFAULT '0' NOT NULL; 
Префикс только на свой поменять..

Добавлено спустя 7 минут 43 секунды:
+ Перепроверьте, что у вас в includes/constants.php

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