1: <?php
2: /**
3: * Magento
4: *
5: * NOTICE OF LICENSE
6: *
7: * This source file is subject to the Open Software License (OSL 3.0)
8: * that is bundled with this package in the file LICENSE.txt.
9: * It is also available through the world-wide-web at this URL:
10: * http://opensource.org/licenses/osl-3.0.php
11: * If you did not receive a copy of the license and are unable to
12: * obtain it through the world-wide-web, please send an email
13: * to license@magentocommerce.com so we can send you a copy immediately.
14: *
15: * DISCLAIMER
16: *
17: * Do not edit or add to this file if you wish to upgrade Magento to newer
18: * versions in the future. If you wish to customize Magento for your
19: * needs please refer to http://www.magentocommerce.com for more information.
20: *
21: * @category Mage
22: * @package Mage_Core
23: * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24: * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25: */
26:
27: /**
28: * Store API
29: *
30: * @category Mage
31: * @package Mage_Core
32: * @author Magento Core Team <core@magentocommerce.com>
33: */
34:
35: class Mage_Core_Model_Store_Api extends Mage_Api_Model_Resource_Abstract
36: {
37: /**
38: * Retrieve stores list
39: *
40: * @return array
41: */
42: public function items()
43: {
44: // Retrieve stores
45: $stores = Mage::app()->getStores();
46:
47: // Make result array
48: $result = array();
49: foreach ($stores as $store) {
50: $result[] = array(
51: 'store_id' => $store->getId(),
52: 'code' => $store->getCode(),
53: 'website_id' => $store->getWebsiteId(),
54: 'group_id' => $store->getGroupId(),
55: 'name' => $store->getName(),
56: 'sort_order' => $store->getSortOrder(),
57: 'is_active' => $store->getIsActive()
58: );
59: }
60:
61: return $result;
62: }
63:
64: /**
65: * Retrieve store data
66: *
67: * @param string|int $storeId
68: * @return array
69: */
70: public function info($storeId)
71: {
72: // Retrieve store info
73: try {
74: $store = Mage::app()->getStore($storeId);
75: } catch (Mage_Core_Model_Store_Exception $e) {
76: $this->_fault('store_not_exists');
77: }
78:
79: if (!$store->getId()) {
80: $this->_fault('store_not_exists');
81: }
82:
83: // Basic store data
84: $result = array();
85: $result['store_id'] = $store->getId();
86: $result['code'] = $store->getCode();
87: $result['website_id'] = $store->getWebsiteId();
88: $result['group_id'] = $store->getGroupId();
89: $result['name'] = $store->getName();
90: $result['sort_order'] = $store->getSortOrder();
91: $result['is_active'] = $store->getIsActive();
92:
93: return $result;
94: }
95:
96: }
97: