openrat-cms

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 7bb5b0c3dcfc2b566f30d68ad170c713a871e857
parent 349a98b214fc7d86d5669e40d45be073b6860e16
Author: dankert <devnull@localhost>
Date:   Sun, 28 Nov 2004 23:32:33 +0100

getAllAcls(): Lesen aller Rechte des Benutzers

Diffstat:
objectClasses/User.class.php | 44+++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 43 insertions(+), 1 deletion(-)

diff --git a/objectClasses/User.class.php b/objectClasses/User.class.php @@ -20,7 +20,10 @@ // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // --------------------------------------------------------------------------- // $Log$ -// Revision 1.7 2004-11-28 16:56:38 dankert +// Revision 1.8 2004-11-28 22:32:33 dankert +// getAllAcls(): Lesen aller Rechte des Benutzers +// +// Revision 1.7 2004/11/28 16:56:38 dankert // Beruecksichtigen von Berechtigungen fuer "alle" // // Revision 1.6 2004/11/15 21:35:39 dankert @@ -595,6 +598,45 @@ class User } + function getAllAcls() + { + Logger::debug( 'Lade Berechtigungen' ); + + $this->delRights(); + + global $SESS,$conf_php; + $db = db_connection(); + + $group_clause = $this->getGroupClause(); + + $sql = new Sql( 'SELECT {t_acl}.*,{t_object}.projectid,{t_language}.name AS languagename FROM {t_acl}'. + ' LEFT JOIN {t_object} '. + ' ON {t_object}.id={t_acl}.objectid '. + ' LEFT JOIN {t_language} '. + ' ON {t_language}.id={t_acl}.languageid '. + ' WHERE ( {t_acl}.userid={userid} OR '.$group_clause. + ' OR ({t_acl}.userid IS NULL AND {t_acl}.groupid IS NULL) )'. + ' ORDER BY {t_object}.projectid,{t_acl}.languageid' ); + $sql->setInt ( 'userid' ,$this->userid ); + + $aclList = array(); + + foreach( $db->getAll( $sql->query ) as $row ) + { + $acl = new Acl(); + $acl->setDatabaseRow( $row ); + $acl->projectid = $row['projectid' ]; + if ( intval($acl->languageid) == 0 ) + $acl->languagename = lang('GLOBAL_ALL_LANGUAGES'); + else + $acl->languagename = $row['languagename']; + $aclList[] = $acl; + } + + return $aclList; + } + + // Alle Berechtigungen ermitteln function getRights() {