X-Git-Url: http://git.pjr.cc/?a=blobdiff_plain;f=gwvpmini%2Fgwvpmini_view.php;h=47effbe0682925499acfc25ab1cdf90c8312a9b7;hb=5433c422794029259de4512640485aeb650e0c87;hp=70ce34deac40b37fd5ecbce9ba6be96f72fca909;hpb=2665125c8ddb042dcd87e804bf63b79cc423da0e;p=gwvp-mini.git diff --git a/gwvpmini/gwvpmini_view.php b/gwvpmini/gwvpmini_view.php index 70ce34d..47effbe 100644 --- a/gwvpmini/gwvpmini_view.php +++ b/gwvpmini/gwvpmini_view.php @@ -20,7 +20,11 @@ function gwvpmini_RepoViewCallMe() $repo_view_call = $qspl[1]; return "gwvpmini_RepoViewPage"; } else return false; - } else return false; + } + if($qspl[0] == "updaterepobaseperms") { + return "gwvpmini_UpdateRepoBasePerms"; + } + return false; } else return false; } @@ -46,19 +50,57 @@ function gwvpmini_RepoViewPageBody() $repo_base = gwvpmini_getConfigVal("repodir"); + $owner_view = false; + if($_SERVER["SERVER_PORT"] == 443) $proto="https://"; else $proto = "http://"; $sname = $_SERVER["SERVER_NAME"]; $owner = gwvpmini_GetRepoOwnerDetailsFromName($repo_view_call); + $desc = gwvpmini_GetRepoDescFromName($repo_view_call); $owner_name = $owner["username"]; + + if(isset($_SESSION["id"])) { + if($owner["id"] == $_SESSION["id"]) { + $owner_view = true; + } + } + + error_log("STUFF:".print_r($owner,true)); + $cloneurl = "git clone $proto$sname$BASE_URL/git/$repo_view_call.git"; + echo "
"; + + if($owner_view) $owner_extra = " (YOU)"; + else $owner_extra = ""; - echo "

".get_gravatar($owner["email"], 30, 'mm', 'g', true)."$repo_view_call - $owner_name

"; - echo "Desc
"; - echo "
"; + echo "

".get_gravatar($owner["email"], 30, 'mm', 'g', true)."$repo_view_call - $owner_name$owner_extra

"; + echo "$desc
"; + + if($owner_view) { + $bperms = gwvpmini_GetRepoPerm(gwvpmini_GetRepoId($repo_view_call), "b"); + + $anyo = ""; + $regd = ""; + $expl = ""; + if($bperms == "a") $anyo = " selected"; + if($bperms == "r") $regd = " selected"; + if($bperms == "x") $expl = " selected"; + + error_log("BPERMS: $bperms"); + + echo "
"; + echo "Base Permissions "; + echo ""; + echo ""; + echo "
"; + } //echo "command: git log --git-dir=$repo_base/$repo_view_call.git --pretty=format:\"%H\" -10"; $rs = popen("git --git-dir=$repo_base/$repo_view_call.git log --pretty=format:\"%H\" -10", "r"); $commitids = array(); @@ -73,7 +115,6 @@ function gwvpmini_RepoViewPageBody() } fclose($rs); } else { - echo "No commit logs yet
"; $commitids = false; } @@ -82,7 +123,7 @@ function gwvpmini_RepoViewPageBody() echo ""; echo ""; foreach($commitids as $ids) { - $rs = popen("git --git-dir=$repo_base/$repo_view_call.git log --pretty=format:\"%at%n%ce%n%an%n%s\" $ids -1", "r"); + $rs = popen("git --git-dir=$repo_base/$repo_view_call.git log --pretty=format:\"%at%n%ce%n%an%n%s\" $ids -1 2> /dev/null", "r"); if($rs) { $flin1 = trim(fgets($rs)); $flin2 = trim(fgets($rs)); @@ -98,8 +139,54 @@ function gwvpmini_RepoViewPageBody() echo ""; } echo "
Committed ByDateCommit Log Entry
".get_gravatar($flin2, 18, 'mm', 'g', true)."$flon$flin1$flin4
"; + } else { + echo "No commit information available yet
"; } } - + +function gwvpmini_UpdateRepoBasePerms() +{ + global $BASE_URL, $repo_view_call; + + if(isset($_REQUEST["q"])) { + $query = $_REQUEST["q"]; + $qspl = explode("/", $query); + error_log("PLOOP:qview".print_r($qspl, true)); + } + + if(isset($qspl[1])) $repo_view_call = $qspl[1]; + else { + error_log("PLOOP: no repo name"); + header("Location: $BASE_URL/view/$repo_view_call"); + return; + } + + $newperms = $_REQUEST["base_perms"]; + + $owner = gwvpmini_GetRepoOwnerDetailsFromName($repo_view_call); + $desc = gwvpmini_GetRepoDescFromName($repo_view_call); + + $owner_name = $owner["username"]; + + $owner_view = false; + if(isset($_SESSION["id"])) { + if($owner["id"] == $_SESSION["id"]) { + $owner_view = true; + } + } + + $rid = gwvpmini_GetRepoId($repo_view_call); + + if(!$owner_view) { + gwvpmini_SendMessage("error", "failure updating permission for repo"); + error_log("PLOOP: attempt to update from non-owner"); + } else { + error_log("PLOOP: updateds: ".print_r($_REQUEST, true)); + gwvpmini_ChangeRepoPerm($rid, "b", $_REQUEST["base_perms"]); + gwvpmini_SendMessage("info", "Base permissions for repo updated"); + } + + header("Location: $BASE_URL/view/$repo_view_call"); +} ?> \ No newline at end of file