From 79d83dff9e3a383f3f7e51fe6a8288e420d64625 Mon Sep 17 00:00:00 2001 From: rob Date: Mon, 20 Jan 2003 11:42:33 +0000 Subject: [PATCH] Initial revision. Object that represents folders_users_roles_link table in database --- lib/roles/RoleFolderLink.inc | 272 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 272 insertions(+), 0 deletions(-) create mode 100644 lib/roles/RoleFolderLink.inc diff --git a/lib/roles/RoleFolderLink.inc b/lib/roles/RoleFolderLink.inc new file mode 100644 index 0000000..8982efa --- /dev/null +++ b/lib/roles/RoleFolderLink.inc @@ -0,0 +1,272 @@ +iId = -1; + $this->iUserID = $iNewUserID; + $this->iFolderID = $iNewFolderID; + $this->iRoleTypeID = $iNewRoleTypeID; + //the date time is the time at which the task is finished, not the time + //at which the object is created + $this->dDateTime = null; + //task cannot be done yet + $this->bDone = false; + } + + /** + * Get the object's primary key + * + * @return int object's primary key + * + */ + function getID() { + return $this->iId; + } + + /** + * Get the primary key of the user to which the role is linked + * + * @return int primary key of user to which role is linked + * + */ + function getUserID() { + return $this->iUserID;; + } + + /** + * Set the primary key of the user to which the role is linked + * + * @param int Primary key of user to which role will be linked + * + */ + function setUserID($iNewValue) { + $this->iUserID = $iNewValue; + } + + /** + * Get the primary key of the folder to which the role is linked + * + * @return int primary key of folder to which role is linked + * + */ + function getFolderID() { + return $this->iFolderID; + } + + /** + * Set the primary key of the folder to which the role is linked + * + * @param int Primary key of folder to which role is linked + * + */ + function setFolderID($iNewValue) { + $this->iFolderID = $iNewValue; + } + + /** + * Get the primary key of the role type + * + * @return int primary key of role type + * + */ + function getRoleTypeID() { + return $this->iRoleTypeID; + } + + /** + * Set the primary key of the role type + * + * @param int Primary key of role type + * + */ + function setRoleTypeID($iNewValue) { + $this->iRoleTypeID = $iNewValue; + } + + /** + * Get the date at which the function for this role was performed + * + * @return date date at which the function for this role was performed + * + */ + function getDateTime() { + return $this->dDateTime; + } + + /** + * Set the date/time at which the function for this role was performed + * + * @param date/time Date/time at which the function for this role was performed + * + */ + function setDateTime($dNewValue) { + $this->dDateTine = $dNewValue; + } + + /** + * Get the done status of the role/folder/user link + * + * @return boolean done status of this role/folder/user link + * + */ + function getDone() { + return $this->bDone; + } + + /** + * Set the done status of this role/folder/user link + * + * @param boolean Done status of this role/folder/user link + * + */ + function setDone($bNewValue) { + $this->bDone = $bNewValue; + } + + /** + * Create the current object in the database + * + * @return boolean on successful store, false otherwise and set $_SESSION["errorMessage"] + * + */ + function create() { + global $default, $lang_err_database, $lang_err_object_exists; + //if the object hasn't been created + if ($this->iId < 0) { + $sql = new Owl_DB(); + $result = $sql->query("INSERT INTO " . $default->owl_folders_user_roles_table . " (user_id, folder_id, role_type_id, datetime, done) VALUES ($this->iUserID, $this->iFolderID, $this->iRoleTypeID, '$this->dDateTime', " . ($this->bDone ? 1 : 0) . ")"); + if ($result) { + $this->iId = $sql->insert_id(); + return true; + } + $_SESSION["errorMessage"] = $lang_err_database; + return false; + } + $_SESSION["errorMessage"] = $lang_err_object_exists . "id = " . $this->iId . " table = $default->owl_folder_user_roles_table"; + return false; + } + + /** + * Update the values in the database table with the object's current values + * + * @return boolean true on successful update, false otherwise and set $_SESSION["errorMessage"] + * + */ + function update() { + global $default, $lang_err_database, $lang_err_object_key; + //only update if the object has been stored + if ($this->iId > 0) { + $sql = new Owl_DB(); + $result = $sql->query("UPDATE " . $default->owl_folders_user_roles_table . " SET user_id = $this->iUserID, folder_id = $this->iFolderID, role_type_id = $this->iRoleTypeID, datetime = '$this->dDateTime', done = " . ($this->bDone ? 1 : 0) . " WHERE id = $this->iId"); + if ($result) { + return true; + } + $_SESSION["errorMessage"] = $lang_err_database; + return false; + } + $_SESSION["errorMessage"] = $lang_err_object_key; + return false; + } + + /** + * Delete the current object from the database + * + * @return boolean true on successful deletion, false otherwise and set $_SESSION["errorMessage"] + * + */ + function delete() { + global $default, $lang_err_database, $lang_err_object_key; + //only delete the object if it exists in the database + if ($this->iId >= 0) { + $sql = new Owl_DB(); + $result = $sql->query("DELETE FROM $default->owl_folders_user_roles_table WHERE id = $this->iId"); + if ($result) { + return true; + } + $_SESSION["errorMessage"] = $lang_err_database; + return false; + } + $_SESSION["errorMessage"] = $lang_err_object_key; + return false; + } + + /** + * Static function. + * Given a folders_users_roles_link primary key it will create a + * RolesFoldersLink object and populate it with the + * corresponding database values + * + * @return RolesFoldersLink populated RolesFoldersLink object on successful query, false otherwise and set $_SESSION["errorMessage"] + */ + function & get($iRolesFoldersID) { + global $default; + $sql = new Owl_DB(); + $result = $sql->query("SELECT * FROM $default->owl_folders_user_roles_table WHERE id = $iRolesFoldersID"); + if ($result) { + if ($sql->next_record()) { + $oRolesFoldersLink = & new RoleFolderLink($sql->f("user_id"), $sql->f("folder_id"), $sql->f("role_type_id"), $sql->f("datetime"), $sql->f("done")); + $oRolesFoldersLink->iId = $iRolesFoldersID; + return $oRolesFoldersLink; + } + $_SESSION["errorMessage"] = $lang_err_object_not_exist . "id = " . $iRolesFoldersID . " table = $default->owl_folders_user_roles_table"; + return false; + } + $_SESSION["errorMessage"] = $lang_err_database; + return false; + } + +/** + * Static function + * Get a list of web documents + * + * @param String Where clause (not required) + * + * @return Array array of RolesFoldersLink objects, false otherwise and set $_SESSION["errorMessage"] + */ + function getList($sWhereClause = null) { + global $default, $lang_err_database; + $aRolesFoldersLinkArray; + settype($aRolesFoldersLinkArray, "array"); + $sql = new Owl_DB(); + $result = $sql->query("SELECT * FROM " . $default->owl_folders_user_roles_table . (isset($sWhereClause) ? " " . $sWhereClause : "")); + if ($result) { + $iCount = 0; + while ($sql->next_record()) { + $oRolesFoldersLink = & RoleFolderLink::get($sql->f("id")); + $aRolesFoldersLinkArray[$iCount] = $oRolesFoldersLink; + $iCount++; + } + return $aRolesFoldersLinkArray; + } + $_SESSION["errorMessage"] = $lang_err_database; + return false; + } + +} +?> -- libgit2 0.21.4