From 8f387bbd52d197465650ffcda45d103f06b70269 Mon Sep 17 00:00:00 2001 From: Toby Zerner Date: Fri, 18 Sep 2015 13:29:43 +0930 Subject: [PATCH] Allow formatter to be used for things other than post formatting --- src/Core/Formatter/Formatter.php | 19 ++++++++++--------- src/Events/FormatterParser.php | 11 +++++------ src/Events/FormatterRenderer.php | 11 +++++------ 3 files changed, 20 insertions(+), 21 deletions(-) diff --git a/src/Core/Formatter/Formatter.php b/src/Core/Formatter/Formatter.php index ba0b5e2c7..c9abdb9fc 100644 --- a/src/Core/Formatter/Formatter.php +++ b/src/Core/Formatter/Formatter.php @@ -69,17 +69,18 @@ class Formatter }); } - protected function getParser(CommentPost $post) + protected function getParser($context = null) { $parser = $this->getComponent('parser'); - $parser->registeredVars['post'] = $post; - event(new FormatterParser($parser, $post)); + $parser->registeredVars['context'] = $context; + + event(new FormatterParser($parser, $context)); return $parser; } - protected function getRenderer(CommentPost $post) + protected function getRenderer($context = null) { spl_autoload_register(function ($class) { if (file_exists($file = storage_path() . '/app/' . $class . '.php')) { @@ -89,7 +90,7 @@ class Formatter $renderer = $this->getComponent('renderer'); - event(new FormatterRenderer($renderer, $post)); + event(new FormatterRenderer($renderer, $context)); return $renderer; } @@ -109,16 +110,16 @@ class Formatter ])['js']; } - public function parse($text, CommentPost $post) + public function parse($text, $context = null) { - $parser = $this->getParser($post); + $parser = $this->getParser($context); return $parser->parse($text); } - public function render($xml, CommentPost $post) + public function render($xml, $context = null) { - $renderer = $this->getRenderer($post); + $renderer = $this->getRenderer($context); return $renderer->render($xml); } diff --git a/src/Events/FormatterParser.php b/src/Events/FormatterParser.php index 8b1998bcd..ee989e38c 100644 --- a/src/Events/FormatterParser.php +++ b/src/Events/FormatterParser.php @@ -11,7 +11,6 @@ namespace Flarum\Events; use s9e\TextFormatter\Parser; -use Flarum\Core\Posts\CommentPost; class FormatterParser { @@ -21,17 +20,17 @@ class FormatterParser public $parser; /** - * @var CommentPost + * @var mixed */ - public $post; + public $context; /** * @param Parser $parser - * @param CommentPost $post + * @param mixed $context */ - public function __construct(Parser $parser, CommentPost $post) + public function __construct(Parser $parser, $context) { $this->parser = $parser; - $this->post = $post; + $this->context = $context; } } diff --git a/src/Events/FormatterRenderer.php b/src/Events/FormatterRenderer.php index 50c7c75b6..0b72b6d46 100644 --- a/src/Events/FormatterRenderer.php +++ b/src/Events/FormatterRenderer.php @@ -11,7 +11,6 @@ namespace Flarum\Events; use s9e\TextFormatter\Renderer; -use Flarum\Core\Posts\CommentPost; class FormatterRenderer { @@ -21,17 +20,17 @@ class FormatterRenderer public $renderer; /** - * @var CommentPost + * @var mixed */ - public $post; + public $context; /** * @param Renderer $renderer - * @param CommentPost $post + * @param mixed $context */ - public function __construct(Renderer $renderer, CommentPost $post) + public function __construct(Renderer $renderer, $context) { $this->renderer = $renderer; - $this->post = $post; + $this->context = $context; } }