function gwvpmini_RepoMainPageBody()
{
- gwvpmini_GitCreateRepoForm();
+ global $BASE_URL;
+
if(gwvpmini_isLoggedIn()) {
$repos = gwvpmini_GetOwnedRepos($_SESSION["username"]);
if(!$repos) {
foreach($repos as $repo) {
$name = $repo["name"];
$desc = $repo["desc"];
- echo "<tr><td>$name</td><td>$desc</td>";
+ $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;
}
*\r
* Or... should we instead just list every repo?\r
*/
+
+ global $BASE_URL;
+
echo "<h2>Repo Activity</h2>";
if(gwvpmini_isLoggedIn()) {\r
$repos = gwvpmini_GetOwnedRepos($_SESSION["username"]);
foreach($repos as $repo) {
$name = $repo["name"];
$desc = $repo["desc"];
- echo "<tr><td>$name</td><td>$desc</td>";
+ 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>";
}
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)){\r
+ return @unlink($fpath);\r
+ }\r
+ elseif(is_dir($fpath)){\r
+ $scan = glob(rtrim($fpath,'/').'/*');\r
+ foreach($scan as $index=>$path){\r
+ gwvpmini_RecursiveDelete($path);\r
+ }\r
+ return @rmdir($fpath);\r
+ }
+}
+
?>
\ No newline at end of file