From c1f9b1f7b1b77776192048005dcc66dcf3df2bfb Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Sat, 27 Dec 2014 15:41:37 +0100 Subject: Update to MediaWiki 1.24.1 --- includes/ZhClient.php | 164 -------------------------------------------------- 1 file changed, 164 deletions(-) delete mode 100644 includes/ZhClient.php (limited to 'includes/ZhClient.php') diff --git a/includes/ZhClient.php b/includes/ZhClient.php deleted file mode 100644 index c5955aec..00000000 --- a/includes/ZhClient.php +++ /dev/null @@ -1,164 +0,0 @@ -mHost = $host; - $this->mPort = $port; - $this->mConnected = $this->connect(); - } - - /** - * Check if connection to zhdaemon is successful - * - * @return bool - */ - function isconnected() { - return $this->mConnected; - } - - /** - * Establish connection - * - * @access private - * - * @return bool - */ - function connect() { - wfSuppressWarnings(); - $errno = $errstr = ''; - $this->mFP = fsockopen( $this->mHost, $this->mPort, $errno, $errstr, 30 ); - wfRestoreWarnings(); - return !$this->mFP; - } - - /** - * Query the daemon and return the result - * - * @access private - * - * @return string - */ - function query( $request ) { - if ( !$this->mConnected ) { - return false; - } - - fwrite( $this->mFP, $request ); - - $result = fgets( $this->mFP, 1024 ); - - 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 ); - $data .= $str; - } - // data should be of length $len. otherwise something is wrong - return strlen( $data ) == $len; - } - - /** - * Convert the input to a different language variant - * - * @param string $text input text - * @param string $tolang language variant - * @return string the converted text - */ - function convert( $text, $tolang ) { - $len = strlen( $text ); - $q = "CONV $tolang $len\n$text"; - $result = $this->query( $q ); - if ( !$result ) { - $result = $text; - } - return $result; - } - - /** - * Convert the input to all possible variants - * - * @param string $text input text - * @return array langcode => converted_string - */ - function convertToAllVariants( $text ) { - $len = strlen( $text ); - $q = "CONV ALL $len\n$text"; - $result = $this->query( $q ); - if ( !$result ) { - return false; - } - 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; - } - return $ret; - } - - /** - * Perform word segmentation - * - * @param string $text input text - * @return string segmented 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 ); - } - return $result; - } - - /** - * Close the connection - */ - function close() { - fclose( $this->mFP ); - } -} -- cgit v1.2.2