Added user view page, updated repo view page, added ocmmit logs
[gwvp-mini.git] / gwvpmini / gwvpmini_view.php
1 <?php
2 global $HOME_PAGE_PROVIDERS;
3
4
5 $CALL_ME_FUNCTIONS["repoview"] = "gwvpmini_RepoViewCallMe";
6
7
8
9 function gwvpmini_RepoViewCallMe()
10 {
11         global $repo_view_call;
12         
13         error_log("in admin callme");\r
14         if(isset($_REQUEST["q"])) {\r
15                 $query = $_REQUEST["q"];\r
16                 $qspl = explode("/", $query);\r
17                 if(isset($qspl[0])) {\r
18                         if($qspl[0] == "view") {\r
19                                 if(isset($qspl[1])) {
20                                         $repo_view_call = $qspl[1];
21                                         return "gwvpmini_RepoViewPage";\r
22                                 } else return false;\r
23                         } else return false;\r
24                 }\r
25                 else return false;\r
26         }\r
27 \r
28         return false;\r
29         
30         
31 }
32
33 function gwvpmini_RepoViewPage()\r
34 {
35         global $repo_view_call, $MENU_ITEMS, $BASE_URL;\r
36         \r
37         $MENU_ITEMS["40thisrepo"]["text"] = "$repo_view_call";\r
38         $MENU_ITEMS["40thisrepo"]["link"] = "$BASE_URL/view/$repo_view_call";\r
39         \r
40         gwvpmini_goMainPage("gwvpmini_RepoViewPageBody");\r
41 }
42
43 function gwvpmini_RepoViewPageBody()
44 {
45         global $repo_view_call, $MENU_ITEMS, $BASE_URL;
46         
47         $repo_base = gwvpmini_getConfigVal("repodir");\r
48
49         if($_SERVER["SERVER_PORT"] == 443) $proto="https://";
50         else $proto = "http://";
51         $sname = $_SERVER["SERVER_NAME"];
52         
53         echo "<br><h2>$repo_view_call by owner</h2>";
54         echo "<b>Desc</b><br>";
55         echo "<textarea rows=1 cols=100>git clone $proto$sname$BASE_URL/git/$repo_view_call.git</textarea><br>";
56         //echo "command: git log --git-dir=$repo_base/$repo_view_call.git --pretty=format:\"%H\" -10";
57         $rs = popen("git --git-dir=$repo_base/$repo_view_call.git log --pretty=format:\"%H\" -10", "r");
58         $commitids = array();
59         $i = 0;
60         if($rs) {
61                 while(!feof($rs)) {
62                         $flin = fgets($rs);
63                         if($flin !== false) {
64                                 $commitids[$i] = trim($flin);
65                                 $i++;
66                         }
67                 }
68                 fclose($rs);
69         } else {
70                 echo "No commit logs yet<br>";
71                 $commitids = false;
72         }
73         
74         if($commitids != false) {
75                 echo "<hr>Commits<br>";
76                 echo "<table border=\"1\">";
77                 echo "<tr><th>Committed By</th><th>Date</th><th>Commit Log Entry</th></tr>";
78                 foreach($commitids as $ids) {
79                         $rs = popen("git --git-dir=$repo_base/$repo_view_call.git log --pretty=format:\"%at%n%ce%n%s\" $ids -1", "r");
80                         if($rs) {
81                                 $flin1 = trim(fgets($rs));
82                                 $flin2 = gwvpmini_emailToUserLink(trim(fgets($rs)));
83                                 while(!feof($rs)) {
84                                         $flin3 = fread($rs, 8192);
85                                 }
86                         }
87                         echo "<tr><td>$flin2</td><td>$flin1</td><td>$flin3</td></tr>";
88                 }
89                 echo "</table>";
90         }
91         
92 }
93 \r
94
95 ?>