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

Status
Not open for further replies.
Пока обнаружил два бага при работе ТП2 с XBT

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

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

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

Найти
Code:
$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,

Добавить в запрос
Code:
tr.complete_percent,
Найти
Code:
    $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;

Заменить на
Code:
                       $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;
                        }
Найти
Code:
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;
Удалить или закомментировать
Code:
                         $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

Найти
Code:
$compl_perc = ($compl_size) ? floor($compl_size * 100 / $leeching[$i]['size']) : 0;
Заменить на
Code:
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. Проценты подправлены по замечаниям
 
Mikotka, хобот я поставил, на конец. p/s поменял дефолтный код, на твой кодец в итоге нотис

Code:
Notice: Undefined index: complete_percent in /home/torrent/www/attach_mod/displaying_torrent.php on line 575

PHP:
{$compl_perc = $peer['complete_percent'];}
 
XANDER-CAGE,
p/s поменял дефолтный код, на твой кодец в итоге нотис
Нотис по сравнению с нерабочим кодом - фигня.

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

То есть найти
Code:
// Count only & only names modes
дальнейший код должен выглядеть так
Code:
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'];
                    }
                }
 
Status
Not open for further replies.
Back
Top