Trund Опубликовано 16 Апреля 2006 Жалоба Поделиться Опубликовано 16 Апреля 2006 Теперь новая проблема - некоторым юзерам стало запещено менять репутацию (Аминистратор запретил Вам менять...). В админке всё правильно. Кто-нибудь наконец нашёл решение проблемы? Или уже есть новая улучшенная версия репутации? Ставил мод из архива (с этой темы). Ссылка на комментарий Поделиться на других сайтах Прочее
vinsit Опубликовано 6 Июля 2006 Жалоба Поделиться Опубликовано 6 Июля 2006 После пересчета репутации все отрицательные значения округляются до нуля, хотя в подробнее все изменения на месте. Помогите разобраться, где искать ошибку. http://forum.vinsit.ru/index.php?act=rep&CODE=totals Ссылка на комментарий Поделиться на других сайтах Прочее
WARfromTEARS Опубликовано 16 Июля 2006 Жалоба Поделиться Опубликовано 16 Июля 2006 у меня на форуме не показывается сколько репутации отданов чем ошибка??? Ссылка на комментарий Поделиться на других сайтах Прочее
DANMASTER Опубликовано 22 Июля 2006 Жалоба Поделиться Опубликовано 22 Июля 2006 vinsit, а ты случайно не сам в админцетре ставишь отридцательную репутацию? Ведь пересчёт для того и нужен, чтобы от всяких накрутов и сбоев показывалась только истинная карма. WARfromTEARS, проблема в том, что ты не до конца установил мод или не следовал инструкции, а вообще проверь наличие в skin_topic.php в самом начале в классе skin_topic функцию:function rep_options_links($stuff) { global $ibforums; return <<<EOF [ <a href='{$ibforums->base_url}act=rep&CODE=01&mid=$stuff[mid]&f=$stuff[f]&t=$stuff[t]&p=$stuff[p]'>+</a> | <a href='{$ibforums->base_url}act=rep&CODE=02&mid=$stuff[mid]&f=$stuff[f]&t=$stuff[t]&p=$stuff[p]'>—</a> ] EOF; } и наличие строчки: {$author['rep']} {$post['rep_options']}, рядом с <!--$ author[field_1]--> Ссылка на комментарий Поделиться на других сайтах Прочее
WARfromTEARS Опубликовано 23 Июля 2006 Жалоба Поделиться Опубликовано 23 Июля 2006 vinsit, а ты случайно не сам в админцетре ставишь отридцательную репутацию? Ведь пересчёт для того и нужен, чтобы от всяких накрутов и сбоев показывалась только истинная карма. WARfromTEARS, проблема в том, что ты не до конца установил мод или не следовал инструкции, а вообще проверь наличие в skin_topic.php в самом начале в классе skin_topic функцию:function rep_options_links($stuff) { global $ibforums; return <<<EOF [ <a href='{$ibforums->base_url}act=rep&CODE=01&mid=$stuff[mid]&f=$stuff[f]&t=$stuff[t]&p=$stuff[p]'>+</a> | <a href='{$ibforums->base_url}act=rep&CODE=02&mid=$stuff[mid]&f=$stuff[f]&t=$stuff[t]&p=$stuff[p]'>—</a> ] EOF; } и наличие строчки: {$author['rep']} {$post['rep_options']}, рядом с <!--$ author[field_1]--> функция в порядке...строчки все есть...только они не рядом расположены,а через одну.... Ссылка на комментарий Поделиться на других сайтах Прочее
dimitry Опубликовано 27 Сентября 2006 Жалоба Поделиться Опубликовано 27 Сентября 2006 А возожно ли сделать так, чтобы репутацию могли отменять не только админы, но и супермодераторы? Ссылка на комментарий Поделиться на других сайтах Прочее
dimitry Опубликовано 27 Сентября 2006 Жалоба Поделиться Опубликовано 27 Сентября 2006 А возожно ли сделать так, чтобы репутацию могли отменять не только админы, но и супермодераторы и модераторы?Вроде бы нашел решение.Ну как я и предполагал, достаточно просто все.Оперирование только над скриптом Reputation.phpНайти:if ($ibforums->member['g_access_cp'])Заменить на:if (($ibforums->member['g_access_cp']) or ($ibforums->member['g_is_supmod'] == 1) or ($ibforums->member['is_mod']))Найти:if ($ibforums->member['g_access_cp'] and $ibforums->member['id'] != $i['member_id']) $i['admin_undo'] = "<br><a href='{$ibforums->base_url}act=rep&CODE=delete&id={$i['msg_id']}&mid={$i['member_id']}'>{$ibforums->lang['undo_change']}</a>";Заменить на:if (($ibforums->member['g_access_cp'] or ($ibforums->member['g_is_supmod'] == 1) or ($ibforums->member['is_mod'])) and $ibforums->member['id'] != $i['member_id']) $i['admin_undo'] = "<br><a href='{$ibforums->base_url}act=rep&CODE=delete&id={$i['msg_id']}&mid={$i['member_id']}'>{$ibforums->lang['undo_change']}</a>";Найти:if ($ibforums->member['g_access_cp'] and $ibforums->member['id'] != $i['member_id']) $i['admin_undo'] = "<br><a href='{$ibforums->base_url}act=rep&CODE=delete&id={$i['msg_id']}&mid={$i['member_id']}'>{$ibforums->lang['undo_change']}</a>";Заменить на:if (($ibforums->member['g_access_cp'] or ($ibforums->member['g_is_supmod'] == 1) or ($ibforums->member['is_mod'])) and $ibforums->member['id'] != $i['member_id']) $i['admin_undo'] = "<br><a href='{$ibforums->base_url}act=rep&CODE=delete&id={$i['msg_id']}&mid={$i['member_id']}'>{$ibforums->lang['undo_change']}</a>";Найти и удалить:if (! $ibforums->member['g_access_cp']) { $std->Error( array( LEVEL => 1, MSG => 'moderate_no_permission' ) ); }Найти около строки 1094:if ($ibforums->member['g_access_cp'])Заменить на:if ($ibforums->member['g_access_cp'] or ($ibforums->member['g_is_supmod'] == 1) or ($ibforums->member['is_mod']) or ($ibforums->member['id'] == $i['member_id']))Если нужно чтобы модераторы не могли отменять, а только админы и супермодеры, тогда из вышеуказанного кода замены удалите определяющие строки: or ($ibforums->member['is_mod'])При изменениях не ошибитесь в количествах открываемых и закрываемых скобок (должно, естественно, быть одинаковым)! Разработчики и спецы! Если что не так, подправьте! Ссылка на комментарий Поделиться на других сайтах Прочее
timofejm Опубликовано 2 Декабря 2006 Жалоба Поделиться Опубликовано 2 Декабря 2006 У меня не работает этот мод. Всё сделал как в ридми. Ошибка вроде в Topics.php!Помогите, можно платно! Ася - 6393639 Вроде что-то не так с линией $row['rep_options'] = $this->rep_options($poster['id'], $row['pid']); Ссылка на комментарий Поделиться на других сайтах Прочее
yHHaMeg Опубликовано 29 Декабря 2006 Жалоба Поделиться Опубликовано 29 Декабря 2006 Народ, нужна хелп, щас поставил этот мод, всё пашет, но когда хочу повысить/понизить репутацию пользователя или просмотреть изменения репутации, то выкидывает на главную страницу! помогите плииз! Ссылка на комментарий Поделиться на других сайтах Прочее
M-K Опубликовано 23 Января 2007 Жалоба Поделиться Опубликовано 23 Января 2007 А что такое "Репутация, отдано"? И почему оно пустое? Ссылка на комментарий Поделиться на других сайтах Прочее
SINDEX Опубликовано 23 Февраля 2007 Жалоба Поделиться Опубликовано 23 Февраля 2007 Чтобы установить этот мод нужни запросы в базу даных я нефига в ней ничего не понимаю, пожалуйста объясните мне всё пошагово вот запросы ALTER TABLE `ibf_members` ADD `reputation` INT NOT NULL; ALTER TABLE `ibf_members` ADD `rep_allow` TINYINT( 1 ) DEFAULT '1' NOT NULL; ALTER TABLE `ibf_members` ADD `rep_notify` TINYINT( 1 ) DEFAULT '0' NOT NULL; CREATE TABLE `ibf_reputation` ( `id` int(11) NOT NULL auto_increment, `from_user` int(11) NOT NULL default '0', `to_user` int(11) NOT NULL default '0', `forum` int(11) NOT NULL default '0', `topic` int(11) NOT NULL default '0', `post` int(11) NOT NULL default '0', `created` int(11) NOT NULL default '0', `message` text NOT NULL, `rating` int(11) NOT NULL default '0', `anonym` TINYINT(1) NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ); Ссылка на комментарий Поделиться на других сайтах Прочее
dimitry Опубликовано 23 Февраля 2007 Жалоба Поделиться Опубликовано 23 Февраля 2007 Чтобы установить этот мод нужни запросы в базу даных я нефига в ней ничего не понимаю, пожалуйста объясните мне всё пошагово вот запросыОткрываете phpmyadmin на сервере, выбираете вкладку SQL и копируете туда этот код и нажимаете "Выполнить" и все.Либо через админку, там ест опция SQL запросов в БД. Ссылка на комментарий Поделиться на других сайтах Прочее
SINDEX Опубликовано 23 Февраля 2007 Жалоба Поделиться Опубликовано 23 Февраля 2007 dimitryСпасибо большое Ссылка на комментарий Поделиться на других сайтах Прочее
Yrel Опубликовано 22 Мая 2007 Жалоба Поделиться Опубликовано 22 Мая 2007 Скажите, пожалуйста, как убрать рейтинг у администраторов и модераторов? И если стоит 100 в пункте –“Число сообщений (минимум), после которого можно пользоваться системой?” , могли повышать рейтинг модераторы и администраторы. Спасибо! Ссылка на комментарий Поделиться на других сайтах Прочее
Legion Leonhart Опубликовано 22 Мая 2007 Жалоба Поделиться Опубликовано 22 Мая 2007 у меня на форуме не показывается сколько репутации отданов чем ошибка???Та же проблема, к чему здесь совет WARfromTEARS вообще не понятно. Ставилась сразу последняя версия 2.4а.Покапавшись в БД и в Reputation.php понял что в function add_why($memid)банально не работает этот кусок // Update rep changes count for the member changing this rep $query = 'rep_do=rep_do+1'; if ($show) $query .= ', rep_do_open=rep_do_open+1'; $DB->query("UPDATE ibf_members SET $query WHERE id = {$ibforums->member['id']}"); }поскольку в БД эти поля у всех пустые, а к пустому значению 1 не прибавляется Отсюда решение: Для тех кто только установил мод и ещё репу не менял достаточно выполнить этот запросUPDATE `ibf_members` SET rep_do=0, rep_do_open=0Для тех кто ещё не ставил, в файле db_hack.php$DB->query("ALTER TABLE `ibf_members` ADD (`rep` INT(10) DEFAULT NULL, `allow_rep` TINYINT(1) DEFAULT 1 NOT NULL, `allow_anon` TINYINT(1) DEFAULT 1 NOT NULL, `rep_do` INT(10) DEFAULT NULL, `rep_do_open` INT(10) DEFAULT NULL)"); $DB->query("ALTER TABLE `ibf_groups` ADD (`g_change_rep` TINYINT(1) DEFAULT '1', `g_exclude_rep` VARCHAR(255) DEFAULT NULL)"); $DB->query("CREATE TABLE `ibf_reputation` (`msg_id` BIGINT(20) NOT NULL AUTO_INCREMENT, `msg_date` INT(10) DEFAULT NULL, `message` TEXT, `from_id` VARCHAR(32) DEFAULT NULL, `member_id` varchar(32) NOT NULL DEFAULT '0', `forum_id` SMALLINT(5) DEFAULT '0' NOT NULL, `topic_id` VARCHAR(20) DEFAULT '0' NOT NULL, `post` BIGINT(20) NOT NULL, `CODE` VARCHAR(2) NOT NULL, `vis` TINYINT(1) DEFAULT '1' NOT NULL, `comment` TEXT DEFAULT NULL, PRIMARY KEY (`msg_id`), KEY `member_id` (`member_id`)) TYPE=MyISAM"); $DB->query("CREATE TABLE `ibf_reput_ranks` (`id` SMALLINT(5) NOT NULL AUTO_INCREMENT, `amount` INT(10) DEFAULT NULL, `title` VARCHAR(128) DEFAULT NULL, PRIMARY KEY(`id`)) TYPE=MyISAM");Заменить на$DB->query("ALTER TABLE `ibf_members` ADD (`rep` INT(10) DEFAULT NULL, `allow_rep` TINYINT(1) DEFAULT 1 NOT NULL, `allow_anon` TINYINT(1) DEFAULT 1 NOT NULL, `rep_do` INT(10) DEFAULT '0', `rep_do_open` INT(10) DEFAULT '0')"); $DB->query("ALTER TABLE `ibf_groups` ADD (`g_change_rep` TINYINT(1) DEFAULT '1', `g_exclude_rep` VARCHAR(255) DEFAULT NULL)"); $DB->query("CREATE TABLE `ibf_reputation` (`msg_id` BIGINT(20) NOT NULL AUTO_INCREMENT, `msg_date` INT(10) DEFAULT NULL, `message` TEXT, `from_id` VARCHAR(32) DEFAULT NULL, `member_id` varchar(32) NOT NULL DEFAULT '0', `forum_id` SMALLINT(5) DEFAULT '0' NOT NULL, `topic_id` VARCHAR(20) DEFAULT '0' NOT NULL, `post` BIGINT(20) NOT NULL, `CODE` VARCHAR(2) NOT NULL, `vis` TINYINT(1) DEFAULT '1' NOT NULL, `comment` TEXT DEFAULT NULL, PRIMARY KEY (`msg_id`), KEY `member_id` (`member_id`)) TYPE=MyISAM"); $DB->query("CREATE TABLE `ibf_reput_ranks` (`id` SMALLINT(5) NOT NULL AUTO_INCREMENT, `amount` INT(10) DEFAULT NULL, `title` VARCHAR(128) DEFAULT NULL, PRIMARY KEY(`id`)) TYPE=MyISAM");А вот тем кто уже юзал репу, придется как то изворачиваться. Попробую сегодня с этим разобраться, так как самому надо Ссылка на комментарий Поделиться на других сайтах Прочее
Legion Leonhart Опубликовано 22 Мая 2007 Жалоба Поделиться Опубликовано 22 Мая 2007 А вот и решение проблемы:(данную операцию надо проделать всем после установки мода)Открываем файл sources\Admin\ad_settings.php и ищем $DB->query("SELECT id FROM ibf_members WHERE 1"); while ($row = $DB->fetch_row()) { $query = ''; if (!is_numeric( $users[ $row['id'] ]['rep'] )) $query .= 'rep=NULL'; else $query .= 'rep='.$users[ $row['id'] ]['rep']; $query .= ', '; if (!is_numeric( $users[ $row['id'] ]['rep_do'] )) $query .= 'rep_do=NULL'; else $query .= 'rep_do='.$users[ $row['id'] ]['rep_do']; $query .= ', '; if (!is_numeric( $users[ $row['id'] ]['rep_do_open'] )) $query .= 'rep_do_open=NULL'; else $query .= 'rep_do_open='.$users[ $row['id'] ]['rep_do_open'];и заменяем на$DB->query("SELECT id FROM ibf_members WHERE 1"); while ($row = $DB->fetch_row()) { $query = ''; if (!is_numeric( $users[ $row['id'] ]['rep'] )) $query .= 'rep=0'; else $query .= 'rep='.$users[ $row['id'] ]['rep']; $query .= ', '; if (!is_numeric( $users[ $row['id'] ]['rep_do'] )) $query .= 'rep_do=0'; else $query .= 'rep_do='.$users[ $row['id'] ]['rep_do']; $query .= ', '; if (!is_numeric( $users[ $row['id'] ]['rep_do_open'] )) $query .= 'rep_do_open=0'; else $query .= 'rep_do_open='.$users[ $row['id'] ]['rep_do_open'];Сохраняем файл.Идем в админку -> Системные настройки -> настройки репутации и делаем пересчет репы для всех пользователей.Все! Если данный кусок оставить как есть, то при пересчете репы поля rep_do и rep_do_open в БД снова станут пустыми и отданная репутация показываться не будет. Ссылка на комментарий Поделиться на других сайтах Прочее
absolvo Опубликовано 12 Июня 2007 Жалоба Поделиться Опубликовано 12 Июня 2007 Спасибо. Все работает идеально Ссылка на комментарий Поделиться на других сайтах Прочее
Рэндо Опубликовано 12 Июня 2007 Жалоба Поделиться Опубликовано 12 Июня 2007 Legion LeonhartБольшое спасибо за фикс! Теперь все работает как часы. Ссылка на комментарий Поделиться на других сайтах Прочее
M-K Опубликовано 3 Августа 2007 Жалоба Поделиться Опубликовано 3 Августа 2007 Legion Leonhart, мегаспасибо Давно хотел это исправить. А теперь вопрос, может кто знает:1) ЗАЧЕМ сделано так что админ не может отменить изменения своей репутации?? Это типо прикол?2) Это можно исправить? Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 4 Августа 2007 Жалоба Поделиться Опубликовано 4 Августа 2007 WHERE 1 - это конечно сильно Ссылка на комментарий Поделиться на других сайтах Прочее
hg_04 Опубликовано 30 Ноября 2007 Жалоба Поделиться Опубликовано 30 Ноября 2007 выдает ошибку что report_link не может вызвать, но если закоментировать код то все нормально вроде $row['report_link'] = (($ibforums->vars['disable_reportpost'] != 1) and ( $ibforums->member['id'] )) ? $this->html->report_link($row) : ""; по переставлял ф-ции местами все заработало Ссылка на комментарий Поделиться на других сайтах Прочее
DacentGS Опубликовано 3 Декабря 2007 Жалоба Поделиться Опубликовано 3 Декабря 2007 А как сделать что бы гости могли просматривать историю рептации? Ссылку я привентил уже, а вот в коде ковырятся стрёмно. Ссылка на комментарий Поделиться на других сайтах Прочее
DacentGS Опубликовано 6 Декабря 2007 Жалоба Поделиться Опубликовано 6 Декабря 2007 Кто-нибудь вообще в состоянии ответить на мой вопрос? Ссылка на комментарий Поделиться на других сайтах Прочее
Sannis Опубликовано 6 Декабря 2007 Жалоба Поделиться Опубликовано 6 Декабря 2007 Кто-нибудь вообще в состоянии ответить на мой вопрос?Нет, никто не в силах, все дибилы. Убрать из файла Reputation.php: if (! $ibforums->member['id'] ) { $std->Error( array( 'LEVEL' => 1, 'MSG' => 'not_registered' ) ); }В Profile.php убрать выделенное:if ($ibforums->member['id'] && $ibforums->vars['rep_profile'] && ( $ibforums->member['id'] != $member['id'] ) )В Topics.php заменить if ($ibforums->member['id']) { $stuff = array( 't' => $this->topic['tid'], 'f' => $this->forum['id'], 'mid' => $member['id'] ); $member['rep'] = "<a href='{$ibforums->base_url}act=rep&CODE=03&mid=".$stuff['mid']."'>".$ibforums->lang['rep_name'].":</a> ".$member['rep']; } else { $member['rep'] = $ibforums->lang['rep_name'].": ".$member['rep']; }на $stuff = array( 't' => $this->topic['tid'], 'f' => $this->forum['id'], 'mid' => $member['id'] ); $member['rep'] = "<a href='{$ibforums->base_url}act=rep&CODE=03&mid=".$stuff['mid']."'>".$ibforums->lang['rep_name'].":</a> ".$member['rep']; if (!$ibforums->member['id'] or in_array($this->forum['id'], $this->rep_exclude) or in_array($this->forum['id'], $this->rep_hide)) { return ""; } else { if (($memid) and ($ibforums->member['id'] != $memid)) { $stuff = array( 't' => $this->topic['tid'], 'f' => $this->forum['id'], 'mid' => $memid, 'p' => $pid ); return $this->html->rep_options_links($stuff); } }на if (in_array($this->forum['id'], $this->rep_exclude) or in_array($this->forum['id'], $this->rep_hide)) { return ""; } else { if (($memid) and ($ibforums->member['id'] != $memid)) { $stuff = array( 't' => $this->topic['tid'], 'f' => $this->forum['id'], 'mid' => $memid, 'p' => $pid ); return $this->html->rep_options_links($stuff); } } Как-то так. Продолжение ещё прочитай. P.S. Не раходись. Если уж выбрал такую дорогу, то не переживай. Думаешь много людей используют 1.х? Кто действительно использует, давно выучил основы ПХП и простую логиу сам исправляет, а не на ИБР ходит. а остальные помочь в этом вопросе не в силах Ссылка на комментарий Поделиться на других сайтах Прочее
Legion Leonhart Опубликовано 6 Декабря 2007 Жалоба Поделиться Опубликовано 6 Декабря 2007 Удали эту строку в файле Reputation.phpif (! $ibforums->member['id'] ) { $std->Error( array( 'LEVEL' => 1, 'MSG' => 'not_registered' ) ); }Добавил послеНет, никто не в силах, все дибилы.Врет и не краснеет Я просто редко сюда заглядываю.Sannis, описал более подробно, то бишь что не просто статистику можно было смотреть, но так же чтобы отображалась для гостей в профиле и в темах.А вот свое сообщение удалить уже не могу Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения