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 только на форумах. По найму не работаю.
Аватара пользователя
Vova_OB
phpBB 2.0.2
Сообщения: 310
Стаж: 16 лет 3 месяца
Откуда: Kiev Ukraine
Благодарил (а): 74 раза
Поблагодарили: 8 раз

Re: Thanks for post (Rating edition)

Сообщение Vova_OB »

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

Re: Thanks for post (Rating edition)

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

Она уже включена.
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
dan0ne
phpBB 1.0.0
Сообщения: 6
Стаж: 15 лет 7 месяцев
Откуда: Москва
Благодарил (а): 3 раза

Re: Thanks for post (Rating edition)

Сообщение dan0ne »

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

Re: Thanks for post (Rating edition)

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

dan0ne
проверяйте редактирование includes/ucp/ucp_prefs.php (там добавление кода в 3 местах)
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
Vova_OB
phpBB 2.0.2
Сообщения: 310
Стаж: 16 лет 3 месяца
Откуда: Kiev Ukraine
Благодарил (а): 74 раза
Поблагодарили: 8 раз

Re: Thanks for post (Rating edition)

Сообщение Vova_OB »

Вопрос такой...

Если сделать такой же мод только для User Blog Mod. По аналогии , благодарить за посты в блоге.
Аватара пользователя
Айдар
Former team member
Сообщения: 1687
Стаж: 15 лет 9 месяцев
Откуда: KZN
Благодарил (а): 93 раза
Поблагодарили: 189 раз

Re: Thanks for post (Rating edition)

Сообщение Айдар »

Зачем благодарить за записи в блоге? На форуме понятно: ТС просит помощи, ему отвечают, он благодарит. А в блогах не за что вроде как! Если только Вы блоги для других целей не используете. Но это совсем другое. Вообще, думаю, немного работы по привязке спасибок к блогам.
In Web We Trust
Аватара пользователя
Vova_OB
phpBB 2.0.2
Сообщения: 310
Стаж: 16 лет 3 месяца
Откуда: Kiev Ukraine
Благодарил (а): 74 раза
Поблагодарили: 8 раз

Re: Thanks for post (Rating edition)

Сообщение Vova_OB »

Согласен с вами , логично. Чтото я загнул)
dan0ne
phpBB 1.0.0
Сообщения: 6
Стаж: 15 лет 7 месяцев
Откуда: Москва
Благодарил (а): 3 раза

Re: Thanks for post (Rating edition)

Сообщение dan0ne »

Палыч писал(а):dan0ne
проверяйте редактирование includes/ucp/ucp_prefs.php (там добавление кода в 3 местах)
Спасибо!
Аватара пользователя
MIT
Former team member
Сообщения: 2500
Стаж: 17 лет 6 месяцев
Откуда: 56°20′02″ с. ш. 36°42′45″ в. д.
Благодарил (а): 3 раза
Поблагодарили: 351 раз

Re: Thanks for post (Rating edition)

Сообщение MIT »

Палыч
Уже который раз сталкиваюсь с проблемами высокой нагрузки мода на базу...
Если тебе не лень, в следующей версии сделай что-нибудь с запросами, порождаемые во viewtopic`е, они неприлично неоптимально написаны. Во-первых, один и тот же, по сути, запрос выполняется трижды, а учитывая что на больших базах каждый из них занимает времени больше, чем все остальные вместе взятые, это существенно снижает скорость обработки. Во-вторых, сама конструкция написана неоптимально: вместо использования кучи OR`ов лучше использовать IN, он в разы быстрее.

Примеры запросов:

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

SELECT t.*, u.username, u.username_clean, u.user_colour FROM (phpbb_thanks t, phpbb_users u) WHERE u.user_id = t.user_id AND (t.post_id =506788 OR t.post_id =506790 OR t.post_id =506792 OR t.post_id =506907 OR t.post_id =507296 OR t.post_id =507400 OR t.post_id =507593 OR t.post_id =508039 OR t.post_id =510442 OR t.post_id =511348 OR t.post_id =512501 OR t.post_id =512549 OR t.post_id =513425 OR t.post_id =513847 OR t.post_id =515505 OR t.post_id =519293 OR t.post_id =519329 OR t.post_id =520875 OR t.post_id =521259 OR t.post_id =525265)

SELECT DISTINCT t.poster_id, t.post_id, t.user_id FROM (phpbb_thanks t, phpbb_posts p) WHERE t.poster_id = p.poster_id AND (p.post_id =506788 OR p.post_id =506790 OR p.post_id =506792 OR p.post_id =506907 OR p.post_id =507296 OR p.post_id =507400 OR p.post_id =507593 OR p.post_id =508039 OR p.post_id =510442 OR p.post_id =511348 OR p.post_id =512501 OR p.post_id =512549 OR p.post_id =513425 OR p.post_id =513847 OR p.post_id =515505 OR p.post_id =519293 OR p.post_id =519329 OR p.post_id =520875 OR p.post_id =521259 OR p.post_id =525265)

SELECT DISTINCT t.user_id, t.post_id, t.poster_id FROM (phpbb_thanks t, phpbb_posts p) WHERE p.poster_id = t.user_id AND (p.post_id =506788 OR p.post_id =506790 OR p.post_id =506792 OR p.post_id =506907 OR p.post_id =507296 OR p.post_id =507400 OR p.post_id =507593 OR p.post_id =508039 OR p.post_id =510442 OR p.post_id =511348 OR p.post_id =512501 OR p.post_id =512549 OR p.post_id =513425 OR p.post_id =513847 OR p.post_id =515505 OR p.post_id =519293 OR p.post_id =519329 OR p.post_id =520875 OR p.post_id =521259 OR p.post_id =525265)
Добавлено спустя 1 минуту 29 секунд:
Кстати, не понял почему в первом посте написан номер версии 1.3.0, скачать можно 1.3.1, а UMIL утверждает, что версия 1.3.0, не смотря на то, что инструкция от версии 1.3.1.
KulMaks
phpBB 1.0.0
Сообщения: 3
Стаж: 15 лет 6 месяцев

Re: Thanks for post (Rating edition)

Сообщение KulMaks »

Подскажите, пожалуйста, где бы скачать старые версии начиная с 1.2.4? Надо бы обновить мод, а версия у меня 1.2.3 :)
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: Thanks for post (Rating edition)

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

NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Andrey447
phpBB 1.4.1
Сообщения: 44
Стаж: 15 лет 6 месяцев
Благодарил (а): 35 раз

thanks for post

Сообщение Andrey447 »

Установил мод thanks for post, и возникли проблемы.

Все файлы залил и Edits выполнил, захожу в
/install_thanks_mod.php
нажимаю установить и следующая ошибка

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

[phpBB Debug] PHP Notice: in file /umil/umil.php on line 628: Invalid argument supplied for foreach()
[phpBB Debug] PHP Notice: in file /umil/umil.php on line 672: Invalid argument supplied for foreach()
[phpBB Debug] PHP Notice: in file /umil/umil.php on line 672: Invalid argument supplied for foreach()

Fatal error: Cannot break/continue 1 level in /home/users1/o/ourlife/domains/ourlife.jino.ru/includes/functions.php on line 3214
Umil самый новый 1.0.4

Захожу на главную форума, и вообще не заходит, и пишет ошибку.

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

SQL ERROR [ mysql4 ]

Unknown column 'forum_id' in 'field list' [1054]

SQL

SELECT MAX(tally) AS max_forum_thanks FROM (SELECT forum_id, COUNT(*) AS tally FROM phpbb_2thanks GROUP BY forum_id) t

BACKTRACE

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

FILE: includes/functions_thanks_forum.php
LINE: 59
CALL: dbal_mysql->sql_query()

FILE: includes/functions_display.php
LINE: 302
CALL: get_max_forum_thanks()

FILE: index.php
LINE: 28
CALL: display_forums()
Как это исправить?
Все мои файлы после выполнение Edits:

Добавлено спустя 55 минут 15 секунд:
А теперь когда захожу на форум вообще какая то фигня.
Скриншот:
http://ib1.keep4u.ru/b/2011/03/26/da/da ... d64b26.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Айдар 26.03.2011 9:24, всего редактировалось 1 раз.
Причина: Объединено с существующей темой
Фанат phpBB 3
Аватара пользователя
Айдар
Former team member
Сообщения: 1687
Стаж: 15 лет 9 месяцев
Откуда: KZN
Благодарил (а): 93 раза
Поблагодарили: 189 раз

Re: thanks for post

Сообщение Айдар »

Andrey447, Ваша "фигня" на скриншоте - это нормально в условиях того, что мод Вы недоустановили (не выполнен SQL-запрос).
Для начала попробуйте перезалить папку /umil/, скачав еще раз с оф. сайта
In Web We Trust
Andrey447
phpBB 1.4.1
Сообщения: 44
Стаж: 15 лет 6 месяцев
Благодарил (а): 35 раз

Re: Thanks for post (Rating edition)

Сообщение Andrey447 »

Айдар писал(а):Andrey447, Ваша "фигня" на скриншоте - это нормально в условиях того, что мод Вы недоустановили (не выполнен SQL-запрос).
А какой SQL запрос надо сделать? в инструкции
/install_thanks_mod.xml
про SQL ничего не написано...
Айдар писал(а):Для начала попробуйте перезалить папку /umil/, скачав еще раз с оф. сайта
там же и скачивал, и снова скачивал, не помогает.
Еще раз попробовал, не помогает, когда нажимаю установить мод, выскакивает

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

[phpBB Debug] PHP Notice: in file /umil/umil.php on line 628: Invalid argument supplied for foreach()
[phpBB Debug] PHP Notice: in file /umil/umil.php on line 672: Invalid argument supplied for foreach()
[phpBB Debug] PHP Notice: in file /umil/umil.php on line 672: Invalid argument supplied for foreach()

Fatal error: Cannot break/continue 1 level in /home/users1/o/ourlife/domains/ourlife.jino.ru/includes/functions.php on line 3214
Фанат phpBB 3
Аватара пользователя
Айдар
Former team member
Сообщения: 1687
Стаж: 15 лет 9 месяцев
Откуда: KZN
Благодарил (а): 93 раза
Поблагодарили: 189 раз

Re: Thanks for post (Rating edition)

Сообщение Айдар »

Andrey447, SQL-запросы выполняются, когда Вы запускаете install_thanks_mod.php.
Проверьте наличие файла imageset.cfg в папках:
/styles/Ваш_стиль/imageset/
/styles/Ваш_стиль/imageset/theme/images/

Указанные ошибки ссылаются на него.
In Web We Trust

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