diff options
Diffstat (limited to 'www/wiki/extensions/SemanticMediaWiki/src/MediaWiki/Renderer/HtmlTemplateRenderer.php')
-rw-r--r-- | www/wiki/extensions/SemanticMediaWiki/src/MediaWiki/Renderer/HtmlTemplateRenderer.php | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/www/wiki/extensions/SemanticMediaWiki/src/MediaWiki/Renderer/HtmlTemplateRenderer.php b/www/wiki/extensions/SemanticMediaWiki/src/MediaWiki/Renderer/HtmlTemplateRenderer.php new file mode 100644 index 00000000..1f4c273b --- /dev/null +++ b/www/wiki/extensions/SemanticMediaWiki/src/MediaWiki/Renderer/HtmlTemplateRenderer.php @@ -0,0 +1,71 @@ +<?php + +namespace SMW\MediaWiki\Renderer; + +use Parser; + +/** + * @license GNU GPL v2+ + * @since 2.2 + * + * @author mwjames + */ +class HtmlTemplateRenderer { + + /** + * @var WikitextTemplateRenderer + */ + private $wikitextTemplateRenderer; + + /** + * @var Parser + */ + private $parser; + + /** + * @since 2.2 + * + * @param WikitextTemplateRenderer $wikitextTemplateRenderer + * @param Parser $parser + */ + public function __construct( WikitextTemplateRenderer $wikitextTemplateRenderer, Parser $parser ) { + $this->wikitextTemplateRenderer = $wikitextTemplateRenderer; + $this->parser = $parser; + } + + /** + * @since 2.2 + * + * @param string $field + * @param mixed $value + */ + public function addField( $field, $value ) { + $this->wikitextTemplateRenderer->addField( $field, $value ); + } + + /** + * @since 2.2 + * + * @param string $templateName + */ + public function packFieldsForTemplate( $templateName ) { + $this->wikitextTemplateRenderer->packFieldsForTemplate( $templateName ); + } + + /** + * @since since 2.2 + * + * @return string + */ + public function render() { + + $wikiText = $this->wikitextTemplateRenderer->render(); + + if ( $wikiText === '' ) { + return ''; + } + + return $this->parser->recursiveTagParse( $wikiText ); + } + +} |