<?php
+global $HOME_PAGE_PROVIDERS;\r
+\r
+\r
+$HOME_PAGE_PROVIDERS["10activity"] = "gwvpmini_HomePageActivityLog";\r
if($IS_WEB_REQUEST) {
$activityloglength = true;\r
} else {\r
$activityloglength = false;\r
- }\r
+ }
+
+ global $activity_log_length;\r
} \r
// this will add a repo activity (a commit for eg)
// and auto populate the field in the activity
// log
-function gwvpmini_AddActivityForRepo($desc, $userbyid)
+function gwvpmini_AddCommitActivityForRepo($reponame, $byusername, $commitid, $desc, $branch)
{
+ // gwvpmini_AddActivityLog($type, $userid, $repoid, $commitid, $commitlog, $visibleto="a")
+ $rid = gwvpmini_GetRepoId($reponame);
+ $uid = gwvpmini_GetUserId($byusername);
+
+ if($rid < 1 || $uid < 1) return false;
+
+ $vis = gwvpmini_GetVisibilityForRepo($rid);
+ gwvpmini_AddActivityLog("commit", $uid, $rid, "$branch:$commitid", $desc, $vis);
+}
+
+function gwvpmini_AddRefActivityForRepo($reponame, $byusername, $branchname, $acttype="branch")
+{
+ $rid = gwvpmini_GetRepoId($reponame);\r
+ $uid = gwvpmini_GetUserId($byusername);\r
+ \r
+ if($rid < 1 || $uid < 1) return false;
+
+ $vis = gwvpmini_GetVisibilityForRepo($rid);
+ \r
+ gwvpmini_AddActivityLog("refs", $uid, $rid, "$acttype:$branchname", "", $vis);
+}
+
+function gwvpmini_GetVisibilityForRepo($repoid)
+{
+ $perms = gwvpmini_GetRepoPerms($repoid);
+ $dets = gwvpmini_getRepo($repoid);
+ $oid = $dets["ownerid"];
+
+ if($perms["b"] == "a") return "a";
+ if($perms["b"] == "r") return "r";
+
+ $st = ":$oid:";
+ foreach($perms as $key => $val) {
+ if($key!="b") $st .= "$key:";
+ }
+ return $st;
}
// gets the activity log as it would be viewed by
// the user id of "$forid"
-function gwvpmini_GetActivityLogFor($forid)
+function gwvpmini_HomePageActivityLog()
+{
+ global $BASE_URL;
+
+ $id = $_SESSION["id"];
+
+ if($id < 0) {
+ $ents = gwvpmini_GetActivityLog();
+ } else {
+ $ents = gwvpmini_GetActivityLog(20, $id);
+ }
+
+ echo "<h2>News</h2>";
+ echo "<table border=\"1\">";
+ foreach($ents as $vals) {
+ /*
+ * $ret[$nent]["type"] = $vals["activity_type"];
+ $ret[$nent]["date"] = $vals["activity_date"];
+ $ret[$nent]["userid"] = $vals["activity_user"];
+ $ret[$nent]["repoid"] = $vals["activity_repo"];
+ $ret[$nent]["commitid"] = $vals["activity_commitid"];
+ $ret[$nent]["commitlog"] = $vals["activitiy_commitlog"];
+
+ */
+ $type = $vals["type"];
+ //$rest = $vals["date"].", ".$vals["userid"].", ".$vals["repoid"].", ".$vals["commitid"].", ".$vals["commitlog"];
+
+ if($vals["type"] == "commit") {
+ $udets = gwvpmini_getUser(null, null, $vals["userid"]);
+ $rdets = gwvpmini_getRepo(null, null, $vals["repoid"]);
+ $reponame = $rdets["name"];
+ $uname = $udets["username"];
+ $fname = $udets["fullname"];
+ $br_spl = explode(":", $vals["commitid"]);
+ $branch = $br_spl[0];
+ $cid = $br_spl[1];
+ $compressedcid = gwvpmini_CompressCommitId($cid);
+ $log = $vals["commitlog"];
+ $tdiff = gwvpmini_TimeDiffText($vals["date"]);
+ $col1 = "<font size=\"+1\"><a href=\"$BASE_URL/view/$reponame\">$reponame</a></font><br>".gwvpmini_HtmlGravatar($udets["email"], 30, "<br>")."<a href=\"$BASE_URL/user/$uname\">$uname</a>";
+ $col2 = $tdiff."<br>Commited change <b>$compressedcid</b><br><table border=\"1\"><tr><td bgcolor=\"#eeeeee\"><pre>$log</pre></td></tr></table><br>";
+ } else if($vals["type"] == "refs") {
+ $udets = gwvpmini_getUser(null, null, $vals["userid"]);\r
+ $rdets = gwvpmini_getRepo(null, null, $vals["repoid"]);\r
+ $reponame = $rdets["name"];\r
+ $uname = $udets["username"];\r
+ $fname = $udets["fullname"];
+ $tdiff = gwvpmini_TimeDiffText($vals["date"]);
+ $tp_spl = explode(":", $vals["commitid"]);
+ $col1 = "<font size=\"+1\"><a href=\"$BASE_URL/view/$reponame\">$reponame</a></font><br>".gwvpmini_HtmlGravatar($udets["email"], 30, "<br>")."<a href=\"$BASE_URL/user/$uname\">$uname</a>";
+ if($tp_spl[0] == "tagcreate") {
+ $colapp = "$tdiff<br>Created Tag <b>".$tp_spl[1]."</b>";
+ } else if($tp_spl[0] == "branchcreate") {
+ $colapp = "$tdiff<br>Created Branch <b>".$tp_spl[1]."</b>";
+ } else {
+ $colapp = "$tdiff<br>Performed some unknown action.";
+ }
+ $col2 = $colapp;
+
+ }
+
+ echo "<tr><td>$col1</td><td>$col2</td></tr>";
+ }
+ echo "</table>";
+}
+
+function gwvpmini_TimeDiffText($time)
{
+ $tdiff = time() - $time;
+ if($tdiff < 10) return "Now";
+ if($tdiff < 60) return "$tdiff Seconds Ago";
+ if($tdiff < 3600) return "".(int)($tdiff/60)." Minutes Ago";
+ if($tdiff < 86400) return "".(int)($tdiff/3600)." Hours Ago";
+ return "".(int)($tdiff/86400)." Days Ago";
}
?>
\ No newline at end of file