Upstream tarball 20080304
[amule.git] / src / webserver / default / shared.php
blob3b1e06c0d0220a650df0cb4a11fac9728183e9f1
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2 <html>
3 <head>
4 <meta http-equiv="content-type" content="text/html; charset=UTF-8">
5 <meta http-equiv="pragmas" content="no-cache">
6 <?php
7 echo "<title>aMule " , amule_get_version(), " - Web Control Panel</title>";
8 if ( $_SESSION["auto_refresh"] > 0 ) {
9 echo "<meta http-equiv=\"refresh\" content=\"", $_SESSION["auto_refresh"],
10 '; url=shared.php', '">';
13 <style type="text/css">
14 img
16 border : 0px;
18 a, a:active, a:link, a:visited
20 color: white;
22 .down-header, .down-header-left, .down-header-right,
23 .down-line, .down-line-good, .down-line-left, .down-line-good-left,
24 .down-line-right, .down-line-good-right,
25 .up-header, .up-header-left, .up-line, .up-line-left,
26 .server-header, .server-header-left, .server-line, .server-line-left,
27 .shared-header, .shared-header-left, .shared-line, .shared-line-changed,
28 .shared-line-left, .shared-line-left-changed,
29 .header, .smallheader, .commontext,
30 .upqueue-header, .upqueue-line, .upqueue-line-left,
31 .websearch-header, .websearch-line, .addserver-header, .addserver-line
33 font-family : Tahoma;
34 font-size : 8pt;
36 .tabs
38 font-family : Tahoma;
39 font-size : 10pt;
40 background-color : #3399FF;
42 .down-header, .down-line, .down-line-good, .up-header, .up-line,
43 .server-header, .server-line, .shared-header, .shared-line, .shared-line-changed,
44 .upqueue-header, .upqueue-line,
45 .websearch-header, .websearch-line, .addserver-header, .addserver-line
47 text-align : center;
49 .down-header-left, .down-line-left, .down-line-good-left,
50 .server-header-left, .server-line-left, .shared-header-left,
51 .up-header-left, .up-line-left, .shared-line-left, .shared-line-left-changed, .upqueue-line-left
53 text-align : left;
55 .down-line-right, .down-line-good-right, .down-header-right
57 text-align : right;
59 .down-header, .down-header-left, .down-header-right,
60 .up-header, .up-header-left, .server-header, .server-header-left,
61 .shared-header, .shared-header-left, .upqueue-header,
62 .websearch-header, .addserver-header
64 background-color : #0066CC;
66 .header
68 background-color : #0046AC;
70 .smallheader
72 background-color : #003399;
73 color : #FFFFFF;
75 .commontext
77 background-color : #FFFFFF;
78 color : #000000;
80 .down-line, .down-line-good, .down-line-left, .down-line-good-left,
81 .down-line-right, .down-line-good-right,
82 .up-line, .up-line-left, .server-line, .server-line-left,
83 .shared-line, .shared-line-changed, .shared-line-left, .shared-line-left-changed,
84 .upqueue-line, .upqueue-line-left,
85 .websearch-line, .addserver-line
87 background-color : #3399FF;
89 .down-line-good, .down-line-good-left, .down-line-good-right, .shared-line-changed, .shared-line-left-changed
91 color : #F0F000;
93 .percent_table
95 border:0px solid #000000;
96 border-collapse: collapse;
98 .message
100 font-size: 10pt;
101 font-weight: bold;
102 color: #FF0000;
104 .dinput
106 border-width: 1px;
107 border-color: black;
109 </style>
110 </head>
111 <body bgcolor="#FBDE9C" text=white link="#3399FF" vlink="#3399FF" alink="#3399FF" marginwidth=0 marginheight=0 topmargin=0 leftmargin=0 style="margin:0px">
112 <table border=0 width="100%" align=center cellpadding=4 cellspacing=0>
113 <tr>
114 <td class="tabs" align="left" colspan="2">
116 <table border="0" cellpadding="4" cellspacing="0">
117 <tr>
118 <td class="tabs" align="center">
119 &nbsp;<a href="http://www.amule.org" target="_blank"><img src="emule.gif"></a>
120 <font face="Tahoma" style="font-size:13pt;" color="#000000">aMule<br>Web Control Panel</font>
121 </td>
122 <td class="tabs" align="center" width="30"> &nbsp; </td>
124 <td align="center" class="tabs" width="95">
125 <a href="servers.php">
126 <img src="cp_servers.gif"><br>
127 Server list
128 </a>
129 </td>
130 <td align="center" class="tabs" width="95">
131 <a href="downloads.php">
132 <img src="cp_download.gif"><br>
134 Transfer
135 </a>
136 </td>
137 <td align="center" class="tabs" width="95">
138 <a href="search.php">
139 <img src="cp_search.gif"><br>
140 Search
141 </a>
142 </td>
143 <td align="center" class="tabs" width="95">
145 <a href="shared.php">
146 <img src="cp_shared.gif"><br>
147 Shared Files
148 </a>
149 <td align="center" class="tabs" width="110">
150 <a href="stat_tree.php">
151 <img src="cp_stats.gif"><br>
152 Statistics</a>
153 <font color="#000000">|</font>
155 <a href="stat_graphs.php">Graphs</a>
156 </td>
157 </td>
158 <td align="center" class="tabs" width="95">
159 <a href="preferences.php">
160 <img src="cp_settings.gif"><br>
161 Preferences
162 </a>
163 </td>
165 <td class="tabs" align="center" width="30">&nbsp;</td>
166 <td align="left" class="tabs" width="95">
167 <img src="log.gif"> <a href="index.php?serverinfo=1">Serverinfo</a><br>
168 <img src="log.gif"> <a href="index.php?log=1">Log</a>
169 </td>
170 </tr>
171 </table>
173 </td>
174 </tr>
175 <tr>
176 <td style="background-color: #000000; height: 1px" colspan="2">
177 </td>
178 </tr>
179 <tr>
180 <td class="tabs">
181 &nbsp;&nbsp;<b>Connection:</b>
182 <?php
183 function CastToXBytes($size)
185 if ( $size < 1024 ) {
186 $result = $size . " bytes";
187 } elseif ( $size < 1048576 ) {
188 $result = ($size / 1024.0) . "KB";
189 } elseif ( $size < 1073741824 ) {
190 $result = ($size / 1048576.0) . "MB";
191 } else {
192 $result = ($size / 1073741824.0) . "GB";
194 return $result;
197 $stats = amule_get_stats();
198 if ( $stats["kad_connected"] == 1 ) {
199 echo "Connected";
200 if ( $stats["kad_firewalled"] == 1 ) {
201 echo " to KAD (firewalled), ";
202 } else {
203 echo " to KAD, ";
205 } else {
206 echo "Not connected to KAD, ";
208 if ( $stats["id"] == 0 ) {
209 echo "not connected to ED2K";
210 } elseif ( $stats["id"] == 0xffffffff ) {
211 echo "connecting to ED2k";
212 } else {
213 echo "connected with ", (($stats["id"] < 16777216) ? "low" : "high"), " ID to ",
214 $stats["serv_name"], " ", $stats["serv_addr"];
216 echo '<br>&nbsp;&nbsp;<b>Speed:</b> Up: ', CastToXBytes($stats["speed_up"]), 'ps',
217 ' | Down: ', CastToXBytes($stats["speed_down"]), 'ps',
218 '<small> (Limits: ', CastToXBytes($stats["speed_limit_up"]), 'ps/',
219 CastToXBytes($stats["speed_limit_down"]), 'ps)</small>&nbsp;';
221 <font color=black>
223 <script language="javascript">
224 var d = new Date();
225 s = "[ " + d.getDate() + "/" + (d.getMonth() + 1) + "/" + d.getFullYear() + " " + d.getHours() + ":" + (d.getMinutes() < 10 ? "0" : "") + d.getMinutes() + ":" + (d.getSeconds() < 10 ? "0" : "") + d.getSeconds() + " ]";
226 document.write(s);
227 </script>
228 </font>
229 </td>
230 <td align=right class=tabs>
231 <form>
232 <input type="button" value="ed2k://Download" onClick='self.location.href="index.php?links=1"'>
233 <input type="button" value="Logout" onClick='self.location.href="login.php"'>
234 </form>
235 </td>
236 </tr>
237 </table><font face=Tahoma style="font-size:8pt;">
238 <table align=center border=0 cellpadding=4 cellspacing=0 width="95%">
239 <tr>
241 <td valign=middle class="shared-header-left"><a href="shared.php?sort=name"><b>File Name</b></a></td>
242 <td valign=middle class="shared-header">
243 <a href="shared.php?sort=xfer"><b>Transferred Data</b></a>&nbsp
244 <a href="shared.php?sort=allxfer">(Total)
245 </td>
246 <td valign=middle class="shared-header">
247 <a href="shared.php?sort=req"><b>Requests</b></a>&nbsp
248 <a href="shared.php?sort=allreq"><b>(Total)</b></a>&nbsp
249 </td>
251 <td valign=middle class="shared-header">
252 <a href="shared.php?sort=acc"><b>Accepted Requests</b></a>&nbsp
253 <a href="shared.php?sort=allacc"><b>(Total)</b></a>
254 </td>
255 <td valign=middle class="shared-header"><a href="shared.php?sort=size"><b>Size</b></a></td>
256 <td valign=middle class="shared-header"><a href="shared.php?sort=priority"><b>Priority</b></a></td>
257 <td valign=middle width="10%" class="shared-header"><b>ED2K Link(s)</b></td>
258 </tr>
259 <p align=center><div class="message"></div></p><br>
261 <?php
263 function CastToXBytes($size)
265 if ( $size < 1024 ) {
266 $result = $size . " bytes";
267 } elseif ( $size < 1048576 ) {
268 $result = ($size / 1024.0) . "KB";
269 } elseif ( $size < 1073741824 ) {
270 $result = ($size / 1048576.0) . "MB";
271 } else {
272 $result = ($size / 1073741824.0) . "GB";
274 return $result;
276 function PrioString($file)
278 $prionames = array(0 => "Low", 1 => "Normal", 2 => "High",
279 3 => "Very high", 4 => "Very low", 5=> "Auto", 6 => "Powershare");
280 $result = $prionames[$file->prio];
281 if ( $file->prio_auto == 1) {
282 $result = $result . "(auto)";
284 return $result;
288 // declare it here, before any function reffered it in "global"
290 $sort_order;$sort_reverse;
292 function my_cmp($a, $b)
294 global $sort_order, $sort_reverse;
296 switch ( $sort_order) {
297 case "size": $result = $a->size > $b->size; break;
298 case "name": $result = $a->name > $b->name; break;
299 case "xfer": $result = $a->xfer > $b->xfer; break;
300 case "allxfer": $result = $a->xfer_all > $b->xfer_all; break;
301 case "acc": $result = $a->accept > $b->accept; break;
302 case "allacc": $result = $a->accept_all > $b->accept_all; break;
303 case "req": $result = $a->req > $b->req; break;
304 case "req_all": $result = $a->req_all > $b->req_all; break;
305 case "prio": $result = PrioString($a) > PrioString($b); break;
308 if ( $sort_reverse ) {
309 $result = !$result;
311 return $result;
314 if (($HTTP_GET_VARS["cmd"] != "") && ($_SESSION["guest_login"] == 0)) {
315 if ($HTTP_GET_VARS["cmd"] == "reload") {
316 amule_do_reload_shared_cmd();
317 } else {
318 amule_do_shared_cmd($HTTP_GET_VARS["file"], $HTTP_GET_VARS["cmd"]);
322 $shared = amule_load_vars("shared");
324 $sort_order = $HTTP_GET_VARS["sort"];
326 if ( $sort_order == "" ) {
327 $sort_order = $_SESSION["shared_sort"];
328 } else {
329 if ( $_SESSION["sort_reverse"] == "" ) {
330 $_SESSION["sort_reverse"] = 0;
331 } else {
332 $_SESSION["sort_reverse"] = !$_SESSION["sort_reverse"];
336 $sort_reverse = $_SESSION["sort_reverse"];
337 if ( $sort_order != "" ) {
338 $_SESSION["shared_sort"] = $sort_order;
339 usort(&$shared, "my_cmp");
342 foreach ($shared as $file) {
343 echo '<tr>';
344 echo '<td valign=top class="shared-line-left"><acronym title="', $file->name, '">',
345 $file->name, '</acronym></td>';
346 echo '<td valign=top class="shared-line">', CastToXBytes($file->xfer),
347 '(', CastToXBytes($file->xfer_all),')</td>';
349 echo '<td valign=top class="shared-line">' , $file->req, '(', $file->req_all,')</td>';
350 echo '<td valign=top class="shared-line">' , $file->accept, '(', $file->accept_all,')</td>';
351 echo '<td valign=top class="shared-line">', CastToXBytes($file->size), '</td>';
352 echo '<td valign=top class="shared-line">', PrioString($file), '</td>';
353 echo '<td valign=top class="shared-line"><acronym title="ED2K Link(s)"><a href="',
354 $file->link, '"><img src="l_ed2klink.gif" alt="ED2K Link(s)"></a></acronym>';
356 if ( $_SESSION["guest_login"] == 0 ) {
357 echo '<acronym title="Increase Priority"><a href="shared.php?cmd=prioup&file=', $file->hash,
358 '"><img src="l_up.gif" alt="Increase Priority"></a></acronym>';
359 echo '<acronym title="Decrease Priority"><a href="shared.php?cmd=priodown&file=', $file->hash,
360 '"><img src="l_down.gif" alt="Decrease Priority"></a></acronym>';
363 echo '</td>', "\n";
364 echo '</tr>', "\n";
368 </table>
370 <p align="center">
371 <form><input type="button" name="queue" value="Reload List" onClick="self.location.href='shared.php?cmd=reload'"></form>
372 &nbsp;
374 </p></body>
375 </html>