📄 downloads.php
字号:
</td> </tr> </table> </td> <td background="main_topbardarker.gif" align="center" valign="middle" class="tabs_five"> <a href="login.php"> <img src="arrow_down_logout.gif" align="absmiddle"> Logout </a> </td> </tr> </table><font face=Tahoma style="font-size:8pt;"></font> <table border=0 align=center cellpadding=4 cellspacing=0 width="95%"><tr> <td align=center valign=middle><script type="text/javascript">function GotoCat(cat) { window.location.href="downloads.php?cmd=filter&status="+cat;}</script><font face=Tahoma style="font-size:8pt;"><table border=0 align=center cellpadding=3 cellspacing=0 width="100%" bgcolor="#99CCFF"><tr> <td class="smallheader" style="background-color: #000000" colspan="8"><img src="arrow_down.gif"> <b>Downloads <?php $downloads = amule_load_vars("downloads"); echo ' (', count($downloads), ')'; ?> </b></td> <td align="right" class="smallheader" style="background-color: #000000"> <form> <select name="cat" size="1" onchange=GotoCat(this.form.cat.options[this.form.cat.selectedIndex].value)> <?php $all_status = array("All", "Waiting", "Paused", "Downloading"); if ( $HTTP_GET_VARS["cmd"] == "filter") { $_SESSION["filter_status"] = $HTTP_GET_VARS["status"]; } if ( $_SESSION["filter_status"] == '') $_SESSION["filter_status"] = 'All'; foreach ($all_status as $s) { echo (($s == $_SESSION["filter_status"]) ? '<option selected>' : '<option>'), $s, '</option>'; } ?> </select> </form> </td></tr><tr> <td valign=middle class="down-header-left"><a href="downloads.php?sort=name"><b>File Name</b></a></td> <td valign=middle class="down-header"><a href="downloads.php?sort=size"><b>Size</b></a></td> <td valign=middle class="down-header"><a href="downloads.php?sort=size_done"><b>Complete</b></a></td> <td valign=middle class="down-header"><a href="downloads.php?sort=size_xfer"><b>Transferred</b></a></td> <td valign=middle class="down-header"><a href="downloads.php?sort=progress"><b>Progress</b></a></td> <td valign=middle class="down-header"><a href="downloads.php?sort=speed"><b>Speed</b></a></td> <td valign=middle class="down-header"><b>Sources</b></td> <td valign=middle class="down-header"><a href="downloads.php?sort=prio"><b>Priority</b></a></td> <td valign=middle class="down-header"><b>Actions</b></td></tr><?php function CastToXBytes($size) { if ( $size < 1024 ) { $result = $size . " byte"; } elseif ( $size < 1048576 ) { $result = ($size / 1024.0) . "KB"; } elseif ( $size < 1073741824 ) { $result = ($size / 1048576.0) . "MB"; } else { $result = ($size / 1073741824.0) . "GB"; } return $result; } function PrioString($file) { $prionames = array(0 => "Low", 1 => "Normal", 2 => "High", 3 => "Very high", 4 => "Very low", 5=> "Auto", 6 => "Powershare"); $result = $prionames[$file->prio]; if ( $file->prio_auto == 1) { $result = $result . "(auto)"; } return $result; } function StatusString($file) { if ( $file->status == 7 ) { return "Paused"; } elseif ( $file->src_count_xfer > 0 ) { return "Downloading"; } else { return "Waiting"; } } // // declare it here, before any function reffered it in "global" // $sort_order;$sort_reverse; function my_cmp($a, $b) { global $sort_order, $sort_reverse; switch ( $sort_order) { case "size": $result = $a->size > $b->size; break; case "size_done": $result = $a->size_done > $b->size_done; break; case "size_xfer": $result = $a->size_xfer > $b->size_xfer; break; case "progress": $result = (((float)$a->size_done)/((float)$a->size)) > (((float)$b->size_done)/((float)$b->size)); break; case "name": $result = $a->name > $b->name; break; case "speed": $result = $a->speed > $b->speed; break; case "scrcount": $result = $a->src_count > $b->src_count; break; case "status": $result = StatusString($a) > StatusString($b); break; case "prio": $result = PrioString($a) > PrioString($b); break; } if ( $sort_reverse ) { $result = !$result; } //var_dump($sort_reverse); return $result; } if ( ($HTTP_GET_VARS["cmd"] != "") && ($_SESSION["guest_login"] == 0) ) { $name = $HTTP_GET_VARS['file']; if ( strlen($name) == 32 ) { amule_do_download_cmd($name, $HTTP_GET_VARS["cmd"]); } } $downloads = amule_load_vars("downloads"); $sort_order = $HTTP_GET_VARS["sort"]; if ( $sort_order == "" ) { $sort_order = $_SESSION["download_sort"]; } $reverse_sort_key = "download_sort_reverse" . $sort_order; if ( $_SESSION[$reverse_sort_key] == "" ) { $_SESSION[$reverse_sort_key] = 0; } else { if ( $HTTP_GET_VARS["sort"] != '') { $_SESSION[$reverse_sort_key] = !$_SESSION[$reverse_sort_key]; } } //var_dump($_SESSION); $sort_reverse = $_SESSION[$reverse_sort_key]; if ( $sort_order != "" ) { $_SESSION["download_sort"] = $sort_order; usort(&$downloads, "my_cmp"); } foreach ($downloads as $file) { $status = StatusString($file); if ( ($_SESSION['filter_status'] == 'All') || ($_SESSION['filter_status'] == $status) ) { echo '<tr>'; $mark = $file->speed > 0 ? 1 : 0; echo '<td valign=top class="', $mark ? 'down-line-good-left':'down-line-left', '"><acronym title="', $file->name, '">', $file->short_name, '</acronym></td>'; echo '<td valign=top class="', $mark ? 'down-line-good-right':'down-line-right','">', CastToXBytes($file->size), '</td>'; echo '<td valign=top class="', $mark ? 'down-line-good-right':'down-line-right','">', CastToXBytes($file->size_done), '</td>'; echo '<td valign=top class="', $mark ? 'down-line-good-right':'down-line-right','">', CastToXBytes($file->size_xfer), '</td>'; echo '<td valign=middle class="', $mark ? 'down-line-right">':'down-line">'; echo '<table width=200 height=11 border=1 class="percent_table" cellpadding=0 cellspacing=0 bordercolor="#000000">'; echo '<tr><td><img src="greenpercent.gif" height=4 width=', (($file->size_done * 1.0)/$file->size)*200 + 1, '><br>'; echo $file->progress, '</td></tr></table></td>'; echo '<td valign=middle class="', $mark ? 'down-line-good-right">':'down-line-right">', $file->speed ? (CastToXBytes($file->speed) . '/s') : '-', '</td>'; // source count echo '<td valign=middle class="', $mark ? 'down-line-good-right">':'down-line-right">'; if ( $file->src_count_not_curr != 0 ) { echo $file->src_count - $file->src_count_not_curr, " / "; } echo $file->src_count, " (", $file->src_count_xfer, ")"; if ( $file->src_count_a4af != 0 ) { echo "+", $file->src_count_a4af; } echo '</td>'; echo '<td valign=middle class="', $mark ? 'down-line-good-right">':'down-line-right">', PrioString($file), '</td>'; echo '<td valign=top class="down-line"><acronym title="', $status, '">'; echo '<img src="l_info.gif" alt="', $status, '"></acronym>'; // commands echo '<acronym title="ED2K Link(s)"><a href="', $file->link, '"><img src="l_ed2klink.gif" alt="ED2K Link(s)"></a></acronym>'; if ( $_SESSION["guest_login"] == 0 ) { if ( $file->status == 7 ) { echo '<acronym title="Resume"><a href="?cmd=resume&file=', $file->hash, '"><img src="l_resume.gif" alt="Resume"></a></acronym>'; } else { echo '<acronym title="Pause"><a href="?cmd=pause&file=', $file->hash, '"><img src="l_pause.gif" alt="Pause"></a></acronym>'; } echo '<acronym title="Cancel"><a href="?cmd=cancel&file=', $file->hash, "\" onclick=\"return confirm('Are you sure that you want to cancel and delete this file?')\" ", '><img src="l_cancel.gif" alt="Cancel"></a></acronym>'; echo '<acronym title="Increase priority"><a href="?cmd=prioup&file=', $file->hash, '"><img src="l_up.gif" alt="Increase priority"></a></acronym>'; echo '<acronym title="Decrease priority"><a href="?cmd=priodown&file=', $file->hash, '"><img src="l_down.gif" alt="Decrease priority"></a></acronym>'; } echo '</td></tr>', "\n"; } }?></table> <table border=0 align=center cellpadding=4 cellspacing=0 width="100%"><tr> <td class="smallheader" colspan=4 style="background-color: #000000"><img src="arrow_up.gif"> <b>Uploads <?php $uploads = amule_load_vars("uploads"); echo ' (', count($uploads), ')'; ?> </b></td></tr><tr> <td class="up-header-left"><b>Username</b></td> <td class="up-header"><b>File Name</b></td> <td class="up-header"><b>Transferred</b></td> <td class="up-header"><b>Speed</b></td></tr><tr> <?php function CastToXBytes($size) { if ( $size < 1024 ) { $result = $size . " bytes"; } elseif ( $size < 1048576 ) { $result = ($size / 1024.0) . "KB"; } elseif ( $size < 1073741824 ) { $result = ($size / 1048576.0) . "MB"; } else { $result = ($size / 1073741824.0) . "GB"; } return $result; } $uploads = amule_load_vars("uploads"); foreach ($uploads as $file) { echo '<tr>'; echo '<td valign=top class="up-line-left"><acronym title="', $file->user_name, '">', $file->user_name, '</acronym></td>'; echo '<td valign=top class="up-line-left"><acronym title="', $file->name, '">', $file->short_name, '</acronym></td>'; echo '<td valign=top class="up-line">', CastToXBytes($file->xfer_up), " / ", CastToXBytes($file->xfer_down), '</td>'; echo '<td valign=top class="up-line">', ($file->xfer_speed > 0) ? (CastToXBytes($file->xfer_speed) . "/s") : "-", '</td>'; echo '</tr>'; echo "\n"; } ?></table> <p align=center> </p></font></td></tr></table></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -