Commit 1445f9f41752194e79016cb6c12ed4e8f2d14eeb
1 parent
89f6f2be
KTS-673
"The search algorithm needs some work" Updated. added authentication between lucene server and kt Committed By: Conrad Vermeulen Reviewed By: Kevin Fourie git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@7421 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
1 changed file
with
52 additions
and
8 deletions
search2/indexing/lib/XmlRpcLucene.inc.php
| ... | ... | @@ -3,9 +3,28 @@ require_once('xmlrpc.inc'); |
| 3 | 3 | |
| 4 | 4 | class XmlRpcLucene |
| 5 | 5 | { |
| 6 | + /** | |
| 7 | + * Reference to the xmlrpc client | |
| 8 | + * | |
| 9 | + * @var xmlrpc_client | |
| 10 | + */ | |
| 6 | 11 | var $client; |
| 7 | 12 | |
| 8 | 13 | /** |
| 14 | + * Identifier for the KT instance | |
| 15 | + * | |
| 16 | + * @var string | |
| 17 | + */ | |
| 18 | + var $ktid; | |
| 19 | + | |
| 20 | + /** | |
| 21 | + * Identifier for the lucene server | |
| 22 | + * | |
| 23 | + * @var string | |
| 24 | + */ | |
| 25 | + var $authToken; | |
| 26 | + | |
| 27 | + /** | |
| 9 | 28 | * The constructoor for the lucene XMLRPC client. |
| 10 | 29 | * |
| 11 | 30 | * @param string $url |
| ... | ... | @@ -16,6 +35,10 @@ class XmlRpcLucene |
| 16 | 35 | $this->client=new xmlrpc_client("$url/xmlrpc"); |
| 17 | 36 | $this->client->request_charset_encoding = 'UTF-8'; |
| 18 | 37 | $GLOBALS['xmlrpc_internalencoding'] = 'UTF-8'; |
| 38 | + | |
| 39 | + $config = KTConfig::getSingleton(); | |
| 40 | + $this->authToken = $config->get('indexer/luceneAuthToken',''); | |
| 41 | + $this->ktid = $config->get('indexer/luceneID',''); | |
| 19 | 42 | } |
| 20 | 43 | |
| 21 | 44 | /** |
| ... | ... | @@ -48,7 +71,11 @@ class XmlRpcLucene |
| 48 | 71 | */ |
| 49 | 72 | function optimise() |
| 50 | 73 | { |
| 51 | - $function=new xmlrpcmsg('indexer.optimise', array()); | |
| 74 | + $function=new xmlrpcmsg('indexer.optimise', | |
| 75 | + array( | |
| 76 | + php_xmlrpc_encode((string) $this->ktid), | |
| 77 | + php_xmlrpc_encode((string) $this->authToken) | |
| 78 | + )); | |
| 52 | 79 | |
| 53 | 80 | $result=&$this->client->send($function); |
| 54 | 81 | if($result->faultCode()) |
| ... | ... | @@ -73,6 +100,8 @@ class XmlRpcLucene |
| 73 | 100 | { |
| 74 | 101 | $function=new xmlrpcmsg('indexer.addDocument', |
| 75 | 102 | array( |
| 103 | + php_xmlrpc_encode((string) $this->ktid), | |
| 104 | + php_xmlrpc_encode((string) $this->authToken), | |
| 76 | 105 | php_xmlrpc_encode((int) $documentid), |
| 77 | 106 | php_xmlrpc_encode((string) $contentFile), |
| 78 | 107 | php_xmlrpc_encode((string) $discussion), |
| ... | ... | @@ -97,7 +126,10 @@ class XmlRpcLucene |
| 97 | 126 | */ |
| 98 | 127 | function deleteDocument($documentid) |
| 99 | 128 | { |
| 100 | - $function=new xmlrpcmsg('indexer.deleteDocument',array(php_xmlrpc_encode((int) $documentid))); | |
| 129 | + $function=new xmlrpcmsg('indexer.deleteDocument',array( | |
| 130 | + php_xmlrpc_encode((string) $this->ktid), | |
| 131 | + php_xmlrpc_encode((string) $this->authToken), | |
| 132 | + php_xmlrpc_encode((int) $documentid))); | |
| 101 | 133 | |
| 102 | 134 | $result=&$this->client->send($function); |
| 103 | 135 | if($result->faultCode()) |
| ... | ... | @@ -116,7 +148,10 @@ class XmlRpcLucene |
| 116 | 148 | */ |
| 117 | 149 | function documentExists($documentid) |
| 118 | 150 | { |
| 119 | - $function=new xmlrpcmsg('indexer.documentExists',array(php_xmlrpc_encode((int) $documentid))); | |
| 151 | + $function=new xmlrpcmsg('indexer.documentExists',array( | |
| 152 | + php_xmlrpc_encode((string) $this->ktid), | |
| 153 | + php_xmlrpc_encode((string) $this->authToken), | |
| 154 | + php_xmlrpc_encode((int) $documentid))); | |
| 120 | 155 | |
| 121 | 156 | $result=&$this->client->send($function); |
| 122 | 157 | if($result->faultCode()) |
| ... | ... | @@ -134,7 +169,9 @@ class XmlRpcLucene |
| 134 | 169 | */ |
| 135 | 170 | function getStatistics() |
| 136 | 171 | { |
| 137 | - $function=new xmlrpcmsg('indexer.getStatistics',array()); | |
| 172 | + $function=new xmlrpcmsg('indexer.getStatistics',array( | |
| 173 | + php_xmlrpc_encode((string) $this->ktid), | |
| 174 | + php_xmlrpc_encode((string) $this->authToken))); | |
| 138 | 175 | |
| 139 | 176 | |
| 140 | 177 | $result=&$this->client->send($function); |
| ... | ... | @@ -159,7 +196,10 @@ class XmlRpcLucene |
| 159 | 196 | */ |
| 160 | 197 | function query($query) |
| 161 | 198 | { |
| 162 | - $function=new xmlrpcmsg('indexer.query',array(php_xmlrpc_encode((string) $query))); | |
| 199 | + $function=new xmlrpcmsg('indexer.query',array( | |
| 200 | + php_xmlrpc_encode((string) $this->ktid), | |
| 201 | + php_xmlrpc_encode((string) $this->authToken), | |
| 202 | + php_xmlrpc_encode((string) $query))); | |
| 163 | 203 | |
| 164 | 204 | $result=&$this->client->send($function); |
| 165 | 205 | if($result->faultCode()) |
| ... | ... | @@ -182,8 +222,10 @@ class XmlRpcLucene |
| 182 | 222 | function updateDiscussion($docid, $discussion) |
| 183 | 223 | { |
| 184 | 224 | $function=new xmlrpcmsg('indexer.updateDiscussion',array( |
| 185 | - php_xmlrpc_encode((int) $docid), | |
| 186 | - php_xmlrpc_encode((string) $discussion))); | |
| 225 | + php_xmlrpc_encode((string) $this->ktid), | |
| 226 | + php_xmlrpc_encode((string) $this->authToken), | |
| 227 | + php_xmlrpc_encode((int) $docid), | |
| 228 | + php_xmlrpc_encode((string) $discussion))); | |
| 187 | 229 | |
| 188 | 230 | $result=&$this->client->send($function); |
| 189 | 231 | if($result->faultCode()) |
| ... | ... | @@ -196,7 +238,9 @@ class XmlRpcLucene |
| 196 | 238 | |
| 197 | 239 | function shutdown() |
| 198 | 240 | { |
| 199 | - $function=new xmlrpcmsg('indexer.shutdown',array()); | |
| 241 | + $function=new xmlrpcmsg('indexer.shutdown',array( | |
| 242 | + php_xmlrpc_encode((string) $this->ktid), | |
| 243 | + php_xmlrpc_encode((string) $this->authToken))); | |
| 200 | 244 | |
| 201 | 245 | $result=&$this->client->send($function); |
| 202 | 246 | if($result->faultCode()) | ... | ... |