* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*/
if(!defined('DOKU_INC')) die();
if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/');
require_once(DOKU_INC.'inc/plugin.php');
require_once dirname(__FILE__).'/ConnectionException.php';
class helper_plugin_solr extends DokuWiki_Plugin {
protected $curl_ch;
protected $curl_initialized = false;
const INDEXER_VERSION = 1;
public function getMethods(){
return array(
array(
'name' => 'tpl_searchform',
'desc' => 'Prints HTML for search form',
'params' => array(),
'return' => array()
),
array(
'name' => 'html_render_titles',
'desc' => 'Prints HTML list with search result of titles',
'params' => array(
'title_result' => 'array',
'ul_class' => 'string'
),
'return' => array()
),
array(
'name' => 'lock_index',
'desc' => 'Lock index',
'params' => array(),
'return' => array('lockdir' => 'string')
),
array(
'name' => 'needs_indexing',
'desc' => 'Check if page needs indexing',
'params' => array('id' => 'string'),
'return' => array('needs_index' => 'boolean')
),
array(
'name' => 'update_idxfile',
'desc' => 'Mark page as indexed',
'params' => array('id' => 'string'),
'return' => array()
),
array(
'name' => 'solr_query',
'desc' => 'Send request to Solr server and return result string',
'params' => array(
'path' => 'string',
'query' => 'string',
'method' => 'string',
'postfields' => 'string'
),
'return' => array('result' => 'string')
),
);
}
public function tpl_searchform($ajax=false, $autocomplete=true) {
global $lang;
global $ACT;
global $QUERY;
print '
';
return true;
}
/**
* Render found pagenames as list
*
* @param array $title_result Solr result array
* @param string $ul_class Class for UL tag
*/
public function html_render_titles($title_result, $ul_class="") {
print '