Пропустить

Thanks for post (Rating edition)

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).

Thanks for post (Rating edition)

Сообщение Палыч » 13.07.2009 9:49

Наименование модификации: Thanks for post
Описание:: Мод добавляет возможность поблагодарить автора сообщения (отменить благодарность).
  • Опции реализованы включением добавленного права доступа к форумам. При установке право добавлено в роль Стандартный доступ. (Если вы хотите установить другие настройки: перейдите в Администраторский раздел - Права доступа - Локальные права - Права доступа к форумам и выберите форумы, где вы хотите иметь функцию благодарностей за сообщения. Разрешите право "Может благодарить за сообщения" на вкладке Разное).
  • Переключатель выбора опции получения уведомлений о благодарностях в Личном разделе - Личные настройки.
  • Настройки опций, в том числе обновление счётчиков после массового удаления сообщений/тем/пользователей - в Администраторском разделе - Модули - Благодарности.
  • Для просмотра списка благодарностей нужно разрешить глобальное пользовательское право - "Может просматривать лист благодарностей" на вкладке Разное. При установке право добавлено в роль Стандартные возможности и членам группы Зарегистрированные пользователи.
  • Для просмотра топлиста нужно разрешить глобальное пользовательское право - "Может просматривать топлист" на вкладке Разное. При установке право добавлено в роль Стандартные возможности и членам группы Зарегистрированные пользователи.
  • Для возможности очистки списков благодарностей нужно разрешить глобальное модераторское право - "Может очищать список благодарностей" на вкладке Разное. При установке право добавлено в роль Супермодератор и членам группы Супермодераторы.
  • В папке 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.3

Скриншоты: Можно посмотреть здесь

Скачать: 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

==============================================================================
Примечания для более ранних версий МОДа:

Внимание для версии 1.3.2! В связи с обнаружением некорректной работы функции пересчета счетчиков МОДа в административном разделе следует использовать файл includes/acp/acp_thanks_refresh.php от версии 1.3.1

acp_thanks_refresh 1.3.1.rar
(2.15 КБ) Скачиваний: 112


Для устранения предупреждения (версия 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
Thanks for post (Rating edition)

Fix для установки версии 1.2.4 на 3.0.6 (viewtopic_body.html) http://www.phpbb.com/community/viewtopi ... #p11255735

Фикс для версии 1.2.5 - устранение неправильного отображения числа благодарностей в постах при удалении пользователя
Замените три файла из архива (если необходимо, воспользуйтесь кнопкой Обновить в админке на вкладке Благодарности для пересчёта числа благодарностей)
fix_bug_thanks.zip
(8.34 КБ) Скачиваний: 539

===========================================================
Если вы не видите кнопки "Спасибо"

  1. Убедитесь, что вы скопировали файлы-изображения в папку используемого вами стиля
  2. Убедитесь, что вы отредактировали файлы используемого вами стиля
  3. Обновите набор изображений вашего стиля (на вкладке Стили в админке)
  4. Обновите тему вашего стиля (на вкладке Стили в админке)
  5. Обновите кеш
  6. Установите опции мода (вкладка Модули - Спасибо за сообщение)
  7. Убедитесь, что правильно выставлены права доступа

    1. Установите права доступа к форуму в котором вы хотите иметь опцию благодарностей

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

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

      Если вы хотите иметь другие настройки (у вас другая роль у зарегистрированных пользователей):
      Админка -> Права доступа -> Прав групп -> Выбор группы:Зарегистрированные пользователи -> Расширенные права -> Разное -> Может просматривать список благодарностей (Может видеть топлист) -> Применить все права
      Пошаговая инструкция в картинках (на английском)
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
За это сообщение автора Палыч поблагодарили: 83
DennisVV (19.08.2010 9:55), Gisher (02.08.2010 23:30), grika (04.08.2010 0:03), Heldar (20.10.2010 11:04), incubus (06.10.2010 14:27), kaktys (09.06.2011 22:15), MAzZY (10.05.2011 21:54), trooper (15.08.2010 23:23), Warlock75 (06.12.2010 1:14), Поручик (03.08.2010 17:56) и ещё 73
Аватара пользователя
Палыч
Просто Палыч
Просто Палыч
 
Сообщения: 9471
Зарегистрирован: 24.05.2006 23:20
Откуда: Питер
Благодарил (а): 3 раз.
Поблагодарили: 337 раз.

Re: Thanks for post (Rating edition)

Сообщение Akrill » 26.01.2012 1:51

Есть такое, и родитель у модуля тот.
Вот вся группа:
modules2.png
(11.62 КБ) Скачиваний: 0


Да, конечно, это та самая проблемная база.

Akrill
phpBB 1.2.1
 
Сообщения: 21
Зарегистрирован: 08.01.2010 11:06
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.

Re: Thanks for post (Rating edition)

Сообщение Палыч » 26.01.2012 1:53

На сегодня мысли кончились...
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
Палыч
Просто Палыч
Просто Палыч
 
Сообщения: 9471
Зарегистрирован: 24.05.2006 23:20
Откуда: Питер
Благодарил (а): 3 раз.
Поблагодарили: 337 раз.

Re: Thanks for post (Rating edition)

Сообщение Akrill » 26.01.2012 2:22

Так. Будем думать логически. Если я подключаю этот форум к другой базе, заменив только настройки в конфиге, и там все работает, то файлы точно в порядке - не битые, нужных версий, все изменения внесены корректно, правильно? Это утверждение можно взять за 100% факт? Если да, то дело точно в базе.

Из истории базы: более двух лет назад эта база была сконвертирована с версии 1.4.4 до 3.0.6(?) (если мне память не изменяет), пришлось делать три конвертации, ну и еще повозиться с кодировкой. Могло ли что-то тянуться с тех дремучих времен?

Еще факты:
1. Мод благодарностей - первый, поставленный на этот форум. После него были поставлены еще mChat 1.3.5 (не работает, предположительно не забирается/теряется одна из настроек из базы - пока не разобралась), последним был поставлен мод Medal System 0.21.0 (работает - пока никаких проблем не обнаружено). Других модов нет. Проблема со счетчиками благ выявилась до установки других модов, то есть конфликтом это быть не должно.
2. Мод ставился на две версии этой базы - база тестового форума на локальной машине (дамп снят полгода назад) и "живая" база основного форума, который и сейчас работает дальше. То есть "перенести" теоретические ошибки со своей рабочей площадки я не могла. Проблема сидела в базе еще до установки --> мод с чем-то все же конфликтует/не может найти/не может "прожевать".

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

Akrill
phpBB 1.2.1
 
Сообщения: 21
Зарегистрирован: 08.01.2010 11:06
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.

Re: Thanks for post (Rating edition)

Сообщение Палыч » 26.01.2012 8:35

Akrill
Пересчет - это просто отдельный класс, отдельный модуль.
Для того, чтобы он функционировал без всяких сообщений об ошибках нужно два файла кода (includes/acp/info/acp_thanks_refresh.php и includes/acp/acp_thanks_refresh.php), один файл шаблона (adm/styles/acp_thanks_refresh.html), одна строчка в файле includes/constant.php (объявляющая талиблицу _thanks) и сама таблица _thanks (даже пустая).
При вызове (по кнопке) модуль просто отрабатывает и всё.
Шаг 0 - обращения к базе нет. Визуальный итог - вывод сообщения о шаге 1.
Шаг 1 - дважды обращение к таблице _thanks
Шаг 2 - обращение к таблицам постов и пользователей.
Шаг 3 - там много.
Судя по вашим скринам, он у вас вообще не срабатывает (говорить о прерывании на каком-то шаге в данном случае неправильно).

Проведите тест (на денвере):
В нерабочей базе переименуйте таблицу модулей.
Скопируйте таблицу модулей из рабочей базы в нерабочую.
Подключите нерабочую базу к скриптам.
Очистите кеш (в кеше хранятся и запросы к базе)
Проверьте работоспособность.
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
За это сообщение автора Палыч поблагодарил:
Akrill (26.01.2012 17:26)
Аватара пользователя
Палыч
Просто Палыч
Просто Палыч
 
Сообщения: 9471
Зарегистрирован: 24.05.2006 23:20
Откуда: Питер
Благодарил (а): 3 раз.
Поблагодарили: 337 раз.

Re: Thanks for post (Rating edition)

Сообщение Akrill » 26.01.2012 17:26

Уважаемый Палыч, огромное спасибо Вам за то, что потратили на меня столько времени. Последний Ваш совет также не сработал, но натолкнул на мысль потаблично перенести нерабочую базу в новую рабочую с проверкой работоспособности после каждого экспорта-импорта. И такая таблица не нашлась. Все целиком успешно перенесено в новую базу и работает там. И мод чата, который не работал на старой базе, тоже заработал. В общем, проблема действительно была в базе - глобально в базе. И я не представляю, что это и откуда взялось (

Akrill
phpBB 1.2.1
 
Сообщения: 21
Зарегистрирован: 08.01.2010 11:06
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.

Re: Thanks for post (Rating edition)

Сообщение Пчелкин » 26.01.2012 18:24

Akrill
А вы знаете о такой штуке как "оптимизация таблиц бд"...например в супердумпере? Пробовали?
Фанат phpBB. В HTML - без проблем, в CSS - так себе, учусь, в php - баран, помогает только дедукция
Аватара пользователя
Пчелкин
phpBB 3.0.7-PL1
 
Сообщения: 4899
Зарегистрирован: 15.01.2010 14:57
Откуда: От Москвы 9 часов на Боинге
Благодарил (а): 288 раз.
Поблагодарили: 556 раз.

Re: Thanks for post (Rating edition)

Сообщение Палыч » 27.01.2012 17:56

Akrill писал(а):спасибо Вам за то, что потратили на меня столько времени

Это наша работа (скромно так...)
Akrill писал(а):с проверкой работоспособности после каждого экспорта-импорта.

Дело в том, что, например, при каждом обращении (впервые после начала сессии) к таблице модулей в ней может происходит перераспределение ids (left_id right_id), так написан код. Хотя, если бы проблема была только в этом, то фича с подменой таблицы должна была сработать.
Akrill писал(а):я не представляю, что это и откуда взялось
Аналогично. :(
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
Палыч
Просто Палыч
Просто Палыч
 
Сообщения: 9471
Зарегистрирован: 24.05.2006 23:20
Откуда: Питер
Благодарил (а): 3 раз.
Поблагодарили: 337 раз.

Re: Thanks for post (Rating edition)

Сообщение David » 06.02.2012 19:31

Поставил кнопку без проблем. Но она не видна. Если переключиться на английский, всё прекрасно работает. На русском нет кнопки. В чём может быть проблема?

David
phpBB 1.0.0
 
Сообщения: 2
Зарегистрирован: 06.02.2012 19:23
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Thanks for post (Rating edition)

Сообщение HAMMER663 » 06.02.2012 20:14

Аватара пользователя
HAMMER663
Модератор
Модератор
 
Сообщения: 1285
Зарегистрирован: 17.04.2010 12:59
Откуда: Москва
Благодарил (а): 26 раз.
Поблагодарили: 158 раз.

Re: Thanks for post (Rating edition)

Сообщение David » 06.02.2012 23:03

HAMMER663 Моды ставить умею. Уже разобрался. Оказывается кэш оперы был виноват. Почистил кэш, кнопка появилась. Ни где в FAQ не написано, что нужно чистить кэш браузера (не сайта).

David
phpBB 1.0.0
 
Сообщения: 2
Зарегистрирован: 06.02.2012 19:23
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Thanks for post (Rating edition)

Сообщение pavel.ignatenko » 07.02.2012 0:19

Вопрос такой: хочется на одном из форумов в структуре всего форума (простите за тафтологию) сделать "Спасибки" не доступными. Как?

Чтобы было более понятно. У нас узкоспециализированный форум. Одна из веток — Курилка (с подразделами: анекдоты, мое авто, музыка, пр.) Хочется чтобы в этом разделе нельзя было говорить "Спасибо". Т.к. тогда на основании репутации (количестве спасибок) можно будет судить о реальных "заслугах" участника. А то довольно часто бывает когда за свежий анекдот участник получает огромное количество "Спасибок".

pavel.ignatenko
phpBB 1.4.0
 
Сообщения: 35
Зарегистрирован: 17.11.2010 21:27
Благодарил (а): 9 раз.
Поблагодарили: 3 раз.

Re: Thanks for post (Rating edition)

Сообщение Mr. Anderson » 07.02.2012 0:21

pavel.ignatenko
А когда вы спасибки разрешали - вы их ГДЕ разрешали? Вот там и запретите :)
Элементарно же...
Правила конференции (30.05.2011) | Общие ошибки новичков (07.11.2005) | Шаблон запроса | FAQ (phpBB 3.0.x)
Последняя и единственно актуальная на сегодня версия - 3.0.10!
Поддержка по ICQ, e-mail и ЛС оказывается только за WM!


phpBB Guru blog
За это сообщение автора Mr. Anderson поблагодарил:
pavel.ignatenko (07.02.2012 0:46)
Аватара пользователя
Mr. Anderson
phpBB Guru
phpBB Guru
 
Сообщения: 5433
Зарегистрирован: 13.03.2004 22:32
Откуда: СССР
Благодарил (а): 5 раз.
Поблагодарили: 86 раз.

Re: Thanks for post (Rating edition)

Сообщение Палыч » 19.02.2012 19:14

Выкладывается для тестирования обновленная функция пересчета спасибок при массовом удалении пользователей, тем, топиков, перемещении топиков, постов, смены авторов постов и т.д.

Для тестирования достаточно заменить три файла из архива (с английским языком - 4)
Рекомендуется на время тестирования таблицу спасибок скопировать под другим именем для восстановления в случае неудачной отработки функции.
Вложения
134_test.zip
(10.72 КБ) Скачиваний: 4
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
Палыч
Просто Палыч
Просто Палыч
 
Сообщения: 9471
Зарегистрирован: 24.05.2006 23:20
Откуда: Питер
Благодарил (а): 3 раз.
Поблагодарили: 337 раз.

Re: Thanks for post (Rating edition)

Сообщение Пчелкин » 20.02.2012 5:42

Палыч Полный порядок...цветная инфа - нравится!!! Красивочки...и удобно стало..
Просчет прошел, ну на очень, намного быстрей....чего это?

Добавлено спустя 6 минут 26 секунд:
О! Палыч!!! Наконец-то проставленные самому себе спасибки исчезли...
Как это получалось? Ставишь спасибку товарисчу...и меняешь автора на себя...гы...до вчерашнего такие спасибы в сообщениях торчали...сегодня после пересчета - исчезли...наконец-то...
А то народ считал что Пчелкин и модеры себе накручивают...гы...
Стало теперь все честно...
Фанат phpBB. В HTML - без проблем, в CSS - так себе, учусь, в php - баран, помогает только дедукция
Аватара пользователя
Пчелкин
phpBB 3.0.7-PL1
 
Сообщения: 4899
Зарегистрирован: 15.01.2010 14:57
Откуда: От Москвы 9 часов на Боинге
Благодарил (а): 288 раз.
Поблагодарили: 556 раз.

Re: Thanks for post (Rating edition)

Сообщение Палыч » 20.02.2012 8:24

Пчелкин писал(а): намного быстрей....чего это?

Спасибо. Это радует. Функция полностью переписана.
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
Палыч
Просто Палыч
Просто Палыч
 
Сообщения: 9471
Зарегистрирован: 24.05.2006 23:20
Откуда: Питер
Благодарил (а): 3 раз.
Поблагодарили: 337 раз.

Пред.След.

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

 

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

Бессрочный конкурс phpBB-ориентированных материалов
FastVPS — надёжный и доступный хостинг для phpBB
Место для вашей рекламы