Главная Форум Поиск Пользователи Регистрация Добрый вечер, Гость Вход


Главная


Форум torrenpier который уже живет
это сообщество владельцев форумов на phphBB2, торрент-трекеров на движках torrentpier и SVN всех версий.
Здесь можно найти решение своих проблем на своем сайта.
Здесь можно скачать полезные и нужные моды torrenpier, phpBB2 и svn.
Наш форум - это место для общения и обмена опытом между любителей движков, создателей модов на заказ и владельцев сайтов!
Мод Расширенная статистика в профиле  
Начать новую тему   Ответить на тему    Главная -> Модификация (mod's) -> Моды (beta)
Автор Сообщение
Admin
Администратор
Зарегистрирован: 2010-07-27
Сообщ.: 777
russia.gif
Сообщение 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';


в коде найти

Код:
seeder,


после поставить

Код:
releaser,


найти

Код:
$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";


в коде найти

Код:
$seeder,


поставить после

Код:
$releaser,


открыть 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'] .'&amp;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'] .'&amp;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'] .'&amp;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'] .'&amp;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'] .'&amp;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  
покажи скрин
Код:
$current_time

Вроде там есть, зачем прописывать еще?
Код:
define('TIMENOW', time());
Вернуться к началу
    
Admin
Администратор
Зарегистрирован: 2010-07-27
Сообщ.: 777
russia.gif
Сообщение 07-Янв-11 16:26 #3  
не тестировал
Вернуться к началу
    
monster27
Зарегистрирован: 2010-12-29
Сообщ.: 540
Сообщение 07-Янв-11 16:37 #4  
Admin я писал себе подругому, проще. Исходя из того что ты тут выложил, все выдергивалось из СВН. 0,35 не такой плохой, как многие считают.
Сделай проверку в профиле является ли сид автором раздачи и выводи в Свои
Вернуться к началу
    
Proof
Зарегистрирован: 2010-12-17
Сообщ.: 126
belarus.gif
Сообщение 07-Апр-11 21:16 #5  
А в чем разница между этим модом и этими двумя -> "Свои" раздачи и Мод расширенная статистика в профиле ???
Вернуться к началу
    
Заголовок новой темы
Форум для новой темы
 
Страница 1 из 1
Показать сообщения:   
Начать новую тему   Ответить на тему    Главная -> Модификация (mod's) -> Моды (beta) Часовой пояс: GMT + 4

 

Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы
Все материалы сайта представлены только для ознакомления. При копировании материала ссылка на torrentpier-download.ru обязательна!

sitemap     карта форума | Статистика визитов поисковых ботов | Выдача в поисковиках



Powered by phpBB © 2001, 2011 phpBB Group
| ©2011-2024 - Воронеж |


Нравится