wiki.techinc.nl/includes/tidy/RaggettInternalPHP.php
C. Scott Ananian 7b23382823 Soft deprecate non-Remex tidy configurations
Future parsers will not be able to emit output compatible with these
configurations.

Bug: T198214
Change-Id: Id7921a166a62457f289e6c0c4bba6c8563be4760
2018-09-20 15:10:44 +00:00

55 lines
1.4 KiB
PHP

<?php
namespace MediaWiki\Tidy;
/**
* @deprecated since 1.32, use RemexDriver
*/
class RaggettInternalPHP 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|null &$retval Exit code (-1 on internal error)
* @return string|null
*/
protected function cleanWrapped( $text, $stderr = false, &$retval = null ) {
if ( !class_exists( 'tidy' ) ) {
wfWarn( "Unable to load internal tidy class." );
$retval = -1;
return null;
}
$tidy = new \tidy;
$tidy->parseString( $text, $this->config['tidyConfigFile'], 'utf8' );
if ( $stderr ) {
$retval = $tidy->getStatus();
return $tidy->errorBuffer;
}
$tidy->cleanRepair();
$retval = $tidy->getStatus();
if ( $retval == 2 ) {
// 2 is magic number for fatal error
// https://secure.php.net/manual/en/tidy.getstatus.php
$cleansource = null;
} else {
$cleansource = tidy_get_output( $tidy );
if ( !empty( $this->config['debugComment'] ) && $retval > 0 ) {
$cleansource .= "<!--\nTidy reports:\n" .
str_replace( '-->', '--&gt;', $tidy->errorBuffer ) .
"\n-->";
}
}
return $cleansource;
}
public function supportsValidate() {
return true;
}
}