X-Git-Url: https://git.cweiske.de/phorkie.git/blobdiff_plain/802794fcc585bbb6533c52b6a4c646829bd07b4d..38aa0dc6133ff53d20fd9f714eb380809c8dba67:/src/phorkie/File.php diff --git a/src/phorkie/File.php b/src/phorkie/File.php index f378f60..2aa1d19 100644 --- a/src/phorkie/File.php +++ b/src/phorkie/File.php @@ -55,7 +55,7 @@ class File */ public function getExt() { - return substr($this->path, strrpos($this->path, '.') + 1); + return strtolower(substr($this->path, strrpos($this->path, '.') + 1)); } public function getContent() @@ -64,8 +64,7 @@ class File //quick hack until https://pear.php.net/bugs/bug.php?id=19385 is fixed $cmd = new GitCommandBinary($this->repo->getVc()); $cmd->setSubCommand('show'); - return //$this->repo->getVc()->getCommand('show') - $cmd + return $cmd ->addArgument($this->repo->hash . ':' . $this->path) ->execute(); } @@ -96,10 +95,10 @@ class File /** * Get a link to the file * - * @param string $type Link type. Supported are: - * - "raw" - * - "tool" - * @param string $option + * @param string $type Link type. Supported are: + * - "raw" + * - "tool" + * @param string $option Additional option, e.g. tool name * * @return string */ @@ -107,17 +106,22 @@ class File { if ($type == 'raw') { if ($this->repo->hash === null) { - return '/' . $this->repo->id . '/raw/' . $this->getFilename(); + return $this->repo->id . '/raw/' . $this->getFilename(); } else { - return '/' . $this->repo->id . '/rev-raw/' . $this->repo->hash + return $this->repo->id . '/rev-raw/' . $this->repo->hash . '/' . $this->getFilename(); } } else if ($type == 'tool') { - return '/' . $this->repo->id . '/tool/' . $option . '/' . $this->getFilename(); + return $this->repo->id + . '/tool/' . $option + . '/' . $this->getFilename(); } throw new Exception('Unknown type'); } + /** + * @return string Mime type of file + */ public function getMimeType() { $ext = $this->getExt(); @@ -161,7 +165,9 @@ class File $type = $GLOBALS['phorkie']['languages'][$ext]['mime']; return substr($type, 0, 5) === 'text/' - || $type == 'application/javascript'; + || $type == 'application/javascript' + || substr($type, -4) == '+xml' + || substr($type, -5) == '+json'; } }