$this->repoDir = $repoDir;
}
+ public function loadById($id)
+ {
+ if (!is_numeric($id)) {
+ throw new Exception_Input('Paste ID not numeric');
+ }
+ $this->id = (int)$id;
+
+ $repoDir = $GLOBALS['phorkie']['cfg']['repos'] . '/' . $this->id;
+ if (!is_dir($repoDir)) {
+ throw new Exception_NotFound('Paste not found');
+ }
+ $this->repoDir = $repoDir;
+ }
+
+ public function getVc()
+ {
+ return new \VersionControl_Git($this->repoDir);
+ }
+
/**
* Loads the list of files in this repository
*
* @param string $type Link type. Supported are:
* - "edit"
* - "display"
+ * - "fork"
*
* @return string
*/
return '/' . $this->id . '/edit';
} else if ($type == 'display') {
return '/' . $this->id;
+ } else if ($type == 'fork') {
+ return '/' . $this->id . '/fork';
}
throw new Exception('Unknown type');
}