فهرست منبع

ZF-5638: Apply patch to add getRoles() method to Zend_Acl

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@18279 44c647ce-9c0f-0410-b52a-842ac1e357ba
matthew 16 سال پیش
والد
کامیت
564ae65a65
3فایلهای تغییر یافته به همراه28 افزوده شده و 1 حذف شده
  1. 10 0
      library/Zend/Acl.php
  2. 5 0
      library/Zend/Acl/Role/Registry.php
  3. 13 1
      tests/Zend/Acl/AclTest.php

+ 10 - 0
library/Zend/Acl.php

@@ -1104,4 +1104,14 @@ class Zend_Acl
         return $visitor['byRoleId'][$roleId];
     }
 
+    
+    /**
+     * @return array of registered roles
+     *
+     */
+    public function getRegisteredRoles()
+    { 
+        return $this->_getRoleRegistry()->getRoles(); 
+    } 
+
 }

+ 5 - 0
library/Zend/Acl/Role/Registry.php

@@ -263,4 +263,9 @@ class Zend_Acl_Role_Registry
         return $this;
     }
 
+    public function getRoles()
+    { 
+        return $this->_roles; 
+    } 
+
 }

+ 13 - 1
tests/Zend/Acl/AclTest.php

@@ -1197,7 +1197,19 @@ class Zend_Acl_AclTest extends PHPUnit_Framework_TestCase
     	}    	
     	return new Zend_Acl_UseCase1_Acl();
     }
-    
+
+    /**
+     * Returns an array of registered roles
+     * @issue ZF-5638
+     */
+    public function testGetRegisteredRoles()
+    {
+        $acl = $this->_acl;
+        $acl->addRole('developer');
+        $roles = $acl->getRegisteredRoles();
+        $this->assertTrue(is_array($roles));
+        $this->assertFalse(empty($roles));
+    }
 }