Страница 1 из 3

[ABD, DEV] Reputation System (для 2.0 ABD, есть DEV для 3.0)

Добавлено: 22.02.2008 6:42
Oleg NT
Еше одна реализация мода репутации.

Создавалось для своих нужд, но потом решил выложить мод сюда.

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

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

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

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

Имеется «полувозможность» запрещать кому-то изменять репутацию. Почему «полу-», потому что опять же — пока вручную в базе.

Если есть смысл продолжать работать над модом, пишите сюда. Если нет, буду развивать его только у себя на форуме :)

Имеется только русская версия.

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

Скриншоты:
Изображение
страница просмотра темы
______________________________

Изображение
страница изменения репутации пользователю
______________________________

Изображение
страница просмотра истории изменения репутации пользователю
______________________________

4 марта: исправлен недочет (не отображалась картинка направления изменения репутации в истории изменений)

5 ноября:
К сожалению, вынужден признать, что разработка мода для версии phpBB 2.0 остановлена.

Причина заключается в следующем. Основной целью написания мода было применение его на своём форуме (первоначально даже не предполагалось выкладывать его здесь в виде мода). Однако было принято решение переводить свой форум на phpBB 3.0 — вполне естественный процесс. Поэтому у меня нет резона дальше развивать мод для phpBB 2.0.

Если кому-то очень понравился мод (именно для phpBB 2.0), то есть несколько вариантов:
» Довольствоваться нынешним функционалом мода. Мод полностью рабочий, весь функционал описан в первом сообщении темы. Неудобство в том, что два параметра надо ковырять в базе вручную (до того, чтобы вбить эти два параметра в «Админпанель > Конфигурация форума», так руки и не дошли). Статус DEV обозначает не наличие каких-то «дыр», а просто скудный функционал.
» Перевести форум на phpBB 3.0 :) Поверьте, это не так страшно, как кажется на первый взгляд.
» Может быть, кто-то хочет продолжить разработку этого мода для phpBB 2.0 в качестве соавтора. Я буду этому только рад (думаю, и не только я).

Для 3.0 можно найти здесь: http://www.phpbbguru.net/community/topic23115.html

Добавлено: 22.02.2008 13:46
Вовка
:) выглядит неплохо!!

а почему аж 3 SQL запроса? :?: нельзя ли в один сделать?

Добавлено: 22.02.2008 14:03
Oleg NT
Ну, я подумал, так проще для установки :) ну ладно, сделаю 1

Добавлено: 24.02.2008 21:14
Oleg NT
Хы, кому-нибудь еще мод нужен? :)

Добавлено: 27.02.2008 14:35
Tang
Oleg NT писал(а):Хы, кому-нибудь еще мод нужен? :)
Нужен. =)

Добавлено: 04.03.2008 1:25
Ночной Волк
помогите разобраться - все установил, все работает, только когда захожу в раздел Репутация: [−1/+1] (там где история кто мне + и - ставил) не отображаются в столбике Изменения рисунки стрелочек, а выдает просто "Рисунок", как буд-то img src прописано, а ссылок на рисунки нет. Подскажите где это можна поправить?
ЗЫ рисунки стрелок закачивал на хост в то место, куда положено
Заранее благодарен

Добавлено: 04.03.2008 1:45
Oleg NT
Да, забыл:

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

#
#-----[ OPEN ]------------------------------------------ 
# 
templates/subSilver/subSilver.cfg

#
#-----[ FIND ]------------------------------------------
#
?>

# 
#-----[ BEFORE, ADD ]------------------------------------------ 
# 
//Reputation
$images['reputation_up'] = "$current_template_images/reputation_up.gif";
$images['reputation_down'] = "$current_template_images/reputation_down.gif";
Обновил файл мода в первом сообщении темы.

Добавлено: 05.03.2008 0:52
Po1soN
Кто нить ставил? отзывы будут?

Добавлено: 26.03.2008 21:18
ice_person
не получилось что т :((((

reputation.php не отрывается просто белая страница. :( Не понятно почему..
а когда заходишь в тему

ошибка:

Could not check the existance of changing the reputation for this post

разобараться бы почему..

Добавлено: 26.03.2008 21:21
Oleg NT
Хм... Так, а Вы SQL-запросы выполняли?

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

#
#-----[ SQL ]------------------------------------------
# See about config values above (in 'Author Notes')
INSERT INTO phpbb_config (config_name, config_value) VALUES ('reputation_max_comments', '2'), ('reputation_min_posts', '10');
CREATE TABLE phpbb_reputation (
  reputation_id mediumint(8) unsigned NOT NULL auto_increment,
  reputation_to mediumint(8) default 0,
  reputation_from mediumint(8) default 0,
  reputation_comment text,
  reputation_time int(11) default 0,
  reputation_type tinyint(1) default 0,
  reputation_post mediumint(8) default 0,
  reputation_read tinyint(4) default 0,
  PRIMARY KEY (reputation_id)
);
ALTER TABLE phpbb_users
  ADD user_reputation_pluses mediumint(9) default 0,
  ADD user_reputation_minuses mediumint(9) default 0,
  ADD user_reputation_total mediumint(9) default 0,
  ADD user_reputation_ban tinyint(1) unsigned default 0;

Добавлено: 26.03.2008 22:42
ice_person
Oleg NT

да .. я очень хочу модик установить понравился.

У меня в бд все bb_
и запрос был такой же :

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

INSERT INTO bb_config (config_name, config_value) VALUES ('reputation_max_comments', '2'), ('reputation_min_posts', '10');
CREATE TABLE bb_reputation (
  reputation_id mediumint(8) unsigned NOT NULL auto_increment,
  reputation_to mediumint(8) default 0,
  reputation_from mediumint(8) default 0,
  reputation_comment text,
  reputation_time int(11) default 0,
  reputation_type tinyint(1) default 0,
  reputation_post mediumint(8) default 0,
  reputation_read tinyint(4) default 0,
  PRIMARY KEY (reputation_id)
);
ALTER TABLE bb_users
  ADD user_reputation_pluses mediumint(9) default 0,
  ADD user_reputation_minuses mediumint(9) default 0,
  ADD user_reputation_total mediumint(9) default 0,
  ADD user_reputation_ban tinyint(1) unsigned default 0;
вопрос теперь в другом как мона сделать что б заработало? может что еще в коде надо править? что все написано вами я сделал..

Добавлено: 26.03.2008 22:44
Oleg NT

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

CREATE TABLE phpbb_reputation ( 
(вторая строка группы запросов) надо поменять на

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

CREATE TABLE bb_reputation ( 
Переименуйте вашу таблицу «phpbb_reputation» в «bb_reputation»

Добавлено: 26.03.2008 22:48
ice_person
да. запрос без ошибки прошел. это я счас мог ошибиться когда писал вам цитату.
но счас в бд полезу..
ася есть? :)

Добавлено: 26.03.2008 22:53
Oleg NT
есть. 8792399

Добавлено спустя 1 минуту 24 секунды:

запрос без ошибки прошел, просто создалась таблица с другим именем — phpbb_reputation, а Вам надо bb_reputation

Зайдите в БД, найдите таблицу phpbb_reputation и переименуйтее ее в bb_reputation. Должно будет все заработать

Добавлено: 27.03.2008 13:36
slb4
Всё сделал, таблицы в БД создались без ошибок (вторую я переименовал в bb_reputation), но при нажатии на свою репутацию появляется вот такое сообщение:
Could not obtain user information.

DEBUG MODE

SQL Error : 1054 Unknown column 'u.user_reputation_pluses' in 'field list'

SELECT u.username, u.user_reputation_pluses, u.user_reputation_minuses, u.user_reputation_total FROM forum_users u WHERE u.user_id = 2

Line : 271
File : reputation.php