We probably always wanted to use a real HTML comment as "tag" here,
but it seems the '!' was forgotten. With older mediawiki it still
worked, but 1.31 got stricter and thus it was converted to HTML
entities.
Bring the plugin again in line with the HTMLets MediaWiki
extension[0] it based on in the first place.
[0]: https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/extensions/HTMLets/+/
11e5ef1ea2820319458dc67174ca76d6e00b10cc/HTMLets.php#140
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
# similar code as in <htmlet> tag...
function efPvedocsPostProcessFunction($parser, &$text) {
$text = preg_replace_callback(
# similar code as in <htmlet> tag...
function efPvedocsPostProcessFunction($parser, &$text) {
$text = preg_replace_callback(
- '/-_- @PVEDOCS_BASE64@ ([0-9a-zA-Z\\+\\/]+=*) @PVEDOCS_BASE64@ -_-/sm',
+ '/<!--- @PVEDOCS_BASE64@ ([0-9a-zA-Z\\+\\/]+=*) @PVEDOCS_BASE64@ -->/sm',
function ($m) { return base64_decode("$m[1]"); },
$text);
function ($m) { return base64_decode("$m[1]"); },
$text);
$content = file_get_contents("/usr/share/pve-docs/$param1");
$content = file_get_contents("/usr/share/pve-docs/$param1");
- # do not use '<' or '>', it seems newer mediawiki converts it to '<' and '>'
- # and then the regex for the decode in efPvedocsPostProcessFunction does not matches..
- $output = '-_- @PVEDOCS_BASE64@ '.base64_encode($content).' @PVEDOCS_BASE64@ -_-';
+ # from https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/extensions/HTMLets/+/11e5ef1ea2820319458dc67174ca76d6e00b10cc/HTMLets.php#140
+ $output = '<!--- @PVEDOCS_BASE64@ '.base64_encode($content).' @PVEDOCS_BASE64@ -->';
return array($output, 'noparse' => true, 'isHTML' => true);
}
return array($output, 'noparse' => true, 'isHTML' => true);
}