- $errors = $tidy->errorBuffer;
- } else {
- // Copied from Parser::externalTidy();
- global $wgTidyBin, $wgTidyOpts;
-
- $cleansource = '';
- $opts = ' -utf8';
-
- $descriptorspec = array(
- 0 => array( 'pipe', 'r' ),
- 1 => array( 'file', wfGetNull(), 'a' ),
- 2 => array( 'pipe', 'w' )
- );
- $pipes = array();
- if( function_exists( 'proc_open' ) ) {
- $process = proc_open("$wgTidyBin -config $wgTidyConf $wgTidyOpts$opts", $descriptorspec, $pipes );
- if ( is_resource( $process ) ) {
- fwrite( $pipes[0], $s );
- fclose( $pipes[0] );
- while( !feof( $pipes[2] ) ) {
- $errors .= fgets( $pipes[2], 1024 );
- }
- fclose( $pipes[2] );
- $ret = proc_close( $process );
- if( ( $ret < 0 && $errors == '' ) || $ret == 0 )
- return $s;
- } else {
- return $s;
- }
-
- } else {
- return $s;
- }