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

Re: Thanks for post (Rating edition)

Сообщение Storm »

Здравствуйте.
Воспользовался поиском в гугле и на данном форуме, искал решение своей проблемы, но к сожалению, толкового ответа так и не нашел.
Помогите пожалуйста, никак не могу понять, почему не создается таблица thanks в самом конце установки?!
Устанавливаю мод на домашнем компьютере (денвер), файлы все копирую как и положено по иерархии, (файл install_thanks_mod.php в корень форума), загружаю архив в автомод, первый этап установки проходит успешно, далее предлагается пройти по "forum/install_thanks_mod.php", нажимаю, предлагает установку, соглашаюсь, выбираю версию 1.3.3, нажимаю "Ок" и почти сразу эта ошибка (скопировал из текстового файла с ошибками в папке umil/error_files/thanks_installed.txt):

"Благодарность за сообщение
PHP Version: 5.2.12
DBMS: MySQL(i) 5.1.40-community
phpBB3 Version: 3.0.10

Обновление данных в таблице _thanks
SQL ERROR Table 'locallive.thanks_table' doesn't exist

"

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

Re: Thanks for post (Rating edition)

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

Storm писал(а):почему не создается таблица thanks
А кто вам сказал, что она не создалась?
Storm писал(а):Обновление данных в таблице _thanksSQL ERROR Table 'locallive.thanks_table' doesn't exist
Забейте, это для обновления с более ранних версий.
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
dilec
phpBB 1.0.0
Сообщения: 6
Стаж: 16 лет 8 месяцев

Re: Thanks for post (Rating edition)

Сообщение dilec »

HAMMER663 писал(а):Сначала разберитесь как работают права.
Не знаю что делать, все права уже наизнанку вывернул не чего не помогает, может из за не стандартного шаблона я что то не доделал при установке? что и где я мог не доставить?
как админом так и простым пользователем вижу тока кто и когда голосовал а кнопки нет.
dilec
phpBB 1.0.0
Сообщения: 6
Стаж: 16 лет 8 месяцев

Re: Thanks for post (Rating edition)

Сообщение dilec »

Разобрался не добавил кусок

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

'S_FORUM_THANKS'	=> ($auth->acl_get('f_thanks', $forum_id)) ? true : false,
Аватара пользователя
evrus01
Former team member
Сообщения: 1274
Стаж: 15 лет 6 месяцев
Откуда: Москва
Благодарил (а): 107 раз
Поблагодарили: 234 раза

Re: Thanks for post (Rating edition)

Сообщение evrus01 »

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

Re: Thanks for post (Rating edition)

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

evrus01
includes/functions_thanks.php

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

== FIND ==
	if ($user->data['user_type'] != USER_IGNORE && !empty($to_id))
== REPLACE ==
	if ($user->data['user_type'] != USER_IGNORE && !empty($to_id) && $to_id <> ID_вашего_бота)
== FIND ==
			'S_IS_OWN_POST'				=> ($user->data['user_id'] == $poster_id) ? true : false,
== ADD AFTER ==
			'S_IS_OWN_POST'				=> ($poster_id == ID_вашего_бота) ? true : false,
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
evrus01
Former team member
Сообщения: 1274
Стаж: 15 лет 6 месяцев
Откуда: Москва
Благодарил (а): 107 раз
Поблагодарили: 234 раза

Re: Thanks for post (Rating edition)

Сообщение evrus01 »

Уважаемый Палыч, спасибо за помощь!
satcrimea
phpBB 1.2.0
Сообщения: 17
Стаж: 14 лет 6 месяцев
Благодарил (а): 1 раз

Re: Thanks for post (Rating edition)

Сообщение satcrimea »

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

Re: Thanks for post (Rating edition)

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

В файле styles/prosilver/template/viewtopic_body.html
вот эту часть кода

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

					<!-- IF  not postrow.S_FIRST_POST_ONLY or (not START and postrow.S_ROW_COUNT == 0) -->
						<!-- IF not postrow.S_GLOBAL_POST_THANKS and 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 -->
перенести перед строкой

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

					<!-- IF postrow.U_EDIT --><li class="edit-icon"><a href="{postrow.U_EDIT}" title="{L_EDIT_POST}"><span>{L_EDIT_POST}</span></a></li><!-- ENDIF -->
Добавлено спустя 14 минут 44 секунды:
Выкладывается для тестирования версия 1.3.4- RC
Сегодня отправлена на валидацию.
Из изменений:
  • Часть кода перенесена в добавленные файлы
  • Изменена функция пересчета благодарностей
  • Добавлена возможность благодарностей в важных темах
  • Право благодарить добавлено во все стандартные роли доступа к форумам
  • Право просмотра листа благодарностей добавлено во все стандартные пользовательские роли доступа
Во всех случах показа/подсчета спасибок учитываются права пользователей на просмотр форумов, поэтому на конференциях с приватными форумами следует учитывать, что счетчики и списки будут отображать разное число спасибок для разных груп пользователей с учетом их прав.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11362
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: Thanks for post (Rating edition)

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

Вроде все едет нормально....
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11362
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: Thanks for post (Rating edition)

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

Кнопки спасибок в важных темах появились...но при нажатии - Вы не можете благодарить в важных темах, не имеющих привязки к конкретному форуму...это как?

Добавлено спустя 12 минут 4 секунды:
Палыч Есть улучшение!!! Есть!!! Реальное!!! Индекс был в районе 3-4 секунд (иногда до 6 !!!)...после обновления - как ни старался более 1.750 не выдал!! А я уж хотел через эксплаин искать мод, который индекс по полной тормозил....Кажется теперь не надо...уффф...Слава серому веществу в хорошем месте!!!

Добавлено спустя 1 минуту 57 секунд:
Упс...а куда у меня еще 18 запросов на индексе подевались? были строго в районе 80-ти...теперь 60-62...уряяяя!!!

Добавлено спустя 7 минут 14 секунд:
Не понял...ротация спасибок в профиле теперь уже на борту? Последняя спасибка теперь первая в списке? так? Я не ошибся?
Файлы-то от мода все заменил на последние от последней версии и в профиле в списке спасибок последняя - в начале списка теперь...и это в корне правильно!!!

Добавлено спустя 9 минут 58 секунд:
Еще изменение в лучшую сторону есть!!! При 1.3.3 ставить спасибки на одной странице от аддона Поручика можно было строго по одной, дожидаясь срабатывания проставления очередной-предыдущей (тыкалка по всем подряд не работала и орала о какой-то ошибке) ...сейчас можно все 10 спасибок сверху в низ на одной странице жать смело...они проставляются спокойно...и без сообщения о ошибке...

Добавлено спустя 3 минуты 19 секунд:
Вау!!!!! Открытие Категорий и форумов в запросе упало ниже 1 сек...(были всегда более!!!)

Добавлено спустя 1 минуту 13 секунд:
Наконец-то врубил отображение всех рейтингов в графике...тормозов нет!!!

Добавлено спустя 2 минуты 3 секунды:
Открытие списка тем в любом подфоруме (при 50 темах на странице) по времени стало менее 1.5 сек...(были всегда в районе 4х)
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)

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

Пчелкин писал(а):.но при нажатии - Вы не можете благодарить в важных темах, не имеющих привязки к конкретному форуму...
Это так и осталось? В ACP включено "Благодарить в важных темах"?
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 13159
Стаж: 15 лет 1 месяц
Благодарил (а): 236 раз
Поблагодарили: 3750 раз

Re: Thanks for post (Rating edition)

Сообщение Татьяна5 »

В менеджере ошибок:

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

Страница: viewtopic.php?f=4&t=482
Файл: [ROOT]/includes/functions_thanks.php
Строка: 550

[PHP Notice]

Undefined index: thanks_global_post
Строка 550 из functions_thanks.php :

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

'S_GLOBAL_POST_THANKS'		=> ($config['thanks_global_post']) ? false : (($topic_data['topic_type'] == POST_GLOBAL) ? true : false),
Как исправить?
---------------------------------------------------
Выяснила, что ошибка есть только на денвере (особо и исправлять не надо)

Добавлено спустя 1 час 8 минут 34 секунды:
В списке выданных благодарностей невозможно перейти на 2-ю (и последующие) страницы. Ссылка принимает вид
адрес_форума/{$phpbb_root_path}thankslist.$phpEx?mode=givens&author_id=$author_id&give=true&start=25
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 20 лет 4 месяца
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 454 раза

Re: Thanks for post (Rating edition)

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

Татьяна5 писал(а):В менеджере ошибок:
При установке не внесли изменение в таблицу config (файл install_thanks_mod.php выполняли?)
Татьяна5 писал(а): Ссылка принимает вид
Не подтверждаю.
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 13159
Стаж: 15 лет 1 месяц
Благодарил (а): 236 раз
Поблагодарили: 3750 раз

Re: Thanks for post (Rating edition)

Сообщение Татьяна5 »

Палыч писал(а):файл install_thanks_mod.php выполняли?
Выполняла, все успешно.
Ошибка появляется только на денвере, видимо, в нем и дело.

Добавлено спустя 54 минуты 56 секунд:
Нумерация страниц так и не работает.

При переходе по ссылке: адрес_форума/thankslist.php?mode=givens&author_id=88&give=true
адреса кнопок: адрес_форума/{$phpbb_root_path}thankslist.$phpEx?mode=givens&author_id=$author_id&give=true&start=25

Подскажите, как это можно исправить

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