adlink.php id=,stats.php

本文展示了活跃上传者上传次数、最近上传时间和对应比例,以及各类别下载统计,帮助了解用户和类别在数据分享中的活跃情况。

require "include/bittorrent.php";

dbconn();

loggedinorreturn();

if (get_user_class() < UC_MODERATOR)

stderr("Error", "Permission denied.");

stdhead("Stats");

?>

a.colheadlink:link, a.colheadlink:visited{

font-weight: bold;

color: #FFFFFF;

text-decoration: none;

}

a.colheadlink:hover {

text-decoration: underline;

}

begin_main_frame();

$res = sql_query("SELECT COUNT(*) FROM torrents") or sqlerr(__FILE__, __LINE__);

$n = mysql_fetch_row($res);

$n_tor = $n[0];

$res = sql_query("SELECT COUNT(*) FROM peers") or sqlerr(__FILE__, __LINE__);

$n = mysql_fetch_row($res);

$n_peers = $n[0];

$uporder = $_GET['uporder'];

$catorder = $_GET["catorder"];

if ($uporder == "lastul")

$orderby = "last DESC, name";

elseif ($uporder == "torrents")

$orderby = "n_t DESC, name";

elseif ($uporder == "peers")

$orderby = "n_p DESC, name";

else

$orderby = "name";

$query = "SELECT u.id, u.username AS name, MAX(t.added) AS last, COUNT(DISTINCT t.id) AS n_t, COUNT(p.id) as n_p

FROM users as u LEFT JOIN torrents as t ON u.id = t.owner LEFT JOIN peers as p ON t.id = p.torrent WHERE u.class = 3

GROUP BY u.id UNION SELECT u.id, u.username AS name, MAX(t.added) AS last, COUNT(DISTINCT t.id) AS n_t, COUNT(p.id) as n_p

FROM users as u LEFT JOIN torrents as t ON u.id = t.owner LEFT JOIN peers as p ON t.id = p.torrent WHERE u.class > 3

GROUP BY u.id ORDER BY $orderby";

$res = sql_query($query) or sqlerr(__FILE__, __LINE__);

if (mysql_num_rows($res) == 0)

stdmsg("Sorry...", "No uploaders.");

else

{

begin_frame("Uploader Activity", True);

begin_table();

print("

\n Uploader\n Last Upload\n Torrents\nPerc.\n Peers\nPerc.\n\n");

while ($uper = mysql_fetch_array($res))

{

print("

" . get_username($uper['id']) . "\n");

print("

".$uper['last']." (".get_elapsed_time(strtotime($uper['last']))." ago)"):"align=center>---") . "\n");

print("

" . $uper['n_t'] . "\n");

print("

" . ($n_tor > 0?number_format(100 * $uper['n_t']/$n_tor,1)."%":"---") . "\n");

print("

" . $uper['n_p']."\n");

print("

" . ($n_peers > 0?number_format(100 * $uper['n_p']/$n_peers,1)."%":"---") . "\n");

}

end_table();

end_frame();

}

if ($n_tor == 0)

stdmsg("Sorry...", "No categories defined!");

else

{

if ($catorder == "lastul")

$orderby = "last DESC, c.name";

elseif ($catorder == "torrents")

$orderby = "n_t DESC, c.name";

elseif ($catorder == "peers")

$orderby = "n_p DESC, name";

else

$orderby = "c.name";

$res = sql_query("SELECT c.name, MAX(t.added) AS last, COUNT(DISTINCT t.id) AS n_t, COUNT(p.id) AS n_p

FROM categories as c LEFT JOIN torrents as t ON t.category = c.id LEFT JOIN peers as p

ON t.id = p.torrent GROUP BY c.id ORDER BY $orderby") or sqlerr(__FILE__, __LINE__);

begin_frame("Category Activity", True);

begin_table();

print("

Category Last Upload TorrentsPerc. PeersPerc.\n");

while ($cat = mysql_fetch_array($res))

{

print("

" . $cat['name'] . "");

print("

".$cat['last']." (".get_elapsed_time(strtotime($cat['last']))." ago)"):"align = center>---") ."");

print("

" . $cat['n_t'] . "");

print("

" . number_format(100 * $cat['n_t']/$n_tor,1) . "%");

print("

" . $cat['n_p'] . "");

print("

" . ($n_peers > 0?number_format(100 * $cat['n_p']/$n_peers,1)."%":"---") . "\n");

}

end_table();

end_frame();

}

end_main_frame();

stdfoot();

die;

?>

一键复制

编辑

Web IDE

原始数据

按行查看

历史

下载前可以先看下教程 https://pan.quark.cn/s/efc8b0db60dd **Pomelo框架详解**Pomelo是一款具备高性能特质的、开源的游戏服务器框架,其研发与维护工作由网易公司负责,主要应用于构建实时性、多人在线的游戏服务器平台。 本手册致力于协助初学者迅速掌握并理解Pomelo框架,同时为资深的开发者提供关于特定功能查阅的参考指南。 ### 1. Pomelo概述Pomelo框架建立在Node.js的基础之上,充分借助了其异步非阻塞I/O的核心优势,从而能够高效地应对大规模并发连接的需求。 该框架采用了模块化的设计理念,使得系统的扩展性与维护工作变得更为便捷。 Pomelo提供了一套系统化的开发流程,涵盖了服务器端开发、客户端之间的通信机制、数据库的交互操作等关键环节,显著提升了整体开发工作的效率。 ### 2. 安装与配置在使用Pomelo框架进行开发之前,必须确保已经正确安装了Node.js的开发环境。 随后,利用npm(即Node.js的软件包管理工具)进行Pomelo的全局性安装操作:```bashnpm install -g pomelo```接着,在指定的项目目录内执行Pomelo项目的初始化命令:```bashpomelo init appname```这一操作将自动生成一个基础的Pomelo项目架构,其中包含了必要的配置文件以及服务器端的代码文件。 ### 3. 服务器架构Pomelo框架的服务器架构由多个核心组件构成,包括但不限于`connector`(负责连接管理的连接器)、`handler`(承担消息解析与调度的消息处理器)、`filter`(执行数据校验和权限控制的过滤器)以及`game logic`(由开发者自定义的游戏核心逻...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值