Update ParserKrokiTag.php

This commit is contained in:
dimon 2025-04-25 14:20:33 +00:00
parent 33e4883f7a
commit 58a58fd673

View File

@ -241,7 +241,19 @@ class ParserKrokiTag {
$width = $args['width'] ?? ''; $width = $args['width'] ?? '';
$height = $args['height'] ?? ''; $height = $args['height'] ?? '';
return self::formatHtml( "data:image/" . $output_format . "+xml;base64," . base64_encode( $request->getContent() ), $width, $height, $lang ); $external_width = $args['external_width'] ?? $width;
$external_height = $args['external_height'] ?? $height;
$internal_width = $args['internal_width'] ?? $width;
$internal_height = $args['internal_height'] ?? $height;
return self::formatHtml(
"data:image/" . $output_format . "+xml;base64," . base64_encode( $request->getContent() )
,$external_width
,$external_height
,$internal_width
,$internal_height
,$lang
);
} }
/** /**
@ -335,7 +347,19 @@ class ParserKrokiTag {
$width = $args['width'] ?? ''; $width = $args['width'] ?? '';
$height = $args['height'] ?? ''; $height = $args['height'] ?? '';
return self::formatHtml( $graphFile->getUrl(), $width, $height, $lang ); $external_width = $args['external_width'] ?? $width;
$external_height = $args['external_height'] ?? $height;
$internal_width = $args['internal_width'] ?? $width;
$internal_height = $args['internal_height'] ?? $height;
return self::formatHtml(
$graphFile->getUrl()
,$external_width
,$external_height
,$internal_width
,$internal_height
,$lang
);
} }
$tmpFactory = MediaWikiServices::getInstance()->getTempFSFileFactory(); $tmpFactory = MediaWikiServices::getInstance()->getTempFSFileFactory();
@ -356,20 +380,39 @@ class ParserKrokiTag {
$width = $args['width'] ?? ''; $width = $args['width'] ?? '';
$height = $args['height'] ?? ''; $height = $args['height'] ?? '';
return self::formatHtml( $graphFile->getUrl(), $width, $height, $lang ); $external_width = $args['external_width'] ?? $width;
$external_height = $args['external_height'] ?? $height;
$internal_width = $args['internal_width'] ?? $width;
$internal_height = $args['internal_height'] ?? $height;
return self::formatHtml(
$graphFile->getUrl()
,$external_width
,$external_height
,$internal_width
,$internal_height
,$lang
);
} }
/** /**
* Formats the HTML for displaying an image. * Formats the HTML for displaying an image.
* *
* @param string $imgUrl The URL of the image. * @param string $imgUrl The URL of the image.
* @param string external_width maximum width of scrolling zone
* @param string external_height maximum height of scrolling zone
* @param string internal_width maximum width of image
* @param string internal_height maximum height of image
* @param string diagram type
* @return string The formatted HTML code. * @return string The formatted HTML code.
*/ */
private static function formatHtml( string $imgUrl, string $width, string $height, string $lang ): string { private static function formatHtml( string $imgUrl, string $external_width, string $external_height, string $internal_width, string $internal_height, string $lang ): string {
return Html::rawElement( return Html::rawElement(
'div', 'div', [ 'style' => 'overflow:hidden;', 'width' => $external_width, 'height' => $external_height ],
[ 'class' => self::KROKI_CSS_CLASS ], Html::rawElement(
Html::element( 'img', [ 'src' => $imgUrl, 'width' => $width, 'height' => $height, 'style' => 'background-color: rgba(150, 150, 150, 0.5);' ] ) 'div', [ 'class' => self::KROKI_CSS_CLASS, 'style' => 'overflow-y:scroll;' ],
Html::element( 'img', [ 'src' => $imgUrl, 'style' => 'background-color: rgba(150, 150, 150, 0.5);', 'width' => $internal_width, 'height' => $internal_height ] )
)
); );
} }