openrat-cms

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

commit 7c0ce7e6b295b7e01921a81d5a1d318791010fc3
parent 0c35e903aebeb87e83d09f2bea4ed78ea3dc0169
Author: dankert <devnull@localhost>
Date:   Sun,  1 Mar 2009 02:41:35 +0100

Anzeigen der Benutzerrechte für Gruppen.

Diffstat:
actionClasses/GroupAction.class.php | 83++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------
actionClasses/GroupAction.ini.php | 8++++++--
2 files changed, 80 insertions(+), 11 deletions(-)

diff --git a/actionClasses/GroupAction.class.php b/actionClasses/GroupAction.class.php @@ -121,8 +121,8 @@ class GroupAction extends Action /** - * Benutzer zur Gruppe hinzufügen.<br> - * Es kann eine Liste oder eine einzelne Person zur Gruppe hinzugefügt werden. + * Benutzer zur Gruppe hinzuf�gen.<br> + * Es kann eine Liste oder eine einzelne Person zur Gruppe hinzugef�gt werden. */ function addusertogroup() { @@ -139,13 +139,13 @@ class GroupAction extends Action } elseif( intval($userid) > 0 ) { - // Nur 1 Benutzer hinzufügen. + // Nur 1 Benutzer hinzuf�gen. $this->group->addUser( intval($userid) ); $this->addNotice('group',$this->group->name,'USER_ADDED_TO_GROUP',OK_NOTICE_OK,array('count'=>'1')); } else { - // Es wurde kein Benutzer ausgewählt. + // Es wurde kein Benutzer ausgew�hlt. $this->addNotice('group',$this->group->name,'NOTHING_DONE',OR_NOTICE_WARN); } } @@ -215,14 +215,79 @@ class GroupAction extends Action } $this->setTemplateVar('memberships',$userliste); } - + + + + + + /** + * Anzeigen der Benutzerrechte + */ + function rights() + { + $rights = $this->group->getAllAcls(); + + $projects = array(); + + foreach( $rights as $acl ) + { + if ( !isset($projects[$acl->projectid])) + { + $projects[$acl->projectid] = array(); + $p = new Project($acl->projectid); + $p->load(); + $projects[$acl->projectid]['projectname'] = $p->name; + $projects[$acl->projectid]['rights' ] = array(); + } + + $right = array(); + + if ( $acl->languageid > 0 ) + { + $language = new Language($acl->languageid); + $language->load(); + $right['languagename'] = $language->name; + } + else + { + $right['languagename'] = lang('ALL_LANGUAGES'); + } + + + $o = new Object($acl->objectid); + $o->objectLoad(); + $right['objectname'] = $o->name; + $right['objectid' ] = $o->objectid; + $right['objecttype'] = $o->getType(); + + if ( $acl->groupid > 0 ) + { + $group = new Group($acl->groupid); + $group->load(); + $right['groupname'] = $group->name; + } + else + { + // Berechtigung f�r "alle". + } + + $right['bits'] = $acl->getProperties(); + + $projects[$acl->projectid]['rights'][] = $right; + } + + $this->setTemplateVar('projects' ,$projects ); + + $this->setTemplateVar('show',Acl::getAvailableRights() ); + } + /** - * Menü. + * Men�. * - * @param String $menu Menüeintrag. - * @return boolean TRUE, wenn Menüeintrag aktiv ist. + * @param String $menu Men�eintrag. + * @return boolean TRUE, wenn Men�eintrag aktiv ist. */ function checkMenu( $menu ) { @@ -232,7 +297,7 @@ class GroupAction extends Action // Benutzerliste nur anzeigen, wenn welche vorhanden. return count($this->group->getUsers()) > 0; case 'adduser': - // Benutzer können nur hinzugefügt werden, wenn noch nicht alle + // Benutzer k�nnen nur hinzugef�gt werden, wenn noch nicht alle // in der Gruppe sind. return count($this->group->getOtherUsers()) > 0; default: diff --git a/actionClasses/GroupAction.ini.php b/actionClasses/GroupAction.ini.php @@ -44,8 +44,12 @@ menu=memberships [addusertogroup] goto=users +[rights] +menu=rights + [menu] listing=listing,add users=users,adduser edit=edit,remove -memberships=users,adduser- \ No newline at end of file +memberships=users,adduser +rights=rights+ \ No newline at end of file