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

Статус
В этой теме нельзя размещать новые ответы.

Mikotka

Пользователь
#1
Пока обнаружил два бага при работе ТП2 с XBT

1. Не отображается процент скаченного личерами
2. Не работает золото/серебро

Первый баг фиксится легко

открыть attach_mod/displaying_torrent.php

Найти
Код:
$sql = "SELECT
                    tr.user_id, tr.ip, tr.port, tr.uploaded, tr.downloaded, tr.remain,
                    tr.seeder, tr.releaser, tr.speed_up, tr.speed_down, tr.update_time,
Добавить в запрос
Код:
tr.complete_percent,
Найти
Код:
    $template->assign_block_vars("$x_full.porthead", array());
                            }
                        }
                        $compl_size = ($peer['remain'] && $tor_size && $tor_size > $peer['remain']) ? ($tor_size - $peer['remain']) : 0;
                        $compl_perc = ($compl_size) ? floor($compl_size * 100 / $tor_size) : 0;
Заменить на
Код:
                       $template->assign_block_vars("$x_full.porthead", array());
                            }
                        }
                        $compl_size = ($peer['remain'] && $tor_size && $tor_size > $peer['remain']) ? ($tor_size - $peer['remain']) : 0;
if($bb_cfg['announce_type'] == 'xbt')
                            {$compl_perc = $peer['complete_percent'];}
                            else
                            {
                        $compl_perc = ($compl_size) ? floor($compl_size * 100 / $tor_size) : 0;
                        }
Найти
Код:
if ($peer['seeder'])
                    {
                        $seeders .= '<nobr><a href="'. $u_prof_href .'" class="seedmed">'. $peer['username'] .'</a>,</nobr> ';
                        $seed_count = $peer['username'];
                    }
                    else
                    {
                      $compl_size = (@$peer['remain'] && $tor_size && $tor_size > $peer['remain']) ? ($tor_size - $peer['remain']) : 0;
                        $compl_perc = ($compl_size) ? floor($compl_size * 100 / $tor_size) : 0;
Удалить или закомментировать
Код:
                         $compl_size = (@$peer['remain'] && $tor_size && $tor_size > $peer['remain']) ? ($tor_size - $peer['remain']) : 0;
                        $compl_perc = ($compl_size) ? floor($compl_size * 100 / $tor_size) : 0;
открыть includes/ucp/torrent_userprofile.php

Найти
Код:
$compl_perc = ($compl_size) ? floor($compl_size * 100 / $leeching[$i]['size']) : 0;
Заменить на
Код:
if($bb_cfg['announce_type'] == 'xbt')
                            {$compl_perc = $leeching[$i]['complete_percent'];}
                            else
                            {
                        $compl_perc = ($compl_size) ? floor($compl_size * 100 / $leeching[$i]['size']) : 0;
                        }
А вот со вторым багом пока не разобрался. В Си я ни бильмеса не соображаю, а похоже лезть в исходники хобота надо :(

UPD. Проценты подправлены по замечаниям
 

XANDER-CAGE

Пользователь
#6
Mikotka, хобот я поставил, на конец. p/s поменял дефолтный код, на твой кодец в итоге нотис

Код:
Notice: Undefined index: complete_percent in /home/torrent/www/attach_mod/displaying_torrent.php on line 575
PHP:
{$compl_perc = $peer['complete_percent'];}
 

Mikotka

Пользователь
#7
XANDER-CAGE,
p/s поменял дефолтный код, на твой кодец в итоге нотис
Нотис по сравнению с нерабочим кодом - фигня.

Чтобы избавится, просто удалите строки с вызовом в этом месте. Как выяснилось оно там вообще не нужно. Атавизм очередной

То есть найти
Код:
// Count only & only names modes
дальнейший код должен выглядеть так
Код:
else
                {
                    if ($peer['seeder'])
                    {
                        $seeders .= '<nobr><a href="'. $u_prof_href .'" class="seedmed">'. $peer['username'] .'</a>,</nobr> ';
                        $seed_count = $peer['username'];
                    }
                    else
                    {
                             $leechers .= '<nobr><a href="'. $u_prof_href .'" class="leechmed">'. $peer['username'] .'</a>';
                        $leechers .= ($s_mode == 'names') ? ' ['. $compl_perc .'%]' : '';
                        $leechers .= ',</nobr> ';
                        $leech_count = $peer['username'];
                    }
                }
 
Статус
В этой теме нельзя размещать новые ответы.