Страница 131 из 211

Thanks for post (Rating edition)

Добавлено: 13.07.2009 9:49
Палыч
Наименование модификации: 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
(2.15 КБ) 1845 скачиваний
Для устранения предупреждения (версия 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
(8.34 КБ) 2236 скачиваний
Если вы не видите кнопки "Спасибо"
Скрытый текст
  1. Убедитесь, что вы скопировали файлы-изображения в папку используемого вами стиля
  2. Убедитесь, что вы отредактировали файлы используемого вами стиля
  3. Обновите набор изображений вашего стиля (на вкладке Стили в админке)
  4. Обновите тему вашего стиля (на вкладке Стили в админке)
  5. Обновите кеш
  6. Установите опции мода (вкладка Модули - Спасибо за сообщение)
  7. Убедитесь, что правильно выставлены права доступа
    1. Установите права доступа к форуму в котором вы хотите иметь опцию благодарностей

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

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

      Если вы хотите иметь другие настройки (у вас другая роль у зарегистрированных пользователей):
      Админка -> Права доступа -> Прав групп -> Выбор группы:Зарегистрированные пользователи -> Расширенные права -> Разное -> Может просматривать список благодарностей (Может видеть топлист) -> Применить все права
      Пошаговая инструкция в картинках (на английском)

Re: Thanks for post (Rating edition)

Добавлено: 28.03.2012 8:10
Пчелкин
Правки внесены нормально...
Dimsim писал(а):Топлист благодарностей и Благодарности не отображаются.
для кого?
Разбирайтесь в перехлесте прав юзеров по группам...
Вы не видите? Трассировку прав умеете делать?
И разрешите видеть списки благодарностей и рейтинг группе боты

Re: Thanks for post (Rating edition)

Добавлено: 28.03.2012 8:21
Dimsim
Пчелкин писал(а):Правки внесены нормально...
Dimsim писал(а):Топлист благодарностей и Благодарности не отображаются.
для кого?
Вообще не для кого не отображаются.
Проверял под Администратором, Главным модератором, Зарегистрированым последователем.

А то что если в адресной строке набираю http://адрес_сайта.ru/toplist.php и всё показывает, это не означает что с правами всё впорядке?
Может какой то ещё файл отвечает за отображение этих ссылок?
Пчелкин писал(а):Разбирайтесь в перехлесте прав юзеров по группам...
Вы не видите? Трассировку прав умеете делать?
В этом не разбираюсь.

Re: Thanks for post (Rating edition)

Добавлено: 28.03.2012 9:10
Пчелкин
Dimsim писал(а):это не означает
Не означает...а вы, батенька кеши обновили?
Код имеется и его видно...ну а права дистанционно проверить невозможно...

Re: Thanks for post (Rating edition)

Добавлено: 28.03.2012 9:31
Dimsim
Пчелкин писал(а):
Dimsim писал(а):это не означает
Не означает...а вы, батенька кеши обновили?
Наверно всё таки означает. Я с этими блин правами часа три игрался, как только не включал. Теперь заново надо всё проверять, как бы чего лишнего не включил.
А причину не отображения ссылок Топлист благодарностей и Благодарности я нашёл, мой косяк, прошу прощения.
Уже не зная что делать, решил проверить файлы в которые по инструкции надо было внести изменения.
Так вот в файл includes/functions.php нужно было добавить строчки:

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

		'S_DISPLAY_THANKSLIST'	=> (isset($auth)) ? $auth->acl_get('u_viewthanks') : 0,
		'S_DISPLAY_TOPLIST'		=> (isset($auth)) ? $auth->acl_get('u_viewtoplist') : 0,
Сам не понимаю, как я мог их пропустить, старался всё делать внимательно и не спеша, на установку мода потратил часа два.
Ещё раз прошу прощения у Пчелкин за беспокойство.

P.S. PHPBB неплохой движок форума, но почему у него не устанавливаются моды, например, как в Joomla.

Thanks for post (Rating edition)

Добавлено: 28.03.2012 9:39
МайскийЖук
почему у него не устанавливаются моды, например, как в Joomla
Потому что в phpBB моды расчитаны на людей, понимающих, как работает движок, а не на тех, кто хочет «чпок и все готово».

Хотя для любителей чпока есть AutoMOD.

Re: Thanks for post (Rating edition)

Добавлено: 28.03.2012 9:46
Пчелкин
Dimsim писал(а):Ещё раз прошу прощения
Да нормально все...все с этого начинали...

Re: Thanks for post (Rating edition)

Добавлено: 28.03.2012 15:47
MAzZY
Подскажите, есть ли дополнение для мода AutoGroups, чтобы была возможность автоматического добавления или удаления пользователей в группах в зависимости от количества спасибок?

Re: Thanks for post (Rating edition)

Добавлено: 28.03.2012 16:09
Палыч
MAzZY
Нет

Re: Thanks for post (Rating edition)

Добавлено: 28.03.2012 22:37
Dimsim
А не кто не знает как переместить кнопочку "Очистить список благодарностей" до конца вправо.
Скрин.png
(8.48 КБ) 0 скачиваний
У меня стиль Prosilver с премещёными влево профилями по ЭТОЙ инструкции.
В файле styles\prosilver\template\viewtopic_body.php изменил:

style="float:left"
на
style="float:right"

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

<ul class="profile-icons" style="float:right"><li class="delete-icon"><a href="{postrow.U_CLEAR_LIST_THANKS_POST}" title="{L_CLEAR_LIST_THANKS}"><span>{L_CLEAR_LIST_THANKS}</span></a></li></ul>
Но кнопочка почемуто вправо только до середины подвинулась. На скрине выше видно.

Re: Thanks for post (Rating edition)

Добавлено: 29.03.2012 2:57
Пчелкин
Потому что у нее свой класс - левонаправленный - ul class="profile-icons.
Для перемещения ее в правую часть блока инфы о проставленных спасибках надо создавать для нее самодельный класс в CSS, так как класс profile-icons трогать нельзя, он для иконок в минипрофиле...
Пропишите ей класс от кнопок управления сообщением...он правосторонний...
А лучше забабахайте для инфы о спасибках самодельный блок ниже сообщений...смотрится превосходно и сообщения разделяет красиво..

Re: Thanks for post (Rating edition)

Добавлено: 29.03.2012 3:32
Dimsim
Пчелкин писал(а):Потому что у нее свой класс - левонаправленный - ul class="profile-icons.
Для перемещения ее в правую часть блока инфы о проставленных спасибках надо создавать для нее самодельный класс в CSS, так как класс profile-icons трогать нельзя, он для иконок в минипрофиле...
Пропишите ей класс от кнопок управления сообщением...он правосторонний...
Красиво рассказываете, да только я с html, php ,css знаком поверхностно.
Если Вас не затруднит, можно поподробней, подскажите, что куда прописать надо.
Или хотябы подскажите как этот класс от кнопок управления сообщением называется.
Пчелкин писал(а):А лучше забабахайте для инфы о спасибках самодельный блок ниже сообщений...смотрится превосходно и сообщения разделяет красиво..
Об этом даже и думать не стоит.

Re: Thanks for post (Rating edition)

Добавлено: 29.03.2012 5:28
Пчелкин
Dimsim писал(а): класс от кнопок управления сообщением
А у вас кнопки управления сообщениями все же влево прижаты или вправо в блоке сообщения?

Re: Thanks for post (Rating edition)

Добавлено: 29.03.2012 5:45
Dimsim
Вправо. Вот так:
Скриншот.png

Re: Thanks for post (Rating edition)

Добавлено: 29.03.2012 6:00
Пчелкин
в viewtopic_body.html удалите кусок по инструкции....

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

		<!-- IF postrow.THANKS and postrow.THANKS_POSTLIST_VIEW -->
			<hr />
			<!-- IF not postrow.S_POST_ANONYMOUS and not S_IS_BOT and postrow.S_MOD_THANKS -->
			<ul class="profile-icons" style="float:left"><li class="delete-icon"><a href="{postrow.U_CLEAR_LIST_THANKS_POST}" title="{L_CLEAR_LIST_THANKS}"><span>{L_CLEAR_LIST_THANKS}</span></a></li></ul>
			<!-- ENDIF -->
			<div class="content">
				<!-- IF not postrow.S_POST_ANONYMOUS and not S_IS_BOT-->
				<dl class="postbody small">
					<dt>{postrow.THANK_TEXT}{postrow.POST_AUTHOR_FULL}{postrow.THANK_TEXT_2}</dt>
					<dd>{postrow.THANKS}</dd>
				</dl>
				<!-- ENDIF -->	
			</div>
		<!-- ENDIF -->
		<!-- IF postrow.S_THANKS_POST_REPUT_VIEW and postrow.POST_REPUT and not postrow.S_POST_ANONYMOUS and not S_IS_BOT -->
			<div class="content">
				<dl class="postbody">
					<dt class="small"><strong>{L_REPUT}:</strong>&nbsp;{postrow.POST_REPUT}</dt>
					<dd>
					<!-- IF postrow.S_THANKS_REPUT_GRAPHIC -->
					<div style="width: {postrow.THANKS_REPUT_GRAPHIC_WIDTH}; height: {postrow.THANKS_REPUT_HEIGHT}; background: URL({postrow.THANKS_REPUT_IMAGE_BACK});"><div style="height: {postrow.THANKS_REPUT_HEIGHT}; width: {postrow.POST_REPUT}; background: URL({postrow.THANKS_REPUT_IMAGE});"></div></div>&nbsp;
					<!-- ENDIF -->
					</dd>
				</dl>
			</div>
		<!-- ENDIF -->
Найдите

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

<div class="back2top"><a href="#wrap" class="top" title="{L_BACK_TO_TOP}">{L_BACK_TO_TOP}</a></div>
Добавьте после

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

		<hr />

<!-- НАЧАЛО БЛОКА СПАСИБОК -->
    <!-- IF postrow.THANKS and postrow.THANKS_POSTLIST_VIEW -->
       <div class="rules"><div class="inner"><span class="corners-top"><span></span></span>
        	<!-- IF postrow.THANKS and postrow.THANKS_POSTLIST_VIEW -->
			<!-- IF not postrow.S_POST_ANONYMOUS and not S_IS_BOT and postrow.S_MOD_THANKS -->
			<ul class="profile-icons" style="float:right"><li class="delete-icon2"><a href="{postrow.U_CLEAR_LIST_THANKS_POST}" title="{L_CLEAR_LIST_THANKS}"><span>{L_CLEAR_LIST_THANKS}</span></a></li></ul>
           	<!-- ENDIF -->
			<div class="content">
			<!-- IF not postrow.S_POST_ANONYMOUS and not S_IS_BOT-->
    		<dl align="left">
			<dt>{postrow.THANK_TEXT}{postrow.POST_AUTHOR_FULL}{postrow.THANK_TEXT_2}</dt>
			<dd>{postrow.THANKS}</dd>
	    	</dl>
	        <!-- ENDIF -->	
			</div>
	        <!-- ENDIF -->
		    <!-- IF postrow.S_THANKS_POST_REPUT_VIEW and postrow.POST_REPUT and not postrow.S_POST_ANONYMOUS and not S_IS_BOT -->
			<div class="content">
			<dl align="left">
			<dt class="small"><strong>{L_REPUT}:</strong>&nbsp;{postrow.POST_REPUT}</dt>
			<dd>
			<!-- IF postrow.S_THANKS_REPUT_GRAPHIC -->
			<div style="width: {postrow.THANKS_REPUT_GRAPHIC_WIDTH}; height: {postrow.THANKS_REPUT_HEIGHT}; background: URL({postrow.THANKS_REPUT_IMAGE_BACK});"><div style="height: {postrow.THANKS_REPUT_HEIGHT}; width: {postrow.POST_REPUT}; background: URL({postrow.THANKS_REPUT_IMAGE});"></div></div>&nbsp;
			<!-- ENDIF -->
			</dd>
			</dl>
			</div>
            <!-- ENDIF -->
		<span class="corners-bottom"><span></span></span></div></div>
    <!-- ENDIF -->
<!-- КОНЕЦ БЛОКА СПАСИБОК -->
в файле colours.css найдите класс

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

div.rules {
	background-color: #CCCC99;
	color: #330099;
}
В нем можно издеваться над цветом берграунда и фона
А можно сделать его копию и издеваться над ним, что б основной не трогать...

В файле buttons.css найдите строку

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

.delete-icon, .delete-icon a		{ background: none top left no-repeat; }
Добавьте после нее

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

.delete-icon2, .delete-icon2 a		{ background: none top right no-repeat; }
Собрал на коленке ..за точность не ручаюсь...спецы, если что - поправят...

Re: Thanks for post (Rating edition)

Добавлено: 29.03.2012 7:10
Dimsim
Не плохо получилось.
Но вот кнопочка "Очистить список благодарностей" совсем не отображается.
Скриншот.png
Кеш чистил.
Экспериментирую на копии форума, на виртуальном сервере.
Редактирую файлы в Notepad++, так вот, если отменяю изменения в файле viewtopic_body.html, после чистки кеша кнопка отображается.