summaryrefslogtreecommitdiff
path: root/www/wiki/includes/tidy/RaggettInternalHHVM.php
blob: bb83d6a325b43ce16e481a4232be6f8e8fbe9938 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php

namespace MediaWiki\Tidy;

class RaggettInternalHHVM extends RaggettBase {
	/**
	 * Use the HTML tidy extension to use the tidy library in-process,
	 * saving the overhead of spawning a new process.
	 *
	 * @param string $text HTML to check
	 * @param bool $stderr Whether to read result from error status instead of output
	 * @param int &$retval Exit code (-1 on internal error)
	 * @return string|null
	 */
	protected function cleanWrapped( $text, $stderr = false, &$retval = null ) {
		if ( $stderr ) {
			throw new \Exception( "\$stderr cannot be used with RaggettInternalHHVM" );
		}
		$cleansource = tidy_repair_string( $text, $this->config['tidyConfigFile'], 'utf8' );
		if ( $cleansource === false ) {
			$cleansource = null;
			$retval = -1;
		} else {
			$retval = 0;
		}

		return $cleansource;
	}
}