From 6977145fa62346b35db60da018e699b7f1967e90 Mon Sep 17 00:00:00 2001 From: Christian Weiske Date: Sun, 15 Apr 2012 13:13:23 +0200 Subject: add image renderer --- src/phorkie/File.php | 16 ++++++++++++---- src/phorkie/Renderer/Image.php | 24 ++++++++++++++++++++++++ src/phorkie/Renderer/Unknown.php | 21 +++++++++++++++++++++ 3 files changed, 57 insertions(+), 4 deletions(-) create mode 100644 src/phorkie/Renderer/Image.php create mode 100644 src/phorkie/Renderer/Unknown.php (limited to 'src') diff --git a/src/phorkie/File.php b/src/phorkie/File.php index de8bde0..519413d 100644 --- a/src/phorkie/File.php +++ b/src/phorkie/File.php @@ -58,14 +58,22 @@ class File return file_get_contents($this->path); } - public function getHighlightedContent(Tool_Result $res = null) + public function getRenderedContent(Tool_Result $res = null) { - $ext = $this->getExt(); + $ext = $this->getExt(); + $class = '\\phorkie\\Renderer_Unknown'; + if (isset($GLOBALS['phorkie']['languages'][$ext]['renderer'])) { $class = $GLOBALS['phorkie']['languages'][$ext]['renderer']; - } else { - $class = '\\phorkie\\Renderer_Geshi'; + } else if (isset($GLOBALS['phorkie']['languages'][$ext]['mime'])) { + $type = $GLOBALS['phorkie']['languages'][$ext]['mime']; + if (substr($type, 0, 5) == 'text/') { + $class = '\\phorkie\\Renderer_Geshi'; + } else if (substr($type, 0, 6) == 'image/') { + $class = '\\phorkie\\Renderer_Image'; + } } + $rend = new $class(); return $rend->toHtml($this, $res); } diff --git a/src/phorkie/Renderer/Image.php b/src/phorkie/Renderer/Image.php new file mode 100644 index 0000000..9425646 --- /dev/null +++ b/src/phorkie/Renderer/Image.php @@ -0,0 +1,24 @@ +' + . '' + . ''; + } +} +?> diff --git a/src/phorkie/Renderer/Unknown.php b/src/phorkie/Renderer/Unknown.php new file mode 100644 index 0000000..da593cb --- /dev/null +++ b/src/phorkie/Renderer/Unknown.php @@ -0,0 +1,21 @@ +' + . 'No idea how to display this file' + . ''; + } +} +?> -- cgit v1.2.3