|
Форум torrenpier который уже живет
это сообщество владельцев форумов на phphBB2, торрент-трекеров на движках torrentpier и SVN всех версий.
Здесь можно найти решение своих проблем на своем сайта. Здесь можно скачать полезные и нужные моды torrenpier, phpBB2 и svn. Наш форум - это место для общения и обмена опытом между любителей движков, создателей модов на заказ и владельцев сайтов!
|
Автор |
Сообщение |
Admin Администратор Зарегистрирован: 2010-07-27 Сообщ.: 777
|
07-Янв-11 15:14 |
#1 |
мод, добавлющий подробную статистику отдачи/раздачи и всего прочего в профиле пользователя
Уровень инсталляции:Легкий
Время инсталляции:10 минут
*******************************************************************
Незабываем делать копии оригиналов,дабы вернуть все на прежнее место в случае неудач
*******************************************************************
Редактировать 6 файлов:
includes/torrent_userprofile.php
templates/ВАШ СТИЛЬ/profile_view_torrent.tpl
templates/ВАШ СТИЛЬ/subSilver.css
language/lang_russian/lang_main_bt.php
common.php
bt/includes/tr_announcer.php
************************************************************************
делаем запрос SQL
Код: | ALTER TABLE `phpbb_bt_tracker` ADD `releaser` TINYINT( 1 ) NOT NULL DEFAULT '0' AFTER `seeder` ; |
открыть bt/includes/tr_announcer.php
найти
Код: | $last_seeder = $lp_inf['seeder']; |
поставить после
Код: | $last_releaser = $lp_inf['releaser']; |
найти
Код: | if ($lp_inf)
{
if ($uploaded > $last_stored_up)
{
$up_add = $uploaded - $last_stored_up;
}
if ($downloaded > $last_stored_down)
{
$down_add = $downloaded - $last_stored_down;
}
} |
поставить после
Код: | $releaser = ($user_id == $poster_id) ? 1 : 0 ; // releaser flag |
найти
Код: | $sql .= ($seeder != $last_seeder) ? ", seeder = $seeder" : ''; |
поставить после
Код: | $sql .= ($releaser != $last_releaser) ? ", releaser = $releaser" : ''; |
найти
Код: | $columns = 'torrent_id, peer_id, user_id, ip, port, uploaded, downloaded, complete_percent, seeder, last_stored_up , last_stored_down, stat_last_updated, speed_up, speed_down, update_time, expire_time'; |
в коде найти
после поставить
найти
Код: | $values = "$torrent_id, '$peer_id_sql', $user_id, '$ip', $port, $uploaded, $downloaded, $complete_percent, $seeder, $last_stored_up, $last_stored_down, $stat_last_updated, $speed_up, $speed_down, $current_time, $expire_time";
|
в коде найти
поставить после
открыть common.php
найти
Код: | if ( !defined('IN_PHPBB') )
{
die("Hacking attempt");
} |
поставить после
Код: | define('TIMENOW', time()); |
открыть includes/torrent_userprofile.php
найти
Код: | $profile_user_id = intval($profiledata['user_id']); |
поставить раньше
Код: | $seed = $release = $leech = $affected_torrents = $unsorted = $seed_cnt = $leech_cnt = $speed_up = $speed_down = $stats = array(); // seed-release-leech |
найти
Код: | $template->assign_vars(array(
'TOTAL_UPLOADED' => humn_size($total_uploaded),
'TOTAL_DOWNLOADED' => humn_size($total_downloaded),
'UP_DOWN_RATIO' => $up_down_ratio,
'RL_HREF' => append_sid('tracker.' . $phpEx . '?pid=' . $profile_user_id)
)); |
поставить после
Код: | // get affected torrents
$sql = "SELECT torrent_id
FROM " . BT_TRACKER_TABLE . "
WHERE user_id = " . $profile_user_id ;
$result = $db->sql_query($sql) or message_die(GENERAL_ERROR, 'Cant query affected torrents', '', __LINE__, __FILE__, $sql);
while($row = $db->sql_fetchrow($result))
{
$affected_torrents[] = $row['torrent_id'];
}
unset($row); |
найти
Код: |
// Get users active torrents
$sql = 'SELECT f.forum_id, f.forum_name, t.topic_id, t.topic_title, tr.ip, tr.port,
MAX(tr.seeder) as seeder, MAX(tr.complete_percent) as complete_percent, MAX(tr.speed_up) as speed_up, MAX(tr.speed_down) as speed_down
FROM '. FORUMS_TABLE .' f, '. TOPICS_TABLE .' t, '. BT_TRACKER_TABLE .' tr, '. BT_TORRENTS_TABLE ." tor
WHERE tr.user_id = $profile_user_id
AND tr.expire_time > $current_time
AND tr.torrent_id = tor.torrent_id
AND tor.topic_id = t.topic_id
AND t.forum_id = f.forum_id
$ignore_forum_sql
GROUP BY tr.torrent_id
ORDER BY f.forum_name, t.topic_title";
if (!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could not query users torrent profile information', '', __LINE__, __FILE__, $sql);
}
if ($rowset = @$db->sql_fetchrowset($result))
{
$db->sql_freeresult($result);
$rowset_count = count($rowset);
for ($i=0; $i<$rowset_count; $i++)
{
if ($rowset[$i]['seeder'])
{
$seeding[] = $rowset[$i];
}
else
{
$leeching[] = $rowset[$i];
}
}
unset($rowset);
} |
заменить
Код: |
if ($affected_count = count($affected_torrents))
{
$affected_torrents = implode(", ", $affected_torrents);
$affected_torrents = 'AND tr.torrent_id IN (' . $affected_torrents . ')';
$leech_cnt = $seed_cnt = $peer_cnt = $speed_up = $speed_down = array();
$sql = " SELECT f.forum_id, f.forum_name,
t.topic_id, t.topic_title,
tr.seeder, tr.releaser, tr.peer_id, tr.speed_up, tr.speed_down, tr.user_id, tr.torrent_id,
tor.poster_id
FROM " . FORUMS_TABLE . " f, " . TOPICS_TABLE . " t, " . BT_TRACKER_TABLE . " tr, " . BT_TORRENTS_TABLE . " tor
WHERE tr.expire_time > " . TIMENOW . "
AND tr.torrent_id = tor.torrent_id
AND tor.topic_id = t.topic_id
AND t.forum_id = f.forum_id
$ignore_forum_sql
$affected_torrents
ORDER BY f.forum_name, t.topic_title ";
$result = $db->sql_query($sql) or message_die(GENERAL_ERROR, 'Could not query ', '', __LINE__, __FILE__, $sql);
while($row = $db->sql_fetchrow($result))
{
$leech_cnt[$row['torrent_id']] = 0;
$unsorted[] = $row;
$speed_up[$row['torrent_id']] += $row['speed_up'];
$speed_down[$row['torrent_id']] += $row['speed_down'];
switch($row['seeder'])
{
case 1: $seed_cnt[$row['torrent_id']]++ ; break;
case 0: $leech_cnt[$row['torrent_id']]++ ; break;
}
}
unset($row);
$stats = array(
speed_up => $speed_up
, speed_down => $speed_down
, seed_count => $seed_cnt
, leech_count => $leech_cnt
);
$l = $m = $n = 0;
$unsorted_count = count($unsorted);
for($i = 0; $i < $unsorted_count; $i++ )
{
if( $unsorted[$i]['seeder'] && !$unsorted[$i]['releaser'] && ($unsorted[$i]['user_id'] == $profile_user_id) )
{
$seed[] = $unsorted[$i];
$seed[$l]['speed_up'] = $stats['speed_up'][$unsorted[$i]['torrent_id']];
$seed[$l]['seed_count'] = $stats['seed_count'][$unsorted[$i]['torrent_id']];
$seed[$l]['leech_count'] = $stats['leech_count'][$unsorted[$i]['torrent_id']];
$l++;
}
elseif( $unsorted[$i]['releaser'] && ($unsorted[$i]['user_id'] == $profile_user_id) )
{
$release[] = $unsorted[$i];
$release[$m]['speed_up'] = $stats['speed_up'][$unsorted[$i]['torrent_id']];
$release[$m]['seed_count'] = $stats['seed_count'][$unsorted[$i]['torrent_id']];
$release[$m]['leech_count'] = $stats['leech_count'][$unsorted[$i]['torrent_id']];
$m++;
}
elseif( !$unsorted[$i]['seeder'] && ($unsorted[$i]['user_id'] == $profile_user_id) )
{
$leech[] = $unsorted[$i];
$leech[$n]['speed_down'] = $stats['speed_down'][$unsorted[$i]['torrent_id']];
$leech[$n]['seed_count'] = $stats['seed_count'][$unsorted[$i]['torrent_id']];
$leech[$n]['leech_count'] = $stats['leech_count'][$unsorted[$i]['torrent_id']];
$n++;
}
}
}
|
найти
Код: | if ($seeding_count = count($seeding))
{
$template->assign_block_vars('seed', array());
for ($i=0; $i<$seeding_count; $i++)
{
$template->assign_block_vars('seed.seedrow', array(
'FORUM_NAME' => $seeding[$i]['forum_name'],
'TOPIC_TITLE' => $seeding[$i]['topic_title'],
'U_VIEW_FORUM' => "viewforum.$phpEx?". POST_FORUM_URL .'='. $seeding[$i]['forum_id'],
'U_VIEW_TOPIC' => "viewtopic.$phpEx?". POST_TOPIC_URL .'='. $seeding[$i]['topic_id'] .'&spmode=full#seeders'
));
}
}
else
{
$template->assign_block_vars('switch_seeding_none', array());
}
if ($leeching_count = count($leeching))
{
$template->assign_block_vars('leech', array());
for ($i=0; $i<$leeching_count; $i++)
{
$template->assign_block_vars('leech.leechrow', array(
'FORUM_NAME' => $leeching[$i]['forum_name'],
'TOPIC_TITLE' => $leeching[$i]['topic_title'],
'U_VIEW_FORUM' => "viewforum.$phpEx?". POST_FORUM_URL .'='. $leeching[$i]['forum_id'],
'U_VIEW_TOPIC' => "viewtopic.$phpEx?". POST_TOPIC_URL .'='. $leeching[$i]['topic_id'] .'&spmode=full#leechers',
'COMPLETE_PERCENT' => $leeching[$i]['complete_percent']
));
}
}
else
{
$template->assign_block_vars('switch_leeching_none', array());
}
|
заменить
Код: |
// seed output
if ($seeding_count = count($seed))
{
$template->assign_block_vars('seed', array());
for ($i=0; $i<$seeding_count; $i++)
{
$template->assign_block_vars('seed.seedrow', array(
'F_SEED_COUNT' => $seed[$i]['seed_count'],
'F_LEECH_COUNT'=> $seed[$i]['leech_count'] ,
'F_SPEED_UP' => humn_size($seed[$i]['speed_up']).'/s',
'FORUM_NAME' => $seed[$i]['forum_name'],
'TOPIC_TITLE' => $seed[$i]['topic_title'],
'U_VIEW_FORUM' => "viewforum.$phpEx?". POST_FORUM_URL .'='. $seed[$i]['forum_id'],
'U_VIEW_TOPIC' => "viewtopic.$phpEx?". POST_TOPIC_URL .'='. $seed[$i]['topic_id'] .'&spmode=full#seeders'
));
}
}
else
{
$template->assign_block_vars('switch_seeding_none', array());
}
//release output
if ($release_count = count($release))
{
$template->assign_block_vars('release', array());
for ($i=0; $i<$release_count; $i++)
{
$template->assign_block_vars('release.releaserow', array(
'F_SEED_COUNT' => $release[$i]['seed_count'],
'F_LEECH_COUNT'=> $release[$i]['leech_count'],
'F_SPEED_UP' => humn_size($release[$i]['speed_up']).'/s',
'FORUM_NAME' => $release[$i]['forum_name'],
'TOPIC_TITLE' => $release[$i]['topic_title'],
'U_VIEW_FORUM' => "viewforum.$phpEx?". POST_FORUM_URL .'='. $release[$i]['forum_id'],
'U_VIEW_TOPIC' => "viewtopic.$phpEx?". POST_TOPIC_URL .'='. $release[$i]['topic_id'] .'&spmode=full#seeders'
));
}
}
else
{
$template->assign_block_vars('switch_release_none', array());
}
//leech output
if ($leeching_count = count($leech))
{
$template->assign_block_vars('leech', array());
for ($i=0; $i<$leeching_count; $i++)
{
$template->assign_block_vars('leech.leechrow', array(
'F_SEED_COUNT' => $leech[$i]['seed_count'],
'F_LEECH_COUNT' => $leech[$i]['leech_count'],
'F_SPEED_DOWN' => humn_size($leech[$i]['speed_down']).'/s',
'FORUM_NAME' => $leech[$i]['forum_name'],
'TOPIC_TITLE' => $leech[$i]['topic_title'],
'U_VIEW_FORUM' => "viewforum.$phpEx?". POST_FORUM_URL .'='. $leech[$i]['forum_id'],
'U_VIEW_TOPIC' => "viewtopic.$phpEx?". POST_TOPIC_URL .'='. $leech[$i]['topic_id'] .'&spmode=full#leechers'
));
}
}
else
{
$template->assign_block_vars('switch_leeching_none', array());
} |
найти
Код: | 'L_TOPICS' => $lang['Topics'], |
после поставить
Код: | 'L_INFO' => $lang['Info'], |
найти
Код: | 'L_LEECHING' => ''. $lang['Leeching'] .''. (($leeching_count) ? "
[ $leeching_count ]" : ''), |
поставить после
Код: | 'L_RELEASING'=> ''. $lang['Releasing'] .''. (($release_count) ? "
[ $release_count ]" : ''), |
найти
Код: | 'SEED_ROWSPAN' => ($seeding_count) ? 'rowspan="'. ($seeding_count + 1) .'"' : '',
|
поставить после
Код: | 'RELEASE_ROWSPAN' => ($release_count) ? 'rowspan="'. ($release_count + 1) .'"' : '',
|
открыть templates/ВАШ СТИЛЬ/profile_view_torrent.tpl
найти
Код: | <tr>
<th colspan="4" height="28" class="thHead">{L_CUR_ACTIVE_DLS}</th>
</tr>
<tr>
<td {SEED_ROWSPAN} height="28" class="row1" align="center"><span class="gen"><span class="dlComplete"><span style="line-height:150%;">{L_SEEDING}</span></span></span></td>
<td colspan="3" class="row1" width="100%" align="center"><span class="gen">{L_NONE}</span></td>
<td class="row3" align="center"><span class="gen">{L_FORUM}</span></td>
<td colspan="2" class="row3" align="center"><span class="gen">{L_TOPICS}</span></td>
</tr>
<tr>
<td class="row1" align="center"><span class="gen">{seed.seedrow.FORUM_NAME} ({seed.seedrow.U_VIEW_FORUM})</span></td>
<td colspan="2" class="row1"><span class="genmed">{seed.seedrow.TOPIC_TITLE} ({seed.seedrow.U_VIEW_TOPIC})</span></td>
</tr>
<tr>
<td colspan="4" class="row2" style="padding: 0px">images/spacer.gif</td>
</tr>
<tr>
<td {LEECH_ROWSPAN} height="28" class="row1" align="center"><span class="gen"><span class="dlDown"><span style="line-height:150%;">{L_LEECHING}</span></span></span></td>
<td colspan="3" class="row1" width="100%" align="center"><span class="gen">{L_NONE}</span></td>
<td class="row3" align="center"><span class="gen">{L_FORUM}</span></td>
<td class="row3" align="center"><span class="gen">{L_TOPICS}</span></td>
<td class="row3" align="center"><span class="gen">%</span></td>
</tr>
<tr>
<td class="row1" align="center"><span class="gen">{leech.leechrow.FORUM_NAME} ({leech.leechrow.U_VIEW_FORUM})</span></td>
<td class="row1"><span class="genmed">{leech.leechrow.TOPIC_TITLE} ({leech.leechrow.U_VIEW_TOPIC})</span></td>
<td class="row1" align="center"><span class="genmed">{leech.leechrow.COMPLETE_PERCENT}</span></td>
</tr> |
заменить на
Код: | <tr>
<th colspan="5" height="28" class="thHead">{L_CUR_ACTIVE_DLS}</th>
</tr>
<td {RELEASE_ROWSPAN} height="28" class="row1" align="center"><span class="gen"><span class="dlComplete"><span style="line-height:150%;">{L_RELEASING}</span></span></span>
</td>
<td colspan="4" class="row1" width="100%" align="center"><span class="gen">{L_NONE}</span></td>
<td class="row3" align="center"><span class="gen">{L_FORUM}</span></td>
<td colspan="2" class="row3" align="center"><span class="gen">{L_TOPICS}</span></td>
<td class="row3 gen" align="center">{L_INFO}</td>
</tr>
<tr>
<td class="row1" align="center"><span class="gen">{release.releaserow.FORUM_NAME} ({release.releaserow.U_VIEW_FORUM})</span></td>
<td colspan="2" class="row1"><span class="genmed">{release.releaserow.TOPIC_TITLE} ({release.releaserow.U_VIEW_TOPIC})</span></td>
<td align="center" class="row1" ><span class="seedmed bold">{release.releaserow.F_SEED_COUNT}</span> | <span class="leechmed bold">{release.releaserow.F_LEECH_COUNT}</span>
<span class="seedmed">{release.releaserow.F_SPEED_UP}</span></td>
</tr>
<tr>
<td colspan="5" class="row2" style="padding: 0px">images/spacer.gif</td>
</tr>
<td {SEED_ROWSPAN} height="28" class="row1" align="center"><span class="gen"><span class="dlComplete"><span style="line-height:150%;">{L_SEEDING}</span></span></span>
</td>
<td colspan="4" class="row1" width="100%" align="center"><span class="gen">{L_NONE}</span></td>
<td class="row3" align="center"><span class="gen">{L_FORUM}</span></td>
<td colspan="2" class="row3" align="center"><span class="gen">{L_TOPICS}</span></td>
<td class="row3 gen" align="center">{L_INFO}</td>
</tr>
<tr>
<td class="row1" align="center"><span class="gen">{seed.seedrow.FORUM_NAME} ({seed.seedrow.U_VIEW_FORUM})</span></td>
<td colspan="2" class="row1"><span class="genmed">{seed.seedrow.TOPIC_TITLE} ({seed.seedrow.U_VIEW_TOPIC})</span></td>
<td align="center" class="row1"><span class="seedmed bold">{seed.seedrow.F_SEED_COUNT}</span> | <span class="leechmed bold">{seed.seedrow.F_LEECH_COUNT}</span>
<span class="seedmed">{seed.seedrow.F_SPEED_UP}</span></td>
</tr>
<tr>
<td colspan="5" class="row2" style="padding: 0px">images/spacer.gif</td>
</tr>
<tr>
<td {LEECH_ROWSPAN} height="28" class="row1" align="center"><span class="gen"><span class="dlDown"><span style="line-height:150%;">{L_LEECHING}</span></span></span></td>
<td colspan="4" class="row1" width="100%" align="center"><span class="gen">{L_NONE}</span></td>
<td class="row3" align="center"><span class="gen">{L_FORUM}</span></td>
<td colspan="2" class="row3" align="center"><span class="gen">{L_TOPICS}</span></td>
<td class="row3 gen" align="center">{L_INFO}</td>
</tr>
<tr>
<td class="row1" align="center"><span class="gen">{leech.leechrow.FORUM_NAME} ({leech.leechrow.U_VIEW_FORUM})</span></td>
<td colspan="2" class="row1"><span class="genmed">{leech.leechrow.TOPIC_TITLE} ({leech.leechrow.U_VIEW_TOPIC})</span></td>
<td align="center" class="row1"><span class="seedmed bold">{leech.leechrow.F_SEED_COUNT}</span> | <span class="leechmed bold">{leech.leechrow.F_LEECH_COUNT}</span>
<span class="leechmed">{leech.leechrow.F_SPEED_DOWN}</span></td>
</tr>
|
открыть templates/ВАШ СТИЛЬ/subSilver.css
найти
Код: | /*
The original subSilver Theme for phpBB version 2+
Created by subBlue design
http://www.subBlue.com
*/ |
поставить после
Код: | .bold{
font-weight:bold
} |
открыть language/lang_russian/lang_main_bt.php
найти
поставить раньше
Код: | $lang['Releasing'] = 'Релизит';
$lang['Info'] = 'Трекер'; |
|
|
Вернуться к началу
|
|
monster27 Зарегистрирован: 2010-12-29 Сообщ.: 540
|
07-Янв-11 16:05 |
#2 |
покажи скрин
Вроде там есть, зачем прописывать еще?
Код: | define('TIMENOW', time()); |
|
|
Вернуться к началу
|
|
Admin Администратор Зарегистрирован: 2010-07-27 Сообщ.: 777
|
|
Вернуться к началу
|
|
monster27 Зарегистрирован: 2010-12-29 Сообщ.: 540
|
07-Янв-11 16:37 |
#4 |
Admin я писал себе подругому, проще. Исходя из того что ты тут выложил, все выдергивалось из СВН. 0,35 не такой плохой, как многие считают.
Сделай проверку в профиле является ли сид автором раздачи и выводи в Свои
|
|
Вернуться к началу
|
|
Proof Зарегистрирован: 2010-12-17 Сообщ.: 126
|
|
Вернуться к началу
|
|
|
|
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы можете скачивать файлы
|
Все материалы сайта представлены только для ознакомления. При копировании материала ссылка на torrentpier-download.ru
обязательна!
sitemap карта форума | Статистика визитов поисковых ботов | Выдача в поисковиках
Powered by phpBB © 2001, 2011 phpBB Group | ©2011-2024 - Воронеж |
|