search.php
2.1 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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
<?php
require_once(realpath('../../../config/dmsDefaults.php'));
require_once(KT_DIR . '/ktapi/ktapi.inc.php');
$username = '';
$password = '';
$expr = '';
$output = 'simple';
$verbose = false;
if ($argc > 0)
{
foreach($argv as $arg)
{
if (strpos($arg, '=') === false)
{
$expr = $arg;
continue;
}
list($param, $value) = explode('=', $arg);
switch (strtolower($param))
{
case 'verbose':
$verbose=true;
break;
case 'output':
switch(strtolower($value))
{
case 'xml': $output = 'xml'; break;
case 'csv': $output = 'csv'; break;
default:
$output = 'simple';
}
break;
case 'user':
$username = $value;
if ($verbose) print "* User = $value\n";
break;
case 'pass':
$password = $value;
if ($verbose) print "* User = $value\n";
break;
case 'help':
print "Usage: search.php [verbose] user=username pass=password [output=simple|xml|csv] 'search criteria'\n";
exit;
}
}
}
if ($verbose) print _kt('Command line search') . "...\n";
if (empty($username))
{
die(_kt("Please specify a username!"));
}
if (empty($expr))
{
die(_kt("Please specify search criteria!"));
}
$ktapi = new KTAPI();
$result = $ktapi->start_session($username, $password);
if (PEAR::isError($result))
{
print _kt("Cannot locate user:") . " $username\n";
exit;
}
try
{
$expr = parseExpression($expr);
$result = $expr->evaluate();
switch ($output)
{
case 'simple':
foreach($result as $item)
{
print 'Document ID: ' . $item->DocumentID . ' Title:' . $item->Title . ' Relevance:' . $item->Rank . "\n";
}
break;
case 'csv':
print "DocumentId,Title,Relevance\n";
foreach($result as $item)
{
print $item->DocumentID . ',' . $item->Title . ',' . $item->Rank . "\n";
}
break;
case 'xml':
print "<result>\n";
foreach($result as $item)
{
print "\t<item id=\"$item->DocumentID\" title=\"$item->Title\" relevance=\"$item->Rank\"/>\n";
}
print "</result>\n";
}
if ($verbose)
{
print _kt("Done.") . "\n";
}
}
catch(Exception $e)
{
print $e->getMessage();
}
?>