Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

[DEV] Reputation System / Система репутации

Здесь авторы могут постить бета-версии своих модификаций для phpBB 3.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Oleg NT
Former team member
Сообщения: 450
Стаж: 18 лет 3 месяца
Откуда: Нижний Тагил
Поблагодарили: 11 раз
Контактная информация:

[DEV] Reputation System / Система репутации

Сообщение Oleg NT »

Мод репутации phpBB 3. Порт версии для phpBB 2, которая более не разрабатывается.

Замечание от автора мода от 26 марта 2012: новичков прошу пока не устанавливать данный мод. Он не поддерживался автором более двух лет, с тех пор утекло много воды, обнаружилось некоторое количество недочетов, требуется проверка соответствия актуальной версии phpBB.
При беглом просмотре темы можно обнаружить ряд исправлений и улучшений, если вы уверены в своих силах, можете попробовать установить.


В целом, декорация такая:
У каждого зарегистрированного пользователя есть уровень репутации.

Каждый другой зарегистрированный пользователь, набравший 10 (по умолчанию) сообщений, может изменить репутацию «+1» или «−1» за какое-то конкретное сообщение, оставив комментарий, за что именно он изменяет репутацию.

По каждому пользователю ведется история изменения репутации, включающая в себя:
1. Имя пользователя, который изменил Вам репутацию
2. За какое сообщение (будет указана ссылка, если оно еще не удалено)
3. Текст комментария
4. Направление изменения (+1 или −1)
5. Дата, время.

Если 2 (по умолчанию) последних изменения репутации какому-то пользователю — Ваши, то Вам надо подождать, пока кто-то еще изменит ему репутацию.

Имеется возможность запрещать кому-то изменять репутацию.
А также возможность поиска пользователя по значению репутации.

Установщик содержит только изменения русского языка.

При выборе русского языка в установщике все описания и авторские комментарии отображаются по-русски.

Форум, на котором можно посмотреть мод: http://forum.ntagil.ru (информация о репутации пользователей доступна гостям в теме, а также на странице истории репутации).

Скриншоты:


1. Шапка форума:
8c7d2169cb10.png

2. Страница просмотра темы:
[фото пропало]


3. Страница изменения репутации:
[фото пропало]


4. Страница просмотра истории изменения репутации пользователю:
[фото пропало]


Внимание! Это разрабатываемая версия, т.е. реализовано не все, что задумывалось. Устанавливайте на рабочие форумы в том и только в том случае, когда выполняются следующие условия:
1. Вы довольны текущим функционалом мода;
2. Все последующие обновления до финального релиза выполняются следующим образом: удаляется старая версия (по инструкции установки), затем ставится новая версия;
3. Инструкция мода успешно прошла обкатку (поскольку разработка мода и разработка инструкции установки — вещи несколько разные, я мог допустить ошибку при составлении установщика, не допустив при этом ошибки в самом моде);
4. Пока не вышел финальный релиз, если вдруг что-то поломается, руками размахивать не надо, а надо просто спокойно сообщить об этом. :)

Просьба желающих обкатать инструкцию по установке :)

Обратите внимание: если у Вас префикс названий таблиц отличен от «phpbb_», в секции «SQL» префикс трёх таблиц нужно поменять на ваш.

Скачать последнюю версию:
reputation-system-0.1.5dev.zip
Reputation System v0.1.5 Dev «Новогодняя»
(113.52 КБ) 2881 скачивание
[/color][/b]
72b47e3a940e.gif
72b47e3a940e.gif (2.24 КБ) 84 просмотра
Этот архив содержит инструкции по обновлению с предыдущей версии.

Что нового:
» [Исправлено] На странице изменения репутации и просмотра истории репутации имена пользователей теперь окрашиваются в цвет, соответствующий членству пользователя в группах (так же, как и везде на форуме).
» [Добавлено] Теперь администраторы могут лишать конкретного пользователя возможности изменять репутацию другим (Личные настройки пользователя в Администраторском разделе).
» [Добавлено] Колонка с репутацией в списке пользователей. А также возможность поиска пользователей по параметру «репутация».
» [Исправлено] Все ссылки на странице изменения репутации теперь открываются в текущем окне (а не в новом).
» [Добавлено] Поддержка стиля Subsilver2 (спасибо Максиму Глокову [FladeX])

Музей:
Скачать старенькую версию: [attachment=3]reputation-system-0.1.0dev.zip[/attachment]
А вот тут есть инструкция к subSilver2 — тоже старенькая (спасибо FladeX) »» Перейти


_________________________________________

Что сделать (планируемые возможности, замеченные ошибки и так далее):
— Инструкция по установке: указана папка amd вместо adm;
— Убрать htmlspecialchars (чтобы вместо кавычек " " не было "); вот решение »»»
— Добавить поддержку BBCode и смайлов в комментариях к репутации;
— Возможность удаления изменений репутации за удаленные сообщения;
— Контроль администраторов и модераторов над комментариями к репутации;
— Неверное окрашивание имен пользователей в истории;
— (что еще?)
Вложения
reputation-system-0.1.0dev.zip
Reputation System v0.1.0 Dev
(80.75 КБ) 768 скачиваний
Последний раз редактировалось Oleg NT 09.03.2022 8:37, всего редактировалось 5 раз.
Аватара пользователя
sl1m
phpBB 1.2.1
Сообщения: 24
Стаж: 15 лет 4 месяца
Откуда: Астрахань
Поблагодарили: 1 раз

Re: [DEV] Reputation System

Сообщение sl1m »

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

		$template->assign_vars(array(
			'L_POSTS_IN_QUEUE'	=> $user->lang('NUM_POSTS_IN_QUEUE', $member['posts_in_queue']),
Несмог найти у себя данные строчки в файле memberlist.php

Пихнул вот это

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

		// Reputation START
		$user->add_lang(array('mods/reputation'));
		$reputation = '<a href="' . append_sid("{$phpbb_root_path}reputation.$phpEx", 'u=' . $user_id) . '" title="' . $user->lang['REPUTATION_VIEW_HISTORY'] . '"><strong>' . $member['user_reputation_total'] . '</strong></a> [ &minus;' . $member['user_reputation_minuses'] . '/+' . $member['user_reputation_pluses'] . ' ]';
		// Reputation END
перед данным кодом

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

		// Display a profile
		if ($user_id == ANONYMOUS && !$username)
		{
			trigger_error('NO_USER');
		}
Но мод так и не встал :(

Добавлено спустя 4 минуты 45 секунд:
При нажатии на пользователя выдает
Language file reputation.php couldn't be opened.
Аватара пользователя
Oleg NT
Former team member
Сообщения: 450
Стаж: 18 лет 3 месяца
Откуда: Нижний Тагил
Поблагодарили: 11 раз
Контактная информация:

Re: [DEV] Reputation System

Сообщение Oleg NT »

sl1m писал(а):Несмог найти у себя данные строчки в файле memberlist.php
А я нашел. В файле memberlist.php из оригинального дистрибутива phpBB 3.0.3. Попробуйте поискать по части подстроки, например:

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

L_POSTS_IN_QUEUE
sl1m писал(а):Пихнул вот это: <...> перед данным кодом: <...>
Неправильно пихнули. Потому что в добавляемом блоке используется переменная $member, а она объявляется чуть позже.

А вот почему
sl1m писал(а):Language file reputation.php couldn't be opened.
, я так и не понял.
Дайте сюда memberlist.php (прикрепляется в форме полного ответа, файл предварительно заархивировать)
Аватара пользователя
sl1m
phpBB 1.2.1
Сообщения: 24
Стаж: 15 лет 4 месяца
Откуда: Астрахань
Поблагодарили: 1 раз

Re: [DEV] Reputation System

Сообщение sl1m »

memberlist.rar
Форум обновил до 3.0.3
Аватара пользователя
Oleg NT
Former team member
Сообщения: 450
Стаж: 18 лет 3 месяца
Откуда: Нижний Тагил
Поблагодарили: 11 раз
Контактная информация:

Re: [DEV] Reputation System

Сообщение Oleg NT »

Как-то плохо обновили. Я смотрю на оригинальные файлы от phpBB 3.0.3, там такая строчка есть (я про L_POSTS_IN_QUEUE).

В вашем случае тогда надо искать строчки

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

		$template->assign_vars(array(
			'POSTS_DAY'			=> sprintf($user->lang['POST_DAY'], $posts_per_day),
и перед ними вставлять.

Файл root/language/ru/mods/reputation.php, прилагаемый к инструкции по установке, поместили в language/ru/mods/reputation.php?
Аватара пользователя
sl1m
phpBB 1.2.1
Сообщения: 24
Стаж: 15 лет 4 месяца
Откуда: Астрахань
Поблагодарили: 1 раз

Re: [DEV] Reputation System

Сообщение sl1m »

Oleg NT писал(а):Файл root/language/ru/mods/reputation.php, прилагаемый к инструкции по установке, поместили в language/ru/mods/reputation.php?
Сделал, как Вы сказали. Теперь ошибки не выдает, а просто при нажатии на юзера белое поле браузера. Что это могло бы быть?
Аватара пользователя
Oleg NT
Former team member
Сообщения: 450
Стаж: 18 лет 3 месяца
Откуда: Нижний Тагил
Поблагодарили: 11 раз
Контактная информация:

Re: [DEV] Reputation System

Сообщение Oleg NT »

Смотрите отчеты ошибок сервера.
Аватара пользователя
sl1m
phpBB 1.2.1
Сообщения: 24
Стаж: 15 лет 4 месяца
Откуда: Астрахань
Поблагодарили: 1 раз

Re: [DEV] Reputation System

Сообщение sl1m »

Забыл про папку templates. Прошу меня извенить. Теперь полностью уверен, что все добавил. Вроде работает но... если тема создана мной и в ней одно мое сообщение то все нормально. Если же в теме по мимо меня еще кто то оставил сообщение то выдает данную ошибку:
Общая ошибка
SQL ERROR [ mysql4 ]
Table 'forum.reputation_table' doesn't exist [1146]
SQL
SELECT COUNT(*) AS reputation_cnt FROM REPUTATION_TABLE r WHERE r.reputation_to = 238 AND r.reputation_from = 621 AND r.reputation_post = 65706
BACKTRACE
FILE: includes/db/mysql.php
LINE: 158
CALL: dbal->sql_error()
FILE: viewtopic.php
LINE: 1429
CALL: dbal_mysql->sql_query()
Я так понимаю, нет данной таблицы?
Table 'forum.reputation_table' doesn't exist
Добавлял в базу, как написано в инструкции

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

INSERT INTO `phpbb_config` (`config_name`, `config_value`, `is_dynamic`) VALUES ('reputation_max_comments', '2', 0), ('reputation_min_posts', '10', 0);
CREATE TABLE `phpbb3_reputation` (
	`reputation_id` mediumint(8) unsigned NOT NULL auto_increment,
	`reputation_to` mediumint(8) unsigned NOT NULL default '0',
	`reputation_from` mediumint(8) unsigned NOT NULL default '0',
	`reputation_comment` mediumtext collate utf8_bin NOT NULL default '',
	`reputation_time` int(11) unsigned NOT NULL default '0',
	`reputation_type` tinyint(1) unsigned NOT NULL default '0',
	`reputation_post` mediumint(8) unsigned NOT NULL default '0',
	`reputation_read` tinyint(1) unsigned NOT NULL default '0',
	PRIMARY KEY  (`reputation_id`)
	) DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
ALTER TABLE `phpbb_users`
	ADD `user_reputation_pluses` mediumint(8) NOT NULL default '0',
	ADD `user_reputation_minuses` mediumint(8) NOT NULL default '0',
	ADD `user_reputation_total` mediumint(8) NOT NULL default '0',
	ADD `user_reputation_ban` tinyint(1) unsigned NOT NULL default '0';
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 17 лет 10 месяцев
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 454 раза
Контактная информация:

Re: [DEV] Reputation System

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

sl1m
В constants.php ничего не забыли добавить?
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
sl1m
phpBB 1.2.1
Сообщения: 24
Стаж: 15 лет 4 месяца
Откуда: Астрахань
Поблагодарили: 1 раз

Re: [DEV] Reputation System

Сообщение sl1m »

Палыч
Я даже незнаю. В инструкции про constants.php ни че нет.
Аватара пользователя
FladeX
Former team member
Сообщения: 1935
Стаж: 16 лет 10 месяцев
Откуда: Саранск
Благодарил (а): 7 раз
Поблагодарили: 59 раз
Контактная информация:

Re: [DEV] Reputation System

Сообщение FladeX »

Да там префиксы разные))
sl1m, будьте внимательнее - у вас для INSERT один префикс, а для CREATE - совсем другой.
//
// Okay, let's do the loop, yeah come on baby let's do the loop
// and it goes like this ...
| phpBB Adept ] | Каталог форумов | генератор sitemap для форумов | форум про форумы
Аватара пользователя
sl1m
phpBB 1.2.1
Сообщения: 24
Стаж: 15 лет 4 месяца
Откуда: Астрахань
Поблагодарили: 1 раз

Re: [DEV] Reputation System

Сообщение sl1m »

FladeX писал(а):Да там префиксы разные))sl1m, будьте внимательнее - у вас для INSERT один префикс, а для CREATE - совсем другой.
Если чесно я немного не пойму... Причем здесь префикс. Не судите строго...

Добавлено спустя 44 секунды:
Если можно более подробнее напишите
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 17 лет 10 месяцев
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 454 раза
Контактная информация:

Re: [DEV] Reputation System

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

sl1m
Добавьте

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

== OPEN ==
includes/constats.php
== FIND ==
define('REPORTS_REASONS_TABLE',		$table_prefix . 'reports_reasons');
== AFTER ADD ==
define('REPUTATION_TABLE',		$table_prefix . 'reputation');
FladeX
Пусть это будет на совести автора

Добавлено спустя 3 минуты 19 секунд:
sl1m
то, что перед названием таблицы - это префикс. У вас он может быть другой.
Если вы устанаваливали конференцию по умолчанию, то ваш префикс, скорее всего phpbb_
Тогда эту инструкцию

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

CREATE TABLE `phpbb3_reputation`
выполните так

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

CREATE TABLE `phpbb_reputation`
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
sl1m
phpBB 1.2.1
Сообщения: 24
Стаж: 15 лет 4 месяца
Откуда: Астрахань
Поблагодарили: 1 раз

Re: [DEV] Reputation System

Сообщение sl1m »

Палыч
Сделал как Вы написали. Ошибка также не уходит. При этом появилось
repa.JPG
Добавлено спустя 4 минуты 48 секунд:
Oleg NT
FladeX
Палыч
Благодарю Вас. Все зароботало. Вопрос остался один. Как убрать данную ссылку на приведенном мною скрине?
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 17 лет 10 месяцев
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 454 раза
Контактная информация:

Re: [DEV] Reputation System

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

sl1m писал(а):. Ошибка также не уходит.
Какая?
sl1m писал(а):При этом появилось
Hу а language/ru/reputation.php кто будет на место заливать?
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Закрыто

Вернуться в «Бета-версии модов для phpBB 3.0.x»