forked from hypercities/hypercities
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsearch.php
More file actions
74 lines (62 loc) · 2.3 KB
/
Copy pathsearch.php
File metadata and controls
74 lines (62 loc) · 2.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<?php
header("Content-type:application/xml");
//ini_set ('display_errors', 1);
include_once 'includes/database.inc';
include_once 'includes/util.inc';
include_once 'includes/constants.inc';
include_once 'includes/serverSession.inc';
include_once 'includes/HCSearchRequest.inc';
include_once 'includes/HCDomDocumentWrapper.inc.php';
include_once 'includes/HCKmlDocWrapper.php';
include_once 'includes/HCSearchAtom.php';
include_once 'includes/HCSearchResult.php';
include_once 'includes/HCCollection.inc';
include_once 'includes/HCPlacemark.php';
include_once 'includes/HCSearchResultsDocument.php';
class HCSearchEngine {
static $request;
static $result;
public function __construct() {
if ($_POST) self::$request = new HCSearchRequest($_POST);
elseif ($_GET) self::$request = new HCSearchRequest($_GET);
}
public static function main () {
// do search
//new HCSearchEngine();
$db = database::getInstance();
//$result = $db->query($query);
self::$result = new HCSearchResultsDocument(self::$request);
self::$result->doSearches();
return self::$result->buildResponse()->saveXML();
$result = $db->preparedQuery(self::$request->generateQuery(),
self::$request->generateArray());
//print self::$request->generateQuery();
//print_r (self::$request->generateArray());
if (!$result) {
return $db->getError();
}
$result = $db->preparedGetRows();
if (!(count($result) > 0)) {
self::$result = $Result = new HCDomDocument();
$Result->setRoot('Error');
$Result->root->createAndAppendTextNodes(array(
'Code' => 'NO_RESULTS_FOUND',
'Message' => 'Query returned no results.'
));
return $Result->saveXML();
}
// Otherwise, continue and find the results.
$Result = new HCSearchResultsDocument($HC_POST['keywords']);
foreach ($result as $row) {
$Result->addItemAndParents($row['id']);
}
$Response = $Result->buildResponse();
return $Response->saveXML();
}
public static function getRequest() {
return self::$request;
}
}
$engine = new HCSearchEngine();
echo HCSearchEngine::main();
?>