openrat-cms

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

commit dcb615d2ed46b5868e1e8a7b0bf636d120464d86
parent dfe24bd1eb847a86d761b564e281842d0dbea004
Author: dankert <devnull@localhost>
Date:   Sun, 22 Mar 2009 16:14:41 +0100

Keine Aktion mehr in Methode loadRights()

Diffstat:
objectClasses/User.class.php | 56+++-----------------------------------------------------
1 file changed, 3 insertions(+), 53 deletions(-)

diff --git a/objectClasses/User.class.php b/objectClasses/User.class.php @@ -20,6 +20,9 @@ // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // --------------------------------------------------------------------------- // $Log$ +// Revision 1.33 2009-03-22 15:14:41 dankert +// Keine Aktion mehr in Methode loadRights() +// // Revision 1.32 2009-03-19 10:05:05 dankert // Bugfix bei Ermitteln der zur Verfügung stehenden Projekte: Nur die Root-Objekte der Projekte berücksichtigen. // @@ -973,59 +976,6 @@ SQL */ function loadRights( $projectid,$languageid ) { - $start = time(); // Zeit merken (zum Loggen). - $this->delRights(); // Alte Rechte l�schen. - - $db = db_connection(); - - $group_clause = $this->getGroupClause(); - - $sql = new Sql( <<<SQL -SELECT {t_acl}.* FROM {t_acl} - LEFT JOIN {t_object} - ON {t_object}.id={t_acl}.objectid - WHERE projectid={projectid} - AND ( languageid={languageid} OR languageid IS NULL ) - AND ( {t_acl}.userid={userid} OR {group_clause} - OR ({t_acl}.userid IS NULL AND {t_acl}.groupid IS NULL) ) -SQL -); - $sql->setInt ( 'languageid' ,$languageid ); - $sql->setInt ( 'projectid' ,$projectid ); - $sql->setInt ( 'userid' ,$this->userid ); - $sql->setParam( 'group_clause',$this->getGroupClause() ); - - foreach( $db->getAll( $sql->query ) as $row ) - { - $acl = new Acl(); - $acl->setDatabaseRow( $row ); - - $this->addRight($acl->objectid,$acl->getMask() ); - - $o = new Object( $acl->objectid ); - $o->objectLoadRaw(); - - // Vererben der Berechtigung an Unterordner - if ( $acl->transmit ) - { - $f = new Folder( $o->objectid ); - - foreach( $f->getAllSubfolderIds() as $sfid ) - $this->addRight($sfid,$acl->getMask() ); - } - - // Uebergeordneten Ordnern das Leserecht geben - if ( !$o->isRoot ) - { - $f = new Folder( $o->parentid ); - $oids = $f->parentObjectIds( true, true ); - foreach( $oids as $oid ) - $this->addRight($oid,ACL_READ); - } - } - - // Zeit ausgeben. - Logger::debug( 'Loaded all rights in '.(time()-$start).' seconds' ); }