{
chdir($this->gitDir);
$dirs = glob('*.git', GLOB_ONLYDIR);
- array_walk(
- $dirs,
- function ($dir) {
- return substr($dir, 0, -4);
- }
- );
+ foreach ($dirs as $key => $dir) {
+ $dirs[$key] = substr($dir, 0, -4);
+ }
sort($dirs, SORT_NUMERIC);
- $n = end($dirs) + 1;
+
+ if ($GLOBALS['phorkie']['cfg']['randomIds']) {
+ $n = end($dirs) + mt_rand(65536, 16777216);
+ } else {
+ $n = end($dirs) + 1;
+ }
chdir($this->workDir);
$dir = $this->workDir . '/' . $n . '/';
- mkdir($dir, 0777);//FIXME
+ mkdir($dir, fileperms($this->workDir) & 0777);
$r = new Repository();
$r->id = $n;
$r->workDir = $dir;
$r->gitDir = $this->gitDir . '/' . $n . '.git/';
- mkdir($r->gitDir, 0777);//FIXME
+ mkdir($r->gitDir, fileperms($this->gitDir) & 0777);
return $r;
}