diff options
| author | Simon | 2011-03-29 14:32:27 +0200 |
|---|---|---|
| committer | Simon | 2011-03-29 14:32:27 +0200 |
| commit | e3a8a0dd56fd9e118a5e676c794e6fb6bc1f01bd (patch) | |
| tree | 32dfd37c655d53c52a1652c7e4f4ce0b4181252a | |
| parent | Leere Filter (Filter ohne Filterentry) werden nun auch berücksichtigt (diff) | |
| parent | static functions für die ACL (diff) | |
| download | pbs2-e3a8a0dd56fd9e118a5e676c794e6fb6bc1f01bd.tar.gz pbs2-e3a8a0dd56fd9e118a5e676c794e6fb6bc1f01bd.tar.xz pbs2-e3a8a0dd56fd9e118a5e676c794e6fb6bc1f01bd.zip | |
Merge branch 'master' of openslx.org:lsfks/master-teamprojekt/pbs2
| -rw-r--r-- | application/modules/user/layouts/user.phtml | 10 | ||||
| -rw-r--r-- | library/Pbs/Acl.php | 35 |
2 files changed, 39 insertions, 6 deletions
diff --git a/application/modules/user/layouts/user.phtml b/application/modules/user/layouts/user.phtml index e09df87..143f56e 100644 --- a/application/modules/user/layouts/user.phtml +++ b/application/modules/user/layouts/user.phtml @@ -39,7 +39,11 @@ echo $this->headScript()."\n"; <li class='navTreeItem'><a href='/user/client'>Client</a></li> <li class='navTreeItem'><a href='/user/filter'>Filter</a></li> <li class='navTreeItem'><a href='/user/pool'>Pool</a></li> + <?php if (!Zend_Auth::getInstance()->hasIdentity()) {?> + <li class='navTreeItem'><a href='/user/auth/login'>Login</a></li> + <li class='navTreeItem'><a href='/user/auth/register'>Register</a></li> <?php + } else { if(count(Zend_Session::namespaceGet('userIDs')) > 0) { ?> <li class='navTreeItem'><a href='/user/person/changemembership'>Change @@ -52,11 +56,6 @@ echo $this->headScript()."\n"; <?php } ?> - <?php if (!Zend_Auth::getInstance()->hasIdentity()) {?> - <li class='navTreeItem'><a href='/user/auth/login'>Login</a></li> - <li class='navTreeItem'><a href='/user/auth/register'>Register</a></li> - <?php - } else {?> <li class='navTreeItem'><a href='/user/auth/delete'>Delete Account</a></li> <li class='navTreeItem'><a href='/user/auth/logout'>Logout</a></li> <?php @@ -65,7 +64,6 @@ echo $this->headScript()."\n"; </ul> </li> </ul> -</ul> </div> </div> <div id='main'> 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; + } +} + |
