X-Git-Url: https://git.cweiske.de/phorkie.git/blobdiff_plain/2b4b34a76f42841e964a549fc64c02ba4f60a3f4..38aa0dc6133ff53d20fd9f714eb380809c8dba67:/src/phorkie/Repositories.php diff --git a/src/phorkie/Repositories.php b/src/phorkie/Repositories.php index ef59dd7..a75f2c2 100644 --- a/src/phorkie/Repositories.php +++ b/src/phorkie/Repositories.php @@ -5,7 +5,8 @@ class Repositories { public function __construct() { - $this->reposDir = $GLOBALS['phorkie']['cfg']['repos']; + $this->workDir = $GLOBALS['phorkie']['cfg']['workdir']; + $this->gitDir = $GLOBALS['phorkie']['cfg']['gitdir']; } /** @@ -13,17 +14,26 @@ class Repositories */ public function createNew() { - chdir($this->reposDir); - $dirs = glob('*', GLOB_ONLYDIR); + chdir($this->gitDir); + $dirs = glob('*.git', GLOB_ONLYDIR); + array_walk( + $dirs, + function ($dir) { + return substr($dir, 0, -4); + } + ); sort($dirs, SORT_NUMERIC); $n = end($dirs) + 1; - unset($dirs); - $dir = $this->reposDir . '/' . $n . '/'; + chdir($this->workDir); + $dir = $this->workDir . '/' . $n . '/'; mkdir($dir, 0777);//FIXME $r = new Repository(); $r->id = $n; - $r->repoDir = $dir; + $r->workDir = $dir; + $r->gitDir = $this->gitDir . '/' . $n . '.git/'; + mkdir($r->gitDir, 0777);//FIXME + return $r; } @@ -33,22 +43,22 @@ class Repositories * @param integer $page Page number, beginning with 0 * @param integer $perPage Number of repositories per page * - * @return array Array of Repositories + * @return array Array of Repositories first, number of repositories second */ public function getList($page = 0, $perPage = 10) { - chdir($this->reposDir); - $dirs = glob('*', GLOB_ONLYDIR); + chdir($this->gitDir); + $dirs = glob('*.git', GLOB_ONLYDIR); sort($dirs, SORT_NUMERIC); $some = array_slice($dirs, $page * $perPage, $perPage); $repos = array(); foreach ($some as $oneDir) { $r = new Repository(); - $r->loadById($oneDir); + $r->loadById(substr($oneDir, 0, -4)); $repos[] = $r; } - return $repos; + return array($repos, count($dirs)); } }