\r
}
+function gwvpmini_GetActivityLog($nentries = 20, $forid=-1)
+{
+ /*
+ * "activity_id" INTEGER PRIMARY KEY AUTOINCREMENT,
+ "activity_type" TEXT,
+ "activity_date" TEXT,
+ "activity_user" TEXT,
+ "activity_repo" TEXT,
+ "activity_commitid" TEXT,
+ "activity_commitlog" TEXT,
+ "activity_visibleto" TEXT
+
+ */
+ $conn = gwvpmini_ConnectDB();\r
+
+ if($forid == -1) {
+ // we're searching for anonymous ones
+ $sql = "select * from activity where activity_visibleto='a' order by activity_date desc limit $nentries";
+ } else {
+ $sql = "select * from activity where activity_visibleto='a' or activity_visibleto='r' or activity_visibleto like '%:$forid:%' order by activity_date desc limit $nentries";
+ }
+
+ $vls = $conn->query($sql);
+
+ $nent = 0;
+ $ret = array();
+ if($vls !== false) foreach($vls 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["activity_commitlog"];
+ $nent++;
+ }
+
+ if($nent == 0) return false;
+ else return $ret;
+}
+// TODO: deal with multiple repos from one ownerid
function gwvpmini_getRepo($ownerid=null, $name=null, $id=null)\r
{\r
$conn = gwvpmini_ConnectDB();
\r
$permsarray = unserialize(base64_decode($cperms_t));
- // error_log("PERMSARRAY: ".print_r($permsarray,true));
+ error_log("PERMSARRAY: with call for $rid and user $uid ".print_r($permsarray,true));
+
$perm = 0;
\r
return $conn->query($sql);\r
}\r
+
+function gwvpmini_SetRepoCloning($rid)\r
+{\r
+ $conn = gwvpmini_ConnectDB();\r
+\r
+ if($rid < 0) return;\r
+\r
+ $sql = "update repos set repos_status=2 where repos_id='$rid'";\r
+\r
+ return $conn->query($sql);\r
+}\r
\r
function gwvpmini_DisableRepo($rid)
{
return $retval;
}\r
-function gwvpmini_GetActivityLog($nentries = 100)
-{
- $conn = gwvpmini_ConnectDB();\r
-
- $sql = "select * from activity order by activity_date desc limit 100";
-
- $res = $conn->query($sql);
-
- $logs = null;
- $i = 0;
- foreach($res as $row) {
- $logs[$i]["type"] = $row["activity_type"];
- $logs[$i]["date"] = $row["activity_date"];
- $logs[$i]["userid"] = $row["activity_user"];
- $logs[$i]["repoid"] = $row["activity_repo"];
- $logs[$i]["commitid"] = $row["activity_commitid"];
- $logs[$i]["commitlog"] = $row["activity_commitlog"];
- $logs[$i]["visibleto"] = $row["activity_visibleto"];
- $i++;
- }
-
- return $logs;
-}
-
-function gwvpmini_AddActivityLog($type, $userid, $repoid, $commitid, $commitlog)
+function gwvpmini_AddActivityLog($type, $userid, $repoid, $commitid, $commitlog, $visibleto="a")
{
/*
* CREATE TABLE "activity" (
$conn = gwvpmini_ConnectDB();
// TODO: implement visibility
- $visibleto = "a";\r
+ //$visibleto = "a";\r
\r
$sql = "insert into 'activity' values ( null, '$type', '".time()."', '$userid', '$repoid', '$commitid', '$commitlog', '$visibleto')";
"repos_owner" INTEGER,
"repos_perms" TEXT,
"repos_status" TEXT,
+ "repos_origin" TEXT,
UNIQUE(repos_name)\r
- )';\r
+ )';
+
+ $msgsql = '
+ CREATE TABLE "messages" (
+ "msgs_id" INTEGER PRIMARY KEY AUTOINCREMENT,
+ "msgs_type" TEXT,
+ "msgs_data" TEXT,
+ "msgs_to_id" TEXT
+ )';
+ \r
\r
// this looks like null, <repoid>, <read|visible|write>, user:<uid>|group:<gid>|authed|anon\r
// where authed = any authenticated user, anon = everyone (logged in, not logged in, etc)\r
$DB_CONNECTION->query($initialuser_user);
$DB_CONNECTION->query($reposql);\r
$DB_CONNECTION->query($configsql);
- $DB_CONNECTION->query($activitysql);\r
+ $DB_CONNECTION->query($activitysql);
+ $DB_CONNECTION->query($msgsql);\r
}
function gwvpmini_getConfigVal($confname)\r
\r
return $retval;\r
}
+
+function gwvpmini_SendMessageByDb($type, $data, $forid)
+{
+ $conn = gwvpmini_ConnectDB();
+
+ $sql = "insert into messages values (null, '$type', '$data', '$forid')";
+
+ return $conn->query($sql);
+}
+
+function gwvpmini_GetMessagesForId($uid)
+{
+ /*
+ * $msgsql = '
+ CREATE TABLE "messages" (
+ "msgs_id" INTEGER PRIMARY KEY AUTOINCREMENT,
+ "msgs_type" TEXT,
+ "msgs_data" TEXT,
+ "msgs_to_id" TEXT,
+ )';
+
+ */
+ $conn = gwvpmini_ConnectDB();\r
+ \r
+ $sql = "select * from messages where msgs_to_id='$uid'";\r
+ // error_log("desc for name sql: $sql");\r
+ \r
+ $res = $conn->query($sql);
+
+ error_log("request message for uid, $uid with sql $sql");\r
+
+ $i = 0;\r
+ if(!$res) return 0;
+ foreach($res as $row) {
+ $retval[$i]["id"] = $row["msgs_id"];
+ $retval[$i]["type"] = $row["msgs_type"];
+ $retval[$i]["data"] = $row["msgs_data"];
+ $i++;\r
+ }
+
+ if($i == 0) return 0;
+ else return $retval;\r
+
+}
+
+function gwvpmini_DeleteMessagesById($mid)
+{
+ $conn = gwvpmini_ConnectDB();\r
+ \r
+ $sql = "delete from messages where msgs_id='$mid'";
+
+ return $conn->query($sql);
+}
\r
function gwvpmini_GetRepoOwnerDetailsFromName($reponame)\r
{\r
return $conn->query($sql);\r
}
-function gwvpmini_AddRepo($name, $desc, $ownerid)
+function gwvpmini_AddRepo($name, $desc, $ownerid, $defperms, $clonefrom)
{
// error_log("addrepo in db for $name, $desc, $ownerid");
$conn = gwvpmini_ConnectDB();\r
- $perms["b"] = "a";
+ $perms["b"] = $defperms;
$encperms = base64_encode(serialize($perms));
+
+ if($clonefrom === false) $clonefrom = "";
\r
- $sql = "insert into repos values (null, '$name', '$desc', '$ownerid', '$encperms', 0)";\r
+ $sql = "insert into repos values (null, '$name', '$desc', '$ownerid', '$encperms', 0, '$clonefrom')";\r
\r
$conn->query($sql);\r
}
// error_log(print_r($row, true));
}
- // error_log(print_r($retval, true));\r
+ error_log(print_r($retval, true));\r
return $retval;\r
}