Количество релизов в статистику на боковой панели

Started by sixizm angel on 2013-05-30 06:02 — 3 replies, 2525 views

#1
Описание: Количество релизов юзера в табличке со статистикой пользователя в боковой панели. За основу взят мод "Количество релизов в профиль (Автор: ХЗ, Автор адаптации на SVN: V@NO)"
Сложностьl: Легко
Время установки: 2 минуты
Файлы для редактирования:
includes/functions.php
language/lang_russian/lang_main.php
templates/default/page_header.tpl

Spoiler content hidden.

#
#-----[ OPEN ]---------------------------------
#
includes/functions.php

#
#-----[ FIND ]---------------------------------
#
function get_bt_userdata ($user_id)
{
return DB()->fetch_row("SELECT bt.*, SUM(tr.speed_up) as speed_up, SUM(tr.speed_down) as speed_down
FROM ". BB_BT_USERS ." bt
LEFT JOIN ". BB_BT_TRACKER ." tr ON (bt.user_id = tr.user_id)
WHERE bt.user_id = ". (int) $user_id ."
GROUP BY bt.user_id");
}

#
#-----[ AFTER, ADD ]---------------------------------
#
function get_bt_userdata_reliz_sdb ($user_id)
{
return DB()->fetch_row("SELECT COUNT(tor.poster_id) as ttl_rls_sb, SUM(tor.size) as ttl_rls_size_sb,
tor.poster_id, SUM(tor.complete_count) as ttl_rls_cmplt_sb
FROM bb_bt_torrents tor
LEFT JOIN bb_users u ON(u.user_id = tor.poster_id)
LEFT JOIN bb_bt_users ut ON(ut.user_id = tor.poster_id)
WHERE u.user_id = ". (int) $user_id ."
GROUP BY tor.poster_id
ORDER BY SUM(tor.complete_count) DESC");
}

#
#-----[ FIND ]---------------------------------
#
$btu = get_bt_userdata($user_id);

#
#-----[ AFTER, ADD ]---------------------------------
#
$btu_rlz = get_bt_userdata_reliz_sdb($user_id);

#
#-----[ FIND ]---------------------------------
#
'SPEED_DOWN' => humn_size($btu['speed_down'], 0, 'KB') .'/s',

#
#-----[ AFTER, ADD ]---------------------------------
#
'TTL_RLS_SB' => ($btu_rlz['ttl_rls_sb']) ? $btu_rlz['ttl_rls_sb'] : 0,
'TTL_RLS_SIZE_SB' => humn_size($btu_rlz['ttl_rls_size_sb']) ? humn_size($btu_rlz['ttl_rls_size_sb']) : 0,
'TTL_RLS_CMPLT_SB' => ($btu_rlz['ttl_rls_cmplt_sb']) ? $btu_rlz['ttl_rls_cmplt_sb'] : '0',

#
#-----[ OPEN ]---------------------------------
#
templates/default/page_header.tpl

#
#-----[ FIND ]---------------------------------
#
<tr><td>{L_BONUS}</td><td class="seedmed">{UP_BONUS}</td></tr>

#
#-----[ AFTER, ADD ]---------------------------------
#
<tr><td>{L_RELEASES_ST1}</td><td class="seedmed"><b>{TTL_RLS_SB}</b></td></tr>
<tr><td>{L_CONTENT_ST1}</td><td class="seedmed"><b>{TTL_RLS_SIZE_SB}&nbsp;</b></td></tr>
<tr><td>{L_DOWNLOAD_NUMBER_ST1}</td><td class="seedmed"><b>{TTL_RLS_CMPLT_SB}</b>{L_DOWNLOAD_NUMBER_CNT_ST}</td></tr>

#
#-----[ OPEN ]---------------------------------
#
language/lang_russian/lang_main.php

#
#-----[ INSERT ]---------------------------------
#
$lang['RELEASES_ST1'] = 'Релизов';
$lang['CONTENT_ST1'] = 'Объемом';
$lang['DOWNLOAD_NUMBER_ST1'] = 'Скачаны';
$lang['DOWNLOAD_NUMBER_CNT_ST'] = '&nbsp;раз';

#
#-----[ SAVE/CLOSE ALL FILES ]---------------------------------
#
# EoM
#2
Возникает вопрос, а зачем создавать новую функцию если можно к get_bt_userdata. А так мы получаем еще один запрос лишний, а это не есть гуд.
#3
Возникает вопрос, а зачем создавать новую функцию если можно к get_bt_userdata. А так мы получаем еще один запрос лишний, а это не есть гуд.
и я отдельную функцию сделал, по нескольким причинам... у меня статусы там ещё... Правда у меня функция закеширована сильно !
#4
Wertos, ну а тут как видно вообще кеша нету. 🙂