176

Re: Reputation mod 2.0.1

Все заработало. Просто забыл убрать коммент в одной строке...
Скажите - а есть ли для мода деинсталлятор - чтоб в базе не копаться.

Поделиться

177

Re: Reputation mod 2.0.1

Нет. Будет только для форума версии 1.3

Сайт hcs

Поделиться

178

Re: Reputation mod 2.0.1

Такая проблема. Мод поставил, но в том, что вместо надписи "репутация" отображается абракадабра(( Проблема в кодировке - но в БД столько таблиц, что не знаю, куда смотреть. Не подскажите, что нужно поменять/исправить?

Поделиться

179

Re: Reputation mod 2.0.1

Только в том месте? Смотри ланг-файл, чтобы его кодировка совпадала с кодировкой сайта - lang/russian/reputation.php

Сайт hcs

Поделиться

180

Re: Reputation mod 2.0.1

hcs Спасибо огромное! Заработало!

Поделиться

181

Re: Reputation mod 2.0.1

hcs
Привет, в данном моде обнаружил грубую ошибку, не знаю, может она уже исправлена, я качал с punres.org данный мод.
Ошибка:

    
if ((($pun_user['g_rep_minus_min'] > $pun_user['num_posts']) && [b]($method=2)[/b] ) || (($pun_user['g_rep_plus_min'] >  $pun_user['num_posts']) && [b]($method=1)[/b] ))
        message($lang_reputation['Small Number of post']);

Исправление:

    
if ((($pun_user['g_rep_minus_min'] > $pun_user['num_posts']) && [b]($method==2)[/b] ) || (($pun_user['g_rep_plus_min'] >  $pun_user['num_posts']) && [b]($method==1)[/b] ))
        message($lang_reputation['Small Number of post']);

Добавлено спустя     8 минут   55 секунд:

($method=2)

тут ошибка, вместо проверки на равенство присваивание

Поделиться

182

Re: Reputation mod 2.0.1

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

Сайт hcs

Поделиться

183

Re: Reputation mod 2.0.1

Вот эту строчку

    $result = $db->query('SELECT p.poster, p.poster_id, p.posted, p.id, p.topic_id, t.subject, u.reputation_enable, r.time FROM '.$db->prefix.'posts AS p INNER JOIN '.$db->prefix.'topics AS t ON p.topic_id=t.id INNER JOIN '.$db->prefix.'users AS u ON p.poster_id = u.id LEFT JOIN '.$db->prefix.'reputation AS r ON (r.from_user_id ='.$pun_user["id"] .' AND  r.user_id = u.id) WHERE p.id='.$pid.' AND p.poster="'. $poster .'" ORDER BY r.time DESC LIMIT 0 , 1') or error('Unable to fetch post info', __FILE__, __LINE__, $db->error());

надо поменять на эту

    $result = $db->query('SELECT p.poster, p.poster_id, p.posted, p.id, p.topic_id, t.subject, u.reputation_enable, r.time FROM '.$db->prefix.'posts AS p INNER JOIN '.$db->prefix.'topics AS t ON p.topic_id=t.id INNER JOIN '.$db->prefix.'users AS u ON p.poster_id = u.id LEFT JOIN '.$db->prefix.'reputation AS r ON (r.from_user_id ='.$pun_user["id"] .' AND  r.user_id = u.id) WHERE p.id='.$pid.' AND p.poster="'. $db->escape($poster) .'" ORDER BY r.time DESC LIMIT 0 , 1') or error('Unable to fetch post info', __FILE__, __LINE__, $db->error());

иначе у меня вот на такого пользователя Qwert\\wer не получалось репутацию изменить (это я мод тестирую).
Есть подозрение, что в этом запросе дырка!

Моя сборка FluxBB 1.4

Сайт Visman

Поделиться

184

Re: Reputation mod 2.0.1

Хмхм...
Будем смотреть, спасибо.

Сайт hcs

Поделиться

185

Re: Reputation mod 2.0.1

Зачем в этом запросе

$result = $db->query('SELECT u.username, u.rep_plus AS count_rep_plus, u.rep_minus AS count_rep_minus FROM '.$db->prefix.'users AS u LEFT JOIN '.$db->prefix.'reputation as r ON r.user_id=u.id WHERE u.id='.$uid.' GROUP by u.id') or error('Unable to fetch post info', __FILE__, __LINE__, $db->error());

LEFT JOIN используется, если данные берутся только из таблицы users?
Считаю что

LEFT JOIN '.$db->prefix.'reputation as r ON r.user_id=u.id

можно убрать.

Моя сборка FluxBB 1.4

Сайт Visman

Поделиться

186

Re: Reputation mod 2.0.1

иначе у меня вот на такого пользователя Qwert\\wer не получалось репутацию изменить (это я мод тестирую).

User management - v1.3 такого пользователя даже не создает, приходится обычно регистрироваться. А баг действительно есть.

У каждого свой взгляд на мир.

Сайт coordinator

Поделиться

187

Re: Reputation mod 2.0.1

Я подумал и на всякий пожарный вообще так сделал:

    $result = $db->query('SELECT p.poster, p.poster_id, p.posted, p.id, p.topic_id, t.subject, u.reputation_enable, r.time FROM '.$db->prefix.'posts AS p INNER JOIN '.$db->prefix.'topics AS t ON p.topic_id=t.id INNER JOIN '.$db->prefix.'users AS u ON p.poster_id = u.id LEFT JOIN '.$db->prefix.'reputation AS r ON (r.from_user_id ='.$pun_user['id'].' AND r.user_id = u.id) WHERE p.id='.$pid.' ORDER BY r.time DESC LIMIT 0, 1') or error('Unable to fetch post info', __FILE__, __LINE__, $db->error());
    
    if (!$db->num_rows($result))
        message($lang_common['Bad request']);
    $target = $db->fetch_assoc($result);

  if ($target['poster'] != $poster)
        message($lang_common['Bad request']);
Моя сборка FluxBB 1.4

Сайт Visman

Поделиться

188

Re: Reputation mod 2.0.1

Буду отслеживать тему.

У каждого свой взгляд на мир.

Сайт coordinator

Поделиться

189

Re: Reputation mod 2.0.1

Ладно, тогда отсебятина от себя smile

Вывожу репутацию в строчку Активен/Неактивен. Для этого сделал в viewtopic.php так:
После

// Format the online indicator
        $is_online = ($cur_post['is_online'] == $cur_post['poster_id']) ? '<strong>'.$lang_topic['Online'].'</strong>' : $lang_topic['Offline'];

дописал это

//START Reputation Plugin for PunBB
    if ($pun_user['g_rep_enable'] == 1 && $pun_config['o_reputation_enabled'] == 1 && $cur_post['reputation_enable'] == 1 && $pun_user['reputation_enable_adm'] == 1 && $pun_user['reputation_enable'] == 1)
      if($pun_user['is_guest'] != true && $pun_user['username'] != $cur_post['username'])
      {
           $repdata='&pid=' .$cur_post['id'] . '&uid=' .$cur_post['poster_id'] .'&method=';
           $repdataplus=$repdata .'1';
           $repdataminus=$repdata .'2';
        $is_online.='&nbsp;&nbsp;<a href="./reputation.php?'.$repdataplus.'"><img src="./img/warn_add.gif" alt="+" border="0"></a>&nbsp;&nbsp;<strong><a href="reputation.php?uid='.$cur_post['poster_id'].'" title="'.$lang_reputation['Reputation'].'">'.($cur_post['count_rep_plus']-$cur_post['count_rep_minus']).'</a></strong>&nbsp;&nbsp;<a href="./reputation.php?'.$repdataminus.'"><img src="./img/warn_minus.gif" alt="-" border="0"></a>';
      }
      else
        $is_online.='&nbsp;&nbsp;<strong><a href="reputation.php?uid='.$cur_post['poster_id'].'" title="'.$lang_reputation['Reputation'].'">'.($cur_post['count_rep_plus']-$cur_post['count_rep_minus']).'</a></strong>';
//END Reputation Plugin for PunBB

и убрал вызов

<?php require(PUN_ROOT.'include/reputation/rep_viewtopic.php'); ?>

В profile.php сделал вывод репутации (ссылкой) ниже ранга пользователя, для этого в блоке if (isset($_GET['view'])... перед

$page_title = pun_htmlspecialchars($pun_config['o_board_title']).' / '.$lang_common['Profile'];

дописал

//START Reputation Plugin for PunBB
  $repa_pro = '';
  if ($pun_user['g_rep_enable'] == 1 && $pun_config['o_reputation_enabled'] == 1 && $user['reputation_enable'] == 1 && $pun_user['reputation_enable_adm'] == 1 && $pun_user['reputation_enable'] == 1)
  {
    require PUN_ROOT.'lang/'.$pun_user['language'].'/reputation.php';
    $repa_pro = "\n                            <dt>".$lang_reputation['Reputation'].": </dt>\n                            <dd><a href=\"reputation.php?uid=".$user['id']."\" title=\"".$lang_reputation['Reputation']."\">".($user['rep_plus']-$user['rep_minus'])."</a></dd>";
  }
//END Reputation Plugin for PunBB

а строчку

<dd><?php echo ($pun_config['o_censoring'] == '1') ? censor_words($user_title_field) : $user_title_field; ?></dd>

поменял на

<dd><?php echo ($pun_config['o_censoring'] == '1') ? censor_words($user_title_field) : $user_title_field; ?></dd><?php echo $repa_pro ?>
Моя сборка FluxBB 1.4

Сайт Visman

Поделиться

190

Re: Reputation mod 2.0.1

Это все дополнительный функционал, а что по поводу возможных уязвимостей и ошибок?

У каждого свой взгляд на мир.

Сайт coordinator

Поделиться

191

Re: Reputation mod 2.0.1

Reputation mod 2.0.1 возможная уязвимость. Но тут предварительные заслоны есть, в виде встроенной системы проверки ников.

Сайт hcs

Поделиться

192

Re: Reputation mod 2.0.1

Эти исправления я уже применил. Спасибо.

У каждого свой взгляд на мир.

Сайт coordinator

Поделиться

193

Re: Reputation mod 2.0.1

Ну пока больше сообщений о потенциальных и  явных уязвимостях нет, можно спать спокойно smile

Сайт hcs

Поделиться

194

Re: Reputation mod 2.0.1

Ссылка на последнюю версию данного модуля, со всеми исправлениями, о которых велась речь в этом топике находиться в первом посте?

Поделиться

195

Re: Reputation mod 2.0.1

да

Сайт hcs

Поделиться

196 (14.03.2008 12:19 отредактировано [lol]2Fast4U)

Re: Reputation mod 2.0.1

я предпочитаю мод респекта, а не рейтингов. но всё равно спасибо

Поделиться

197

Re: Reputation mod 2.0.1

[lol пишет:

2Fast4U]мод респекта, а не рейтингов

А в чем принципиальная разница?

У каждого свой взгляд на мир.

Сайт coordinator

Поделиться

198

Re: Reputation mod 2.0.1

Народ у меня проблема....
пишет,там где ну по аватаром...

Notice: Undefined index: reputation_enable in /www/rifo.net/m/u/munecabrava/home/site/include/reputation/rep_viewtopic.php on line 28
я этот файл,не изменял..не знаю в чем проблема...

Добавлено спустя     48 минут   28 секунд:
Ни чего не менял в этом файле...((((

Поделиться

199

Re: Reputation mod 2.0.1

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

PunBB.Ru ☭

Сайт nobody

Поделиться

200

Re: Reputation mod 2.0.1

заливал,Все равно.... подскажите....

а можно еще спросить? 
как сделать,чтобы как тут в быстром ответе были : размер,цвет,смайлы,ссылка,ж,к,ч(ну чтобы не заходить в форуму полного ответа)как сделать?

Поделиться