Followup r78924: keep track of exception/warning comments separately, to prevent...
[lhc/web/wiklou.git] / includes / ZhClient.php
index 4ca4e1f..a04220c 100644 (file)
@@ -1,12 +1,8 @@
 <?php
-/**
- * @package MediaWiki
- */
 
 /**
  * Client for querying zhdaemon
  *
- * @package MediaWiki
  */
 class ZhClient {
        var $mHost, $mPort, $mFP, $mConnected;
@@ -16,7 +12,7 @@ class ZhClient {
         *
         * @access private
         */
-       function ZhClient($host, $port) {
+       function __construct($host, $port) {
                $this->mHost = $host;
                $this->mPort = $port;
                $this->mConnected = $this->connect();
@@ -24,8 +20,6 @@ class ZhClient {
 
        /**
         * Check if connection to zhdaemon is successful
-        *
-        * @access public
         */
        function isconnected() {
                return $this->mConnected;
@@ -38,9 +32,10 @@ class ZhClient {
         */
        function connect() {
                wfSuppressWarnings();
+               $errno = $errstr = '';
                $this->mFP = fsockopen($this->mHost, $this->mPort, $errno, $errstr, 30);
                wfRestoreWarnings();
-               if(!$this->mFP) {
+               if ( !$this->mFP ) {
                        return false;
                }
                return true;
@@ -52,8 +47,9 @@ class ZhClient {
         * @access private
         */
        function query($request) {
-               if(!$this->mConnected)
+               if ( !$this->mConnected ) {
                        return false;
+               }
 
                fwrite($this->mFP, $request);
 
@@ -73,41 +69,42 @@ class ZhClient {
                        $data .= $str;
                }
                //data should be of length $len. otherwise something is wrong
-               if(strlen($data) != $len)
+               if ( strlen($data) != $len ) {
                        return false;
+               }
                return $data;
        }
 
        /**
         * Convert the input to a different language variant
         *
-        * @param string $text input text
-        * @param string $tolang language variant
+        * @param $text string: input text
+        * @param $tolang string: language variant
         * @return string the converted text
-        * @access public
         */
        function convert($text, $tolang) {
                $len = strlen($text);
                $q = "CONV $tolang $len\n$text";
                $result = $this->query($q);
-               if(!$result)
+               if ( !$result ) {
                        $result = $text;
+               }
                return $result;
        }
 
        /**
         * Convert the input to all possible variants
         *
-        * @param string $text input text
+        * @param $text string: input text
         * @return array langcode => converted_string
-        * @access public
         */
        function convertToAllVariants($text) {
                $len = strlen($text);
                $q = "CONV ALL $len\n$text";
                $result = $this->query($q);
-               if(!$result)
+               if ( !$result ) {
                        return false;
+               }
                list($infoline, $data) = explode('|', $result, 2);
                $info = explode(";", $infoline);
                $ret = array();
@@ -115,35 +112,30 @@ class ZhClient {
                foreach($info as $variant) {
                        list($code, $len) = explode(' ', $variant);
                        $ret[strtolower($code)] = substr($data, $i, $len);
-                       $r = $ret[strtolower($code)];
                        $i+=$len;
                }
                return $ret;
-    }
+       }
        /**
         * Perform word segmentation
         *
-        * @param string $text input text
+        * @param $text string: input text
         * @return string segmented text
-        * @access public
         */
        function segment($text) {
                $len = strlen($text);
                $q = "SEG $len\n$text";
                $result = $this->query($q);
-               if(!$result) {// fallback to character based segmentation
-                       $result = ZhClientFake::segment($text);
+               if ( !$result ) {// fallback to character based segmentation
+                       $result = $this->segment($text);
                }
                return $result;
        }
 
        /**
         * Close the connection
-        *
-        * @access public
         */
        function close() {
                fclose($this->mFP);
        }
 }
-?>
\ No newline at end of file