From 5a6d47bd4e3fc791f6e96965f574ff26ff4623bd Mon Sep 17 00:00:00 2001 From: Michael Joseph Date: Thu, 9 Jan 2003 13:01:43 +0000 Subject: [PATCH] initial revision --- lib/administration/UnitManager.inc | 232 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 232 insertions(+), 0 deletions(-) create mode 100644 lib/administration/UnitManager.inc diff --git a/lib/administration/UnitManager.inc b/lib/administration/UnitManager.inc new file mode 100644 index 0000000..18d44c2 --- /dev/null +++ b/lib/administration/UnitManager.inc @@ -0,0 +1,232 @@ +owl_fs_root/lib/class.AuthLdap.php"); + +/** + * $Id$ + * + * Performs unit administration tasks- this includes user, group and category management, + * + * @version $Revision$ + * @author ldapServer; + $ldap->server = $server; + $ldap->dn = $default->ldapRootDn; + + if ( $ldap->connect()) { + // search for the users + // append and prepend wildcards + $userArray = $ldap->getUsers("*" . $userNameSearch . "*", $attributes); + if ($userArray) { + // return the array + return $userArray; + } else { + // the search failed, bail + return false; + } + } else { + // ldap connection failed, bail + // TODO: error handling + return false; + /* + echo "There was a problem.
"; + echo "Error code : " . $ldap->ldapErrorCode . "
"; + echo "Error text : " . $ldap->ldapErrorText . "
"; + */ + } + } + + /** + * Adds a user to the unit. + * + * @param unitID + * the ID of the unit to add the user to + * @param userDetails + * an array containing the details of the user + * @return + * true if the addition was successful, else false. + */ + function addUser($unitID, $userDetails) { + global $default; + + $sql = new Owl_DB; + + // TODO: userDetails validation + + // check that the username is unique + $query = "select username from $default->owl_users_table where username = '" . $userDetails['username'] . "'"; + $sql->query($query); + $numrows = $sql->num_rows($sql); + + if ($numrows > 0) { + // duplicate username + $default->errorMessage = "The username " . $userDetails['username'] . " is already in use, please choose another one"; + return false; + } + // insert the user + $query = "insert into $default->owl_users_table (username, name, password, email, mobile, ldap_dn) " . + "values ( '" . $userDetails['username'] . "', " . + "'" . $userDetails['name'] . "', " . + "'', " . + "'" . $userDetails['email'] . "', " . + "'" . $userDetails['mobile'] . "', " . + "'" . $userDetails['ldap_dn'] . "')"; + $result = $sql->query($query); + if(!'result') { + return false; + } else { + echo "insert into user table worked!
"; + } + + // TODO: must check that username is unique! + // retrieve the generated id for insert into the user unit mapping table + $query = "select * from $default->owl_users_table where username = '" . $userDetails['username'] . "'"; + $sql->query($query); + $numrows = $sql->num_rows($sql); + + if ($numrows == "1") { + while($sql->next_record()) { + $userID = $sql->f("id"); + echo "read userID=$userID from db
"; + } + } else { + // select failed, bail + // FIXME: need a rollback here + echo "id select failed
"; + return false; + } + + // now insert into the user-unit mapping table + $query = "insert into $default->owl_user_unit_table (user_id, unit_id) values ($userID, $unitID)"; + $result = $sql->query($query); + if (!'result') { + // FIXME: rollback! + echo "insert into user-unit table failed
"; + return false; + } else { + echo "insert into user-unit table worked!
"; + } + + return true; + } + + /** + * @param unitID + * @param userID + */ + function removeUser($unitID, $userID){ + return false; + } + + /** + * @param userID + * @param userDetails + */ + function updateUser($userID, $userDetails){ + return false; + } + + function listUser(){ + //return null; + } + + // group management + + /** + * @param name + */ + function createGroup($name){ + return false; + } + + /** + * @param groupID + */ + function removeGroup($groupID){ + return false; + } + + /** + * @param groupID + * @param name + */ + function updateGroup($groupID, $name){ + return false; + } + + function listGroup(){ + //return null; + } + + /** + * @param groupID + * @param userID + */ + function addUserToGroup($groupID, $userID){ + return false; + } + + /** + * @param groupID + * @param userID + */ + function removeUserFromGroup($groupID, $userID){ + return false; + } + + // category management + + /** + * @param name + */ + function createCategory($name){ + return false; + } + + /** + * @param categoryID + */ + function removeCategory($categoryID){ + return false; + } + + /** + * @param name + * @param categoryID + */ + function updateCategory($name, $categoryID){ + return false; + } + + function listCategories(){ + //return null; + } + +} +?> -- libgit2 0.21.4