add list of repos a user can commit to
[gwvp-mini.git] / gwvpmini / gwvpmini_gitrepo.php
index 2b41228..d8e0d32 100644 (file)
@@ -54,7 +54,6 @@ function gwvpmini_RepoMainPageBody()
        global $BASE_URL;
        
        if(gwvpmini_isLoggedIn()) {
-               gwvpmini_GitCreateRepoForm();
                $repos = gwvpmini_GetOwnedRepos($_SESSION["username"]);
                if(!$repos) {
                        echo "You currently own no repos<br>";  
@@ -64,17 +63,60 @@ function gwvpmini_RepoMainPageBody()
                        foreach($repos as $repo) {
                                $name = $repo["name"];
                                $desc = $repo["desc"];
+                               $repo_base = gwvpmini_getConfigVal("repodir");
+                               $cmd = "git --git-dir=\"$repo_base/$name.git\" log -1 2> /dev/null";
                                echo "<tr><td><a href=\"$BASE_URL/view/$name\">$name</a></td><td>$desc</td>";
                                echo "<td>";\r
-                               $repo_base = gwvpmini_getConfigVal("repodir");\r
-                               $cmd = "git --git-dir=\"$repo_base/$name.git\" log -1 2>&1";\r
-                               error_log("CMD: $cmd");\r
-                               system("$cmd");\r
+                               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 "</td>";
                                echo "</tr>";
                        }
                        echo "</table>";
                }
+               gwvpmini_GitCreateRepoForm();\r
+               
+               
+               $contreps = gwvpmini_GetContributedRepos($_SESSION["username"]);
+               
+               if($contreps !== false) {
+                       echo "<h2>Repos you contribute to</h2>";
+                       echo "<table border=\"1\"><tr><th>Repo Name</th><th>Owner</th><th>Repo Description</th><th>Last Log</th></tr>";
+                       foreach($contreps as $repo) {
+                               $name = $repo["name"];\r
+                               $desc = $repo["desc"];
+                               $repo_base = gwvpmini_getConfigVal("repodir");\r
+                               $cmd = "git --git-dir=\"$repo_base/$name.git\" log -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 = "<a href=\"$BASE_URL/view/$name\">$name</a>";
+                               $repown = get_gravatar($owner["email"], 30, 'mm', 'g', true)."<br><a href=\"$BASE_URL/user/".$owner["username"]."\">".$owner["username"]."</a>";
+                               
+                               
+                               echo "<tr><td>$repname</td><td>$repown</td><td>$desc</td><td>$lastlog</td></tr>";
+                       }
+                       echo "</table>";
+               }
        }
        return true;
 }
@@ -109,9 +151,18 @@ function gwvpmini_GitLogProvider()
                                echo "<tr><td><a href=\"$BASE_URL/view/$name\">$name</a></td><td>$desc</td>";
                                echo "<td>";
                                $repo_base = gwvpmini_getConfigVal("repodir");
-                               $cmd = "git --git-dir=\"$repo_base/$name.git\" log -1 2>&1";
+                               $cmd = "git --git-dir=\"$repo_base/$name.git\" log -1 2> /dev/null";
                                error_log("CMD: $cmd");
-                               system("$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 "</td>";
                                echo "</tr>";
                        }