, Jam Warehouse (Pty) Ltd, South Africa * @package lib.groups */ class GroupFolderLink extends KTEntity { /** primary key of current object */ var $iId; /** primary key of folder */ var $iFolderID; /** primary key of group from which user can be assigned */ var $iGroupID; /** read access */ var $bCanRead; /** write access */ var $bCanWrite; function GroupFolderLink($iNewFolderID, $iNewGroupID, $iNewCanRead, $iNewCanWrite) { //object not created in database yet $this->iId = -1; $this->iFolderID = $iNewFolderID; $this->iGroupID = $iNewGroupID; $this->bCanRead = $iNewCanRead; $this->bCanWrite = $iNewCanWrite; } function getID() { return $this->iId; } function getFolderID() { return $this->iFolderID; } function setFolderID($iNewValue) { $this->iFolderID = $iNewValue; } function getGroupID() { return $this->iGroupID; } function setGroupID($iNewValue) { $this->iGroupID = $iNewValue; } function getCanRead() { return $this->bCanRead; } function setCanRead($bNewValue) { $this->bCanRead = $bNewValue; } function getCanWrite() { return $this->bCanWrite; } function setCanWrite($iNewValue) { $this->bCanWrite = $iNewValue; } function _fieldValues () { return array( 'folder_id' => $this->iFolderID, 'group_id' => $this->iGroupID, 'can_read' => $this->bCanRead, 'can_write' => $this->bCanWrite, ); } function _table () { global $default; return $default->groups_folders_table; } /** * Whether the folder permission exists in the database */ function exists() { global $default; $sql = $default->db; if ($sql->query("SELECT count(*) AS count FROM $default->groups_folders_table WHERE folder_id = $this->iFolderID AND group_id = $this->iGroupID")) { $sql->next_record(); return ($sql->f("count") > 0) ? true : false; } else { $_SESSION["errorMessage"] = $lang_err_database; return false; } } /** * Static function. * Given a primary key it will create a FolderAccess object and populate it with the * corresponding database values * * @return FolderAccess populated FolderAccess object on successful query, false otherwise and set $_SESSION["errorMessage"] */ function & get($iGroupFolderID) { global $default; $sql = $default->db; $result = $sql->query("SELECT * FROM $default->groups_folders_table WHERE id = $iGroupFolderID"); if ($result) { if ($sql->next_record()) { $oGroupFolderLink = & new GroupFolderLink($sql->f("folder_id"), $sql->f("group_id"), $sql->f("can_read"), $sql->f("can_write")); $oGroupFolderLink->iId = $iGroupFolderID; return $oGroupFolderLink; } $_SESSION["errorMessage"] = $lang_err_object_not_exist . "id = " . $iFolderAccessID . " table = $default->groups_folders_table"; return false; } $_SESSION["errorMessage"] = $lang_err_database; return false; } /** * Static function * Get a list of folder collaborations * * @param String Where clause (not required) * * @return Array array of FolderCollaboration objects, false otherwise and set $_SESSION["errorMessage"] */ function getList($sWhereClause = null) { global $default, $lang_err_database; $oGroupFolderLinkArray = array(); $sql = $default->db; $result = $sql->query("SELECT * FROM " . $default->groups_folders_table . (isset($sWhereClause) ? " " . $sWhereClause : "")); if ($result) { while ($sql->next_record()) { $oGroupFolderLinkArray[] = & GroupFolderLink::get($sql->f("id")); } return $oGroupFolderLinkArray; } $_SESSION["errorMessage"] = $lang_err_database; return false; } } ?>