/src/webserver/default/amuleweb-main-search.php
PHP | 358 lines | 326 code | 26 blank | 6 comment | 42 complexity | 79d2067d50796b3ff1536df62e626230 MD5 | raw file
Possible License(s): GPL-2.0, AGPL-1.0, LGPL-2.0, LGPL-2.1
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <title>aMule control panel</title>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <script language="JavaScript" type="text/JavaScript">
- <!--
- function MM_swapImgRestore() { //v3.0
- var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
- }
- function MM_preloadImages() { //v3.0
- var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
- var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
- if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
- }
- function MM_findObj(n, d) { //v4.01
- var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
- d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
- if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
- for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
- if(!x && d.getElementById) x=d.getElementById(n); return x;
- }
- function MM_swapImage() { //v3.0
- var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
- if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
- }
- //-->
- </script>
- <link href="style.css" rel="stylesheet" type="text/css"><style type="text/css">
- <!--
- caption {
- font-family: Helvetica;
- font-size: 18px;
- font-weight: bold;
- color: #003161;
- }
- th {
- font-family: Helvetica;
- font-size: 14px;
- font-height: 22px;
- font-weight: bold;
- color: #003161;
- }
- a:link {
- color: #003161;
- text-decoration: none;
- }
- a:active {
- color: #003161;
- text-decoration: none;
- }
- a:visited {
- color: #003161;
- text-decoration: none;
- }
- a:hover {
- color: #c0c0c0;
- text-decoration: underline;
- }
- td {
- font-family: Helvetica;
- font-size: 12px;
- font-weight: normal;
- }
- label {
- font-family: Helvetica;
- font-size: 14px;
- font-weight: bold;
- }
- .texte {
- font-family: Helvetica;
- font-size: 12px;
- font-weight: normal;
- }
- label {
- font-family:"trebuchet ms",sans-serif;
- font-size: 12px;
- font-weight:bold
- }
- input {
- border:1px solid #003161;
- background-color: white;
- font-family:"trebuchet ms",sans-serif;
- font-size: 12px;
- color: #003161;
- }
- select, option {
- background-color: white;
- font-size: 12px;
- color: #003161;
- }
- textarea {
- border:1px solid #003161;
- background-color: #90B6DB;
- font-family:"trebuchet ms",sans-serif;
- font-size: 12px;
- color: white;
- }
- -->
- </style>
- </head><script language="JavaScript" type="text/JavaScript">
- function formCommandSubmit(command)
- {
- <?php
- if ($_SESSION["guest_login"] != 0) {
- echo 'alert("You logged in as guest - commands are disabled");';
- echo "return;";
- }
- ?>
- var frm=document.forms.mainform
- frm.command.value=command
- frm.submit()
- }
- </script>
- <body background="images/fond.gif" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" onLoad="MM_preloadImages('images/transf_1.png','images/shared_1.png','images/search_1.png','images/edkserv_1.png','images/sheserv_1.png','images/stats_1.png');">
- <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
- <tr valign="top">
- <td width="143" height="64"><img src="images/logo.png" width="143" height="64"></td>
- <td width="100%" height="64" align="right" background="images/fond_haut.png"> <table border="0" cellspacing="0" cellpadding="0">
- <tr>
- <td><a href="amuleweb-main-dload.php" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('transfert','','images/transf_1.png',1)"><img src="images/transf_0.png" alt="transfert" name="transfert" width="52" height="50" border="0"></a></td>
- <td><a href="amuleweb-main-shared.php" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('shared','','images/shared_1.png',1)"><img src="images/shared_0.png" alt="shared" name="shared" width="52" height="50" border="0"></a></td>
- <td><a href="amuleweb-main-search.php" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('search','','images/search_1.png',1)"><img src="images/search_0.png" alt="search" name="search" width="52" height="50" border="0"></a></td>
- <td><a href="amuleweb-main-servers.php" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('edkserver','','images/edkserv_1.png',1)"><img src="images/edkserv_0.png" alt="edkserver" name="edkserver" width="52" height="50" border="0"></a></td>
- <td><a href="amuleweb-main-kad.php" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('sheserv','','images/sheserv_1.png',1)"><img src="images/sheserv_0.png" alt="sheserv" name="sheserv" width="52" height="50" border="0"></a></td>
- <td><a href="amuleweb-main-stats.php" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('statistiques','','images/stats_1.png',1)"><img src="images/stats_0.png" alt="statistiques" name="statistiques" width="52" height="50" border="0"></a></td>
- <td><img src="images/col.png"></td>
- <td width="10"></td>
- <td width="190" align="right" class="texteinv"><a href="login.php">exit</a><br>
- <a href="amuleweb-main-log.php">log •</a> <a href="amuleweb-main-prefs.php">configuration</a></td>
- <td width="10"></td>
- </tr>
- </table></td>
- </tr>
- <tr align="center" valign="top">
- <td colspan="2">
- <table width="100%" border="0" cellspacing="0" cellpadding="0">
- <caption>
- SEARCH
- </caption>
- <tr>
- <td width="24"><img src="images/tab_top_left.png" width="24" height="24"></td>
- <td background="images/tab_top.png"> </td>
- <td width="24"><img src="images/tab_top_right.png" width="24" height="24"></td>
- </tr>
- <tr>
- <td width="24" background="images/tab_left.png"> </td>
-
- <td bgcolor="#FFFFFF"><form name="mainform" action="amuleweb-main-search.php" method="post">
- <table width="100%" border="0" align="center" cellpadding="4" cellspacing="0">
- <tr align="center">
- <td align="center">
- <input type="hidden" name="command" value="">
- <input name="searchval" type="text" id="searchval4" size="60">
- <input name="Search" type="submit" id="Search4" value="Search" onClick="javascript:formCommandSubmit('search');"></td>
- <td align="right">Availability :</td>
- <td align="left">
- <input name="avail" type="text" id="avail13" size="6"></td>
- <td align="left">Min Size : </td>
- <td align="left">
- <input name="minsize" type="text" id="minsize2" size="5">
- <select name="minsizeu" id="select8">
- <option>Byte</option>
- <option>KByte</option>
- <option selected>MByte</option>
- <option>GByte</option>
- </select></td>
- </tr>
- <tr>
- <td align="center"><a href="amuleweb-main-search.php?search_sort=<?php echo($HTTP_GET_VARS["sort"]);?>">Click here to update the search results</a> </td>
- <td align="right">Search type :</td>
- <td>
- <select name="searchtype" id="select">
- <option selected>Local</option>
- <option>Global</option>
- <option>Kad</option>
- </select></td>
- <td>Max Size : </td>
- <td>
- <input name="maxsize" type="text" id="maxsize4" size="5">
- <select name="maxsizeu" id="select10">
- <option>Byte</option>
- <option>KByte</option>
- <option selected>MByte</option>
- <option>GByte</option>
- </select></td>
- </tr>
- </table>
- <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
- <th> </th>
- <th><a href="amuleweb-main-search.php?sort=name">File Name</a></th>
- <th><a href="amuleweb-main-search.php?sort=size">Size</a></th>
- <th><a href="amuleweb-main-search.php?sort=sources">Sources</a></th>
- </tr><tr><td colspan="9" height="1" bgcolor="#000000"></td></tr>
- <?php
- function CastToXBytes($size)
- {
- if ( $size < 1024 ) {
- $result = $size . " b";
- } elseif ( $size < 1048576 ) {
- $result = ($size / 1024.0) . "kb";
- } elseif ( $size < 1073741824 ) {
- $result = ($size / 1048576.0) . "mb";
- } else {
- $result = ($size / 1073741824.0) . "gb";
- }
- return $result;
- }
- //
- // 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 "name": $result = $a->name > $b->name; break;
- case "sources": $result = $a->sources > $b->sources; break;
- }
- if ( $sort_reverse ) {
- $result = !$result;
- }
- return $result;
- }
- function str2mult($str)
- {
- $result = 1;
- switch($str) {
- case "Byte": $result = 1; break;
- case "KByte": $result = 1024; break;
- case "MByte": $result = 1012*1024; break;
- case "GByte": $result = 1012*1024*1024; break;
- }
- return $result;
- }
- function cat2idx($cat)
- {
- $cats = amule_get_categories();
- $result = 0;
- foreach($cats as $i => $c) {
- if ( $cat == $c) $result = $i;
- }
- return $result;
- }
- if ($_SESSION["guest_login"] == 0) {
- if ( $HTTP_GET_VARS["command"] == "search") {
- $search_type = -1;
- switch($HTTP_GET_VARS["searchtype"]) {
- case "Local": $search_type = 0; break;
- case "Global": $search_type = 1; break;
- case "Kad": $search_type = 2; break;
- }
- $min_size = $HTTP_GET_VARS["minsize"] == "" ? 0 : $HTTP_GET_VARS["minsize"];
- $max_size = $HTTP_GET_VARS["maxsize"] == "" ? 0 : $HTTP_GET_VARS["maxsize"];
-
- $min_size *= str2mult($HTTP_GET_VARS["minsizeu"]);
- $max_size *= str2mult($HTTP_GET_VARS["maxsizeu"]);
-
- amule_do_search_start_cmd($HTTP_GET_VARS["searchval"],
- //$HTTP_GET_VARS["ext"], $HTTP_GET_VARS["filetype"],
- "", "",
- $search_type, $HTTP_GET_VARS["avail"], $min_size, $max_size);
- } elseif ( $HTTP_GET_VARS["command"] == "download") {
- foreach ( $HTTP_GET_VARS as $name => $val) {
- // this is file checkboxes
- if ( (strlen($name) == 32) and ($val == "on") ) {
- $cat = $HTTP_GET_VARS["targetcat"];
- $cat_idx = cat2idx($cat);
- amule_do_search_download_cmd($name, $cat_idx);
- }
- }
- } else {
- }
- }
- $search = amule_load_vars("searchresult");
- $sort_order = $HTTP_GET_VARS["sort"];
- if ( $sort_order == "" ) {
- $sort_order = $_SESSION["search_sort"];
- } else {
- if ( $_SESSION["search_sort_reverse"] == "" ) {
- $_SESSION["search_sort_reverse"] = 0;
- } else {
- $_SESSION["search_sort_reverse"] = !$_SESSION["search_sort_reverse"];
- }
- }
- $sort_reverse = $_SESSION["search_sort_reverse"];
- if ( $sort_order != "" ) {
- $_SESSION["search_sort"] = $sort_order;
- usort(&$search, "my_cmp");
- }
- foreach ($search as $file) {
- print "<tr>";
- echo "<td class='texte'>", '<input type="checkbox" name="', $file->hash, '" >', "</td>";
- echo "<td class='texte'>", $file->short_name, "</td>";
-
- echo "<td class='texte' align='center'>", CastToXBytes($file->size), "</td>";
- echo "<td class='texte' align='center'>", $file->sources, "</td>";
- print "</tr></tr><tr><td colspan='9' height='1' bgcolor='#c0c0c0'></td></tr>";
- }
- ?>
- <tr align="right">
- <td colspan="4" scope="col">
- <input name="Download" type="submit" id="Download6" value="Download" onClick="javascript:formCommandSubmit('download');" >
- <select name="targetcat" id="select32">
- <?php
- $cats = amule_get_categories();
- foreach($cats as $c) {
- echo "<option>", $c, "</option>";
- }
- ?>
- </select></td>
- </table>
- </form></td>
- <td width="24" background="images/tab_right.png"> </td>
- </tr>
- <tr>
- <td width="24"><img src="images/tab_bottom_left.png" width="24" height="24"></td>
- <td background="images/tab_bottom.png"> </td>
- <td width="24"><img src="images/tab_bottom_right.png" width="24" height="24"></td>
- </tr>
- </table></td>
- </tr>
- <tr valign="bottom">
- <td height="25" colspan="2"> <table width="100%" height="40" border="0" cellpadding="0" cellspacing="0">
- <tr align="center" valign="middle">
- <td width="50%"> <iframe name="stats" src="footer.php" height="35" width="100%" scrolling="no" frameborder="0">edklink</iframe>
- </td>
- <td width="50%"> <iframe name="stats" src="stats.php" height="35" width="100%" scrolling="no" frameborder="0">connection</iframe>
- </td>
- </tr>
- </table></td>
- </tr>
- </table>
- </body>
- </html>