<?php
 	header('Content-type: text/plain');

 	include 'xmlrpc.inc';
	include 'xmlrpcs.inc';

	function highlight($x,$var) {
    	if(strcasecmp($var, substr($x, 0, strlen($var))) == 0)
        	return "<strong>" . substr($x, 0, strlen($var)) . "</strong>" . substr($x, strlen($var), strlen($x) - strlen($var));
   		else
   			return $x;
	}

	function getTaxonList($query) {
		$max_rows = 50;
		$p = $query->getParam(0);
		$pat = ucfirst($p->scalarval());
		$p = $query->getParam(1);
		$table = str_replace('field_', 'suggest', $p->scalarval());
		$sql = "select Name, unitCount from $table where Name LIKE '$pat%' LIMIT ".$max_rows;

		 mysql_connect('192.168.2.10', 'webuser' , '');
		 mysql_select_db('syn_europe');
		//mysql_connect('192.168.2.251', 'WebUser' , '');
		//mysql_select_db('synthesys');
		$result = mysql_query($sql);

		$s = "";
		$i = 0;
		while ( ($row = mysql_fetch_array($result))) {
 		 	$s .= "<div id=".$i++."><span>" . highlight($row['Name'],$pat) . "</span> <i>(" . number_format($row['unitCount'],0 , ',', '.') . ")</i></div>";
		}
		if (mysql_num_rows($result) == $max_rows)
			$s .= "<div id=".$max_rows."><span></span> <strong>...</strong>";
		return new xmlrpcresp(new xmlrpcval($s, 'string'));
	}

	// Declare our signature and provide some documentation.
	$sig = array(array($xmlrpcString, $xmlrpcString, $xmlrpcString));
	$doc = 'bla';

	new xmlrpc_server(array(
						'suggest.getTaxonList' => array(
								'function' => 'getTaxonList',
                              	'signature' => $sig,
                              	'docstring' => $doc
                         )));

?>