summaryrefslogtreecommitdiffstats
path: root/library
diff options
context:
space:
mode:
authorBjörn Geiger2011-03-29 14:04:19 +0200
committerBjörn Geiger2011-03-29 14:04:19 +0200
commitb122b1b898ea7e32e0ea942cb24a1b71136b4541 (patch)
tree389199f9107dbecf069d09e0d918866d22fe863a /library
parentlayout Fehler korrigiert (diff)
downloadpbs2-b122b1b898ea7e32e0ea942cb24a1b71136b4541.tar.gz
pbs2-b122b1b898ea7e32e0ea942cb24a1b71136b4541.tar.xz
pbs2-b122b1b898ea7e32e0ea942cb24a1b71136b4541.zip
static functions für die ACL
Diffstat (limited to 'library')
-rw-r--r--library/Pbs/Acl.php35
1 files changed, 35 insertions, 0 deletions
diff --git a/library/Pbs/Acl.php b/library/Pbs/Acl.php
new file mode 100644
index 0000000..bad0277
--- /dev/null
+++ b/library/Pbs/Acl.php
@@ -0,0 +1,35 @@
+<?php
+
+class Pbs_Acl
+{
+ public static function checkRight($rightShortcut) {
+ $userIDsNamespace = Zend_Session::namespaceGet('userIDs');
+ $roleID = $userIDsNamespace['roleID'];
+ $rightRolesMapper = new Application_Model_RightRolesMapper();
+ $rightroles = $rightRolesMapper->findBy('roleID', $roleID);
+ $rightMapper = new Application_Model_RightMapper();
+ foreach($rightroles as $rightrole) {
+ $right = $rightMapper->find($rightrole['rightID']);
+ if($right->getShortcut() == $rightShortcut) {
+ 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('roleID', $membership->getRoleID());
+ $rightMapper = new Application_Model_RightMapper();
+ foreach($rightroles as $rightrole) {
+ $right = $rightMapper->find($rightrole['rightID']);
+ if($right->getShortcut == $rightShortcut) {
+ return true;
+ }
+ }
+ return false;
+ }
+}
+