diff options
Diffstat (limited to 'darwin/query.class')
-rw-r--r-- | darwin/query.class | 95 |
1 files changed, 0 insertions, 95 deletions
diff --git a/darwin/query.class b/darwin/query.class deleted file mode 100644 index f0a5b7e..0000000 --- a/darwin/query.class +++ /dev/null @@ -1,95 +0,0 @@ -<?php -/* -** $Id$ -** -** itools/darwin/query.class - Query the UltraDarwin 3000 Search Engine -** -** Requires: global $it_text object to determine result language -** -** $Log$ -** Revision 1.4 2000/05/08 16:01:21 cschneid -** Removed need to global $it_text object -** -** Revision 1.3 2000/05/08 15:44:18 cschneid -** Allow absolute http:// url to search binary -** -** Revision 1.2 2000/01/16 22:46:02 weber -** Renamed query to result to avoid confusion -** -** Revision 1.1 2000/01/12 02:26:21 weber -** Added darwin query class -** -** -*/ - -class it_darwin_query -{ - /* Public Result information (read only) */ - var $totalresults; /* Total number of results found */ - var $firstresult; /* first fetched result */ - var $lastresult; /* last fetched result */ - - /* Parameters (read only) */ - var $service; /* Service identifier for query URL */ - var $resultsperpage; /* Number of results to show per page */ - - /* Private */ - var $result; /* Raw query result array */ - var $resptr; /* Result array pointer */ - - /* Constructor */ - function it_darwin_query($service, $resultsperpage=10) - { - if (!ereg('^http://', $service)) - $service = "http://ultrasearch.relog.ch/$service/Search"; - - $this->service = $service; - $this->resultsperpage = $resultsperpage; - $this->totalresults = $this->firstresult = $this->lastresult = 0; - } - - - /* - ** Perform a query for $q starting at $rank. Return true on success, - ** false on error (no results is not an error) - */ - function query($q, $rank=0) - { - global $it_text; - - if (is_object($it_text)) - $lang = "&lang=" . $it_text->get_language(); - - $url = $this->service . "?q=" . urlencode($q) . "$lang&rank=$rank&n=" . $this->resultsperpage; - - /* debug("it_darwin::query(\"$url\",$rank)"); */ - - if ($this->result = file($url)) - { - $this->totalresults = trim($this->result[2]); - $this->firstresult = trim($this->result[3]); - $this->lastresult = trim($this->result[4]); - $this->resptr = $this->firstresult; - return 1; - } - return 0; - } - - /* Fetch a result as an array "url", "title", "description", "size", "date" */ - function fetch_array($number="XX") - { - /* debug("fetch_array($number), resptr==$this->resptr"); */ - if ($number != "XX") - $this->resptr = $number; - - if (($this->resptr >= $this->firstresult) && ($this->resptr <= $this->lastresult)) - { - $n = 5+($this->resptr-$this->firstresult)*5; /* start of result record */ - $this->resptr+=1; /* Spinn ich?? ++ geht nicht !! */ - return array("url" => trim($this->result[$n]), "title" => trim($this->result[$n+1]), "description" => trim($this->result[$n+2]), "size" => trim($this->result[$n+3])*1024, "date" => trim($this->result[$n+4])); - } - else return 0; /* Out of bounds */ - - } -} /* End class it_darwin_query */ -?> |