aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristian Weiske <cweiske@cweiske.de>2012-03-26 23:38:53 +0200
committerChristian Weiske <cweiske@cweiske.de>2012-03-26 23:38:53 +0200
commitbfa1501efa1a49893208c794ea262a075b13fc1d (patch)
treed8bce05c5c1b3cf3ce965c5b6bf517f61b952c52 /src
parentc4b6c919fc57dec4334d10b6593a6b8faadc8052 (diff)
downloadphorkie-bfa1501efa1a49893208c794ea262a075b13fc1d.tar.gz
phorkie-bfa1501efa1a49893208c794ea262a075b13fc1d.zip
use repositories class
Diffstat (limited to 'src')
-rw-r--r--src/Phorkie/Repositories.php27
-rw-r--r--src/Phorkie/Repository.php8
2 files changed, 35 insertions, 0 deletions
diff --git a/src/Phorkie/Repositories.php b/src/Phorkie/Repositories.php
new file mode 100644
index 0000000..6582ae8
--- /dev/null
+++ b/src/Phorkie/Repositories.php
@@ -0,0 +1,27 @@
+<?php
+namespace Phorkie;
+
+class Repositories
+{
+ public function __construct()
+ {
+ $this->reposDir = $GLOBALS['phorkie']['cfg']['repos'];
+ }
+
+ /**
+ * @return Repository
+ */
+ public function createNew()
+ {
+ $n = basename(end(glob($this->reposDir . '/*', GLOB_ONLYDIR))) + 1;
+ $dir = $this->reposDir . '/' . $n . '/';
+ mkdir($dir, 0777);//FIXME
+ $r = new Repository();
+ $r->id = $n;
+ $r->repoDir = $dir;
+ return $r;
+ }
+
+}
+
+?>
diff --git a/src/Phorkie/Repository.php b/src/Phorkie/Repository.php
index 531ff68..f23db7e 100644
--- a/src/Phorkie/Repository.php
+++ b/src/Phorkie/Repository.php
@@ -42,6 +42,11 @@ class Repository
$this->repoDir = $repoDir;
}
+ public function getVc()
+ {
+ return new \VersionControl_Git($this->repoDir);
+ }
+
/**
* Loads the list of files in this repository
*
@@ -84,6 +89,7 @@ class Repository
* @param string $type Link type. Supported are:
* - "edit"
* - "display"
+ * - "fork"
*
* @return string
*/
@@ -93,6 +99,8 @@ class Repository
return '/' . $this->id . '/edit';
} else if ($type == 'display') {
return '/' . $this->id;
+ } else if ($type == 'fork') {
+ return '/' . $this->id . '/fork';
}
throw new Exception('Unknown type');
}