0byt3m1n1
Path:
/
data
/
applications
/
aps
/
magento
/
1.1.3-2
/
standard
/
htdocs
/
app
/
code
/
core
/
Mage
/
Api
/
Model
/
[
Home
]
File: Roles.php
<?php /** * Magento * * NOTICE OF LICENSE * * This source file is subject to the Open Software License (OSL 3.0) * that is bundled with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://opensource.org/licenses/osl-3.0.php * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to license@magentocommerce.com so we can send you a copy immediately. * * @category Mage * @package Mage_Api * @copyright Copyright (c) 2008 Irubin Consulting Inc. DBA Varien (http://www.varien.com) * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) */ class Mage_Api_Model_Roles extends Mage_Core_Model_Abstract { protected function _construct() { $this->_init('api/roles'); } public function update() { $this->getResource()->update($this); return $this; } public function getUsersCollection() { return Mage::getResourceModel('api/roles_user_collection'); } public function getResourcesTree() { return $this->_buildResourcesArray(null, null, null, null, true); } public function getResourcesList() { return $this->_buildResourcesArray(); } public function getResourcesList2D() { return $this->_buildResourcesArray(null, null, null, true); } public function getRoleUsers() { return $this->getResource()->getRoleUsers($this); } protected function _buildResourcesArray(Varien_Simplexml_Element $resource=null, $parentName=null, $level=0, $represent2Darray=null, $rawNodes = false) { static $result; if (is_null($resource)) { $resource = Mage::getSingleton('api/config')->getNode('acl/resources'); $resourceName = null; $level = -1; } else { $resourceName = $parentName; if ($resource->getName()!='title' && $resource->getName()!='sort_order' && $resource->getName() != 'children') { $resourceName = (is_null($parentName) ? '' : $parentName.'/').$resource->getName(); if ($rawNodes) { $resource->addAttribute("aclpath", $resourceName); } if ( is_null($represent2Darray) ) { $result[$resourceName]['name'] = (string)$resource->title; $result[$resourceName]['level'] = $level; } else { $result[] = $resourceName; } } } $children = $resource->children(); if (empty($children)) { if ($rawNodes) { return $resource; } else { return $result; } } foreach ($children as $child) { $this->_buildResourcesArray($child, $resourceName, $level+1, $represent2Darray, $rawNodes); } if ($rawNodes) { return $resource; } else { return $result; } } }