/** * Load Acl resources from config * * @param Mage_Api_Model_Acl $acl * @param Mage_Core_Model_Config_Element $resource * @param string $parentName * @return Mage_Api_Model_Config */ public function loadAclResources(Mage_Api_Model_Acl $acl, $resource = null, $parentName = null) { $resourceName = null; if (is_null($resource)) { $resource = $this->getNode('acl/resources'); } else { $resourceName = (is_null($parentName) ? '' : $parentName . '/') . $resource->getName(); $acl->add(Mage::getModel('api/acl_resource', $resourceName), $parentName); } $children = $resource->children(); if (empty($children)) { return $this; } foreach ($children as $res) { if ($res->getName() != 'title' && $res->getName() != 'sort_order') { $this->loadAclResources($acl, $res, $resourceName); } } return $this; }