$DB_CONNECTION->query($usersql);
$DB_CONNECTION->query($groupsql);
$DB_CONNECTION->query($reposql);
+ $DB_CONNECTION->query($repoperms);
$DB_CONNECTION->query($configsql);
$DB_CONNECTION->query($groupmemsql);
}
$conn = gwvp_ConnectDB();
- $sql = "select * from config where config_name='$confname'";
+ $sql = "select config_value from config where config_name='$confname'";
$res = $conn->query($sql);
$return = null;
foreach($res as $val) {
- $return = $val;
+ $return = $val["config_value"];
}
+ return $return;
}
function gwvp_eraseConfigVal($confname)
function gwvp_isDBSetup()
{
// for sqlite, we just check if the db exists, for everyone else, we check for a conneciton and go yay or nay
- global $WEB_ROOT_FS, $BASE_URL, $repo_base, $data_directory, $db_type, $db_url;
+ global $WEB_ROOT_FS, $BASE_URL, $data_directory, $db_type, $db_url;
if($db_type == "sqlite") {
if(file_exists($db_url)) return true;
function gwvp_ConnectDB()
{
- global $WEB_ROOT_FS, $BASE_URL, $repo_base, $data_directory, $db_type, $db_name, $DB_CONNECTION;
+ global $WEB_ROOT_FS, $BASE_URL, $data_directory, $db_type, $db_name, $DB_CONNECTION;
// first check if $DB_CONNECTION IS live
if($DB_CONNECTION != false) return $DB_CONNECTION;
$conn->query($sql);
-
+
+ // add the owner to the group
+ $gid = gwvp_getGroupId($group_name);
+
+
+ error_log("calling addgroupmember with $owner_id, $gid");
+ gwvp_addGroupMemberById($owner_id, $gid);
+
+ return true;
}
function gwvp_deleteGroup($groupname)
if($uid!=false&&$gid!=false) gwvp_addGroupMemberByID($uid, $gid);
else return false;
- $conn->query($sql);
-
return true;
}
+function gwvp_IsGroupMemberById($uid, $gid)
+{
+ $conn = gwvp_ConnectDB();
+
+ $sql = "select count(*) from group_membership where groupmember_userid='$uid' and groupmember_groupid='$gid'";
+
+ $res = $conn->query($sql);
+ $result = 0;
+ foreach($res as $u_res) {
+ $result = $u_res[0];
+ }
+
+ if($result == 0) return false;
+ if($result == 1) return true;
+}
+
function gwvp_IsGroupMember($email, $groupname)
{
$conn = gwvp_ConnectDB();
if($result == 1) return true;
}
+function gwvp_IsGroupAdmin($groupname = null, $gid = null)
+{
+ $conn = gwvp_ConnectDB();
+
+ if($groupname != null) {
+ $sql = "select groups_is_admin from groups where groups_name='$groupname'";
+ } else if($gid != null) {
+ $sql = "select groups_is_admin from groups where groups_id='$gid'";
+ } else return false;
+
+ $res = $conn->query($sql);
+
+ $return = false;
+ foreach($res as $u_res) {
+ if($u_res["groups_is_admin"] == "1") $return = true;
+ }
+
+ return $return;
+}
+
+function gwvp_IsRepoOwner($userid, $repoid)
+{
+ $conn = gwvp_ConnectDB();
+
+ $sql = "select repos_owner from repos where repos_id='$repoid'";
+
+ $res = $conn->query($sql);
+
+ $return = false;
+ foreach($res as $u_res) {
+ $return["owner"] = $u_res["repos_owner"];
+ }
+
+ if($return == false) return false;
+ if($return["owner"] == $userid) return true;
+ else return false;
+
+
+}
+
function gwvp_IsUserAdmin($email=null, $username = null, $userid = null)
{
$conn = gwvp_ConnectDB();
return true;
}
+function gwvp_GetRepoId($reponame)
+{
+ $conn = gwvp_ConnectDB();
+
+ $sql = "select repos_id from repos where repos_name='$reponame'";
+
+ $res = $conn->query($sql);
+
+ $return = false;
+ foreach($res as $u_res) {
+ $return = $u_res["repos_id"];
+ }
+
+ return $return;
+
+}
+
+function gwvp_GetRepo($rid)
+{
+ $conn = gwvp_ConnectDB();
+
+ $sql = "select * from repos where repos_id='$rid'";
+
+ $res = $conn->query($sql);
+
+ $return = false;
+ foreach($res as $u_res) {
+ $return["id"] = $u_res["repos_id"];
+ $return["name"] = $u_res["repos_name"];
+ $return["description"] = $u_res["repos_description"];
+ $return["owner"] = $u_res["repos_owner"];
+ }
+
+ return $return;
+}
+
function gwvp_GetRepoList()
{
$conn = gwvp_ConnectDB();
$returns = false;
$rn = 0;
foreach($res as $perm) {
- $returns[$rn]["permid"] = $perm["repoperms_id"];
+ $returns[$rn]["id"] = $perm["repoperms_id"];
$returns[$rn]["type"] = $perm["repoperms_type"];
$returns[$rn]["ref"] = $perm["repoperms_ref"];
$rn++;
return $returns;
}
+function gwvp_removeRepoPermission($permid)
+{
+ $conn = gwvp_ConnectDB();
+
+ $sql = "delete from repoperms where repoperms_id='$permid'";
+ error_log("attempting: \"$sql\"");
+
+ return $conn->query($sql);
+}
+
function gwvp_addRepoPermission($repoid, $permtype, $permref)
{
$conn = gwvp_ConnectDB();
+ error_log("PERMS: $repoid, $permtype, $permref");
$sql = "insert into repoperms values(null, '$repoid', '$permtype', '$permref')";
return $conn->query($sql);