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 только на форумах. По найму не работаю.
Аватара пользователя
Djeday
phpBB 2.0.7a
Сообщения: 644
Стаж: 14 лет 8 месяцев
Благодарил (а): 108 раз
Поблагодарили: 68 раз

Re: Thanks for post (Rating edition)

Сообщение Djeday »

Sheer, спасибо. Прописал из новой версии перед внесением в index и все заработало))))
А можно ссылку в теме на картинки, чет я полистал - только на архивы со стандартными руками налетаю(((
Я смею то, что можно человеку, кто смеет меньше - тот не человек.
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: Thanks for post (Rating edition)

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

До 1.2.5 были надписи - кнопки...

Добавлено спустя 2 минуты 3 секунды:
Но тока палец сменить на кнопку - это правка еще в трех файлах..
Последний раз редактировалось Пчелкин 22.06.2012 11:31, всего редактировалось 1 раз.
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
Djeday
phpBB 2.0.7a
Сообщения: 644
Стаж: 14 лет 8 месяцев
Благодарил (а): 108 раз
Поблагодарили: 68 раз

Re: Thanks for post (Rating edition)

Сообщение Djeday »

Пчелкин писал(а):Но тока палец сменить на кнопку - это правка еще в трех файлах..
А что, просто залить в root\styles\prosilver\imageset файл с названием thankposts.gif заместо пальца не прокатит или с другим именем и в наборе рисунков выбрать?
Я смею то, что можно человеку, кто смеет меньше - тот не человек.
Аватара пользователя
Пчелкин
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
Аватара пользователя
Djeday
phpBB 2.0.7a
Сообщения: 644
Стаж: 14 лет 8 месяцев
Благодарил (а): 108 раз
Поблагодарили: 68 раз

Re: Thanks for post (Rating edition)

Сообщение Djeday »

Пчелкин писал(а):Можно и тупо заменить..но размеры ставить придется вручную..
А в каких файлах кроме styles/prosilver/imageset/imageset.cfg надо еще размеры указать?

Вот для такой картинки:
Изображение

Ссори за оффтоп, а все картинки, которые я через набор рисунков выбираю слетают при обновлении кеша? Просто мне приходится постоянно переназначать значки форумов и тем. Это поэтому, как и со спасибкой?

Добавлено спустя 2 часа 22 минуты 24 секунды:
Обнаружена еще ошибка при открытии профиля пользователя (memberlist.php). После внесения изменений:
это

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

$ex_fid_ary = array_keys($auth->acl_getf('!f_read', true));
$ex_fid_ary = (sizeof($ex_fid_ary)) ? $ex_fid_ary : false;
и это:

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

	if (!function_exists('get_thanks'))
{
	include($phpbb_root_path . 'includes/functions_thanks.' . $phpEx);	
}
	$user->add_lang('mods/thanks_mod');
	if (isset($_REQUEST['list_thanks'])) 
	{
		clear_list_thanks($user_id, request_var('list_thanks', ''));
	}	
	output_thanks_memberlist($user_id, $ex_fid_ary);
выдает ошибку (вложение), восстанавливаю в исходное положение и все нормально.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Я смею то, что можно человеку, кто смеет меньше - тот не человек.
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 3365
Стаж: 17 лет 6 месяцев
Благодарил (а): 37 раз
Поблагодарили: 1454 раза

Re: Thanks for post (Rating edition)

Сообщение Nekstati »

Djeday писал(а):А в каких файлах кроме styles/prosilver/imageset/imageset.cfg надо еще размеры указать?

а все картинки, которые я через набор рисунков выбираю слетают при обновлении кеша?
Ни в каких.

Слетают при обновлении набора рисунков. При очистке общего кэша — нет.
Аватара пользователя
Djeday
phpBB 2.0.7a
Сообщения: 644
Стаж: 14 лет 8 месяцев
Благодарил (а): 108 раз
Поблагодарили: 68 раз

Re: Thanks for post (Rating edition)

Сообщение Djeday »

Nekstati, а ошибку как устранить можно? Я убрал изменения мода "Спасибо" и профили открываются, но нет отображения "Благодарности" (((
Я смею то, что можно человеку, кто смеет меньше - тот не человек.
vnl
phpBB 1.2.1
Сообщения: 27
Стаж: 17 лет 2 месяца
Благодарил (а): 7 раз

Re: Thanks for post (Rating edition)

Сообщение vnl »

Djeday
Такая же проблема после установки моста p8pbb

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

SQL ERROR [ mysql4 ]

 [0]

SQL

No values specified for SQL IN comparison

BACKTRACE

FILE: [ROOT]/includes/db/dbal.php
LINE: 389
CALL: dbal->sql_error()

FILE: [ROOT]/includes/functions_thanks.php
LINE: 697
CALL: dbal->sql_in_set()

FILE: [ROOT]/cache/data_php_viewtopic.php
LINE: 1401
CALL: array_all_thanks()
Получилось решить проблему?
Аватара пользователя
Djeday
phpBB 2.0.7a
Сообщения: 644
Стаж: 14 лет 8 месяцев
Благодарил (а): 108 раз
Поблагодарили: 68 раз

Re: Thanks for post (Rating edition)

Сообщение Djeday »

vnl, нет.
Проблему решил только убрав из файла memberlist.php коды из данного мода. Вот только при этом отображения благодарностей в профиле нет (есть только в темах).

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

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

[0]

SQL

No values specified for SQL IN comparison

BACKTRACE

FILE: [ROOT]/includes/db/dbal.php
LINE: 389
CALL: dbal->sql_error()

FILE: [ROOT]/includes/functions_thanks.php
LINE: 353
CALL: dbal->sql_in_set()

FILE: [ROOT]/memberlist.php
LINE: 691
CALL: output_thanks_memberlist()
Знающие подскажите плиз, как с этим бороться.
Я смею то, что можно человеку, кто смеет меньше - тот не человек.
Аватара пользователя
HAMMER663
Former team member
Сообщения: 2032
Стаж: 16 лет 5 месяцев
Откуда: Зеленоград
Благодарил (а): 77 раз
Поблагодарили: 249 раз

Re: Thanks for post (Rating edition)

Сообщение HAMMER663 »

vnl писал(а):Такая же проблема после установки моста p8pbb
и что за мост?
Аватара пользователя
Djeday
phpBB 2.0.7a
Сообщения: 644
Стаж: 14 лет 8 месяцев
Благодарил (а): 108 раз
Поблагодарили: 68 раз

Re: Thanks for post (Rating edition)

Сообщение Djeday »

HAMMER663, он скорее всего имел ввиду мода.
Я смею то, что можно человеку, кто смеет меньше - тот не человек.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Thanks for post (Rating edition)

Сообщение Sheer »

HAMMER663 писал(а):и что за мост
http://blogomunity.com/joomla-extension ... ridge.html
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
vnl
phpBB 1.2.1
Сообщения: 27
Стаж: 17 лет 2 месяца
Благодарил (а): 7 раз

Re: Thanks for post (Rating edition)

Сообщение vnl »

Sheer
Совершенно верно.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Thanks for post (Rating edition)

Сообщение Sheer »

vnl
Найдите причину, почему в файле viewtopic.php переменная $post_list неопределена или принимает значение 0 или "пусто".

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

array_all_thanks($post_list);
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 20 лет 4 месяца
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 454 раза

Re: Thanks for post (Rating edition)

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

Sheer писал(а):Найдите причину, почему в файле viewtopic.php переменная $post_list неопределена или принимает значение 0 или "пусто".
При этом учтите, что это собственная переменная phpBB (не от МОДа)

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

// Container for user details, only process once
$post_list = $user_cache = $id_cache = $attachments = $attach_list = $rowset = $update_count = $post_edit_list = array();
$has_attachments = $display_notice = false;
$bbcode_bitfield = '';
$i = $i_total = 0;

// Go ahead and pull all data for this topic
$sql = 'SELECT p.post_id
	FROM ' . POSTS_TABLE . ' p' . (($join_user_sql[$sort_key]) ? ', ' . USERS_TABLE . ' u': '') . "
	WHERE p.topic_id = $topic_id
		" . ((!$auth->acl_get('m_approve', $forum_id)) ? 'AND p.post_approved = 1' : '') . "
		" . (($join_user_sql[$sort_key]) ? 'AND u.user_id = p.poster_id': '') . "
		$limit_posts_time
	ORDER BY $sql_sort_order";
$result = $db->sql_query_limit($sql, $sql_limit, $sql_start);

$i = ($store_reverse) ? $sql_limit - 1 : 0;
while ($row = $db->sql_fetchrow($result))
{
	$post_list[$i] = (int) $row['post_id'];
	($store_reverse) ? $i-- : $i++;
}
$db->sql_freeresult($result);

if (!sizeof($post_list))
{
	if ($sort_days)
	{
		trigger_error('NO_POSTS_TIME_FRAME');
	}
	else
	{
		trigger_error('NO_TOPIC');
	}
}
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.

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