X-Git-Url: http://git.pjr.cc/?a=blobdiff_plain;f=gwvpmini%2Fgwvpmini_gitrepo.php;h=46c4f95790642942cf7b396bc49bd692dc60a575;hb=b35dc95efeb3c44390afc4eaa0aa295949ef2f9e;hp=1b1466a0337846c7a462562e6fa77fdf24bdc816;hpb=29d0a57aa6969a64216fa5d7a0a455043cf13094;p=gwvp-mini.git
diff --git a/gwvpmini/gwvpmini_gitrepo.php b/gwvpmini/gwvpmini_gitrepo.php
index 1b1466a..46c4f95 100644
--- a/gwvpmini/gwvpmini_gitrepo.php
+++ b/gwvpmini/gwvpmini_gitrepo.php
@@ -3,7 +3,7 @@ global $HOME_PAGE_PROVIDERS;
$CALL_ME_FUNCTIONS["repoadmin"] = "gwvpmini_RepoCallMe";
-$HOME_PAGE_PROVIDERS["gitlog"] = "gwvpmini_GitLogProvider";
+$HOME_PAGE_PROVIDERS["00gitlog"] = "gwvpmini_GitLogProvider";
// the home_page_provders bit is an array
@@ -15,15 +15,15 @@ $MENU_ITEMS["10repos"]["link"] = "$BASE_URL/repos";
function gwvpmini_RepoCallMe()
{
- error_log("in repoadmin callme - err?");
- error_log(print_r($_REQUEST, true));
+ // error_log("in repoadmin callme - err?");
+ // error_log(print_r($_REQUEST, true));
if(isset($_REQUEST["q"])) {
- error_log("in repoadmin callme, for Q");
+ // error_log("in repoadmin callme, for Q");
$query = $_REQUEST["q"];
$qspl = explode("/", $query);
if(isset($qspl[0])) {
if($qspl[0] == "repos") {
- error_log("in repos call");
+ // error_log("in repos call");
if(isset($qspl[1])) {
if($qspl[1] == "create") {
return "gwvpmini_RepoCreate";
@@ -31,7 +31,7 @@ function gwvpmini_RepoCallMe()
return "gwvpmini_RepoMainPage";
}
} else {
- error_log("i got here, where next?");
+ // error_log("i got here, where next?");
return "gwvpmini_RepoMainPage";
}
} else return false;
@@ -51,7 +51,8 @@ function gwvpmini_RepoMainPage()
function gwvpmini_RepoMainPageBody()
{
- gwvpmini_GitCreateRepoForm();
+ global $BASE_URL;
+
if(gwvpmini_isLoggedIn()) {
$repos = gwvpmini_GetOwnedRepos($_SESSION["username"]);
if(!$repos) {
@@ -62,17 +63,60 @@ function gwvpmini_RepoMainPageBody()
foreach($repos as $repo) {
$name = $repo["name"];
$desc = $repo["desc"];
- echo "
$name | $desc | ";
+ $repo_base = gwvpmini_getConfigVal("repodir");
+ $cmd = "git --git-dir=\"$repo_base/$name.git\" log --all -1 2> /dev/null";
+ echo "
$name | $desc | ";
echo "";
- $repo_base = gwvpmini_getConfigVal("repodir");
- $cmd = "git --git-dir=\"$repo_base/$name.git\" log -1 2>&1";
- error_log("CMD: $cmd");
- system("$cmd");
+ // error_log("CMD: $cmd");
+ //system("$cmd");
+ $fls = popen($cmd, "r");
+ $tks = "";
+ if($fls !== false) while(!feof($fls)) {
+ $tks .= fread($fls,1024);
+ }
+
+ if($tks == "") {
+ echo "No Log Info Yet";
+ } else echo $tks;
echo " | ";
echo "
";
}
echo "";
}
+ gwvpmini_GitCreateRepoForm();
+
+
+ $contreps = gwvpmini_GetContributedRepos($_SESSION["username"]);
+
+ if($contreps !== false) {
+ echo "Repos you contribute to
";
+ echo "Repo Name | Owner | Repo Description | Last Log |
";
+ foreach($contreps as $repo) {
+ $name = $repo["name"];
+ $desc = $repo["desc"];
+ $repo_base = gwvpmini_getConfigVal("repodir");
+ $cmd = "git --git-dir=\"$repo_base/$name.git\" log --all -1 2> /dev/null";
+ // error_log("CMD: $cmd");
+ //system("$cmd");
+ $fls = popen($cmd, "r");
+ $tks = "";
+ if($fls !== false) while(!feof($fls)) {
+ $tks .= fread($fls,1024);
+ }
+
+ if($tks == "") {
+ $lastlog = "No Log Info Yet";
+ } else $lastlog = $tks;
+
+ $owner = gwvpmini_getUser(null, null, $repo["owner"]);
+ $repname = "$name";
+ $repown = gwvpmini_HtmlGravatar($owner["email"], 30, "
")."".$owner["username"]."";
+
+
+ echo "$repname | $repown | $desc | $lastlog |
";
+ }
+ echo "
";
+ }
}
return true;
}
@@ -90,6 +134,9 @@ function gwvpmini_GitLogProvider()
*
* Or... should we instead just list every repo?
*/
+
+ global $BASE_URL;
+
echo "Repo Activity
";
if(gwvpmini_isLoggedIn()) {
$repos = gwvpmini_GetOwnedRepos($_SESSION["username"]);
@@ -101,12 +148,21 @@ function gwvpmini_GitLogProvider()
foreach($repos as $repo) {
$name = $repo["name"];
$desc = $repo["desc"];
- echo "$name | $desc | ";
+ echo "
$name | $desc | ";
echo "";
$repo_base = gwvpmini_getConfigVal("repodir");
- $cmd = "git --git-dir=\"$repo_base/$name.git\" log -1 2>&1";
- error_log("CMD: $cmd");
- system("$cmd");
+ $cmd = "git --git-dir=\"$repo_base/$name.git\" log --all -1 2> /dev/null";
+ // error_log("CMD: $cmd");
+ //system("$cmd");
+ $fls = popen($cmd, "r");
+ $tks = "";
+ if($fls !== false) while(!feof($fls)) {
+ $tks .= fread($fls,1024);
+ }
+
+ if($tks == "") {
+ echo "No Log Info Yet";
+ } else echo $tks;
echo " | ";
echo "
";
}
@@ -181,4 +237,47 @@ 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);
+ }
+}
+
+function gwvpmini_CompressCommitId($cid)
+{
+ $compressedcid = substr($cid, 0, 5)."...".substr($cid, strlen($cid)-5, strlen($cid));
+
+ return $compressedcid;
+}
+
?>
\ No newline at end of file