owl_groups_table WHERE name = '" . $name . "'"; $sql->query($query); $rows = $sql->num_rows($sql); if ($rows > 0) { // duplicate username $default->errorMessage = "GroupManager::The Group name " . $name . " is already in use, please choose another one"; $default->log->debug($default->errorMessage); return false; } // insert the user $query = "INSERT INTO $default->owl_groups_table (name) VALUES ('" . $name . "')"; $result = $sql->query($query); if(!'result') { $default->log->debug( "GroupManager::New Group Addition Unsuccessful!
"); return false; } else { $default->log->debug ("GroupManager::New Group added Successfully!
"); return true; } } /** * Removes a group from the groups table as well as from the groups_units_link table * * @param groupID * The id of the group to be deleted * @return boolean * True if the deletion was successful, else false if not or nonexistant. */ function removeGroup($groupID) { global $default; // create a connection $sql = new Owl_DB; //do validation that userid exists $query = "SELECT * FROM $default->owl_groups_table WHERE id = '" . $groupID ."'"; $result = $sql->query($query); $row = $sql->num_rows($result); // check if result was found..0 if not if($row == 0) { $default->log->debug("GroupManager::Group does not exist in the database
"); return false; } //if user id exists delete it from the users table $query = "DELETE FROM $default->owl_groups_table WHERE id = $groupID"; $result = $sql->query($query); if(!'result') { $default->log->debug("GroupManager::Deletion unsuccessful
"); return false; } else { $default->log->debug ("GroupManager::Deletion from user table Successful
"); //check if belongs to group $result= $this->removeGroupFromUnit($groupID); return true; } } /** * Updates groups details ..ie rename the group * * @param groupID * the group which is to be renamed * @param name * new name of the group * @return boolean * true if the addition was successful, else false. */ function updateGroup($groupID, $name) { global $default; // create a connection $sql = new Owl_DB; //do validation that userid exists $query = "SELECT * FROM $default->owl_groups_table WHERE id = $groupID"; $result = $sql->query($query); $row = $sql->num_rows($result); //if row = 0 ...then no entry was found..so return false if($row == 0) { $default->log->debug("GroupManager::Group does not exist in the database
"); return false; } //if user id exists update all info into the users table $query = "UPDATE $default->owl_groups_table SET name = '" . $name . "' WHERE id = $groupID " ; $result = $sql->query($query); // error checking to see if success if(!'result') { $default->log->debug("GroupManager::Not Updated"); return false; } else { $default->log->debug("GroupManager::Update Successful
"); return true; } } /** * Returns an array of all the groups * * @return array * An array of groups */ function listGroups() { global $default; $groups = array (); $i = 0; // create a connection $sql = new Owl_DB; //Get list of all the usernames $query = "SELECT name FROM $default->owl_groups_table"; $result = $sql->query($query); $row = $sql->num_rows($result); //error checking if($row == 0) { $default->log->debug("GroupManager::No users in table"); return false; } //store in array while($sql->next_record()) { $groups["$i"] = array("name" => $sql->f("name")); $i++; } //return an array of the groups return $groups; } /** * * Adds a group to a unit NB: Group belongs to 1 unit only * * @param groupID * The ID of the group to add the user to * @param unitID * The Id of the unit to add to * @return boolean * True if the addition was successful, else false if not or nonexistant. */ function addGroupToUnit($groupID,$unitID) { global $default; // create a connection $sql = new Owl_DB; //do validation that groupid exists $query = "SELECT * FROM $default->owl_groups_units_table WHERE group_id = $groupID"; $result = $sql->query($query); $row = $sql->num_rows($result); // if it does exist return false..already there if($row >= 1) { $default->log->debug("GroupManager::Group already belongs to a unit
"); return false; } //add user to the table $query = "INSERT INTO $default->owl_groups_units_table (group_id,unit_id) VALUES($groupID,$unitID)"; $result = $sql->query($query); if(!'result') { $default->log->debug("GroupManager::Insertion into groups_units table unsuccessful
"); return false; } else { $default->log->debug("GroupManager::Insertion into groups_units table Successful
"); return true; } } /** * Removes a group from a unit NB: Group can only belong to 1 unit * * @param groupID * The ID of the group be removed from a unit * @return boolean * True if the deletion was successful, else false if not or nonexistant. */ function removeGroupFromUnit($groupID) { global $default; // create a connection $sql = new Owl_DB; //do validation that groupid exists $query = "SELECT * FROM $default->owl_groups_units_table WHERE group_id = $groupID"; $result = $sql->query($query); $row = $sql->num_rows($result); // check if result was found..0 if not if($row == 0) { $default->log->debug("GroupManager::Group does not exist in the database
"); return false; } //if group id exists delete it from the users table $query = "DELETE FROM $default->owl_groups_units_table WHERE group_id = $groupID"; $result = $sql->query($query); if(!'result') { $default->log->debug ("GroupManager::Deletion unsuccessful
"); return false; } else { $default->log->debug("GroupManager::Deletion from user_group_link table Successful
"); return true; } } /* * * gets the id of a group using its name * * @param $groupName * The GroupName for which we want its ID * @return Integer * The groupname's Id */ function getGroupID($groupName) { global $default; $id = lookupID($default->owl_groups_table, "name", $groupName); return $id; } /* * Function getGroupName($groupID) * * gets the id of a user using their username * * @param $username * The username for which we want its ID * @return char * name of group */ function getGroupName($groupID) { global $default; //call lookup function $name = lookupField($default->owl_groups_table, "name" , "id", $groupID); return $name; } /* * * Gets the unit that the group belongs to * * @param $groupID * The ID of the group * @return Array * array of unitID and name of the unit */ function getUnit($groupID) { global $default; $unitinfo = array(); // call lookup functions $unitID = lookupField($default->owl_groups_units_table, "unit_id" , "group_id", $groupID); $unitName = lookupField($default->owl_units_table, "name" , "id", $unitID); $unitinfo[1] = array("id" => $unitID, "name" => $unitName); // return an array return $unitinfo; } /* * * gets the org details of the org a unit belongs to TODO: move into System/Or Management * * @param orgID * The id of the org who's name we want based on the unit who belongs to it * @return array * if and name of org */ function getOrg($unitID) { global $default; $orginfo = array(); // call lookup functions $orgID = lookupField($default->owl_units_table, "organisation_id" , "id", $unitID); $orgName = lookupField($default->owl_organisations_table, "name" , "id", $orgID); $orginfo[1] = array("id" => $orgID, "name" => $orgName); // return an array return $orginfo; } } ?>