<?php
    
//LK FTPSearch front-end source code written in PHP
    //(c)2002-2003 LK
    //no portions of this code may be distributed or used without proper citation
    //give credit where credit is due

    //moxie fixed some stuff back in spring(03) with the file type option, he rocks
    //thanks to dan and doug for hosting, they have been really good sports about everything

    //Extended comments 9/24/2003
    //this may not be the best source code in the world, but it was a learning process
    //I knew no SQL, no PERL, and no PHP a year ago so there is definetly some stuff
    //that can be cleaned up... not the best thing to learn from but enjoy anyway! =)

    //start the clock for the timer [how long it takes to generate a page]
    
$starttime getmicrotime();

    
//we only care about serious errors, so dont show warnings
    
error_reporting(E_ERROR);

    
//Input connection info here.
    
$server_name "";
    
$server_username "";
    
$server_password "";
    
$db_name "ftpsearch";

    
//Anything placed in the above blanks will be overriden by settings in the ftpsetup.inc.php file
    
include("ftpsetup.inc.php");


    
$link mysql_connect($server_name,$server_username,$server_password)
    or die(
"COULDNT CONNECT!  Could not perform query; the server could not be reached");
    
mysql_select_db($db_name$link);


    
$releasever "8/22/2004";


?>
<?php
    
//Show disclaimer and verify user has seen it by checking for the cookie

    //is there a post with the 'iagree' value in it or a cookie with value ftpsearcheula
    //    set a cookie with value ftpsearcheula with a 24hr expiration
    


?>
<? 
//2.19.2003 - patch to correct register_globals issue in php.ini so that php.ini does not have to be modified
    //this patch registers the used variables from $_REQUEST context into the $GLOBALS context
    
$query =         &$_REQUEST["query"];
    
$sortby =         &$_REQUEST["sortby"];
    
//$kos =         &$_REQUEST["kos"];  //type of search is no longer used
    
$searchtype =    &$_REQUEST["searchtype"];
    
$debugme =        &$_REQUEST["debugme"];
    
$credits =         &$_REQUEST["credits"];
    
$ss        =        &$_REQUEST["ss"];
    
$minsize =         &$_REQUEST["minsize"];
    
$T             =    &$_REQUEST["T"];
    
$custom     =    &$_REQUEST["custom"];
    
$GLOBALS["firsttime"]  = 1;    // Checks to see if the file-type Category is the first one to be added to the query (OR FIX) -- moxie

    //Indicator for SQL Debug mode!
    //Note:to see the full sql query just tack on "&debugme=1" as a url parameter
    //$debugme = true;


?>

<html>
<head>
    <title>LK Ftpsearch on  <?php  echo $_SERVER[HTTP_HOST?> <?php if ($query) echo " - $query"?></title>
    <link rel="stylesheet" type="text/css" href="LK.css" />

</head>
<script name ="javascript">
    //function for launching javascript browser
    function fileBrowser(ID){
        window.open('./ftpbrowser/ftpbrowser.php?fileID=' + ID , '','toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=300,height=600,left = ,top =');
    }

</script
>
<script type="text/javascript">
<!--
function errorMsg()
{
  alert("Sorry, the plugin is only available for mozilla firefox  =(");
}
function addEngine(name,ext,cat)
{
  if ((typeof window.sidebar == "object") && (typeof
  window.sidebar.addSearchEngine == "function"))
  {
    //cat="Web";
    //cat=prompt('In what category should this engine be installed?','Web')
    window.sidebar.addSearchEngine(
      "http://10.1.6.227/ftpsearch/firebird/"+name+".src",
      "http://10.1.6.227/ftpsearch/firebird/"+name+"."+ext,
      name,
      cat );
  }
  else
  {
    errorMsg();
  }
}
//-->
</script>
<script language = "javascript">
    function launchPoliceScanner(){
        window.open('http://10.1.4.55/policescanner/scannerfloat.php', '','toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=350,height=150,left = ,top =');
        //window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=" + Width + ",height=" + Height + ",left = (screen.width - " + Width + ") / 2,top = (screen.height - " + Height + ") / 2');
    }
</script>
<body>
<?php
    
//highlighting to show source
    
if ($_REQUEST["showsource"] == 1highlight_file("ftpsearch.php");

?>
<?php 
if ($showlknavbar) include("../lkheader.inc.php"?>

<b>
<? //display banner.  the banner is located in the settings table of the database
    
$settingsquery mysql_query("SELECT * FROM ftpsettings where keyname = 'currentbanner';"$link);
    
$banmessage mysql_fetch_array($settingsqueryMYSQL_BOTH);
    echo 
"$banmessage[value]";

?>


</b>


<form action="<?php echo $_SERVER[SCRIPT_NAME?>" method="GET">

<center>
  <p><img src="./lkftpsearchlogo.gif" alt="LK FTPSEARCH logo" border=0></p>
  <p><font class="servercounts">
  <?php
    
//file and server counts
    
$fcquery mysql_query("select count(*) as filecount from ftpfiles"$link);
    
$numserverquery mysql_query("select count(*) as servercount from ftpservers"$link);
    
$filecount mysql_fetch_array($fcquery,MYSQL_BOTH);
    
$servercount mysql_fetch_array($numserverquery,MYSQL_BOTH);
    echo 
"Searching $servercount[servercount] ";
    if(
$servercount == ){
        echo 
"server";
    }else{
        echo 
"servers";
    }
    
$allfilessizeq mysql_query("SELECT sum(bytesize)/1073741824 FROM ftpfiles"$link);
    
$allfilessize mysql_fetch_array($allfilessizeqMYSQL_BOTH);
    echo 
", $filecount[filecount] files ($allfilessize[0] GB)";

    echo 
"<br>";

    
//server status
    //this is tricky... doesnt work if multithreding is enabled on the crawler
    
$settingsquery mysql_query("SELECT * FROM ftpsettings where keyname = 'serverstatus';"$link);
    
$banmessage mysql_fetch_array($settingsqueryMYSQL_BOTH);
    echo 
"Crawler status: <b>$banmessage[value]</b>";
    if (
$banmessage[value2] == "1"){
        
//cool trick to show what the last the crawler indexed was
        
$settingsquery mysql_query("SELECT * from ftpfolders, ftpservers where serverID = ftpservers.ID ORDER BY ftpfolders.ID DESC LIMIT 1"$link);
        
$lastpath mysql_fetch_array($settingsqueryMYSQL_BOTH);
        echo 
"<br>";
        echo 
" lastfolder = \"$lastpath[fullpath]\"";

    }elseif(
$banmessage[value2] > 2){

        
$numfilesonserverq mysql_query("SELECT count(*) as filecount from ftpfiles where serverID = $banmessage[value3]"$link);
        
$numfilesonserver mysql_fetch_array($numfilesonserverqMYSQL_BOTH);
        echo 
$numfilesonserver[filecount] / $banmessage[value2] files.";


    }

?>
      <br>
      </font>
      <BR>
      <input type="Text" name="query" value="<?php echo $query ?>" size="60">
      <br>
      <b>Show me files <u>ONLY</u> of type:</b><br>
    </p>
<table class="checkmarktable">

<tr>

<td><input type="checkbox" name="T[]" value="aud" <?php if (isset($T)) {if (in_array("aud",$T)) echo "checked";} ?>><b>Music/sound</b> (.wav,.mp3,.ram)</td>
<td><input type="checkbox" name="T[]" value="mov" <?php if (isset($T)) {if (in_array("mov",$T)) echo "checked";} ?>><b>Movies</b> (.mpeg,.qt,.divx)</td>
<td><input type="checkbox" name="T[]" value="pic" <?php if (isset($T)) {if (in_array("pic",$T)) echo "checked";} ?>><b>Pics</b> (.jpg,.gif,.png,.psd)</td>
</tr>
<tr>
<td><input type="checkbox" name="T[]" value="doc" <?php if (isset($T)) {if (in_array("doc",$T)) echo "checked";} ?>><b>Documents</b> (.doc,.pdf,.txt,.html)</td>
<td><input type="checkbox" name="T[]" value="zip" <?php if (isset($T)) {if (in_array("zip",$T)) echo "checked";} ?>><b>Compressed</b> (.zip,.tar,.rar)</td>
<td><input type="checkbox" name="T[]" value="cust" <?php if (isset($T)) {if (in_array("cust",$T) ) echo "checked";} ?>><b>Custom</b> (ex:.dll,.exe) <input type ="Text" name = "custom" value ="<?php echo $custom?>" size = 5></td>
</tr>
</table>

<br>
<?php

    
//create the box that lets user select what servers they want to search
    //also, show what boxes were selected on the last search

    //perform a query to get a list of servers
    
echo "on <b>these servers</b>:"; echo "<br>\n";
    
$squery mysql_query("SELECT id, name FROM ftpservers ORDER BY reliability DESC"$link) or die("<b>ERROR:<\b>Could not pull server list for advanced search!");
    echo 
"<select name=\"ss[]\" multiple>";

    
//weird fix for matching the values of $ss (server select) with the values of $currow[id] below
    
foreach($ss as $sl_temp){
        
$serverselect2[$sl_temp] = 1;
    }
    while(
$currow mysql_fetch_array($squery,MYSQL_BOTH)){
        
$tempid $currow[id];
        echo 
"<option value=\"$currow[id]\" size=\"" mysql_num_rows($squery)  . "\" ";
        
//the following IF statement is so that the links from the history page
        //search all servers.  The linked history page was Doug Lacher s idea I believe  =)
        
if (($serverselect2[$tempid]) || (count($ss) == 0)){echo "selected";}
        echo 
">$currow[name]</option>\n";
    }
    echo 
"</select>\n";
    echo 
"<font class=\"searchhints\">\n";
    echo 
"<br>(select multiple by holding ctrl or shift)\n";
    echo 
"</font>\n<br>";

    
//Prompt for minimum size!
    
echo "that are at least ";
    if(
$minsize == NULL){$minsize=0;}
    echo 
"<input type=\"Text\" name=\"minsize\" value=\"$minsize\" size=\"3\">";
    echo 
"<b>MB</b>.";



?>

<input type="Hidden" name="sortby" value="<?php echo $sortby ?>" size="40">
<input type="Hidden" name="kos" value="<?php if(($kos==NULL) || ($kos=="tard")){echo tard;}else{echo "adv";} ?>" size="40">

<BR>
<?php
    
//there used to be an advanced search and a basic search back in the day,
    //but i took all the features and put them into the one search -db- 9/24/03
?>
<input type="Submit" value="<?if ($kos == "adv"){echo "Advanced";}else{echo "Regular";}?> FTP Search">
<font class ="searchhints">

<br>Example: <b>NASA moon flight</b> with servers <b>ftp.nasa.gov and www.moonlanding.com</b> and reliabilitby of <b>Any</b> world return any items on the two servers with any reliability
<br>Hint!: Searching for a <b>%</b> will return all results.  Ex:  Try a search for % where files are over 500 MB.


</font>

<BR>
<input type="Radio" name="searchtype" value = "fullpath" <?php if (($searchtype == "fullpath")||($searchtype == NULL)){echo "checked";}?>>Search full path
&nbsp&nbsp&nbsp&nbsp&nbsp
<input type="Radio" name="searchtype" value = "filenameonly" <?php if ($searchtype == "filenameonly"){echo "checked";}?> >Search filename only
</center>
</form>
<?php

if($query){
    
//begin parsing the actual query

    //perform the search if something is in the query string
    //drop the query string to lower case
    
$query strtolower($query);

    
//Build the query using the QueryGen() function store in $qs (query string)
    
$qs QueryGen($kos$searchtype$query$sortby$ss); //function QueryGen($kos, $searchtype, $query,$sortby,$ss)

    //ECHO the query back out if we are in debug mode
     
if($debugme){ echo "<br>Query: $qs<br>";}

    
//DEBUG: Print out the query statement -- moxie
    //echo "query = \n" . $qs . "<br><br>";    //dont need this anymore, we have debug mode yay! -db-

    //Execute the query
    
$result mysql_query("$qs"$link) or die("Invalid Query!");

    
//find how many results were returned
    
$numqueryresults mysql_num_rows($result);


    
//If there is a query, log it in the searchhistory table
    
$curtime date('m-d-Y H:i:s');
    
mysql_query("INSERT INTO ftpsearchhistory (query,ip,qtime,hits,mirrorname) values('$query','$_SERVER[REMOTE_ADDR]',NOW(),$numqueryresults, '$_SERVER[SERVER_NAME]')"$link) or die("Could not insert query!");


    
$endtime getmicrotime();
    
$diff $endtime $starttime;
    
//tell user how many results were returned
    
echo "Your search for <b>$query</b> returned <b>" $numqueryresults " results</b> in <b>" round($diff4) . "</b> seconds." ;



    
//output the headers for the columns in the table
    
tableHeader();

    
$rowcounter 0;

    
//print out all the results of the search, going through each row one at a time
    
while ($row mysql_fetch_array($resultMYSQL_BOTH)) {
        
$counter++;

        
//set cell color
        //(was going to implement this but never did...it actually alternates row colors for readablity.. it works)
        
if($counter 2){
            
$currowcolor 'row1';
        }else{
            
$currowcolor 'row2';
        }

        
//create the server link
        //fix for anonymous access, b/c there can not be 2 at symbols in the URL
        
$authstring "";
        if(
$row[username] != "anonymous"){
            
$authstring "$row[username]:$row[pwd]@";
        }
        echo 
"<tr>";


        
Cell("","<a href = \"javascript:fileBrowser($row[fileID])\">!</a>");//file browser
        
Cell("","<a href = \"ftp://$authstring$row[name]$row[path]/\" target = \"_blank\"><img src=\"./folder.gif\" width=16 height=16 alt=\"Browse path...\" border=0></a>");    //path link
        //fix for missing or extra slash in url of file
        
$tempurl "<a href = \"ftp://$authstring$row[name]$row[path]";
        if(
$row[path]){$tempurl .= "/";}
        
$tempurl .= "$row[filename]\"><img src=\"./save.gif\" width=16 height=16 alt=\"Download file...\" target = \"_blank\" border=0></a>";
        
Cell("",$tempurl);                                //file link
        
Cell("$currowcolor",$row[filename]);            //file name
        
Cell("$currowcolor",sizeEval($row[bytesize]));    //size
        
Cell("$currowcolor",$row[name]);                //server name
        
Cell("$currowcolor",$row[path]);                //server path


        //create text for reliability and set color based on value
        
$rr $row[reliability];
        if (
$rr >= 10){
            
$rcolor "Lime";
        }elseif (
$rr 0){
            
$rcolor "Gray";
        }else{
            
$rcolor "Red";
        }

        
$stext "<b><center><font color=\"$rcolor\">$rr</font></center></b>";
        
Cell("$currowcolor",$stext);                                //server reliability

        
echo "</tr>";

    }


    echo 
"\n";



    echo 
"</table>";


}
?>




<center>
<font size ="2">

[<a href = "./ftpstats.php">server stats</a>]
[<a href = "./ftpsearch.php">search</a>]
[<a href = "./ftphist.php">search history</a>]
<br>
[<a href = "./ftpsearch.php?showsource=1">source</a>]&nbsp&nbsp&nbsp&nbsp&nbsp

<?php //the following is commented out b/c i cant get the dynamic links to work right =p
/*
[<?php if($_SERVER[SCRIPT_NAME] != "ftpstats.php") echo "<a href = \"./ftpstats.php\">" ?>server stats<?php if($_SERVER[SCRIPT_NAME] != "/ftpstats.php") echo "</a>" ?>]
[<?php if($_SERVER[SCRIPT_NAME] != "ftpsearch.php") echo "<a href = \"./ftpsearch.php\">" ?>search<?php if($_SERVER[SCRIPT_NAME] != "/ftpsearch.php") echo "</a>"?>]
[<?php if($_SERVER[SCRIPT_NAME] != "ftphist.php") echo "<a href = \"./ftphist.php\">" ?>search history<?php if($_SERVER[SCRIPT_NAME] != "/ftphist.php") echo "</a>" ?>]
*/

?>
<br><br>
</font>
<font size ="1">
<?php
    
if($hidecredits == 0){
        echo 
"&copy;2002-2004 LK written @ SPSU";
    }
?>

<br>
With patented TARDSEARCH technology!
<br>
"It's so easy, even <a href = "http://www.somethingawful.com/jeffk/">Jeff K</a> can use it!!!"
<br>
<br>
<br>

<?php


//print credits
if (($credits == "1")&&($hidecredits==0)){
    echo 
"Special Thanks to Everyone :-)";
}else{
    echo 
"[<a href = \"$_SERVER[SCRIPT_NAME]?&credits=1\">CREDITS</a>]";
}
?>
<br>
<br>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp
<a href = "http://www.php.net">
<img src="./php.gif" alt="Frontend powered by PHP" border=0>
</a>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp
<a href = "http://www.mysql.com">
<img src="./poweredbymysql.png" alt="Database powered by MySQL" border=0>
</a>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp
<a href = "http://www.perl.com">
<img src="./perl-logo.jpg" alt="Backend with PERL" border=0>
</a>
<br>
<?php echo "$releasever release" ?>
<?php
    
//calculate and print out the time it took to generate the page
    
$endtime getmicrotime();
    
$diff $endtime $starttime;
    echo 
"<br>\nPage generated in " round($diff4) . " sec <br>";
?>

</center>
</font>
</body>
</html>

<?php
//misc functions that are called throughout the script

//Creates a single cell within a table
function Cell($cssclassname$celltext){

    echo 
"<td class=\"$cssclassname\">$celltext</td>\n";


}

//prints out the header for the results table
function tableHeader(){
echo 
"<table cellspacing=\"5\" cellpadding=\"0\" border=\"0\">";
    echo 
"<tr>";
    echo 
"<b>";

    
Cell(""".");
    
Cell("""");
    
Cell("""");
    
Cell('rowtitle'"File Name <a href =\"$_SERVER[REQUEST_URI]&sortby=filename\"><img src=\"./sort.gif\" width=10 height=10 alt=\"Sort by FileName\" border=0></a>");
    
Cell('rowtitle'"Size <a href =\"$_SERVER[REQUEST_URI]&sortby=bytesize DESC\"><img src=\"./sort.gif\" width=10 height=10 alt=\"Sort by Size\" border=0></a>");
    
Cell('rowtitle'"Server <a href =\"$_SERVER[REQUEST_URI]&sortby=serverID\"><img src=\"./sort.gif\" width=10 height=10 alt=\"Sort by Server\" border=0></a>");
    
Cell('rowtitle'"Path <a href =\"$_SERVER[REQUEST_URI]&sortby=path\"><img src=\"./sort.gif\" width=10 height=10 alt=\"Sort by Path\" border=0></a>");
    
Cell('rowtitle'"Reliability");///not using the link b/c of the relational nature of the servers table; too much work


    
echo "</b>";
    echo 
"</tr>";

}

//Cool function, takes a size in bytes and returns appropriate suffix (KB,MB,GB,TB)
function sizeEval($filesize){
    
//note:  filesize given in bytes
    
if($filesize 1099511627776){
          return(
round($filesize 1099511627776 ,2) . "<B> TB</B>");
    }elseif(
$filesize 1073741824){
        return(
round($filesize 1073741824,2) . "<B> GB</B>");
    }elseif(
$filesize 1048576){
        return(
round($filesize 1048576,2) . "<B> MB</B>");
    }else{
    
//if($filesize > 1024){
        
return(round($filesize 1024,2) . "<B> KB</B>");
    }
    
//Showing Bytes is stupid
    /*else{
        return($filesize . "<B> B</B>");
    }*/
}


//builds the query
//generates one heck of a long SQL statement.. wish i would have known
//more about regular expressions back then....
function QueryGen($kos$searchtype$query,$sortby,$ss){

    
//escape all incoming parameters to prevent sql injection attacks
    
$kos    mysql_escape_string($kos);
    
$searchtype mysql_escape_string($searchtype);
    
$query mysql_escape_string($query);
    
$sortby mysql_escape_string($sortby);



    
//evaluate the column we are comparing against
    
if(($searchtype == "fullpath") || !isset($searchtype) || ($searchtype == "")){$column "fullurl";}
    if(
$searchtype == "filenameonly"){$column "filename";}


    
//Split query by spaces into new array called $qa
    
$qa split(" ",$query);

    
//build the new query in a variable called $qs
    //build the SELECT * from ftpsearch WHERE part of the query
    
$qs .= "SELECT *, ftpfiles.ID as fileID FROM ftpfiles, ftpservers WHERE";

    
//add on the LIKE '%search%' portions of the query
    
$tempcount 0;
    
$qs .= "(";
    foreach(
$qa as $qa_temp){
        if (
$tempcount 0){$qs .= " AND";}
        
$qs .= " lcase($column) LIKE '%$qa_temp%'";
        
$tempcount++;
    }
    
$qs .= ") ";



    
$T = &$GLOBALS[T];
    
//if the "any" checkbox is checked, dont do anything
    //    otherwise add the appropriate filetype extensions into the query
    
if (!(count($T))){
        
//DO NOTHING
        
$slknfsknfslksnfafs 0;
    }else{
        
$qs .= "AND (";
        
//types for the differnt kinds of files [these should probably be updated or pulled from the database -db- 9/24/03]
        
$type_aud = array(".mp3",".cda",".midi",".wav",".ram"".wma"".asf"".dsm"".mtm"".ogg");
        
$type_mov = array(".mov",".mpg"".mpeg"".avi"".divx"".wmv"".rm"".asf" ,".mov"".lsf"".qt");
        
$type_pic = array(".art" ".bmp" ".jpg"".jpeg"".gif"".dcx"".png"".pcx");
        
$type_doc = array(".doc",".rtf"".txt",".pdf",".htm",".html",".wps");
        
$type_zip = array(".zip",".gz",".tar",".ace"".rar",".lzh");

        if(
in_array("aud",$T)){
            
$qs .= fileExtensionMaker($type_aud);
        }

        if(
in_array("mov",$T)){
            
$qs .= fileExtensionMaker($type_mov);
        }

        if(
in_array("pic",$T)){
               
$qs .= fileExtensionMaker($type_pic);
        }

        if(
in_array("doc",$T)){
            
$qs .= fileExtensionMaker($type_doc);
        }

        if(
in_array("zip",$T)){
               
$qs .= fileExtensionMaker($type_zip);
        }


        if(
in_array("cust",$T)){
                            
$custom $GLOBALS[custom];
                            if(
$custom){
                                
$custom split(" ",$custom);
                                if(
count($T) > 1)
                                    
$startingOR " OR";

                                foreach(
$custom as $c){
                                    
$qs .= "$startingOR filename like '%$c'";
                                    
$startingOR " OR";
                                }
                            }else{
                                
$qs .= 1;
                            }
        }

        
$qs .= ")";



    }

    
//if its an advanced search, add on the appropriate serverIDs
    //all searches are advanced now so this is not an optional function
    
if(count($GLOBALS[ss]) > 0){
        
$qs .= " AND (";
        
$tempcount 0;
        foreach(
$GLOBALS[ss] as $ss_temp){
            if (
$tempcount 0){$qs .= " OR ";}
            
$qs .= "serverID = $ss_temp";
            
$tempcount++;
        }
        
$qs .= ")";
    }

    
//use the file size option
    //convert from MB to B
    
$minsize_temp $GLOBALS[minsize] * 1024 1024;
    
$qs .= " AND bytesize >= $minsize_temp ";


    
//match the serverID from ftpsearch table to the ID in the servers table
    
$qs .= " AND ftpfiles.serverID = ftpservers.ID";

    
//build the sorting order if requested
    
if($sortby){
        
$qs .= " ORDER BY $sortby";
    }else{
        
//sort by reliability by default
        
$qs .= " ORDER BY reliability DESC";
    }


    
//return the newly generated query
    
return($qs);
}

//gheto function, creates query string for different file types
function fileExtensionMaker($arr){
    for(
$x =0$x count($arr); $x++){  //se means single extension
        
if ($GLOBALS["firsttime"] == 1) {    // If this is the first query list then no OR in the front -- moxie
                     
$result .= "lcase(filename) like '%$arr[$x]'";
                     
$GLOBALS["firsttime"] = 0;
              }
              else {
                     
$result .= " OR lcase(filename) like '%$arr[$x]'";
              }
              
/*  No longer needed -- moxie
        if ($x < count($arr) -1){
            $result .= ' OR ';
        }
              */

    
}
    
//echo "$result<br>";
    
return($result);
}

//this function was taken from example code on php.net for the microtime function
//it is used to clock the time it takes for the search to execute
function getmicrotime(){
    list(
$usec$sec) = explode(" ",microtime());
    return ((float)
$usec + (float)$sec);
}


//print out the license agreement
function printEULA(){
    
?>
    <html>
        <head>
        <title>LK Ftpsearch EULA</title>
        </head>

        <body>
            <p>
            <font size = "8">NEW!!</font><br>
            This message will reappear 24 hours after your last refresh of this page.  COOKIES must be enabled in your browser.  Sorry for the annoyance/inconvienience.<br><br>
            If you are here, you are probably looking for the <b>FTP search engine</b>.  But before you use it, there
            are some things you agree to.
            </p>
            <B>Boring legal stuff:</B><br>
            1. LK takes no responsibility for the content contained on the ftp search engine<br>
            2. LK is not responsible for the content contained on the servers listed on this search engine<br>
            3. By using this search engine, you agree not to hold its creator responsible.<br>
            4. You agree not to use the any of the information located on this search engine as evidence in a court of law.<br>
            5. None of the information contained on the entries to this server maybe used to enforce the DMCA, or assist the MPAA or RIAA in locating copyright infringements.<br>
            6. To enforce number three and four above, all searches are logged and lawsuits can and will be filed.<br>
            7.
            8. Blah blah blah go kill youself<br>
        <br>
            If you agree with these terms, please choose 'I agree' below:<br>

            <form method = "GET" action = "..<?php echo $_SERVER[PHP_SELF?>">
                <input type = "submit" name = "iagree" value = "I AGREE">
                <-- Grants a self renewing 24hr pass.
            </form>
            <form method = "GET" action = "http://forum.thesting.org">
                <input type = "submit" value = "I DO NOT AGREE">
            </form>

        </body>


    </html>
    <?
}
?>
2007-03-29 18:26 - Sorry, but the search engine data is currently out of date (and has been for a quite while). You might want to try somewhere else. Good luck!

LK FTPSEARCH logo

Searching 8 servers, 13938 files (169.5945 GB)
Crawler status:


Show me files ONLY of type:

Music/sound (.wav,.mp3,.ram) Movies (.mpeg,.qt,.divx) Pics (.jpg,.gif,.png,.psd)
Documents (.doc,.pdf,.txt,.html) Compressed (.zip,.tar,.rar) Custom (ex:.dll,.exe)

on these servers:

(select multiple by holding ctrl or shift)

that are at least MB.

Example: NASA moon flight with servers ftp.nasa.gov and www.moonlanding.com and reliabilitby of Any world return any items on the two servers with any reliability
Hint!: Searching for a % will return all results. Ex: Try a search for % where files are over 500 MB.

Search full path       Search filename only
[server stats] [search] [search history]
[source]     

©2002-2004 LK written @ SPSU
With patented TARDSEARCH technology!
"It's so easy, even Jeff K can use it!!!"


[CREDITS]

       Frontend powered by PHP        Database powered by MySQL        Backend with PERL
8/22/2004 release
Page generated in 0.0052 sec