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);
}
$tm = new Tool_Manager();
return $tm->getSuitable($this);
}
+
+ /**
+ * Tells if the file contains textual content and is editable.
+ *
+ * @return boolean
+ */
+ public function isText()
+ {
+ $ext = $this->getExt();
+ if (!isset($GLOBALS['phorkie']['languages'][$ext]['mime'])) {
+ return false;
+ }
+
+ $type = $GLOBALS['phorkie']['languages'][$ext]['mime'];
+ return substr($type, 0, 5) === 'text/';
+ }
}
?>
\ No newline at end of file