diff --git a/extension.json b/extension.json index 23e2bc6..41fc0fa 100644 --- a/extension.json +++ b/extension.json @@ -9,7 +9,7 @@ "license-name": "GPLv3", "type": "parserhook", "requires": { - "MediaWiki": ">=1.35.0" + "MediaWiki": ">=1.40.0" }, "AutoloadClasses": { "EmbedSnap": "includes/EmbedSnap.php" diff --git a/includes/EmbedSnap.php b/includes/EmbedSnap.php index ab5972f..f799bfd 100644 --- a/includes/EmbedSnap.php +++ b/includes/EmbedSnap.php @@ -18,13 +18,14 @@ */ use MediaWiki\Hook\ParserFirstCallInitHook; +use MediaWiki\Html\Html; if ( !defined( 'MEDIAWIKI' ) ) { die( 'Snap! Project Embed requires MediaWiki 1.35 or later to run.' ); } class EmbedSnap implements ParserFirstCallInitHook { - /** Register and tags */ + /** Register and tags */ public function onParserFirstCallInit( $parser ) { $parser->setHook( 'snap', [ __CLASS__,'renderEmbedSnap' ] ); $parser->setHook( 'snap-project', [ __CLASS__,'renderEmbedSnap' ] ); @@ -41,9 +42,9 @@ public static function renderEmbedSnap( $input, $argv, $parser ) { $pause = ''; $hide = ''; $elementtorender = ''; - + // Arguments passed to the parser - if ( !empty( $argv['project'] ) ) { + if ( !empty( $argv['project'] ) ) { $project = $argv['project']; } elseif ( !empty( $input ) ) { $project = $input; @@ -116,13 +117,17 @@ public static function renderEmbedSnap( $input, $argv, $parser ) { ] ); if ( $hide == 'true' ) { - $elementtorender = Html::openElement( 'details' ) . Html::openElement( 'summary' ) . Html::closeElement( 'summary' ) . $iframe . Html::closeElement( 'details' ); + $elementtorender = Html::rawElement( + 'details', + [], + Html::element( 'summary' ) . $iframe + ); } elseif ( $hide == 'false' ) { $elementtorender = $iframe; } if ( !empty( $project ) ) { if ( !empty( $user ) ) { - return ( + return ( // If both user and project values are given, it renders the proper iframe. $elementtorender );