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

[1.x.x]Reputation Mod


d1pro

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

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

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

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

  • theIggs

    theIggs 87 публикаций

  • d1pro

    d1pro 39 публикаций

  • ilz

    ilz 22 публикации

  • Song

    Song 20 публикаций

DarkShaman

Дык, проверяли, блин... На локалке и на форуме - вроде все правильно, а не пашет. Причем Даверт ставил у себя, а я у себя... Вдвоем одну ошибку сделали?

Стоит модифицированный 1.2 от IgorekM.

Кстати, а русской админки для репы не будет?

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

Вот держите уже залитый в файлы мод репутации....

Ставил на чистый, модифицированный IPB v.1.2 от IgorekM

У меня работал...Скачать можно по этой ссылке тут

Да и немного русифицировал админку этого мода...

Отпишитесь, если работает...

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

У меня в системе репутация после имени пользователя стоит [Голосование запрещено!]

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

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

Шепот

Как узнать, чем вызвана эта причина запрета

там не пишется причина запрета...

как ее снять с него?

В Админцентр -> Поиск пользователей

А запретить голосовать в репутации может только администратор

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

Lender

Пытался так делать. Никаких запретов на голосование у этого пользователя не стоит. Но вот какое интересное дело. Если я сохраняю профиль пользователя, то у него слетает "Репутация" (сами благодарности и замечания остаются) и он может голосовать, а после того как провожу "Пересчет репутация" - репутация снова становится прежней, но вновь появляется "Голосование запрещено!". Почему-то только у конкретного пользователя (((

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

Davert

У меня было такое.

После переделки всё стало Ок. Так что где-то ошибся.

И я думаю, что в запросе. Насколько я помню, там был какой-то прикол :D какой-то кусок кода похож на другой, т.е. мог ошибиться, хотя я могу путать и с другим хаком.

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

Кто нибудь сталкивался с таким:

юзвери очень умные пошли и подменяют в ссылке, которая на кнопке + репутации меняют mid на свой, в результате форум выдаёт ошибку, что типа Вы не можете поставить себе репутацию, но репутацию ставит!

Т.е. бага в этом кусочке, но здесь всё нормально!

    function add_rep($memid=0)
    {
        global $ibforums, $DB, $std, $print;
                
  if ($ibforums->member['id'] != $memid)
  
  {
         $level = $this->get_rep($memid);
  	
         if (empty ($level) ) $level = 0;
  	
         $this->update_rep($level+1, $memid);
  	
         $print->redirect_screen($ibforums->lang['add_success']."$this->message", "act=rep&CODE=03&mid=".$memid."&t=".$ibforums->input['t']."&f=".$ibforums->input['f'] );
     }
  else
    	{
     	$std->Error( array( LEVEL => 1, MSG => 'rep_self') );
     }
    }

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

Кто нибудь сталкивался с таким:

юзвери очень умные пошли и подменяют в ссылке, которая на кнопке + репутации меняют mid на свой, в результате форум выдаёт ошибку, что типа Вы не можете поставить себе репутацию, но репутацию ставит!

Т.е. бага в этом кусочке, но здесь всё нормально!

 

CODE

 

    function add_rep($memid=0)

    {

        global $ibforums, $DB, $std, $print;

               

  if ($ibforums->member['id'] != $memid)

 

  {

         $level = $this->get_rep($memid);

  

         if (empty ($level) ) $level = 0;

  

         $this->update_rep($level+1, $memid);

  

         $print->redirect_screen($ibforums->lang['add_success']."$this->message", "act=rep&CODE=03&mid=".$memid."&t=".$ibforums->input['t']."&f=".$ibforums->input['f'] );

     }

  else

     {

      $std->Error( array( LEVEL => 1, MSG => 'rep_self') );

     }

    }

Правильно, сначала идет обновление репутации ($this->update_rep($level+1, $memid);), а потом уже else на ошибку. Надо было сначала ошибку выводить, а потом, если нет ошибки, то уже обновлять инфу. Или чтобы функция update_rep проверяла еще раз дающие ей данные о юзере, но об этом я уже представления не имею!

IMHO :D

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

Oska

Там же стоит if ($ibforums->member['id'] != $memid)

т.е. оно срабатывает и управление на блок

    $level = $this->get_rep($memid);
   
         if (empty ($level) ) $level = 0;
   
         $this->update_rep($level+1, $memid);

Не переходит.

Я попробовал наоборот : if ($ibforums->member['id'] == $memid) {ошибка} else {change}

Тоже самое.

 

Более того, я вообще убрал строки

         $level = $this->get_rep($memid);
   
         if (empty ($level) ) $level = 0;
   
         $this->update_rep($level+1, $memid);
   
         $print->redirect_screen($ibforums->lang['add_success']."$this->message", "act=rep&CODE=03&mid=".$memid."&t=".$ibforums->input['t']."&f=".$ibforums->input['f'] );

И когда повышаешь репутацию, выскакивает белый экран, но когда смотришь инфу по юзеру, рейтинг там уже засчитан!

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

Да, я что-то запутался, поэтому под конец и добавил IMHO. Да, ты прав. Ответить на проблему не смогу по причине, что я не знаком с модом. Там значит надо глубже лезть.

P.S. Извиняюсь, что влез в тему, не зная мода.

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

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

Может, lang-файл недокачался? Кинь-ка сюда его текст. ;)

 

Song

Кто нибудь сталкивался с таким:

Ого! Проверим. Секьюрити - не самая проработанная часть мода... :D

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

Song

Кстати, судя по коду, не самая последняя версия мода стоит?.. Обновляцца надо, в новых версиях таких проблем чуть меньше.

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

theIggs

Дай ссылочку на самую последнюю версию, если она тебе доступна. Я брал с ibplanet вроде.

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

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

Установил все заново и все равно тажа ошибка, модет из-за того что я ставоб на версию 1.3 ? Хотя мне сказли что этот хак и на 1.3 спокойно идет..
Ссылка на комментарий
Поделиться на других сайтах

Song

Дай ссылочку на самую последнюю версию, если она тебе доступна. Я брал с ibplanet вроде.

Вроде http://www.nvkz.kuzbass.net/thrashmp3/hack/Reputation23.zip

 

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

Нет, не должна, хотя обещаю проверить.

Там раньше можно было ещё подменить номер поста, за который ставится репа, например (т.е. ID темы, форума, поста указать от балды, а ID мембера поставить свой).

Вообще в 2.3 я много потёр из наследства Карма Хака, так что должно нормально быть...

 

Интересно, а lang файл при чём?

При этом:

Я поставил этот хак и посмотрите вверх страницы http://atfix.com/forum/index.php?&act=rep&CODE=totals

Как это убрать ????

У меня в верху страницы только

Parse error: parse error, expecting `')'' in /usr/home/atfix/public_html/forum/lang/en/lang_rep.php on line 41

 

Warning: Invalid argument supplied for foreach() in /usr/home/atfix/public_html/forum/sources/functions.php on line 1275

(Ожидается скобка на 41ой строчке в файле en/lang_rep.php)

Или я чего-то недопонимаю? :D

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

В файле lang_rep.php на 41-ой строчке нету никакой скобки !!

Ты прав как никогда! Именно это он тебе и пишет!

Добавь эту злосчастную скобку!

И кинь, наконец, сюда злосчастный текст этого злосчастного файла!

:D

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

Так я не понял куда именно ставить кнопку ! Вот тект этого файла :

 

<?php

$lang = array (

'multi_pages' => "Страниц:",
'disallow_rep' => "[Голосование <font color='red'>запрещено</font>!]",

'add_success' => "репутация успешно добавлена.",
'rem_success' => "репутация успешно уменьшена.",
'del_success' => "изменение репутации аннулировано.",

'no_post_right' => "этот пользователь потерял право постить в форум из-за низкой репутации.",

'ptitle' => "Изменение репутации",
'pnav' => "Изменение репутации",
'stitle' => "Статистика изменений репутации",
'snav' => "Статистика репутации",
'btitle' => "Статистика в целом по форуму",
'bnav' => "Статистика репутации",
'fill' => "Пожалуйста, заполните форму",
'whosename' => "Кому изменяем репутацию:",
'yourname' => "Ваше имя:",
'reason' => "Причина изменения репутации:",
'act' => "Метод:",
'raise' => "Повышение репутации",
'lower' => "Понижение репутации",
'go' => "Готово",

'user' => ":: участника",
'who' => "От кого",
'whom' => "Кому",
'where' => "За пост",
'why' => "Причина",
'code' => "Оценка",
'when' => "Дата",

'undo_change' => "Отменить",
'back' => "Назад",
'no_changes' => "Пусто",
'allow_anon' => "[Может голосовать анонимно]"
'disallow_anon' => "[<font color='red'>Не может</font> голосовать анонимно]",

'no_topic' => "Перемещена или удалена",
'vote_anon' => "Анонимно",
'is_anon' => "Аноним",

'has_changed' => "голосовал",
'has_times' => "раз",

'sort_by_name' => "Именам",
'sort_by_rep' => "Количеству голосов, полученных",
'sort_by_rep_changes' => "Количеству голосов, отданных",
'descending_order' => "Порядке убывания",
'ascending_order' => "Порядке возрастания",
'sorting_text' => "Показать по <#SORT_KEY#> в <#SORT_ORDER#> с <#MAX_RESULTS#> результатами на страницу",
'sort_submit' => "OK!",

'member' => "Имя пользователя",
'given' => ", отдано",
'details' => "[Подробно]",

'len_max' => "Максимально допустимое число символов в сообщении: ",
'len_current' => " Вы уже использовали ",
'len_symbols' => " символов",

);
?>

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

! :) Интересно, кто это так опростоволосился, когда писал файл? ;)

'allow_anon' => "[Может голосовать анонимно]"

Вот в этой строчке нужно добавить в конце запятую. :D

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


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

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

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