Установка торрент-трекера TBDev YSE 2.0

Установка и настройка форумов, CMS и прочих веб-приложений

Модератор: doliar

Правила форума
По вопросам настройки и установки коммерческих web приложений (IPB, DLE, vBulletin и т.д.) обращайтесь в техническую поддержку данных web приложений.

На данном форуме не рекомендуется создавать темы по вопросам настройки и установки коммерческих web приложений.

Re: Установка торрент-трекера TBDev YSE 2.0

Сообщение doliar » 28 дек 2008, 20:17

А нужно не слышать, а ковырять код и тогда будеш знать!
Позже напишу где и что поменять!
Изображение

Консультаций по TBDev через icq неосуществляю!
Аватара пользователя
doliar
Автор
 
Сообщения: 732
Зарегистрирован: 16 янв 2008, 15:05
Откуда: Саратов, Волжский р-он
Домен: tbdev-info.vfose.ru

Re: Установка торрент-трекера TBDev YSE 2.0

Сообщение GifteD » 28 дек 2008, 20:25

Здарво всем!!! Кто мне может подсказать что добавить чтобы у меня в чате справо было видно кто щас в чате!! А то блин так не удобно не видно кто есть или нет!! Зарание спасибо!!! Буду очень признателен!!
Аватара пользователя
GifteD
Активный участник
 
Сообщения: 70
Зарегистрирован: 12 дек 2008, 22:30
Домен: ershov-treker.vfose.ru

Re: Установка торрент-трекера TBDev YSE 2.0

Сообщение ALEKS200994 » 28 дек 2008, 20:35

а кто может дат ькод или сказать что нужно для радио, я находил ответы на форуме но там были ссылки , и то битые. Подскажите пожалуйста код надо или что .
ALEKS200994
Участник
 
Сообщения: 42
Зарегистрирован: 27 дек 2008, 22:45
Домен: torrent-alex.vfose.ru

Re: Установка торрент-трекера TBDev YSE 2.0

Сообщение ALEKS200994 » 29 дек 2008, 00:02

блин, помогите же мне пожалуйста. Скажите что нужно для того чтоы сделать радио? это блок или?
ALEKS200994
Участник
 
Сообщения: 42
Зарегистрирован: 27 дек 2008, 22:45
Домен: torrent-alex.vfose.ru

Re: Установка торрент-трекера TBDev YSE 2.0

Сообщение SuffeRiNG » 29 дек 2008, 01:01

ALEKS200994 писал(а):блин, помогите же мне пожалуйста. Скажите что нужно для того чтоы сделать радио? это блок или?


Нафлудили то как :shock:
про радио уже 100000 раз написано было читай предыдущие темы там всё есть и чат и часы и радио :)
Изображение
Аватара пользователя
SuffeRiNG
Участник
 
Сообщения: 44
Зарегистрирован: 14 ноя 2008, 13:48
Откуда: Саратов
Домен: trecker-zla.vfose.ru

Re: Установка торрент-трекера TBDev YSE 2.0

Сообщение ALEKS200994 » 29 дек 2008, 01:05

дайте плиз ссылку, я просто находил там ссылки, но она битая была :(
ALEKS200994
Участник
 
Сообщения: 42
Зарегистрирован: 27 дек 2008, 22:45
Домен: torrent-alex.vfose.ru

Re: Установка торрент-трекера TBDev YSE 2.0

Сообщение speedi » 29 дек 2008, 03:35

Люди очень нужна ваша помощь!
1 - Как сделать чтобы када человек находится на торренте не шли ему бонусы???а то я просто посидел там часа полтора и у меня 5 бонусов)))
2 - Как отключить вообще TLL?
3 - Как сделать чтобы не было видно кто залил торрент??? ссылку находил но там указан файлы и написано копайте там :) ,я не могу найти,выложите строчку что надо изменить.
4 - и как поставить чтобы с низу было видно нагрузка на трекер?

Если чё вот my icq - 410118600 - для тех кто не зарегин тут но знает ответ на мои вопросы!!!И так же для всех)))

Буду очень благодарен и признателен!Помогите пожайлуста мне очень прошу.Очень Очень Очень нужна помощь!!!
Последний раз редактировалось speedi 29 дек 2008, 04:34, всего редактировалось 1 раз.
speedi
Участник
 
Сообщения: 39
Зарегистрирован: 27 дек 2008, 18:59

Re: Установка торрент-трекера TBDev YSE 2.0

Сообщение GifteD » 29 дек 2008, 04:18

Люди как на трекере время вообще расчитывается!! У меня такая шняга что не фига не правильно время!!! Всмысли чат тп!! Где мне что отредактировать чтоб норм было? Спасибо зарание!!
Аватара пользователя
GifteD
Активный участник
 
Сообщения: 70
Зарегистрирован: 12 дек 2008, 22:30
Домен: ershov-treker.vfose.ru

Re: Установка торрент-трекера TBDev YSE 2.0

Сообщение Conteo » 29 дек 2008, 05:36

speedi писал(а):Люди очень нужна ваша помощь!
1 - Как сделать чтобы када человек находится на торренте не шли ему бонусы???а то я просто посидел там часа полтора и у меня 5 бонусов)))
2 - Как отключить вообще TLL?
3 - Как сделать чтобы не было видно кто залил торрент??? ссылку находил но там указан файлы и написано копайте там :) ,я не могу найти,выложите строчку что надо изменить.
4 - и как поставить чтобы с низу было видно нагрузка на трекер?


1. Изменять систему бонусов. По дефолту на трекере бонусы даются за сидирование торрентов. Следовательно, если человек ничего не раздает значит он ничего не получает. (а лишать людей бонусов нехорошо)
2. Помниш скрипт, где ты менял название хаба, кол-во свободных мест и т.д.? Посмотри повнимательнее. Не увидиш- посмотри еще 5 раз. Если опять не увидиш- выколи себе глаза.
3. Вообще-то это целая процедура, ибо скрывать раздающего надо не только в списке торрентов, но и в других местах. А еще, если бы вы не были так ленивы, то зашли бы все дружно на сайт разработчика. Там уже все разжовано-пережовано. Ладно, бобры. Сам искать трекер не буду (ибо лениво в 4 часа утра копать код и вспомнинать что там как делается), поэтому я за вас нашел статью всем известного NitroIMX'a (директора ФТТ) с форума разработчика движка

Сначало убираем инфу из тела торрента))
takeupload.php
Код: Выделить всёРазвернуть
$dict['value']['comment']=bdec(benc_str( "Torrent created for '$SITENAME'")); // change torrent comment
//NitroIMX
$dict['value']['created by']=bdec(benc_str( "anymouse")); // change created by
$dict['value']['publisher']=bdec(benc_str( "anymouse")); // change publisher
$dict['value']['publisher.utf-8']=bdec(benc_str( "anymouse")); // change publisher.utf-8
//NitroIMX
list($info) = dict_check($dict, "info");

Затем в деталях торрента прячем всякую инфу про владельца торрента, но оставляем поличество сидов\личеров и кнопку - позвать скачавших, вместе с тем, скачавших прячем и все ники и скачку личеров\сидов

details.php
Код: Выделить всёРазвернуть
$uprow = (isset($row["username"]) ? ("<a href=userdetails.php?id=" . $row["owner"] . ">" . htmlspecialchars($row["username"]) . "</a>") : "<i>Аноним</i>");

//NitroIMX
if ($CURUSER["id"] == $row["owner"] || get_user_class() >= UC_MODERATOR)
{
tr($tracker_lang['uploaded'], $uprow.'&nbsp;<a href="simpaty.php?action=add&amp;good&amp;targetid=' . $row["owner"] .'&amp;type=torrent' . $id . '&amp;returnto=' .urlencode($_SERVER["REQUEST_URI"]) . '"title="'.$tracker_lang['respect'].'">
<img src="pic/thum_good.gif" border="0" alt="'.$tracker_lang['respect'].'"title="'.$tracker_lang['respect'].'" />
</a>&nbsp;&nbsp;<a href="simpaty.php?action=add&amp;bad&amp;targetid='.$row["owner"].'&amp;type=torrent' . $id . '&amp;returnto=' . urlencode($_SERVER["REQUEST_URI"]) .'" title="'.$tracker_lang['antirespect'].'"><img src="pic/thum_bad.gif" border="0" alt="'.$tracker_lang['antirespect'].'"title="'.$tracker_lang['antirespect'].'" /></a>', 1);
}
                if ($row["type"] == "multi") {
                        if (!$_GET["filelist"])
                                tr($tracker_lang['files']."<br /><a
href=\"details.php?id=$id&amp;filelist=1$keepget#filelist\"
class=\"sublink\">[".$tracker_lang['open_list']."]</a>",
$row["numfiles"] . " ".$tracker_lang['files_l'], 1);
                        else {
                  
                     function Encode($str,$type='u'){
                        $conv=array();
                        for($x=192;$x<=239;$x++)
                           $conv[u][chr($x)]=chr(208).chr($x-48);
                        for($x=240;$x<=255;$x++)
                           $conv[u][chr($x)]=chr(209).chr($x-112);
                        $conv[u][chr(168)]=chr(208).chr(129);
                        $conv[u][chr(184)]=chr(209).chr(209);
                        $conv[w]=array_flip($conv[u]);
                        if($type=='w' || $type=='u')
                           return strtr($str,$conv[$type]);
                        else
                           return $str;
                     }
                  
                  
                                tr($tracker_lang['files'], $row["numfiles"]
. " ".$tracker_lang['files_l'], 1);

                                $s = "<table class=main border=\"1\"
cellspacing=0 cellpadding=\"5\">\n";

                                $subres = sql_query("SELECT * FROM files WHERE
torrent = $id ORDER BY id");
                        $s.="<tr><td class=colhead>".$tracker_lang['path']."</td><td
class=colhead align=right>".$tracker_lang['size']."</td></tr>\n";
                                while ($subrow = mysql_fetch_array($subres)) {
                                        $s .= "<tr><td>" .
Encode($subrow["filename"],'w') .
                                     "</td><td align=\"right\">" .
mksize($subrow["size"]) . "</td></tr>\n";
                                }

                                $s .= "</table>\n";
                                tr("<a name=\"filelist\">".$tracker_lang['file_list']."</a><br /><a href=\"details.php?id=$id$keepget\" class=\"sublink\">[".$tracker_lang['close_list']."]</a>", $s, 1);
                        }
                }

                if (!$_GET["dllist"]) {
                        /*
                        $subres = sql_query("SELECT seeder, COUNT(*) FROM peers
WHERE torrent = $id GROUP BY seeder");
                        $resarr = array(yes => 0, no => 0);
                        $sum = 0;
                        while ($subrow = mysql_fetch_array($subres)) {
                                $resarr[$subrow[0]] = $subrow[1];
                                $sum += $subrow[1];
                        }
                        tr("Peers<br /><a
href=\"details.php?id=$id&amp;dllist=1$keepget#seeders\"
class=\"sublink\">[See full list]</a>", $resarr["yes"] . " seeder(s), "
. $resarr["no"] . " leecher(s) = $sum peer(s) total", 1);
                        */
               if (get_user_class() >= UC_MODERATOR && $user["class"] < get_user_class()) {       
                  tr($tracker_lang['downloading']."<br /><a href=\"details.php?id=$id&amp;dllist=1$keepget#seeders\" class=\"sublink\">[".$tracker_lang['open_list']."]</a>",
                     $row["seeders"] . " ".$tracker_lang['seeders_l'].", " . $row["leechers"] . " ".$tracker_lang['leechers_l']." = " . ($row["seeders"] + $row["leechers"]) . " ".$tracker_lang['peers_l'], 1);
               } else {
                  tr($tracker_lang['downloading']."<br />",$row["seeders"] ." ".$tracker_lang['seeders_l'].", " . $row["leechers"] . " ".$tracker_lang['leechers_l']." = " . ($row["seeders"] + $row["leechers"]) . " ".$tracker_lang['peers_l'], 1);
               }   
                } else {
               if (get_user_class() >= UC_MODERATOR && $user["class"] < get_user_class()) {
                        $downloaders = array();
                        $seeders = array();
                        $subres = sql_query("SELECT seeder, finishedat,
downloadoffset, uploadoffset, peers.ip, port, peers.uploaded, peers.downloaded,
to_go, UNIX_TIMESTAMP(started) AS st, connectable, agent, peer_id,
UNIX_TIMESTAMP(last_action) AS la, UNIX_TIMESTAMP(prev_action) AS pa, userid,
users.username, users.class FROM peers INNER JOIN users ON peers.userid =
users.id WHERE torrent = $id") or sqlerr(__FILE__, __LINE__);
                        while ($subrow = mysql_fetch_array($subres)) {
                                if ($subrow["seeder"] == "yes")
                                        $seeders[] = $subrow;
                                else
                                        $downloaders[] = $subrow;
                        }

                        function leech_sort($a,$b) {
                                if ( isset( $_GET["usort"] ) ) return seed_sort($a,$b);
                                $x = $a["to_go"];
                                $y = $b["to_go"];
                                if ($x == $y)
                                        return 0;
                                if ($x < $y)
                                        return -1;
                                return 1;
                        }
                        function seed_sort($a,$b) {
                                $x = $a["uploaded"];
                                $y = $b["uploaded"];
                                if ($x == $y)
                                        return 0;
                                if ($x < $y)
                                        return 1;
                                return -1;
                        }

                        usort($seeders, "seed_sort");
                        usort($downloaders, "leech_sort");

                        tr("<a name=\"seeders\">".$tracker_lang['details_seeding']."</a><br /><a href=\"details.php?id=$id$keepget\" class=\"sublink\">[".$tracker_lang['close_list']."]</a>", dltable($tracker_lang['details_seeding'], $seeders, $row), 1);
                        tr("<a name=\"leechers\">".$tracker_lang['details_leeching']."</a><br /><a href=\"details.php?id=$id$keepget\" class=\"sublink\">[".$tracker_lang['close_list']."]</a>", dltable($tracker_lang['details_leeching'], $downloaders, $row), 1);
               }
            }
         
            if ($row["times_completed"] > 0) {
                  $res = mysql_query("SELECT users.id, users.username,
users.title, users.uploaded, users.downloaded, users.donor, users.enabled,
users.warned, users.last_access, users.class, snatched.startdat,
snatched.last_action, snatched.completedat, snatched.seeder, snatched.userid,
snatched.uploaded AS sn_up, snatched.downloaded AS sn_dn FROM snatched INNER
JOIN users ON snatched.userid = users.id WHERE snatched.finished='yes' AND
snatched.torrent =" . sqlesc($id) . " ORDER BY users.class DESC $limit") or
sqlerr(__FILE__,__LINE__);
               if (get_user_class() >= UC_MODERATOR && $user["class"] < get_user_class()) {
                  $snatched_full = "<table width=100% class=main border=1 cellspacing=0 cellpadding=5>\n";
                  $snatched_full .= "<tr><td class=colhead>Юзер</td><td
class=colhead>Раздал</td><td class=colhead>Скачал</td><td
class=colhead>Рейтинг</td><td class=colhead align=center>Начал /
Закончил</td><td class=colhead align=center>Действие</td><td class=colhead
align=center>Сидирует</td><td class=colhead align=center>ЛС</td></tr>";
               
                  while ($arr = mysql_fetch_assoc($res)) {
                     //start Global
                     if ($arr["downloaded"] > 0) {
                           $ratio = number_format($arr["uploaded"] / $arr["downloaded"], 2);
                           //  $ratio = "<font color=" . get_ratio_color($ratio) . ">$ratio</font>";
                     }
                     else if ($arr["uploaded"] > 0)
                     $ratio = "Inf.";
                     else
                     $ratio = "---";
                     $uploaded = mksize($arr["uploaded"]);
                     $downloaded = mksize($arr["downloaded"]);
                     //start torrent
                     if ($arr["sn_dn"] > 0) {
                           $ratio2 = number_format($arr["sn_up"] / $arr["sn_dn"], 2);
                           $ratio2 = "<font color=" . get_ratio_color($ratio2) . ">$ratio2</font>";
                     } else
                        if ($arr["sn_up"] > 0)
                           $ratio2 = "Inf.";
                        else
                           $ratio2 = "---";
                     $uploaded2 = mksize($arr["sn_up"]);
                     $downloaded2 = mksize($arr["sn_dn"]);
                     //end
                     //$highlight = $CURUSER["id"] == $arr["id"] ? " bgcolor=#00A527" :"";
                  
                     $snatched_small[] = "<a href=userdetails.php?id=$arr[userid]>".get_user_class_color($arr["class"], $arr["username"])." (<font color=" . get_ratio_color($ratio) . ">$ratio</font>)</a>";
                     $snatched_full .= "<tr$highlight><td><a href=userdetails.php?id=$arr[userid]>".get_user_class_color($arr["class"], $arr["username"])."</a>".get_user_icons($arr)."</td><td><nobr>$uploaded&nbsp;Общего<br>$uploaded2&nbsp;Торрент</nobr></td><td><nobr>$downloaded&nbsp;Общего <br>$downloaded2&nbsp;Торрент</nobr></td><td><nobr>$ratio&nbsp;Общего<br>$ratio2 &nbsp;Торрент</nobr></td><td align=center><nobr>" . $arr["startdat"] . "<br />" . $arr["completedat"] . "</nobr></td><td align=center><nobr>" . $arr["last_action"] . "</nobr></td><td align=center>" . ($arr["seeder"] == "yes" ? "<b><font color=green>Да</font>" : "<font color=red>Нет</font></b>") .
                        "</td><td align=center><a href=message.php?action=sendmessage&amp;receiver=$arr[userid]><img src=$pic_base_url/button_pm.gif border=\"0\"></a></td></tr>\n";
                  }
                  $snatched_full .= "</table>\n";
               }               
                  ?><script language="javascript" type="text/javascript" src="js/show_hide.js"></script><?
                  if ($row["seeders"] == 0 || ($row["leechers"] / $row["seeders"] >= 2))
                     $reseed_button = "<form action=\"takereseed.php\"><input type=\"hidden\" name=\"torrent\" value=\"$id\" /><input type=\"submit\" value=\"Позвать скачавших\" /></form>";
                  else
                     $reseed_button = "";   
                  if (get_user_class() >= UC_MODERATOR && $user["class"] < get_user_class()) {
                     if (!$_GET["snatched"]==1)
                        tr("Скачавшие<br /><a href=\"details.php?id=$id&amp;snatched=1#snatched\" class=\"sublink\">[Посмотреть список]</a>", '<a href="javascript: show_hide(\'s1\')"><img border="0" src="pic/plus.gif" id="pics1"><div id="ss1" style="display: none;">'.@implode(", ", $snatched_small).$reseed_button.'</div>', 1);
                     else
                        tr("Скачавшие<br /><a href=\"details.php?id=$id\" class=\"sublink\" name=\"snatched\">[Cпрятать список]</a>", $snatched_small,1);   
                  } else {
                     if ($reseed_button<>""){
                        tr("Скачавшие<br />", '<a href="javascript: show_hide(\'s1\')"><img border="0" src="pic/plus.gif" id="pics1"><div id="ss1" style="display: none;">'.@implode(", ", $snatched_small).$reseed_button.'</div>', 1);
                     } else {
                     }
                  }
            }
//NitroIMX
tr($tracker_lang['torrent_info'], "<a href=\"torrent_info.php?id=$id\">".$tracker_lang['show_data']."</a>", 1);


Прячем ники владельцев)) куда девать анкновонов у меня моска не хватает, поправьте кто может))
browse.php
Код: Выделить всёРазвернуть
loggedinorreturn();// откоментарить ибо нефиг
....

    list($pagertop, $pagerbottom, $limit) = pager($torrentsperpage, $count, "browse.php?" . $addparam);
//NitroIMX
   if ($CURUSER["id"] == $row["owner"] || get_user_class() >= UC_MODERATOR)
   {
        $query = "SELECT torrents.id, torrents.moderated, torrents.moderatedby, torrents.category, torrents.leechers, torrents.seeders, torrents.free, torrents.name, torrents.times_completed, torrents.size, torrents.added, torrents.comments, torrents.numfiles, torrents.filename, torrents.sticky, torrents.owner," .
        "IF(torrents.numratings < $minvotes, NULL, ROUND(torrents.ratingsum / torrents.numratings, 1)) AS rating, categories.name AS cat_name, categories.image AS cat_pic, users.username, users.class".($CURUSER ? ", EXISTS(SELECT * FROM readtorrents WHERE readtorrents.userid = ".sqlesc($CURUSER["id"])." AND readtorrents.torrentid = torrents.id) AS readtorrent" : ", 1 AS readtorrent")." FROM torrents LEFT JOIN categories ON category = categories.id LEFT JOIN users ON torrents.owner = users.id $where $orderby $limit";
   } else {
      $query = "SELECT torrents.id, torrents.moderated, torrents.moderatedby, torrents.category, torrents.leechers, torrents.seeders, torrents.free, torrents.name, torrents.times_completed, torrents.size, torrents.added, torrents.comments, torrents.numfiles, torrents.filename, torrents.sticky," .
        "IF(torrents.numratings < $minvotes, NULL, ROUND(torrents.ratingsum / torrents.numratings, 1)) AS rating, categories.name AS cat_name, categories.image AS cat_pic".($CURUSER ? ", EXISTS(SELECT * FROM readtorrents WHERE readtorrents.userid = ".sqlesc($CURUSER["id"])." AND readtorrents.torrentid = torrents.id) AS readtorrent" : ", 1 AS readtorrent")." FROM torrents LEFT JOIN categories ON category = categories.id $where $orderby $limit";
   }
//NitroIMX         
      $res = sql_query($query) or die(mysql_error());


чтобы было невидно в закладках
bookmarks.php
Код: Выделить всёРазвернуть
list($pagertop, $pagerbottom, $limit) = pager($perpage, $count, "bookmarks.php?");
//NitroIMX
if ($CURUSER["id"] == $row["owner"] || get_user_class() >= UC_MODERATOR)
{
        $res = sql_query("SELECT bookmarks.id AS bookmarkid, users.username, users.class, users.id AS owner, torrents.id, torrents.name, torrents.type, torrents.comments, torrents.leechers, torrents.seeders, IF(torrents.numratings < $minvotes, NULL, ROUND(torrents.ratingsum / torrents.numratings)) AS rating, categories.name AS cat_name, categories.image AS cat_pic, torrents.save_as, torrents.numfiles, torrents.added, torrents.filename, torrents.size, torrents.views, torrents.visible, torrents.free, torrents.hits, torrents.times_completed, torrents.category FROM bookmarks INNER JOIN torrents ON bookmarks.torrentid = torrents.id LEFT JOIN users ON torrents.owner = users.id LEFT JOIN categories ON torrents.category = categories.id WHERE bookmarks.userid = ".sqlesc($CURUSER["id"])." ORDER BY torrents.id DESC $limit") or sqlerr(__FILE__, __LINE__);
} else {
      $res = sql_query("SELECT bookmarks.id AS bookmarkid,torrents.id, torrents.name, torrents.type, torrents.comments, torrents.leechers, torrents.seeders, IF(torrents.numratings < $minvotes, NULL, ROUND(torrents.ratingsum / torrents.numratings)) AS rating, categories.name AS cat_name, categories.image AS cat_pic, torrents.save_as, torrents.numfiles, torrents.added, torrents.filename, torrents.size, torrents.views, torrents.visible, torrents.free, torrents.hits, torrents.times_completed, torrents.category FROM bookmarks INNER JOIN torrents ON bookmarks.torrentid = torrents.id LEFT JOIN categories ON torrents.category = categories.id WHERE bookmarks.userid = ".sqlesc($CURUSER["id"])." ORDER BY torrents.id DESC $limit") or sqlerr(__FILE__, __LINE__);
}
//NitroIMX
print("<tr><td class=\"index\" colspan=\"12\">");


Закрываем журнал, ибо юзерам там делать нечего))
log.php
Код: Выделить всёРазвернуть
loggedinorreturn();
//NitroIMX
  if (get_user_class() < UC_MODERATOR)
   stderr($tracker_lang['error'], "Ваш уровень привелегий не позволяет иметь доступ к данной странице!");
//NitroIMX
 
// delete items older than a week
  $secs = 7 * 86400;


В профиле пользователя скрываем что качал-выкладывал))
userdetails.php
Код: Выделить всёРазвернуть
?><script language="javascript" type="text/javascript" src="js/show_hide.js"></script><?
//NitroIMX
if (get_user_class() >= UC_MODERATOR && $user["class"] < get_user_class())
{
if ($torrents)
print("<tr valign=\"top\"><td class=\"rowhead\">Залитые&nbsp;торренты</td><td align=\"left\"><a href=\"javascript: show_hide('s1')\"><img border=\"0\" src=\"pic/plus.gif\" id=\"pics1\" title=\"Показать\"></a><div id=\"ss1\" style=\"display: none;\">$torrents</div></td></tr>\n");
if ($seeding)
print("<tr valign=\"top\"><td class=\"rowhead\">Сейчас&nbsp;раздает</td><td align=\"left\"><a href=\"javascript: show_hide('s2')\"><img border=\"0\" src=\"pic/plus.gif\" id=\"pics2\" title=\"Показать\"></a><div id=\"ss2\" style=\"display: none;\">$seeding</div></td></tr>\n");
if ($leeching)
print("<tr valign=\"top\"><td class=\"rowhead\">Сейчас&nbsp;качает</td><td align=\"left\"><a href=\"javascript: show_hide('s3')\"><img border=\"0\" src=\"pic/plus.gif\" id=\"pics3\" title=\"Показать\"></a><div id=\"ss3\" style=\"display: none;\">$leeching</div></td></tr>\n");
if ($completed)
print("<tr valign=\"top\"><td class=\"rowhead\">Скачаные&nbsp;торренты</td><td align=\"left\"><a href=\"javascript: show_hide('s4')\"><img border=\"0\" src=\"pic/plus.gif\" id=\"pics4\"></a><div id=\"ss4\" style=\"display: none;\">$completed</div></td></tr>\n");
if ($invitetree)
print("<tr valign=\"top\"><td class=\"rowhead\">Приглашенные</td><td align=\"left\"><a href=\"javascript: show_hide('s5')\"><img border=\"0\" src=\"pic/plus.gif\" id=\"pics5\"></a><div id=\"ss5\" style=\"display: none;\">$invitetree</div></td></tr>\n");
}
//NitroIMX
if ($user["info"])

Ногами не бейте, делал сам, а с php я не дружу))

Нужный код закоментарен "//NitroIMX", строчка выше и ниже это исходные строки движка Yuna Scatari Edition (18.05.07) Pre 6 RC 0. (при использовании оного кода, //NitroIMX просьба не удалять).

В details.php добавлено ещё перекодировка utf8 в cp1251 списка файлов торрента от zz.

Весь код работает на реальном локальном трекере.
4. Нагрузка? А зачем ее видеть? Ну раз хотите, вот (опять же) с форума разработчика
в function.php
Код: Выделить всёРазвернуть
function get_server_load($windows = 0) {
if(class_exists("COM")) {
  $wmi = new COM("WinMgmts:\\\\.");
  $cpus = $wmi->InstancesOf("Win32_Processor");
  $i = 1;
      // Use the while loop on PHP 4 and foreach on PHP 5
//   while ($cpu = $cpus->Next()) {
   foreach($cpus as $cpu) {
    $cpu_stats += $cpu->LoadPercentage;
    $i++;
   }
  return round($cpu_stats); // remove /2 for single processor systems
}
}

И коментарий автора:
но честно не стоит, лишнее вермя дле генерации страницы
Помню поставил я эту чепуху. Зрелище было ужасное.
И кстати, версия для линукс-сервера (все оттуда же)
Код: Выделить всёРазвернуть
<? 
//[b]works only under Linux[/b], to bid work on other systems look at the functions of http://phpsysinfo.sourceforge.net/


$avg = loadavg();
$load = $avg['avg'][0];

$memory = memory();
$percent = $memory['ram']['percent'];



header("Content-type: image/png"); 
$width=100;
$height=20;
$font = 3;
$im = @imagecreate($width, $height) or die("Cannot Initialize new GD image stream"); 
$background_color = imagecolorallocate($im, 200,200,200); 
$text_color = imagecolorallocate($im, 255, 255, 255); 
imagefilledrectangle($im, 0, 0, $percent, ($height/2), imagecolorallocate($im, 0, 0, 255)); 
ImageString($im,2,0,-1, $percent."% mem",$text_color);

imagefilledrectangle($im, 0, ($height/2), $load, ($height), imagecolorallocate($im, 255, 0, 0)); 
ImageString($im,2,0,($height/2)-2, $load."% cpu",imagecolorallocate($im, 0, 0, 0));

imagepng($im); 
imagedestroy($im);
exit;



function rfts( $strFileName, $intLines = 0, $intBytes = 4096, $booErrorRep = true ) {

    $strFile = "";
    $intCurLine = 1;
   
    if( file_exists( $strFileName ) ) {
        if( $fd = fopen( $strFileName, 'r' ) ) {
            while( !feof( $fd ) ) {
                $strFile .= fgets( $fd, $intBytes );
                if( $intLines <= $intCurLine && $intLines != 0 ) {
                    break;
                } else {
                    $intCurLine++;
                }
            }
            fclose( $fd );
        } else {
            if( $booErrorRep ) {
                die('file can not read by phpsysinfo' );
            }
            return "ERROR";
        }
    } else {
        if( $booErrorRep ) {
            die('the file does not exist on your machine' );
        }
        return "ERROR";
    }
     
    return $strFile;
}
  function memory () {
    $results['ram'] = array('total' => 0, 'free' => 0, 'used' => 0, 'percent' => 0);
    $results['swap'] = array('total' => 0, 'free' => 0, 'used' => 0, 'percent' => 0);
    $results['devswap'] = array();

    $bufr = rfts( '/proc/meminfo' );
    if ( $bufr != "ERROR" ) {
      $bufe = explode("\n", $bufr);
      foreach( $bufe as $buf ) {
        if (preg_match('/^MemTotal:\s+(.*)\s*kB/i', $buf, $ar_buf)) {
          $results['ram']['total'] = $ar_buf[1];
        } else if (preg_match('/^MemFree:\s+(.*)\s*kB/i', $buf, $ar_buf)) {
          $results['ram']['free'] = $ar_buf[1];
        } else if (preg_match('/^Cached:\s+(.*)\s*kB/i', $buf, $ar_buf)) {
          $results['ram']['cached'] = $ar_buf[1];
        } else if (preg_match('/^Buffers:\s+(.*)\s*kB/i', $buf, $ar_buf)) {
          $results['ram']['buffers'] = $ar_buf[1];
        } 
      } 

      $results['ram']['used'] = $results['ram']['total'] - $results['ram']['free'];
      $results['ram']['percent'] = round(($results['ram']['used'] * 100) / $results['ram']['total']);
       
      // values for splitting memory usage
      if (isset($results['ram']['cached']) && isset($results['ram']['buffers'])) {
        $results['ram']['app'] = $results['ram']['used'] - $results['ram']['cached'] - $results['ram']['buffers'];
    $results['ram']['app_percent'] = round(($results['ram']['app'] * 100) / $results['ram']['total']);
    $results['ram']['buffers_percent'] = round(($results['ram']['buffers'] * 100) / $results['ram']['total']);
    $results['ram']['cached_percent'] = round(($results['ram']['cached'] * 100) / $results['ram']['total']);
      }

      $bufr = rfts( '/proc/swaps' );
      if ( $bufr != "ERROR" ) {
        $swaps = explode("\n", $bufr);
        for ($i = 1; $i < (sizeof($swaps)); $i++) {
      if( trim( $swaps[$i] ) != "" ) {
            $ar_buf = preg_split('/\s+/', $swaps[$i], 6);
            $results['devswap'][$i - 1] = array();
            $results['devswap'][$i - 1]['dev'] = $ar_buf[0];
            $results['devswap'][$i - 1]['total'] = $ar_buf[2];
            $results['devswap'][$i - 1]['used'] = $ar_buf[3];
            $results['devswap'][$i - 1]['free'] = ($results['devswap'][$i - 1]['total'] - $results['devswap'][$i - 1]['used']);
            $results['devswap'][$i - 1]['percent'] = round(($ar_buf[3] * 100) / $ar_buf[2]);
        $results['swap']['total'] += $ar_buf[2];
        $results['swap']['used'] += $ar_buf[3];
        $results['swap']['free'] = $results['swap']['total'] - $results['swap']['used'];
        $results['swap']['percent'] = round(($results['swap']['used'] * 100) / $results['swap']['total']);
      }
        } 
      }
    }
    return $results;
  } 


  function loadavg ($bar = false) {
    $buf = rfts( '/proc/loadavg' );
    if( $buf == "ERROR" ) {
      $results['avg'] = array('N.A.', 'N.A.', 'N.A.');
    } else {
      $results['avg'] = preg_split("/\s/", $buf, 4);
      unset($results['avg'][3]);    // don't need the extra values, only first three
    } 
    if ($bar) {
      $buf = rfts( '/proc/stat', 1 );
      if( $buf != "ERROR" ) {
    sscanf($buf, "%*s %Ld %Ld %Ld %Ld", $ab, $ac, $ad, $ae);
    // Find out the CPU load
    // user + sys = load 
    // total = total
    $load = $ab + $ac + $ad;    // cpu.user + cpu.sys
    $total = $ab + $ac + $ad + $ae;    // cpu.total

    // we need a second value, wait 1 second befor getting (< 1 second no good value will occour)
    sleep(1);
    $buf = rfts( '/proc/stat', 1 );
    sscanf($buf, "%*s %Ld %Ld %Ld %Ld", $ab, $ac, $ad, $ae);
    $load2 = $ab + $ac + $ad;
    $total2 = $ab + $ac + $ad + $ae;
    $results['cpupercent'] = (100*($load2 - $load)) / ($total2 - $total);
      }
    }
    return $results;
  }

?>
Изображение
Пользователи федоры - как тараканы. Слабые духом и нервами давно вымерли, а оставшихся в живых уже ничем не взять.
Аватара пользователя
Conteo
Активный участник
 
Сообщения: 1813
Зарегистрирован: 14 мар 2008, 13:21
Откуда: Саратов, Заводской район
Домен: http://conteo.vfose.ru

Re: Установка торрент-трекера TBDev YSE 2.0

Сообщение speedi » 29 дек 2008, 12:55

Спасибо не множко помогли)))
speedi
Участник
 
Сообщения: 39
Зарегистрирован: 27 дек 2008, 18:59

Пред.След.

Вернуться в Установка веб-приложений

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19