Перейти к контенту

[1.x.x]Система репутаций


Рекомендуемые сообщения

Итак, новая версия (1.1.0, от 3 июля 2003) выложена в Архив.

Дополнений важных мало, но желательно обновиться сейчас. Я разделил, наконец, систему репутаций и Карма Хак (теперь можно их параллельно ставить и работать). Дальнейшие версии будут базироваться именно на 1.1.0.

Обновиться с 1.1 до 1.1.0 можно при помощи вот этого скрипта (проверял на своей демке на http://anime.kuzbass.com/test, вроде работает :D)

http://www.nvkz.net/thrashmp3/hack/upgrade11to110.zip

 

Для ike333 добавлен Авторитет в килограммах. ;)

ike333, спасибо за кучу предложений. Потихоньку начну реализовывать остальное, если практика в институте не прижмёт :) , то даже на этих выходных.

Ссылка на комментарий
Поделиться на других сайтах

  • Ответы 91
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

Тебе спасибо.

Только сегодня руки дошли проапгрейдиться. Самое оно. Респект.

 

Единственное, в Статистике изменений репутации "За пост в теме" перестал быть нормальной ссылкой -- выдает только blablabla/forum/ и фсё :D Никаких index.php?итакдалее

Если это у меня хаки наложились неудачно, подскажи где это обрабатывается и выводится, плиз.

Ссылка на комментарий
Поделиться на других сайтах

ike333

Правильно, это же баг! :);)

 

Где-то в skin_rep.php есть такое:

'$url'

Нужно заменить на:

'{$i['url']}'

 

Можно просто скачать хак из архива заново и перезаписать skin_rep.php.

 

ike333, спасибо за тестинг. :D

Ссылка на комментарий
Поделиться на других сайтах

Ну вот мы и добрались до анонимов... :D

11.07.2003, версия 1.1.1 выложена в Архив.

Отдельный скрипт обновления и тестовая версия будут готовы сегодня ночью (даст бог).

Пока требуется помощь в поиске багов и прочей живности.

 

Список обновлений:

  • Общая статистика репутаций по всем пользователям (ник, сколько репутации имеет, сколько раз плюсовал/минусовал репутацию).
     
  • Статистика репутаций по каждому пользователю: теперь при клике на ник попадаем на альтернативный вариант статистики (т.е. кому, когда и что плюсовал данный пользователь).
     
  • Возможность отключить анонимное голосование на всём форуме и каждому пользователю лично.
     
  • Админы всегда видят истинную личину анонимов.
     
  • Анониму можно назначить другое название в зависимости от того, понижал аноним репутацию или повышал (например, если анонимно повышал репутацию, то "Доброжелатель", а если понижал, то "Трусишка" ;)).
     
  • Можно назначить префикс к статусу для имеющих репутацию больше или меньше определённого значения. (Например, был у нас пользователь со статусом 'Ньюбик'. Ставим настройки: префикс 'Крутой' при репутации 10, префикс 'Мерзкий' при репутации -10. Если пользователь набирает +11 репутации, то его статус заменяется на 'Крутой Ньюбик', а если падает ниже -10, то на 'Мерзкий Ньюбик'.)
     
  • Возможность разрешить пользователям самим менять свой статус в Профиле при наборе определённого значения репутации (сейчас можно разрешить такую фишку за определённое количество сообщений).
     
  • Возможность админам аннулировать отдельные изменения репутации (например, содержащие оскорбления). Удалять изменения своей репутации админ не может, т.к. 1) надо прислушиваться к людям, блин! и 2) всё равно такие, кто наезжает на админа, долго не живут :) .
     
  • Ссылочка "За пост в теме" в Статистике репутаций будет теперь вести прямо на тот пост, за который была изменена репутация. (Распространяется только на те изменения репы, которые будут сделаны после обновления.)

Вроде всё.

Где я опять глюков напустил? :)

Ссылка на комментарий
Поделиться на других сайтах

Нда, похоже, не будет скрипта обновления... Рухнул мой любимый anime.kuzbass.com/test. ;) Что ж, тогда обновляемся дедовским методом - просто сносим версию 1.1.0, а потом ставим заново версию 1.1.1.

Единственно что, db_hack.php для обновления надо будет взять отсюда:

http://www.nvkz.net/thrashmp3/hack/db_hack.php

 

Тестовая версия будет теперь на rep.u9.ru, милости прошу всех заценить. :D

Ссылка на комментарий
Поделиться на других сайтах

theIggs

Спасибо за новую версию. Рульно.

 

Извини, что в таком виде, но то, что я посчитал багами, в общем-то мелочь, я её и исправил сам для себя. Список изменений можешь забрать здесь. Как оно теперь выглядит показать не могу, потому, что гостям по какой-то причине CODE=totals запрещен :D Буду рад, если тебе что-нибудь из этого пригодится -- мне же при следующем апгрейде меньше изменять ;) В принципе, это только начало чего я для себя буду менять в том же духе. Если остальное потребуется -- маякни.

Ссылка на комментарий
Поделиться на других сайтах

Давай попробуем так. Txt в ссылке выше тоже поменял -- должен теперь работать.

Сорри.

Изменено пользователем ike333
Ссылка на комментарий
Поделиться на других сайтах

проблемка небольшая возникла, помогите плиз.

я установил 1.1.1 версию хака и у меня теперь в топике два раза повторяется слово "Репутация" , а найти гдее это может прятатся я не смог.

 

А в профиле 2 раза повторяется в чём мерию карму пишется почему-то...

 

ПРошу прощения за беспокойство.. Продублировал два раза текст. ( спать пора :D )

Изменено пользователем my4a4oc
Ссылка на комментарий
Поделиться на других сайтах

Опять траблы: при попытке дать +/- к репе мне выдается сообщение "Обнаружена ошибка. Если Вам неизвестны причины ошибки, попробуйте обратиться к файлам помощи.

 

Обнаружена ошибка:

 

Некоторые требуемые файлы отсутствуют. Если Вы хотели просмотреть етму, возможно эта тема перемещена или удалена. Вернитесь назад и попробуйте снова. "

 

Вай ? Всё установлено верно, все файлы на сервер загружены

Ссылка на комментарий
Поделиться на других сайтах

всё заработало. Правда пришлось переставлять хак. Очевидно, что не работало из-за того, что ставил хак в 5 утра :D

сорри за беспокойство

Ссылка на комментарий
Поделиться на других сайтах

что-то не так у меня... в профиле пользователя всё-ткие дублируется то, в чём выражается репутация.

откуда берется второе "у.е" ( это у меня в них репка выражается) не могу понять :D

Был добавлен только код

            <tr>
             <td align='left' valign='top'><b>{$ibforums->vars['rep_name']}:</b></td>
             <td align='left'>{$info['rep']} <a href='{$ibforums->vars['board_url']}/index.php?s={$ibforums->session_id}&act=rep&CODE=03&mid={$info['mid']}'>{$ibforums->lang['rep_details']}</a></td>
           </tr>

после кода

            <tr>
             <td align='left' valign='top'><b>{$ibforums->lang['siggie']}</b></td>
             <td align='left'>{$info['signature']}</td>
	 </tr>

 

помогите плиз

Ссылка на комментарий
Поделиться на других сайтах

my4a4oc

Сейчас смотрел...

Сколько раз у тебя в Profile.php встречается

$ibforums->vars['rep_postfix']

?

У меня оно там два раза, рядом с if, в then-части и в else-части... Не может же одно и то же условие одновременно выполняться и не выполняться ;), или у меня глюки с логикой? :D

Ссылка на комментарий
Поделиться на других сайтах

theIggs

в 1.1.1 версии все замечательно, кроме одной фишки в профиле пользователя:

если у юзера "Статус" дается за посты, то в профиле пишется "Статус: Нет информации" (даже на этом форуме так)

так вот если сделать, чтоб за +/-15 репы появлялась какая-нить приставка, то в профиле будет "Статус: {приставка} Нет информации"

хочется, чтоб вместо "нет информации" писал статус юзера положенный по кол-ву постов. :D

Ссылка на комментарий
Поделиться на других сайтах

23 июля обновление до версии 1.1.2.

Замеченные баги здесь: http://forum.ru-board.com/topic.cgi?forum=...c=0084&start=60

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

 

Порядок обновления с версии 1.1.1:

1. Скачиваем архив, заменяем файлы Reputation.php, skin_rep.php, lang_rep.php на новые.

2. При помощи readme.txt обновляем следующие файлы:

Profile.php

functions.php

ad_member.php

ad_settings.php

lang_error.php

(остальные файлы не изменяются)

3. Качаем db_hack.php отсюда:

http://www.nvkz.kuzbass.net/thrashmp3/hack...ck/db_hack2.php

Запускаем его на сервере.

 

PS Поделитесь кто-нибудь с развитой системой репы дампом таблицы ibf_reputation, а то мне нормально потестировать негде. :D

Ссылка на комментарий
Поделиться на других сайтах

james

Замечание по существу, но не совсем по адресу. :D

Сразу же исправил действия для Profile.php в архиве, теперь приставка не будет добавляться, если статуса нет.

 

Что же касается "по количеству постов" - это просится уже в отдельный хак, т.к. Мэтт упорно считает, что определённый постами статус в профиль выносить не надо. ;)

Нужно просто сделать отдельный хак, а система репы сама с ним интегрируется, т.к. она только приставку добавляет...

Ссылка на комментарий
Поделиться на других сайтах

For james: :D

 

Открыть Profile.php

Найти:

 

var $member     = array();

 

Ниже добавить:

 

var $mem_titles = array();

 

Найти:

 

  $this->member  = $ibforums->member;
 $this->m_group = $ibforums->member;

 

Ниже добавить:

 

        $DB->query("SELECT id, title, pips, posts from ibf_titles ORDER BY posts DESC");
       while ($i = $DB->fetch_row())
       {
         $this->mem_titles[ $i['id'] ] = array(
            'TITLE' => $i['title'],
            'PIPS'  => $i['pips'],
            'POSTS' => $i['posts'],
             );
       }

 

Найти:

 

   	 $info['member_title'] = $member['title']     ? $member['title']      : $ibforums->lang['no_info'];

 

Заменить на:

 

  foreach($this->mem_titles as $k => $v)
 {
	 if ($member['posts'] >= $v['POSTS'])
	 {
   if (!$member['title'])
   {
  	 $member['title'] = $this->mem_titles[ $k ]['TITLE'];
   }
   break;
	 }
 }
  	 
  	 $info['member_title'] = $member['title'];

Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...

Всё работает нормально кроме одной вещи. Когда я даю или отнимаю репутацию у кого-то и указываю почему и нажимаю на кнопку ок, у меня появляется белая страница с ошибкой, подскажите как её исправить.

 

мой форум: Invision board 1.1 Final. Есть так же phpmyadmin.

 

mySQL query error: SELECT r.*, m.name, t.title FROM ibf_reputation r
               LEFT JOIN ibf_members m ON (m.id=r.from_id)
               LEFT JOIN ibf_topics t ON (r.forum_id=t.forum_id AND r.topic_id=t.tid)
               WHERE r.member_id='2' ORDER BY r.msg_date DESC
               LIMIT 0, 

mySQL error: You have an error in your SQL syntax near '' at line 5
mySQL error code: 1064
Date: Tuesday 05th of August 2003 06:35:13 PM

Ссылка на комментарий
Поделиться на других сайтах

мой форум у меня на локалке, IP у меня постоянный связь со мной по аське 29900284 в инете я целый день. Жду помощи.
Ссылка на комментарий
Поделиться на других сайтах

пара предложений:

1. думаю нужно добавить ограничение на размер коммента к повышению/понижению репы, чтоб не злоупотребляли.

2. так же есть идея добавить смайлы (как в обычном сообщении, с ограничением по кол-ву смайлов).

Ссылка на комментарий
Поделиться на других сайтах


×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.