Exemplo n.º 1
0
 /**
  * Load roles
  *
  * @param Mage_Api_Model_Acl $acl
  * @param array $rolesArr
  * @return Mage_Api_Model_Mysql4_Acl
  */
 function loadRoles(Mage_Api_Model_Acl $acl, array $rolesArr)
 {
     foreach ($rolesArr as $role) {
         $parent = $role['parent_id'] > 0 ? Mage_Api_Model_Acl::ROLE_TYPE_GROUP . $role['parent_id'] : null;
         switch ($role['role_type']) {
             case Mage_Api_Model_Acl::ROLE_TYPE_GROUP:
                 $roleId = $role['role_type'] . $role['role_id'];
                 $acl->addRole(AO::getModel('api/acl_role_group', $roleId), $parent);
                 break;
             case Mage_Api_Model_Acl::ROLE_TYPE_USER:
                 $roleId = $role['role_type'] . $role['user_id'];
                 if (!$acl->hasRole($roleId)) {
                     $acl->addRole(AO::getModel('api/acl_role_user', $roleId), $parent);
                 } else {
                     $acl->addRoleParent($roleId, $parent);
                 }
                 break;
         }
     }
     return $this;
 }