Bravo List
Register
Go Back   > Bravo List > Source Code > Archived Trackers > BT.Manager (phpMyBitTorrent)
Reply
  #1  
Old 16th May 2013, 00:10
Giorgatzelos's Avatar
Giorgatzelos Giorgatzelos is offline
Senior Member
 
Join Date: Nov 2009
Greece
Posts: 300
Default stats.php error message...
PHP Code:
Top 10 Best Sharers (with minimum 100 MB downloaded
Account Rank    Account User    Uploaded    Downloaded    ratio
1    Optimus Prime    21.83 TB    32.91 GB    679.18
2    Giorgatzelos    9.09 TB    4.43 GB    2
,102.27 

after table top 10 sharers i get this message:


Code:
BIGINT UNSIGNED value is out of range in '(`hostz_11543320_1`.`torrent_users`.`downloaded` - `hostz_11543320_1`.`torrent_users`.`uploaded`)'
Bump: maybe the error is because there are 2 sharers and the sql seeks for 10?...
i looked at the code and this is the only i can think of....
Reply With Quote
  #2  
Old 16th May 2013, 04:55
joeroberts's Avatar
joeroberts joeroberts is offline
BT.Manager Owner
 
Join Date: Jan 2008
United States
Posts: 2,113
Default
try this one
Code:
<?php
/*
*------------------------------phpMyBitTorrent V 2.0.5-------------------------*
*--- The Ultimate BitTorrent Tracker and BMS (Bittorrent Management System) ---*
*--------------   Created By Antonio Anzivino (aka DJ Echelon)   --------------*
*-------------------   And Joe Robertson (aka joeroberts)   -------------------*
*-------------               http://www.p2pmania.it               -------------*
*------------ Based on the Bit Torrent Protocol made by Bram Cohen ------------*
*-------------              http://www.bittorrent.com             -------------*
*------------------------------------------------------------------------------*
*------------------------------------------------------------------------------*
*--   This program is free software; you can redistribute it and/or modify   --*
*--   it under the terms of the GNU General Public License as published by   --*
*--   the Free Software Foundation; either version 2 of the License, or      --*
*--   (at your option) any later version.                                    --*
*--                                                                          --*
*--   This program is distributed in the hope that it will be useful,        --*
*--   but WITHOUT ANY WARRANTY; without even the implied warranty of         --*
*--   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the          --*
*--   GNU General Public License for more details.                           --*
*--                                                                          --*
*--   You should have received a copy of the GNU General Public License      --*
*--   along with this program; if not, write to the Free Software            --*
*-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA --*
*--                                                                          --*
*------------------------------------------------------------------------------*
*------              ©2010 phpMyBitTorrent Development Team              ------*
*-----------               http://phpmybittorrent.com               -----------*
*------------------------------------------------------------------------------*
*-----------------   Sunday, September 14, 2008 9:05 PM   ---------------------*
*/
if (defined('IN_PMBT'))die ("You can't include this file");
define("IN_PMBT",true);
include("header.php");
  function get_ratio_color($ratio)
  {
    if ($ratio < 0.1) return "#ff0000";
    if ($ratio < 0.2) return "#ee0000";
    if ($ratio < 0.3) return "#dd0000";
    if ($ratio < 0.4) return "#cc0000";
    if ($ratio < 0.5) return "#bb0000";
    if ($ratio < 0.6) return "#aa0000";
    if ($ratio < 0.7) return "#990000";
    if ($ratio < 0.8) return "#880000";
    if ($ratio < 0.9) return "#770000";
    if ($ratio < 1) return "#660000";
    return "#000000";
  }

if (!$user->user) loginrequired("user");

function get_row_count($table, $suffix = "")
{
  if ($suffix)
    $suffix = " $suffix";
  ($r = mysql_query("SELECT COUNT(*) FROM $table$suffix")) or die(mysql_error());
  ($a = mysql_fetch_row($r)) or die(mysql_error());
  return $a[0];
}
function usertable($res, $frame_caption) {
$menu = '';
  print ("<div align=left><B>$frame_caption </B><BR>");
    if (mysql_num_rows($res) > 0)
    {
    print("<table border=1 cellspacing=0 cellpadding=2 class=table_table>\n");
  $num = 0;
  while ($a = mysql_fetch_assoc($res)) {
    ++$num;
    if ($a["uploaded"] == "0")
      break;
    if ($a["downloaded"]) {
      $ratio = $a["uploaded"] / $a["downloaded"];
      $color = get_ratio_color($ratio);
      $ratio = number_format($ratio, 2);
      if ($color)
        $ratio = "<font color=$color>$ratio</font>";
    }
    else
      $ratio = "Inf.";
    if ($menu != "1") {
      echo "<tr>"
        ."<td class=table_head>"._btstats_rank."</td>"
        ."<td class=table_head align=left>"._btstats_user."</td>"
        ."<td class=table_head>"._btstats_uploaded."</td>"
        ."<td class=table_head>"._btstats_downloaded."</td>"
        ."<td class=table_head align=right>"._btstats_ratio."</td>"
        ."</tr>";
      $menu = 1;
    }
    print("<tr><td class=table_col1>$num</td><td class=table_col2 align=left><a href=user.php?op=profile&id=" . $a["id"] . "><b>" . $a["username"] .
          "</b></a></td><td class=table_col1 align=right>" . mksize($a["uploaded"]) .
          "</td><td class=table_col2 align=right>" . mksize($a["downloaded"]) .
          "</td><td class=table_col1 align=right>" . $ratio . "</td></tr>");
  }
  echo "</table></div>";
      }else{
        echo "<font color=red>"._btstats_noshow."</font></div>";
    }
}

function _torrenttable($res, $frame_caption) {
$menu = '';
  print ("<div align=left><B>$frame_caption </B><BR>");
  if (mysql_num_rows($res) > 0)
    {
      print("<table border=1 cellspacing=0 cellpadding=2 class=table_table>\n");
  $num = 0;
  while ($a = mysql_fetch_assoc($res)) {
      ++$num;
      if ($a["leechers"])
      {
        $r = $a["seeders"] / $a["leechers"];
        $ratio = "<font color=" . get_ratio_color($r) . ">" . number_format($r, 2) . "</font>";
      }
      else
        $ratio = "Inf.";
        if ($menu != "1") {
          echo "<tr>"
              ."<td class=ttable_head>"._btstats_rank."</td>"
              ."<td class=ttable_head align=left>"._btstats_user."</td>"
              ."<td class=ttable_head align=right>"._btstats_completed."</td>"
              ."<td class=ttable_head align=right>"._btstats_seeds."</td>"
              ."<td class=ttable_head align=right>"._btstats_leech."</td>"
              ."<td class=ttable_head align=right>"._btstats_peers."</td>"
               ."<td class=ttable_head align=right>"._btstats_ratio."</td>"
               ."</tr>";
           $menu = 1;
        }
                $dispname = htmlspecialchars($a["name"]);
                $dispname = str_replace("_", " ", $dispname);
                $dispname = str_replace(".", " ", $dispname);
        print("<tr><td class=ttable_col1>$num</td><td class=ttable_col2 align=left><a   title=\"".$dispname."\" href=details.php?id=" . $a["id"] . "&hit=1><b>" .
        ((strlen($dispname) <= 25) ? $dispname : substr($dispname,0,24)."...")."</b></a></td><td class=ttable_col1 align=center>" . number_format($a["completed"]) .
        "</td><td class=ttable_col2 align=center>" . number_format($a["seeders"]) .
        "</td><td class=ttable_col1 align=center>" . number_format($a["leechers"]) .
        "</td><td class=ttable_col2 align=center>" . ($a["leechers"] + $a["seeders"]) .
        "</td><td class=ttable_col1 align=right>$ratio</td>\n");
    }
    echo "</table></div>";
    }else{
        echo "<font color=red>"._btstats_noshow."</font></div>";
    }
}

function countriestable($res, $frame_caption) {
    OpenTable2($frame_caption);
      if (mysql_num_rows($res) > 0)
    {
    print("<table border=1 cellspacing=0 cellpadding=2 class=table_table>\n");
    
    echo "<tr>";
    echo "<td class=table_head>"._btstats_rank."</td>";
    echo "<td class=table_head align=left>"._btstats_country."</td>";
    echo "<td class=table_head align=right>"._btstats_users."</td>";
    echo "</tr>";
    
    $num = 0;
    while ($a = mysql_fetch_assoc($res))
    {
      ++$num;
      print("<tr><td class=table_col1>$num</td>
      <td class=table_col2 align=left><img align=center src=images/flag/$a[flagpic]>&nbsp;<b>$a[name]</b></td>
      <td align=right class=table_col1>$a[num]</td></tr>\n");
    }
    echo "</table>";
        CloseTable2();

        }else{
        echo "<font color=red>"._btstats_noshow."</font></div>";
    }
}
function postertable($res, $frame_caption) {
    OpenTable2($frame_caption);
      if (mysql_num_rows($res) > 0)
    {
    print("<table border=1 cellspacing=0 cellpadding=2 class=table_table>\n");
    
    echo "<tr>";
    echo "<td class=table_head width=80>"._btstats_rank."</td>";
    echo "<td class=table_head align=left>"._btstats_user."</td>";
    echo "<td class=table_head align=left width=100>"._btstats_posted."</td>";
    echo "</tr>";
    
    $num = 0;
    while ($a = mysql_fetch_assoc($res))
    {
      ++$num;
      print("<tr><td class=table_col1>$num</td><td class=table_col2 align=left><a href=user.php?op=profile&id=$a[id]><b>$a[username]</b></td><td align=right class=table_col1>$a[num]</td></tr>\n");
    }
    echo "</table>";
    CloseTable2();
        }else{
        echo "<font color=red>"._btstats_noshow."</font>";
        CloseTable2();
    }
}

//main stats here
$a = @mysql_fetch_assoc(@mysql_query("SELECT id,username FROM ".$db_prefix."_users WHERE active = '1' ORDER BY id DESC LIMIT 5"));
if ($user->user)
  $latestuser = "<a href=user.php?op=profile&id=" . $a["id"] . ">" . $a["username"] . "</a>";
else
  $latestuser = "<b>$a[username]</b>";
$registered = number_format(get_row_count("".$db_prefix."_users"));
$torrents = number_format(get_row_count("".$db_prefix."_torrents"));

$result = mysql_query("SELECT SUM(downloaded) AS totaldl FROM ".$db_prefix."_users") or sqlerr(__FILE__, __LINE__); 

while ($row = mysql_fetch_array ($result)) 
{ 
$totaldownloaded      = $row["totaldl"]; 
} 
$result = mysql_query("SELECT SUM(uploaded) AS totalul FROM ".$db_prefix."_users") or sqlerr(__FILE__, __LINE__); 

while ($row = mysql_fetch_array ($result)) 
{ 
$totaluploaded      = $row["totalul"]; 
}
$seeders = get_row_count("".$db_prefix."_peers", "WHERE seeder='yes'");
$leechers = get_row_count("".$db_prefix."_peers", "WHERE seeder='no'");
$localtorrent = number_format(get_row_count("".$db_prefix."_torrents", "WHERE tracker IS NULL AND exeem IS NOT NULL"));
$externaltorrent = number_format(get_row_count("".$db_prefix."_torrents", "WHERE tracker IS NOT NULL"));

$usersactive = 0;
if ($leechers == 0)
  $ratio = "100";
else
  $ratio = round($seeders / $leechers * 100);
 if ($ratio < 20)
    $ratio = "<font class=red>" . $ratio . "%</font>";
 else
    $ratio .= "%";
$peers = number_format($seeders + $leechers);
$seeders = number_format($seeders);
$leechers = number_format($leechers);
// start count registered today
$res = mysql_query("SELECT COUNT(*) FROM ".$db_prefix."_users WHERE UNIX_TIMESTAMP(" . gmdate("YmdHis") . ") - UNIX_TIMESTAMP(regdate) < 86400");
$arr44 = mysql_fetch_row($res);
$regtoday = $arr44[0];

function getmicrotime(){
    list($usec, $sec) = explode(" ",microtime());
    return ((float)$usec + (float)$sec);
}
$time_start = getmicrotime();
//end here

///////////////////////////////////////// PAGE LAYOUT //////////////////////////////

OpenTable(_btstats_extra);


echo "<div align=left><font class=stats>"._btstats_welcome." $latestuser</font>";
echo "<br><font class=stats>"._btstats_total." $registered </font>";
echo "<br><font class=stats>"._btstats_new_today." $regtoday </font>";
echo "<br><font class=stats>"._btstats_active."  $peers </font>";
ECHO "<br><font class=stats>"._btstats_downloaded."  ".mksize($totaldownloaded)." </FONT>";
ECHO "<br><font class=stats>"._btstats_uploaded."  ".mksize($totaluploaded)." </FONT>";
echo "<br><font class=stats>"._btstats_tracking."  $torrents  "._btstats_torrents."</font>";
echo "<br><font class=stats>"._btstats_local."  $localtorrent  Torrents </font>";
echo "<br><font class=stats>"._btstats_external."  $externaltorrent  Torrents </font>";
echo "<br><font class=stats>"._btstats_seeds."$seeders </font>";
echo "<br><font class=stats>"._btstats_leech."$leechers </font>";
echo "<br><font class=stats>"._btstats_seed_ratio."  $ratio </font>";
echo "<br><br></div>";



  $r = mysql_query("SELECT ".$db_prefix."_users.id, ".$db_prefix."_users.username, COUNT(".$db_prefix."_torrents.owner) as num FROM ".$db_prefix."_torrents LEFT JOIN ".$db_prefix."_users ON ".$db_prefix."_users.id = ".$db_prefix."_torrents.owner GROUP BY owner ORDER BY num DESC LIMIT 10") or sqlerr();
  postertable($r, _btstats_top10_posters); echo "<br>";

  $r = mysql_query("SELECT id, username, uploaded, downloaded FROM ".$db_prefix."_users  ORDER BY uploaded DESC LIMIT 10") or die;
  usertable($r, _btstats_top10_uploaders); echo "<br>";

  $r = mysql_query("SELECT id, username, uploaded, downloaded FROM ".$db_prefix."_users  ORDER BY downloaded DESC LIMIT 10") or die;
  usertable($r, _btstats_top10_leechers); echo "<br>";

  $r = mysql_query("SELECT id, username, uploaded, downloaded FROM ".$db_prefix."_users WHERE downloaded > 104857600 ORDER BY (CAST(uploaded AS SIGNED) - CAST(downloaded AS SIGNED)) DESC LIMIT 10") or die(mysql_error());
  usertable($r, ""._btstats_top10_best_shares."<font class=small>"._btstats_100mb."</font>"); echo "<br>";

  $r = mysql_query("SELECT id, username, uploaded, downloaded FROM ".$db_prefix."_users WHERE downloaded > 104857600   ORDER BY (CAST(downloaded AS SIGNED) - CAST(uploaded AS SIGNED)) DESC, downloaded DESC LIMIT 10") or die(mysql_error());
  usertable($r, ""._btstats_top10_worst_shares."<font class=small>"._btstats_100mb."</font>"); echo "<br>";

  $r = mysql_query("SELECT * FROM ".$db_prefix."_torrents ORDER BY seeders + leechers DESC, seeders DESC, added ASC LIMIT 10") or sqlerr();
  _torrenttable($r, ""._btstats_top10_active."</font>"); echo "<br>";

  $r = mysql_query("SELECT * FROM ".$db_prefix."_torrents WHERE seeders >= 5 ORDER BY seeders / leechers DESC, seeders DESC, added ASC LIMIT 10") or sqlerr();
  _torrenttable($r, ""._btstats_top10_best_seed."<font class=small>"._btstats_top10_5seeds."</font>"); echo "<br>";

  $r = mysql_query("SELECT * FROM ".$db_prefix."_torrents WHERE leechers >= 5 AND completed > 0 ORDER BY seeders / leechers ASC, leechers DESC LIMIT 10") or sqlerr();
  _torrenttable($r, ""._btstats_top10_worst_seeded."<font class=small>"._btstats_top10_5leech."</font>"); echo "<br>";
  
    $r = mysql_query("SELECT * FROM ".$db_prefix."_torrents WHERE  completed > 0 ORDER BY seeders / leechers ASC, completed DESC LIMIT 10") or sqlerr();
  _torrenttable($r, ""._btstats_top10_most_complete."<font class=small></font>"); echo "<br>";

  $r = mysql_query("SELECT ".$db_prefix."_countries.name, flagpic, COUNT(".$db_prefix."_users.country) as num FROM ".$db_prefix."_countries LEFT JOIN ".$db_prefix."_users ON ".$db_prefix."_users.country = ".$db_prefix."_countries.id GROUP BY ".$db_prefix."_countries.name ORDER BY num DESC LIMIT 10") or sqlerr();
  countriestable($r, "<font class=small>"._btstats_top10_countries."</font>");echo "<br><br>";

  CloseTable();
include ("footer.php");
?>
__________________
Do not ask me to help you work on your site that is not phpMyBitTorrent
Do not ask me to make a mod for any other source
Do not Ask me to setup your site.
I will no longer help you setup your site, there is a setup script if you have trouble with it post in the forum here or in BT.Manager™ forum
My Current Demo is here http://demo.btmanager.org/
Reply With Quote
The Following User Says Thank You to joeroberts For This Useful Post:
Giorgatzelos (16th May 2013)
  #3  
Old 16th May 2013, 16:13
Giorgatzelos's Avatar
Giorgatzelos Giorgatzelos is offline
Senior Member
 
Join Date: Nov 2009
Greece
Posts: 300
Default
Worked like a charm!Thanks Joe!
Reply With Quote
Reply

Tags
error , message , statsphp

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump



All times are GMT +2. The time now is 00:52. vBulletin skin by ForumMonkeys. Powered by vBulletin® Version 3.8.11 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions Inc.