diff options
Diffstat (limited to 'library/Pbs/Acl.php')
-rw-r--r-- | library/Pbs/Acl.php | 81 |
1 files changed, 40 insertions, 41 deletions
diff --git a/library/Pbs/Acl.php b/library/Pbs/Acl.php index 766274a..a4b6e48 100644 --- a/library/Pbs/Acl.php +++ b/library/Pbs/Acl.php @@ -1,4 +1,4 @@ -<?php +<? php /* * Copyright (c) 2011 - OpenSLX GmbH, RZ Uni Freiburg * This program is free software distributed under the GPL version 2. @@ -10,45 +10,44 @@ * General information about OpenSLX can be found at http://openslx.org/ */ -class Pbs_Acl -{ - - public static function checkRight($rightShortcut) { - - $userIDsNamespace = Zend_Session::namespaceGet('userIDs'); - if(!isset($userIDsNamespace['roleID'])) - return false; - $roleID = $userIDsNamespace['roleID']; - - $rightMapper = new Application_Model_RightMapper(); - $element = $rightMapper->findBy(array('shortcut' => $rightShortcut),true); - - if($element == null) - return false; - - $rightRolesMapper = new Application_Model_RightRolesMapper(); - $rightroles = $rightRolesMapper->findBy(array('roleID' => $roleID, 'rightID' => $element[0]['rightID']),true); - - if($rightroles != null) - return true; - - return false; - - } - - public static function checkRightByMembershipID($membershipID, $rightShortcut) { - $membershipMapper = new Application_Model_MembershipMapper(); - $membership = $membershipMapper->find($membershipID); - $rightRolesMapper = new Application_Model_RightRolesMapper(); - $rightroles = $rightRolesMapper->findBy(array('roleID' => $membership->getRoleID()),true); - $rightMapper = new Application_Model_RightMapper(); - foreach($rightroles as $rightrole) { - $right = $rightMapper->find($rightrole['rightID']); - if($right->getShortcut == $rightShortcut) { - return true; - } - } - return false; - } +class Pbs_Acl { + + public static function checkRight($rightShortcut) { + + $userIDsNamespace = Zend_Session::namespaceGet('userIDs'); + if(!isset($userIDsNamespace['roleID'])) + { return false; } + $roleID = $userIDsNamespace['roleID']; + + $rightMapper = new Application_Model_RightMapper(); + $element = $rightMapper->findBy(array('shortcut' => $rightShortcut), true); + + if($element == null) + { return false; } + + $rightRolesMapper = new Application_Model_RightRolesMapper(); + $rightroles = $rightRolesMapper->findBy(array('roleID' => $roleID, 'rightID' => $element[0]['rightID']), true); + + if($rightroles != null) + { return true; } + + return false; + + } + + public static function checkRightByMembershipID($membershipID, $rightShortcut) { + $membershipMapper = new Application_Model_MembershipMapper(); + $membership = $membershipMapper->find($membershipID); + $rightRolesMapper = new Application_Model_RightRolesMapper(); + $rightroles = $rightRolesMapper->findBy(array('roleID' => $membership->getRoleID()), true); + $rightMapper = new Application_Model_RightMapper(); + foreach($rightroles as $rightrole) { + $right = $rightMapper->find($rightrole['rightID']); + if($right->getShortcut == $rightShortcut) { + return true; + } + } + return false; + } } |