<?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 ))); ?>