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

Re: Thanks for post (Rating edition)

Сообщение Garret_Dark »

Дело не в аддоне и я не запутался - все выполнял внимательно.
Дело в ошибке инструкций по апдейту.
Отрывок апдейта 128-129
Open: includes/functions_display.php
Найти (Запоминаем предпоследнюю строку)

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

 if (!function_exists('get_max_forum_thanks'))
        {
            include($phpbb_root_path . 'includes/functions_thanks_forum.' . $phpEx);
        }
        get_max_forum_thanks();
        get_thanks_forum_reput($row['forum_id']);
Заменить на (Замечаем, что запомненной строки уже нет)

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

		if ($config['thanks_forum_reput_view'])
		{
			get_thanks_forum_reput($row['forum_id']);
		}
Теперь из апдейта 129-130
Open: includes/functions_display.php
Найти (Все таже строка, но ее уже нет)

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

	get_max_forum_thanks();
Добавить после:

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

	$forum_thanks_rating = array();
Однако пропавшая строка присутствует как в инструкции по установке 129 так и 130... Вопрос нафига ее было заменять в апдейте 128-129? Или это все-таки "Добавить после"? В любом случае ошибка. Если я не прав, то извиняюсь и прошу меня поправить.
Указанная в предыдущем посте ошибка все еще актуальна т.к. обновление ее не лечит...
legionnaire
phpBB 1.0.0
Сообщения: 4
Стаж: 15 лет 9 месяцев

Re: Thanks for post (Rating edition)

Сообщение legionnaire »

Доброй ночи. Сегодня весь день бился над проблемой.
Перечитал много, но до сих пор не могу понять почему:
1. Делаю все правки согласно инструкции
2. Иду в управление модулями и добавляю модули:

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

ACP_THANKS 
ACP_THANKS_SETTINGS
ACP_THANKS_REFRESH
ACP_THANKS_TRUNCATE
Включаю их. Их всего 4.
3. Далее иду в install_thanks_mod.php
5. Получаю:

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

Добавление acp модуля: ACP_THANKS
Ошибка: Указанная родительская категория для модуля не существует.

Добавление acp модуля: ACP_THANKS_SETTINGS
Ошибка: Указанная родительская категория для модуля не существует.

Добавление acp модуля: ACP_THANKS_REFRESH
Ошибка: Указанная родительская категория для модуля не существует.

Добавление acp модуля: ACP_THANKS_TRUNCATE
Ошибка: Указанная родительская категория для модуля не существует.

Добавление acp модуля: ACP_THANKS_REPUT_SETTINGS
Ошибка: Указанная родительская категория для модуля не существует.
Что я делаю не так? Уже всё обрыл.
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: Thanks for post (Rating edition)

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

Заранее ничего делать не надо..Восстановите стандартную вкладку "модули" в админке..

Добавлено спустя 38 минут 56 секунд:
Garret_Dark
Хм..посмотрел в копии форума с версией 1.2.9...
там вся эта часть на месте...
Просто проверь все правки по инструкции полной установки 1.2.9, там ее надо ставлять...Скорей всего в инструкции по абгейту до 1.2.9. у Палыча ошибка...

Добавлено спустя 2 минуты 17 секунд:
Кста..давно не пользуюсь инструкциями абгейта..тупо проверяю по основной все места..так надежней...

Добавлено спустя 3 минуты 13 секунд:
Garret_Dark писал(а):При дальнейшем обновлении 129-130 я малость удивился
Если разговор про просильвер...дайте все исправленные файлы от версии 1.3.0. вечером есть время - проверю и сравню со своими местами...мож что откопаю.
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
Garret_Dark
phpBB 2.0.16
Сообщения: 1097
Стаж: 17 лет 8 месяцев
Откуда: root/world/russia/
Благодарил (а): 126 раз
Поблагодарили: 206 раз

Re: Thanks for post (Rating edition)

Сообщение Garret_Dark »

Пчелкин, спасибо, нет. Снесу мод поставлю заново. Сейчас пока ковыряюсь в поисках ошибки/конфликта
marsi
phpBB 1.0.0
Сообщения: 6
Стаж: 15 лет 9 месяцев
Откуда: Донецк
Благодарил (а): 2 раза

Re: Thanks for post (Rating edition)

Сообщение marsi »

всем доброго дня!
читала-читала, но так и не поняла в чем может быть проблема по данному вопросу
Переустановила два раза мод (ошибка одна). На сколько я поняла...не создается в БД таблица, или я не права?
и еще, при запуске инсталляционного файла, не пишется, что мод был установлен (так должно быть)?

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

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

Table 'uh123075_forumdog.phpbb_thanks' doesn't exist [1146]

SQL

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

BACKTRACE


FILE: includes/db/mysqli.php
LINE: 163
CALL: dbal->sql_error()

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

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

FILE: index.php
LINE: 28
CALL: display_forums()

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

Re: Thanks for post (Rating edition)

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

Garret_Dark писал(а):Отрывок апдейта 128-129Open: includes/functions_display.phpНайти (Запоминаем предпоследнюю строку)
А сроки выше из той же инструкции вы проигнорировали?

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

find
	// Used to tell whatever we have to create a dummy category or not.
before-add
	if (!function_exists('get_max_forum_thanks'))
	{
		include($phpbb_root_path . 'includes/functions_thanks_forum.' . $phpEx);
	}
	get_max_forum_thanks();
	foreach ($forum_rows as $row)
	{
		$forum_thanks_rating[] = $row['forum_id'];
	}
	global $cache;
	$cache->put('_forum_thanks_rating', $forum_thanks_rating);
	get_thanks_forum_number();
	$cache->destroy('_forum_thanks_rating');
Garret_Dark писал(а):Заменить на (Замечаем, что запомненной строки уже нет)
Она, как вы видите, есть, только уже в другом месте.
Garret_Dark писал(а):Дело не в аддоне и я не запутался - все выполнял внимательно.Дело в ошибке инструкций по апдейту.
Не делайте поспешных выводов.
Вы именно: запутались. Бывает.
legionnaire писал(а):Включаю их. Их всего 4.3. Далее иду в install_thanks_mod.php
Вообще-то, этот файл сам добавляет модули и включает их.
А то, что указанная родительская категория не существует, говорит о том, что вы удалили штатную категорию .MODS (Модули), которая встроена в phpBB по умолчанию.
Garret_Dark писал(а):Снесу мод поставлю заново. Сейчас пока ковыряюсь в поисках ошибки/конфликта
После установки с нуля версии 1.3.0 сделайте это:

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

== open == 
includes/functions_display.php
== find ==
    get_max_forum_thanks();
== after-add ==
    $forum_thanks_rating = array();   
Благодаря вам обратил внимание, что в версии 1.3.0 отсутствует это правка. Правда к вашей ошибке она не имеет отношения.
marsi писал(а):не создается в БД таблица, или я не права?
Правы.
marsi писал(а):не пишется, что мод был установлен
А что пишет?
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
marsi
phpBB 1.0.0
Сообщения: 6
Стаж: 15 лет 9 месяцев
Откуда: Донецк
Благодарил (а): 2 раза

Re: Thanks for post (Rating edition)

Сообщение marsi »

Палыч писал(а):А что пишет?
после запуска install_thanks_mod.php
[фото пропало]

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

Re: Thanks for post (Rating edition)

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

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

Re: Thanks for post (Rating edition)

Сообщение marsi »

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

Re: Thanks for post (Rating edition)

Сообщение Garret_Dark »

marsi, а у вас, до того как на install_thanks_mod.php отправляетесь, при перемещении по вашему форуму в адресной строке присутствует помимо адреса форума добавочка вида ?sid=eaef78587dafdafe786tdg ?
Если да, то перейдите на главную страницу форума и скопируйте из адресной строки браузера начиная с ?sid= и до конца строки, в после переходите к инсталяции прописав в строке браузера путь по примеру:
www.ваш_домен.ru/install_thanks_mod.php?sid=eaef78587dafdafe786tdg
Должно помочь:)
P.S. В опере последней версии sid обрезается(скрывается) в адресной строке.

Добавлено спустя 1 час 47 минут 32 секунды:
Палыч писал(а):После установки с нуля версии 1.3.0
Пердположительно у меня стоит версия 1.2.8 (по крайней мере судя по файлам - делал давнгрейд по инструкции 1.2.8 и вроде все совпало, не считая пары внесенных фиксов)
Удалил мод из файлов форума. Поставил с нуля 1.3.0, запустил install_thanks_mod.php (Из версии 1.2.9), при этом поле "текущая версия" отбражалось пустым выбрал "обвновить", вроде обновило но выдало несколько ошибок о том, что таблицы уже существуют и т.п., далее запустил install_thanks_mod.php (Из версии 1.3.0) все вроде успешно добавилось без ошибок.

Но теперь при переходе в тему выдает ошибку

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

Parse error: syntax error, unexpected '}' in Z:\home\test1.ru\www\includes\template.php(230) : eval()'d code on line 298
Я в ауте, если честно... Боюсь где-то в файлах бродят призраки старых версий. Да и в БД возможно.
Аватара пользователя
Пчелкин
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
Аватара пользователя
Garret_Dark
phpBB 2.0.16
Сообщения: 1097
Стаж: 17 лет 8 месяцев
Откуда: root/world/russia/
Благодарил (а): 126 раз
Поблагодарили: 206 раз

Re: Thanks for post (Rating edition)

Сообщение Garret_Dark »

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

Re: Thanks for post (Rating edition)

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

Garret_Dark писал(а):Но теперь при переходе в тему выдает ошибку
Ну это просто ошибка синтаксиса в каком-то из шаблонов стиля. Число открытых фигурных скобок не соответствует числу закрытых.
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
sweetah
phpBB 2.0.6
Сообщения: 506
Стаж: 16 лет 7 месяцев
Благодарил (а): 108 раз
Поблагодарили: 26 раз

Re: Thanks for post (Rating edition)

Сообщение sweetah »

misterleks писал(а): И ещё вот такая ошибка.

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

[phpBB Debug] PHP Notice: in file /includes/functions_thanks.php on line 457: Undefined index: allow_thanks_pm
Fatal error: Class 'messenger' not found in /home/misterleks/domains/100events.net/public_html/includes/functions_thanks.php on line 511
misterleks писал(а): Раз никто не помогал, пришлось самому садиться и тщательно разбираться. Вопрос снят. Всё заработало отлично.
Каким образом вы с этим разобрались?
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 20 лет 4 месяца
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 454 раза

Re: Thanks for post (Rating edition)

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

sweetah
Попробуйте раскомментировать следующие строки в файле /includes/functions_thanks.php

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

//		if (!function_exists('messenger'))
//		{
//			include($phpbb_root_path . 'includes/functions_messenger.' . $phpEx);
//		}
		$messenger = new messenger(false);
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.

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