2010-11-24 15:43:08 +00:00
< ? php
// MyDMS. Document Management System
// Copyright (C) 2002-2005 Markus Westphal
// Copyright (C) 2006-2008 Malcolm Cowe
// Copyright (C) 2010 Uwe Steinmann
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
/********************************************************************** \
| User - Klasse |
\ **********************************************************************/
2010-11-15 12:01:21 +00:00
class LetoDMS_User {
2010-11-24 15:43:08 +00:00
var $_id ;
var $_login ;
var $_pwd ;
var $_fullName ;
var $_email ;
var $_language ;
var $_theme ;
var $_comment ;
var $_isAdmin ;
var $_isHidden ;
var $_dms ;
function LetoDMS_User ( $id , $login , $pwd , $fullName , $email , $language , $theme , $comment , $isAdmin , $isHidden = 0 ) {
$this -> _id = $id ;
$this -> _login = $login ;
$this -> _pwd = $pwd ;
$this -> _fullName = $fullName ;
$this -> _email = $email ;
$this -> _language = $language ;
$this -> _theme = $theme ;
$this -> _comment = $comment ;
2010-10-29 13:19:51 +00:00
$this -> _isAdmin = $isAdmin ;
2010-11-24 15:43:08 +00:00
$this -> _isHidden = $isHidden ;
$this -> _dms = null ;
}
2010-10-29 13:19:51 +00:00
2010-11-15 21:08:07 +00:00
function setDMS ( $dms ) {
$this -> _dms = $dms ;
}
2010-11-24 15:43:08 +00:00
function getID () { return $this -> _id ; }
function getLogin () { return $this -> _login ; }
function setLogin ( $newLogin ) { /* {{{ */
$db = $this -> _dms -> getDB ();
$queryStr = " UPDATE tblUsers SET login =' " . $newLogin . " ' WHERE id = " . $this -> _id ;
$res = $db -> getResult ( $queryStr );
if ( ! $res )
return false ;
$this -> _login = $newLogin ;
return true ;
} /* }}} */
function getFullName () { return $this -> _fullName ; }
function setFullName ( $newFullName ) { /* {{{ */
$db = $this -> _dms -> getDB ();
$queryStr = " UPDATE tblUsers SET fullname = ' " . $newFullName . " ' WHERE id = " . $this -> _id ;
$res = $db -> getResult ( $queryStr );
if ( ! $res )
return false ;
$this -> _fullName = $newFullName ;
return true ;
} /* }}} */
function getPwd () { return $this -> _pwd ; }
function setPwd ( $newPwd ) { /* {{{ */
$db = $this -> _dms -> getDB ();
$queryStr = " UPDATE tblUsers SET pwd =' " . $newPwd . " ' WHERE id = " . $this -> _id ;
$res = $db -> getResult ( $queryStr );
if ( ! $res )
return false ;
$this -> _pwd = $newPwd ;
return true ;
} /* }}} */
function getEmail () { return $this -> _email ; }
function setEmail ( $newEmail ) { /* {{{ */
$db = $this -> _dms -> getDB ();
$queryStr = " UPDATE tblUsers SET email =' " . $newEmail . " ' WHERE id = " . $this -> _id ;
$res = $db -> getResult ( $queryStr );
if ( ! $res )
return false ;
$this -> _email = $newEmail ;
return true ;
} /* }}} */
function getLanguage () { return $this -> _language ; }
function setLanguage ( $newLanguage ) { /* {{{ */
$db = $this -> _dms -> getDB ();
$queryStr = " UPDATE tblUsers SET language =' " . $newLanguage . " ' WHERE id = " . $this -> _id ;
$res = $db -> getResult ( $queryStr );
if ( ! $res )
return false ;
$this -> _language = $newLanguage ;
return true ;
} /* }}} */
function getTheme () { return $this -> _theme ; }
function setTheme ( $newTheme ) { /* {{{ */
$db = $this -> _dms -> getDB ();
$queryStr = " UPDATE tblUsers SET theme =' " . $newTheme . " ' WHERE id = " . $this -> _id ;
$res = $db -> getResult ( $queryStr );
if ( ! $res )
return false ;
$this -> _theme = $newTheme ;
return true ;
} /* }}} */
function getComment () { return $this -> _comment ; }
function setComment ( $newComment ) { /* {{{ */
$db = $this -> _dms -> getDB ();
$queryStr = " UPDATE tblUsers SET comment =' " . $newComment . " ' WHERE id = " . $this -> _id ;
$res = $db -> getResult ( $queryStr );
if ( ! $res )
return false ;
$this -> _comment = $newComment ;
return true ;
} /* }}} */
function isAdmin () { return $this -> _isAdmin ; }
function setAdmin ( $isAdmin ) { /* {{{ */
$db = $this -> _dms -> getDB ();
$isAdmin = ( $isAdmin ) ? " 1 " : " 0 " ;
$queryStr = " UPDATE tblUsers SET isAdmin = " . $isAdmin . " WHERE id = " . $this -> _id ;
if ( ! $db -> getResult ( $queryStr ))
return false ;
$this -> _isAdmin = $isAdmin ;
return true ;
} /* }}} */
function isHidden () { return $this -> _isHidden ; }
function setHidden ( $isHidden ) { /* {{{ */
$db = $this -> _dms -> getDB ();
$isHidden = ( $isHidden ) ? " 1 " : " 0 " ;
$queryStr = " UPDATE tblUsers SET hidden = " . $isHidden . " WHERE id = " . $this -> _id ;
if ( ! $db -> getResult ( $queryStr ))
return false ;
$this -> _isHidden = $isAdmin ;
return true ;
} /* }}} */
2010-11-05 21:17:41 +00:00
2010-11-22 14:53:28 +00:00
/**
* Remove the user and also remove all its keywords , notifies , etc .
* Do not remove folders and documents of the user , but assign them
* to a different user .
*
* @ param object $assignToUser the user who is new owner of folders and
* documents which previously were owned by the delete user .
* @ return boolean true on success or false in case of an error
*/
function remove ( $assignToUser = null ) { /* {{{ */
2010-11-24 15:43:08 +00:00
$db = $this -> _dms -> getDB ();
$user = $this -> _dms -> user ;
2010-11-05 21:17:41 +00:00
2010-11-22 14:53:28 +00:00
/* Records like folders and documents that formely have belonged to
* the user will assign to another user . If no such user is set ,
* the function now returns false and will not use the admin user
* anymore .
*/
if ( ! $assignToUser )
return ;
$assignTo = $assignToUser -> getID ();
// delete private keyword lists
2010-11-24 15:43:08 +00:00
$queryStr = " SELECT tblKeywords.id FROM tblKeywords, tblKeywordCategories WHERE tblKeywords.category = tblKeywordCategories.id AND tblKeywordCategories.owner = " . $this -> _id ;
$resultArr = $db -> getResultArray ( $queryStr );
if ( count ( $resultArr ) > 0 ) {
$queryStr = " DELETE FROM tblKeywords WHERE " ;
for ( $i = 0 ; $i < count ( $resultArr ); $i ++ ) {
$queryStr .= " id = " . $resultArr [ $i ][ " id " ];
if ( $i + 1 < count ( $resultArr ))
$queryStr .= " OR " ;
}
if ( ! $db -> getResult ( $queryStr )) return false ;
2010-10-29 13:19:51 +00:00
}
2010-11-24 15:43:08 +00:00
$queryStr = " DELETE FROM tblKeywordCategories WHERE owner = " . $this -> _id ;
if ( ! $db -> getResult ( $queryStr )) return false ;
//Benachrichtigungen entfernen
$queryStr = " DELETE FROM tblNotify WHERE userID = " . $this -> _id ;
2010-10-29 13:19:51 +00:00
if ( ! $db -> getResult ( $queryStr )) return false ;
2010-11-24 15:43:08 +00:00
//Der Besitz von Dokumenten oder Ordnern, deren bisheriger Besitzer der zu l<> schende war, geht an den Admin <20> ber
$queryStr = " UPDATE tblFolders SET owner = " . $assignTo . " WHERE owner = " . $this -> _id ;
2010-10-29 13:19:51 +00:00
if ( ! $db -> getResult ( $queryStr )) return false ;
2010-11-24 15:43:08 +00:00
$queryStr = " UPDATE tblDocuments SET owner = " . $assignTo . " WHERE owner = " . $this -> _id ;
2010-10-29 13:19:51 +00:00
if ( ! $db -> getResult ( $queryStr )) return false ;
2010-11-24 15:43:08 +00:00
$queryStr = " UPDATE tblDocumentContent SET createdBy = " . $assignTo . " WHERE createdBy = " . $this -> _id ;
2010-10-29 13:19:51 +00:00
if ( ! $db -> getResult ( $queryStr )) return false ;
2010-11-24 15:43:08 +00:00
//Verweise auf Dokumente: Private l<> schen...
$queryStr = " DELETE FROM tblDocumentLinks WHERE userID = " . $this -> _id . " AND public = 0 " ;
2010-10-29 13:19:51 +00:00
if ( ! $db -> getResult ( $queryStr )) return false ;
2010-11-24 15:43:08 +00:00
//... und <20> ffentliche an Admin <20> bergeben
$queryStr = " UPDATE tblDocumentLinks SET userID = " . $assignTo . " WHERE userID = " . $this -> _id ;
2010-10-29 13:19:51 +00:00
if ( ! $db -> getResult ( $queryStr )) return false ;
2010-11-24 15:43:08 +00:00
// set administrator for deleted user's attachments
$queryStr = " UPDATE tblDocumentFiles SET userID = " . $assignTo . " WHERE userID = " . $this -> _id ;
2010-10-29 13:19:51 +00:00
if ( ! $db -> getResult ( $queryStr )) return false ;
2010-11-24 15:43:08 +00:00
//Evtl. von diesem Benutzer gelockte Dokumente werden freigegeben
$queryStr = " DELETE FROM tblDocumentLocks WHERE userID = " . $this -> _id ;
2010-10-29 13:19:51 +00:00
if ( ! $db -> getResult ( $queryStr )) return false ;
2010-11-24 15:43:08 +00:00
//User aus allen Gruppen l<> schen
$queryStr = " DELETE FROM tblGroupMembers WHERE userID = " . $this -> _id ;
2010-10-29 13:19:51 +00:00
if ( ! $db -> getResult ( $queryStr )) return false ;
2010-11-24 15:43:08 +00:00
//User aus allen ACLs streichen
$queryStr = " DELETE FROM tblACLs WHERE userID = " . $this -> _id ;
2010-10-29 13:19:51 +00:00
if ( ! $db -> getResult ( $queryStr )) return false ;
2010-11-24 15:43:08 +00:00
//Eintrag aus tblUsers l<> schen
$queryStr = " DELETE FROM tblUserImages WHERE userID = " . $this -> _id ;
2010-10-29 13:19:51 +00:00
if ( ! $db -> getResult ( $queryStr )) return false ;
2010-11-24 15:43:08 +00:00
//Eintrag aus tblUsers l<> schen
$queryStr = " DELETE FROM tblUsers WHERE id = " . $this -> _id ;
2010-10-29 13:19:51 +00:00
if ( ! $db -> getResult ( $queryStr )) return false ;
2010-11-24 15:43:08 +00:00
// mandatory review/approve
$queryStr = " DELETE FROM tblMandatoryReviewers WHERE reviewerUserID = " . $this -> _id ;
2010-10-29 13:19:51 +00:00
if ( ! $db -> getResult ( $queryStr )) return false ;
2010-11-24 15:43:08 +00:00
$queryStr = " DELETE FROM tblMandatoryApprovers WHERE approverUserID = " . $this -> _id ;
2010-10-29 13:19:51 +00:00
if ( ! $db -> getResult ( $queryStr )) return false ;
2010-11-24 15:43:08 +00:00
$queryStr = " DELETE FROM tblMandatoryReviewers WHERE userID = " . $this -> _id ;
2010-10-29 13:19:51 +00:00
if ( ! $db -> getResult ( $queryStr )) return false ;
2010-11-24 15:43:08 +00:00
$queryStr = " DELETE FROM tblMandatoryApprovers WHERE userID = " . $this -> _id ;
2010-10-29 13:19:51 +00:00
if ( ! $db -> getResult ( $queryStr )) return false ;
2010-11-24 15:43:08 +00:00
// set administrator for deleted user's events
$queryStr = " UPDATE tblEvents SET userID = " . $assignTo . " WHERE userID = " . $this -> _id ;
2010-10-29 13:19:51 +00:00
if ( ! $db -> getResult ( $queryStr )) return false ;
2010-11-24 15:43:08 +00:00
2010-10-29 13:19:51 +00:00
// TODO : update document status if reviewer/approver has been deleted
// "DELETE FROM tblDocumentApproveLog WHERE userID = " . $this->_id;
// "DELETE FROM tblDocumentReviewLog WHERE userID = " . $this->_id;
2010-11-24 15:43:08 +00:00
$reviewStatus = $this -> getReviewStatus ();
foreach ( $reviewStatus [ " indstatus " ] as $ri ) {
$queryStr = " INSERT INTO `tblDocumentReviewLog` (`reviewID`, `status`, `comment`, `date`, `userID`) " .
" VALUES (' " . $ri [ " reviewID " ] . " ', '-2', 'Reviewer removed from process', NOW(), ' " . $user -> getID () . " ') " ;
$res = $db -> getResult ( $queryStr );
}
$approvalStatus = $this -> getApprovalStatus ();
foreach ( $approvalStatus [ " indstatus " ] as $ai ) {
$queryStr = " INSERT INTO `tblDocumentApproveLog` (`approveID`, `status`, `comment`, `date`, `userID`) " .
" VALUES (' " . $ai [ " approveID " ] . " ', '-2', 'Approver removed from process', NOW(), ' " . $user -> getID () . " ') " ;
$res = $db -> getResult ( $queryStr );
}
// unset($this);
return true ;
2010-11-22 14:53:28 +00:00
} /* }}} */
function joinGroup ( $group ) { /* {{{ */
2010-11-24 15:43:08 +00:00
if ( $group -> isMember ( $this ))
return false ;
if ( ! $group -> addUser ( $this ))
return false ;
unset ( $this -> _groups );
return true ;
2010-11-22 14:53:28 +00:00
} /* }}} */
2010-11-24 15:43:08 +00:00
2010-11-22 14:53:28 +00:00
function leaveGroup ( $group ) { /* {{{ */
2010-11-24 15:43:08 +00:00
if ( ! $group -> isMember ( $this ))
return false ;
if ( ! $group -> removeUser ( $this ))
return false ;
unset ( $this -> _groups );
return true ;
2010-11-22 14:53:28 +00:00
} /* }}} */
2010-11-24 15:43:08 +00:00
2010-11-22 14:53:28 +00:00
function getGroups () { /* {{{ */
2010-11-24 15:43:08 +00:00
$db = $this -> _dms -> getDB ();
if ( ! isset ( $this -> _groups ))
{
$queryStr = " SELECT `tblGroups`.*, `tblGroupMembers`.`userID` FROM `tblGroups` " .
" LEFT JOIN `tblGroupMembers` ON `tblGroups`.`id` = `tblGroupMembers`.`groupID` " .
" WHERE `tblGroupMembers`.`userID`=' " . $this -> _id . " ' " ;
$resArr = $db -> getResultArray ( $queryStr );
if ( is_bool ( $resArr ) && $resArr == false )
return false ;
$this -> _groups = array ();
foreach ( $resArr as $row ) {
$group = new LetoDMS_Group ( $row [ " id " ], $row [ " name " ], $row [ " comment " ]);
array_push ( $this -> _groups , $group );
}
}
return $this -> _groups ;
2010-11-22 14:53:28 +00:00
} /* }}} */
2010-11-24 15:43:08 +00:00
2010-11-22 14:53:28 +00:00
/**
* Checks if user is member of a given group
*
2010-11-24 15:43:08 +00:00
* @ param object $group
2010-11-22 14:53:28 +00:00
* @ return boolean true if user is member of the given group otherwise false
*/
function isMemberOfGroup ( $group ) { /* {{{ */
2010-11-24 15:43:08 +00:00
return $group -> isMember ( $this );
2010-11-22 14:53:28 +00:00
} /* }}} */
/**
* Check if user has an image in its profile
*
* @ return boolean true if user has a picture of itself
*/
function hasImage () { /* {{{ */
2010-11-24 15:43:08 +00:00
if ( ! isset ( $this -> _hasImage )) {
$db = $this -> _dms -> getDB ();
$queryStr = " SELECT COUNT(*) AS num FROM tblUserImages WHERE userID = " . $this -> _id ;
$resArr = $db -> getResultArray ( $queryStr );
if ( is_bool ( $resArr ) && $resArr == false )
return false ;
if ( $resArr [ 0 ][ " num " ] == 0 ) $this -> _hasImage = false ;
else $this -> _hasImage = true ;
}
return $this -> _hasImage ;
2010-11-22 14:53:28 +00:00
} /* }}} */
2010-11-24 15:43:08 +00:00
function setImage ( $tmpfile , $mimeType ) { /* {{{ */
$db = $this -> _dms -> getDB ();
$fp = fopen ( $tmpfile , " rb " );
if ( ! $fp ) return false ;
$content = fread ( $fp , filesize ( $tmpfile ));
fclose ( $fp );
if ( $this -> hasImage ())
$queryStr = " UPDATE tblUserImages SET image = ' " . base64_encode ( $content ) . " ', mimeType = ' " . $mimeType . " ' WHERE userID = " . $this -> _id ;
else
$queryStr = " INSERT INTO tblUserImages (userID, image, mimeType) VALUES ( " . $this -> _id . " , ' " . base64_encode ( $content ) . " ', ' " . $mimeType . " ') " ;
if ( ! $db -> getResult ( $queryStr ))
return false ;
$this -> _hasImage = true ;
return true ;
} /* }}} */
function getReviewStatus ( $documentID = null , $version = null ) { /* {{{ */
$db = $this -> _dms -> getDB ();
if ( ! $db -> createTemporaryTable ( " ttreviewid " )) {
return false ;
}
$status = array ( " indstatus " => array (), " grpstatus " => array ());
// See if the user is assigned as an individual reviewer.
$queryStr = " SELECT `tblDocumentReviewers`.*, `tblDocumentReviewLog`.`status`, " .
" `tblDocumentReviewLog`.`comment`, `tblDocumentReviewLog`.`date`, " .
" `tblDocumentReviewLog`.`userID` " .
" FROM `tblDocumentReviewers` " .
" LEFT JOIN `tblDocumentReviewLog` USING (`reviewID`) " .
" LEFT JOIN `ttreviewid` on `ttreviewid`.`maxLogID` = `tblDocumentReviewLog`.`reviewLogID` " .
" WHERE `ttreviewid`.`maxLogID`=`tblDocumentReviewLog`.`reviewLogID` " .
( $documentID == null ? " " : " AND `tblDocumentReviewers`.`documentID` = ' " . $documentID . " ' " ) .
( $version == null ? " " : " AND `tblDocumentReviewers`.`version` = ' " . $version . " ' " ) .
" AND `tblDocumentReviewers`.`type`='0' " .
" AND `tblDocumentReviewers`.`required`=' " . $this -> _id . " ' " ;
$resArr = $db -> getResultArray ( $queryStr );
if ( is_bool ( $resArr ) && $resArr == false )
return false ;
if ( count ( $resArr ) > 0 ) {
foreach ( $resArr as $res )
$status [ " indstatus " ][] = $res ;
}
// See if the user is the member of a group that has been assigned to
// review the document version.
$queryStr = " SELECT `tblDocumentReviewers`.*, `tblDocumentReviewLog`.`status`, " .
" `tblDocumentReviewLog`.`comment`, `tblDocumentReviewLog`.`date`, " .
" `tblDocumentReviewLog`.`userID` " .
" FROM `tblDocumentReviewers` " .
" LEFT JOIN `tblDocumentReviewLog` USING (`reviewID`) " .
" LEFT JOIN `tblGroupMembers` ON `tblGroupMembers`.`groupID` = `tblDocumentReviewers`.`required` " .
" LEFT JOIN `ttreviewid` on `ttreviewid`.`maxLogID` = `tblDocumentReviewLog`.`reviewLogID` " .
" WHERE `ttreviewid`.`maxLogID`=`tblDocumentReviewLog`.`reviewLogID` " .
( $documentID == null ? " " : " AND `tblDocumentReviewers`.`documentID` = ' " . $documentID . " ' " ) .
( $version == null ? " " : " AND `tblDocumentReviewers`.`version` = ' " . $version . " ' " ) .
" AND `tblDocumentReviewers`.`type`='1' " .
" AND `tblGroupMembers`.`userID`=' " . $this -> _id . " ' " ;
$resArr = $db -> getResultArray ( $queryStr );
if ( is_bool ( $resArr ) && $resArr == false )
return false ;
if ( count ( $resArr ) > 0 ) {
foreach ( $resArr as $res )
$status [ " grpstatus " ][] = $res ;
}
return $status ;
2010-11-22 14:53:28 +00:00
} /* }}} */
2010-11-24 15:43:08 +00:00
function getApprovalStatus ( $documentID = null , $version = null ) { /* {{{ */
$db = $this -> _dms -> getDB ();
if ( ! $db -> createTemporaryTable ( " ttapproveid " )) {
return false ;
}
$status = array ( " indstatus " => array (), " grpstatus " => array ());
// See if the user is assigned as an individual approver.
$queryStr = " SELECT `tblDocumentApprovers`.*, `tblDocumentApproveLog`.`status`, " .
" `tblDocumentApproveLog`.`comment`, `tblDocumentApproveLog`.`date`, " .
" `tblDocumentApproveLog`.`userID` " .
" FROM `tblDocumentApprovers` " .
" LEFT JOIN `tblDocumentApproveLog` USING (`approveID`) " .
" LEFT JOIN `ttapproveid` on `ttapproveid`.`maxLogID` = `tblDocumentApproveLog`.`approveLogID` " .
" WHERE `ttapproveid`.`maxLogID`=`tblDocumentApproveLog`.`approveLogID` " .
( $documentID == null ? " " : " AND `tblDocumentApprovers`.`documentID` = ' " . $documentID . " ' " ) .
( $version == null ? " " : " AND `tblDocumentApprovers`.`version` = ' " . $version . " ' " ) .
" AND `tblDocumentApprovers`.`type`='0' " .
" AND `tblDocumentApprovers`.`required`=' " . $this -> _id . " ' " ;
$resArr = $db -> getResultArray ( $queryStr );
if ( is_bool ( $resArr ) && $resArr == false )
return false ;
if ( count ( $resArr ) > 0 ) {
foreach ( $resArr as $res )
$status [ " indstatus " ][] = $res ;
}
// See if the user is the member of a group that has been assigned to
// approve the document version.
$queryStr = " SELECT `tblDocumentApprovers`.*, `tblDocumentApproveLog`.`status`, " .
" `tblDocumentApproveLog`.`comment`, `tblDocumentApproveLog`.`date`, " .
" `tblDocumentApproveLog`.`userID` " .
" FROM `tblDocumentApprovers` " .
" LEFT JOIN `tblDocumentApproveLog` USING (`approveID`) " .
" LEFT JOIN `tblGroupMembers` ON `tblGroupMembers`.`groupID` = `tblDocumentApprovers`.`required` " .
" LEFT JOIN `ttapproveid` on `ttapproveid`.`maxLogID` = `tblDocumentApproveLog`.`approveLogID` " .
" WHERE `ttapproveid`.`maxLogID`=`tblDocumentApproveLog`.`approveLogID` " .
( $documentID == null ? " " : " AND `tblDocumentApprovers`.`documentID` = ' " . $documentID . " ' " ) .
( $version == null ? " " : " AND `tblDocumentApprovers`.`version` = ' " . $version . " ' " ) .
" AND `tblDocumentApprovers`.`type`='1' " .
" AND `tblGroupMembers`.`userID`=' " . $this -> _id . " ' " ;
$resArr = $db -> getResultArray ( $queryStr );
if ( is_bool ( $resArr ) && $resArr == false )
return false ;
if ( count ( $resArr ) > 0 ) {
foreach ( $resArr as $res )
$status [ " grpstatus " ][] = $res ;
}
return $status ;
} /* }}} */
function getMandatoryReviewers () { /* {{{ */
$db = $this -> _dms -> getDB ();
$queryStr = " SELECT * FROM tblMandatoryReviewers WHERE userID = " . $this -> _id ;
$resArr = $db -> getResultArray ( $queryStr );
2010-10-29 13:19:51 +00:00
return $resArr ;
2010-11-24 15:43:08 +00:00
} /* }}} */
function getMandatoryApprovers () { /* {{{ */
$db = $this -> _dms -> getDB ();
$queryStr = " SELECT * FROM tblMandatoryApprovers WHERE userID = " . $this -> _id ;
$resArr = $db -> getResultArray ( $queryStr );
2010-10-29 13:19:51 +00:00
return $resArr ;
2010-11-24 15:43:08 +00:00
} /* }}} */
function setMandatoryReviewer ( $id , $isgroup = false ) { /* {{{ */
$db = $this -> _dms -> getDB ();
2010-10-29 13:19:51 +00:00
if ( $isgroup ){
2010-11-24 15:43:08 +00:00
2010-10-29 13:19:51 +00:00
$queryStr = " SELECT * FROM tblMandatoryReviewers WHERE userID = " . $this -> _id . " AND reviewerGroupID = " . $id ;
2010-11-24 15:43:08 +00:00
$resArr = $db -> getResultArray ( $queryStr );
2010-10-29 13:19:51 +00:00
if ( count ( $resArr ) != 0 ) return ;
2010-11-24 15:43:08 +00:00
$queryStr = " INSERT INTO tblMandatoryReviewers (userID, reviewerGroupID) VALUES ( " . $this -> _id . " , " . $id . " ) " ;
$resArr = $db -> getResult ( $queryStr );
if ( is_bool ( $resArr ) && ! $resArr ) return false ;
2010-10-29 13:19:51 +00:00
} else {
2010-11-24 15:43:08 +00:00
2010-10-29 13:19:51 +00:00
$queryStr = " SELECT * FROM tblMandatoryReviewers WHERE userID = " . $this -> _id . " AND reviewerUserID = " . $id ;
2010-11-24 15:43:08 +00:00
$resArr = $db -> getResultArray ( $queryStr );
2010-10-29 13:19:51 +00:00
if ( count ( $resArr ) != 0 ) return ;
2010-11-24 15:43:08 +00:00
$queryStr = " INSERT INTO tblMandatoryReviewers (userID, reviewerUserID) VALUES ( " . $this -> _id . " , " . $id . " ) " ;
$resArr = $db -> getResult ( $queryStr );
2010-10-29 13:19:51 +00:00
if ( is_bool ( $resArr ) && ! $resArr ) return false ;
2010-11-24 15:43:08 +00:00
}
} /* }}} */
function setMandatoryApprover ( $id , $isgroup = false ) { /* {{{ */
$db = $this -> _dms -> getDB ();
2010-10-29 13:19:51 +00:00
if ( $isgroup ){
2010-11-24 15:43:08 +00:00
2010-10-29 13:19:51 +00:00
$queryStr = " SELECT * FROM tblMandatoryApprovers WHERE userID = " . $this -> _id . " AND approverGroupID = " . $id ;
2010-11-24 15:43:08 +00:00
$resArr = $db -> getResultArray ( $queryStr );
2010-10-29 13:19:51 +00:00
if ( count ( $resArr ) != 0 ) return ;
2010-11-24 15:43:08 +00:00
$queryStr = " INSERT INTO tblMandatoryApprovers (userID, approverGroupID) VALUES ( " . $this -> _id . " , " . $id . " ) " ;
$resArr = $db -> getResult ( $queryStr );
if ( is_bool ( $resArr ) && ! $resArr ) return false ;
2010-10-29 13:19:51 +00:00
} else {
2010-11-24 15:43:08 +00:00
2010-10-29 13:19:51 +00:00
$queryStr = " SELECT * FROM tblMandatoryApprovers WHERE userID = " . $this -> _id . " AND approverUserID = " . $id ;
2010-11-24 15:43:08 +00:00
$resArr = $db -> getResultArray ( $queryStr );
2010-10-29 13:19:51 +00:00
if ( count ( $resArr ) != 0 ) return ;
2010-11-24 15:43:08 +00:00
$queryStr = " INSERT INTO tblMandatoryApprovers (userID, approverUserID) VALUES ( " . $this -> _id . " , " . $id . " ) " ;
$resArr = $db -> getResult ( $queryStr );
2010-10-29 13:19:51 +00:00
if ( is_bool ( $resArr ) && ! $resArr ) return false ;
}
2010-11-24 15:43:08 +00:00
} /* }}} */
function delMandatoryReviewers () { /* {{{ */
$db = $this -> _dms -> getDB ();
$queryStr = " DELETE FROM tblMandatoryReviewers WHERE userID = " . $this -> _id ;
2010-10-29 13:19:51 +00:00
if ( ! $db -> getResult ( $queryStr )) return false ;
2010-11-24 15:43:08 +00:00
} /* }}} */
function delMandatoryApprovers () { /* {{{ */
$db = $this -> _dms -> getDB ();
$queryStr = " DELETE FROM tblMandatoryApprovers WHERE userID = " . $this -> _id ;
2010-10-29 13:19:51 +00:00
if ( ! $db -> getResult ( $queryStr )) return false ;
2010-11-24 15:43:08 +00:00
} /* }}} */
}
?>