diff options
| author | Christian Weiske <cweiske@cweiske.de> | 2012-03-26 21:59:07 +0200 |
|---|---|---|
| committer | Christian Weiske <cweiske@cweiske.de> | 2012-03-26 21:59:07 +0200 |
| commit | e3757ad55ac7f161d4de11e38fb57166a8ee85f7 (patch) | |
| tree | 0dbdb3871c7a233474517a97194f29b59a03a904 /src | |
| parent | 5f427dd38c8d47711ea73015076bb390761e05dd (diff) | |
| download | phorkie-e3757ad55ac7f161d4de11e38fb57166a8ee85f7.tar.gz phorkie-e3757ad55ac7f161d4de11e38fb57166a8ee85f7.zip | |
raw download support
Diffstat (limited to 'src')
| -rw-r--r-- | src/Phorkie/File.php | 18 | ||||
| -rw-r--r-- | src/Phorkie/Repository.php | 13 |
2 files changed, 31 insertions, 0 deletions
diff --git a/src/Phorkie/File.php b/src/Phorkie/File.php index f12d837..14a7bbf 100644 --- a/src/Phorkie/File.php +++ b/src/Phorkie/File.php @@ -17,6 +17,15 @@ class File */ public $repo; + public static $arMimeTypeMap = array( + 'css' => 'text/css', + 'htm' => 'text/html', + 'html' => 'text/html', + 'js' => 'application/javascript', + 'php' => 'text/x-php', + 'txt' => 'text/plain', + ); + public function __construct($path, Repository $repo) { $this->path = $path; @@ -48,6 +57,15 @@ class File return file_get_contents($this->path); } + public function getMimeType() + { + $type = $this->getType(); + if (!isset(static::$arMimeTypeMap[$type])) { + return null; + } + return static::$arMimeTypeMap[$type]; + } + /** * Get a link to the file * diff --git a/src/Phorkie/Repository.php b/src/Phorkie/Repository.php index ae01f6c..ebd420f 100644 --- a/src/Phorkie/Repository.php +++ b/src/Phorkie/Repository.php @@ -57,6 +57,19 @@ class Repository return $arFiles; } + public function getFileByName($name) + { + $base = basename($name); + if ($base != $name) { + throw new Exception('No directories supported for now'); + } + $path = $this->repoDir . '/' . $base; + if (!is_readable($path)) { + throw new Exception_Input('File does not exist'); + } + return new File($path, $this); + } + public function getDescription() { return file_get_contents($this->repoDir . '/.git/description'); |
