X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FZhClient.php;h=8bb36b231a897161d7efc83526ef1b9a5e2a3566;hb=67fd9d64b7c16e17bb91918af1ff18fdc9d40061;hp=a04220c6a195d3696dc6911bf054c3712e6772a6;hpb=ecf56c33fae16e8a7a8f7ab56e7b6aba3720ceeb;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/ZhClient.php b/includes/ZhClient.php index a04220c6a1..8bb36b231a 100644 --- a/includes/ZhClient.php +++ b/includes/ZhClient.php @@ -2,7 +2,6 @@ /** * Client for querying zhdaemon - * */ class ZhClient { var $mHost, $mPort, $mFP, $mConnected; @@ -10,9 +9,12 @@ class ZhClient { /** * Constructor * - * @access private + * @param $host + * @param $port + * + * @return ZhClient */ - function __construct($host, $port) { + function __construct( $host, $port ) { $this->mHost = $host; $this->mPort = $port; $this->mConnected = $this->connect(); @@ -20,6 +22,8 @@ class ZhClient { /** * Check if connection to zhdaemon is successful + * + * @return bool */ function isconnected() { return $this->mConnected; @@ -29,11 +33,13 @@ class ZhClient { * Establish conncetion * * @access private + * + * @return bool */ function connect() { wfSuppressWarnings(); $errno = $errstr = ''; - $this->mFP = fsockopen($this->mHost, $this->mPort, $errno, $errstr, 30); + $this->mFP = fsockopen( $this->mHost, $this->mPort, $errno, $errstr, 30 ); wfRestoreWarnings(); if ( !$this->mFP ) { return false; @@ -45,31 +51,33 @@ class ZhClient { * Query the daemon and return the result * * @access private + * + * @return string */ - function query($request) { + function query( $request ) { if ( !$this->mConnected ) { return false; } - fwrite($this->mFP, $request); + fwrite( $this->mFP, $request ); - $result=fgets($this->mFP, 1024); + $result = fgets( $this->mFP, 1024 ); - list($status, $len) = explode(" ", $result); - if($status == 'ERROR') { - //$len is actually the error code... + list( $status, $len ) = explode( ' ', $result ); + if( $status == 'ERROR' ) { + // $len is actually the error code... print "zhdaemon error $len
\n"; return false; } - $bytesread=0; - $data=''; - while(!feof($this->mFP) && $bytesread<$len) { - $str= fread($this->mFP, $len-$bytesread); - $bytesread += strlen($str); + $bytesread = 0; + $data = ''; + while( !feof( $this->mFP ) && $bytesread < $len ) { + $str = fread( $this->mFP, $len - $bytesread ); + $bytesread += strlen( $str ); $data .= $str; } - //data should be of length $len. otherwise something is wrong - if ( strlen($data) != $len ) { + // data should be of length $len. otherwise something is wrong + if ( strlen( $data ) != $len ) { return false; } return $data; @@ -78,14 +86,14 @@ class ZhClient { /** * Convert the input to a different language variant * - * @param $text string: input text - * @param $tolang string: language variant + * @param $text String: input text + * @param $tolang String: language variant * @return string the converted text */ - function convert($text, $tolang) { - $len = strlen($text); + function convert( $text, $tolang ) { + $len = strlen( $text ); $q = "CONV $tolang $len\n$text"; - $result = $this->query($q); + $result = $this->query( $q ); if ( !$result ) { $result = $text; } @@ -95,39 +103,39 @@ class ZhClient { /** * Convert the input to all possible variants * - * @param $text string: input text + * @param $text String: input text * @return array langcode => converted_string */ - function convertToAllVariants($text) { - $len = strlen($text); + function convertToAllVariants( $text ) { + $len = strlen( $text ); $q = "CONV ALL $len\n$text"; - $result = $this->query($q); + $result = $this->query( $q ); if ( !$result ) { return false; } - list($infoline, $data) = explode('|', $result, 2); - $info = explode(";", $infoline); + list( $infoline, $data ) = explode( '|', $result, 2 ); + $info = explode( ';', $infoline ); $ret = array(); - $i=0; - foreach($info as $variant) { - list($code, $len) = explode(' ', $variant); - $ret[strtolower($code)] = substr($data, $i, $len); - $i+=$len; + $i = 0; + foreach( $info as $variant ) { + list( $code, $len ) = explode( ' ', $variant ); + $ret[strtolower( $code )] = substr( $data, $i, $len ); + $i += $len; } return $ret; } /** * Perform word segmentation * - * @param $text string: input text + * @param $text String: input text * @return string segmented text */ - function segment($text) { - $len = strlen($text); + function segment( $text ) { + $len = strlen( $text ); $q = "SEG $len\n$text"; - $result = $this->query($q); - if ( !$result ) {// fallback to character based segmentation - $result = $this->segment($text); + $result = $this->query( $q ); + if ( !$result ) { // fallback to character based segmentation + $result = $this->segment( $text ); } return $result; } @@ -136,6 +144,6 @@ class ZhClient { * Close the connection */ function close() { - fclose($this->mFP); + fclose( $this->mFP ); } }