summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon2011-03-29 14:32:27 +0200
committerSimon2011-03-29 14:32:27 +0200
commite3a8a0dd56fd9e118a5e676c794e6fb6bc1f01bd (patch)
tree32dfd37c655d53c52a1652c7e4f4ce0b4181252a
parentLeere Filter (Filter ohne Filterentry) werden nun auch berücksichtigt (diff)
parentstatic functions für die ACL (diff)
downloadpbs2-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.phtml10
-rw-r--r--library/Pbs/Acl.php35
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;
+ }
+}
+