X-Git-Url: http://git.pjr.cc/?p=gwvp-mini.git;a=blobdiff_plain;f=gwvpmini%2Fgwvpmini_gitrepo.php;h=2b412288c7a6cb5b3b8c195a012a4b72b35a7b3c;hp=a120da418914e02b66c207a5db5c973ae1f0f7e8;hb=529c11c6cfff0c2d8b857eed0b5ace7f3be054da;hpb=ed6b04122ec87a22105ed1f67144b7342fd9c523 diff --git a/gwvpmini/gwvpmini_gitrepo.php b/gwvpmini/gwvpmini_gitrepo.php index a120da4..2b41228 100644 --- a/gwvpmini/gwvpmini_gitrepo.php +++ b/gwvpmini/gwvpmini_gitrepo.php @@ -186,4 +186,40 @@ function gwvpmini_HaveRepo($reponame) if(file_exists("$repo_base/$reponame.git")) return true; } + +function gwvpmini_RemoveRepo($rid) +{ + $repo_base = gwvpmini_getConfigVal("repodir"); + + $repdet = gwvpmini_getRepo(null, null, $rid); + + $rname = $repdet["name"]; + + error_log("FROM PANTS:".print_r($repdet,true)." ----------- ".print_r($rname, true)); + + if($repdet != false && $rname != "") { + if(file_exists("$repo_base/$rname.git")) { + // recursive remove - frightening + if(gwvpmini_RecursiveDelete("$repo_base/$rname.git")) { + gwvpmini_RemoveRepoDB($rid); + } + } + } return false; +} + +function gwvpmini_RecursiveDelete($fpath) +{ + error_log("RECURSEDETELE: ".$fpath); + if(is_file($fpath)){ + return @unlink($fpath); + } + elseif(is_dir($fpath)){ + $scan = glob(rtrim($fpath,'/').'/*'); + foreach($scan as $index=>$path){ + gwvpmini_RecursiveDelete($path); + } + return @rmdir($fpath); + } +} + ?> \ No newline at end of file