diff options
Diffstat (limited to 'src/Phorkie/File.php')
| -rw-r--r-- | src/Phorkie/File.php | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/src/Phorkie/File.php b/src/Phorkie/File.php new file mode 100644 index 0000000..f12d837 --- /dev/null +++ b/src/Phorkie/File.php @@ -0,0 +1,69 @@ +<?php +namespace Phorkie; + +class File +{ + /** + * Full path to the file + * + * @var string + */ + public $path; + + /** + * Repository this file belongs to + * + * @var string + */ + public $repo; + + public function __construct($path, Repository $repo) + { + $this->path = $path; + $this->repo = $repo; + } + + /** + * Get filename relative to the repository path + * + * @return string + */ + public function getFilename() + { + return basename($this->path); + } + + /** + * Returns the type of the file, as used internally by Phorkie + * + * @return string + */ + public function getType() + { + return substr($this->path, strrpos($this->path, '.') + 1); + } + + public function getContent() + { + return file_get_contents($this->path); + } + + /** + * Get a link to the file + * + * @param string $type Link type. Supported are: + * - "raw" + * - "display" + * + * @return string + */ + public function getLink($type) + { + if ($type == 'raw') { + return '/' . $this->repo->id . '/raw/' . $this->getFilename(); + } + throw new Exception('Unknown type'); + } +} + +?>
\ No newline at end of file |
