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 "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 "Committed By | Date | Commit Log Entry |
";
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 "".get_gravatar($flin2, 18, 'mm', 'g', true)."$flon | $flin1 | $flin4 |
";
}
echo "
";
+ } 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