X-Git-Url: http://git.pjr.cc/?a=blobdiff_plain;f=gwvplib%2Fgwvpgitcontrol.php;h=18956b95d7e35d17078d84d53204807ebfc3d7ae;hb=673b7aa46f8ccbd326113eea024320f70eb7ec10;hp=dddf0b2429aa5c674af8d964f538c565798bc895;hpb=4bf1f2ca1b688395eac6e2517fdbce4e87cce0d5;p=gwvp.git diff --git a/gwvplib/gwvpgitcontrol.php b/gwvplib/gwvpgitcontrol.php index dddf0b2..18956b9 100644 --- a/gwvplib/gwvpgitcontrol.php +++ b/gwvplib/gwvpgitcontrol.php @@ -27,6 +27,27 @@ function gwvp_repoPermissionCheck($repo, $user) return true; } +function gwvp_gitBackendInterface_new() +{ + // and this is where i re-code the git backend interface from scratch + global $repo_base, $BASE_URL; + + + $repo = ""; + $newloc = "/"; + if(isset($_REQUEST["q"])) { + $query = $_REQUEST["q"]; + $qspl = explode("/", $query); + $repo = $qspl[1]; + for($i=2; $i < count($qspl); $i++) { + $newloc .= "/".$qspl[$i]; + } + } + + +} + + function gwvp_gitBackendInterface() { global $repo_base, $BASE_URL; @@ -309,7 +330,11 @@ function gwvp_repoExists($name) else return false; } -function gwvp_createGitRepo($name, $bundle=null) +// default perms: +// 0 - anyone can clone/read, only owner can write +// 1 - noone can clone/read, repo is visible (i.e. name), only owner can read/write repo +// 2 - only owner can see anything +function gwvp_createGitRepo($name, $ownerid, $desc, $bundle=null, $defaultperms=0) { global $repo_base; @@ -325,7 +350,39 @@ function gwvp_createGitRepo($name, $bundle=null) chdir("$repo_base/$name.git"); exec("/usr/bin/git update-server-info"); } + + // gwvp_AddRepo($reponame, $repodesc, $repoowner, $defaultperms = 0) + gwvp_AddRepo($name, $desc, $ownerid, $defaultperms); return true; } + +// this funciton returns one of three things, read, visible, write, none +// as +// 0 - none +// 1 - visible +// 2 - read +// 3 - write +function gwvp_resolvRepoPerms($userid, $repoid) +{ + $ownerid = gwvp_getRepoOwner($repoid); + $isadmin = gwvp_IsUserAdmin(null, null, $userid); + + if($isadmin) return 3; + + if($userid == $ownerid) return 3; + + // now we load the perms table and pray + $repoperms = gwvp_getRepoPermissions($repoid); + $usergroups = gwvp_getGroupsForUser(null, $userid); + + $maxperm = 0; + foreach($repoperms as $perm) { + // need to go thru each perm, then check it agains the user we're trying to figure + // the perms on + + + } +} + ?> \ No newline at end of file