Overview

Packages

  • currencysymbol
  • MAbout
  • Mage
    • Admin
    • Adminhtml
    • AdminNotification
    • Api
    • Api2
    • Authorizenet
    • Backup
    • Bundle
    • Captcha
    • Catalog
    • CatalogIndex
    • CatalogInventory
    • CatalogRule
    • CatalogSearch
    • Centinel
    • Checkout
    • Cms
    • Compiler
    • Connect
    • Contacts
    • Core
    • Cron
    • CurrencySymbol
    • Customer
    • Dataflow
    • Directory
    • DirtectPost
    • Downloadable
    • Eav
    • GiftMessage
    • GoogleAnalytics
    • GoogleBase
    • GoogleCheckout
    • ImportExport
    • Index
    • Install
    • Log
    • Media
    • Newsletter
    • Oauth
    • Page
    • PageCache
    • Paygate
    • Payment
    • Paypal
    • PaypalUk
    • Persistent
    • Poll
    • ProductAlert
    • Rating
    • Reports
    • Review
    • Rss
    • Rule
    • Sales
    • SalesRule
    • Sedfriend
    • Sendfriend
    • Shipping
    • Sitemap
    • Tag
    • Tax
    • Usa
    • Weee
    • Widget
    • Wishlist
    • XmlConnect
  • None
  • Phoenix
    • Moneybookers
  • PHP
  • Zend
    • Date
    • Mime
    • XmlRpc

Classes

  • Mage_Api_Controller_Action
  • Mage_Api_Helper_Data
  • Mage_Api_IndexController
  • Mage_Api_Model_Acl
  • Mage_Api_Model_Acl_Assert_Ip
  • Mage_Api_Model_Acl_Assert_Time
  • Mage_Api_Model_Acl_Resource
  • Mage_Api_Model_Acl_Role
  • Mage_Api_Model_Acl_Role_Generic
  • Mage_Api_Model_Acl_Role_Group
  • Mage_Api_Model_Acl_Role_Registry
  • Mage_Api_Model_Acl_Role_User
  • Mage_Api_Model_Config
  • Mage_Api_Model_Mysql4_Acl
  • Mage_Api_Model_Mysql4_Acl_Role
  • Mage_Api_Model_Mysql4_Acl_Role_Collection
  • Mage_Api_Model_Mysql4_Permissions_Collection
  • Mage_Api_Model_Mysql4_Role
  • Mage_Api_Model_Mysql4_Role_Collection
  • Mage_Api_Model_Mysql4_Roles
  • Mage_Api_Model_Mysql4_Roles_Collection
  • Mage_Api_Model_Mysql4_Roles_User_Collection
  • Mage_Api_Model_Mysql4_Rules
  • Mage_Api_Model_Mysql4_Rules_Collection
  • Mage_Api_Model_Mysql4_User
  • Mage_Api_Model_Mysql4_User_Collection
  • Mage_Api_Model_Resource_Abstract
  • Mage_Api_Model_Resource_Acl
  • Mage_Api_Model_Resource_Acl_Role
  • Mage_Api_Model_Resource_Acl_Role_Collection
  • Mage_Api_Model_Resource_Permissions_Collection
  • Mage_Api_Model_Resource_Role
  • Mage_Api_Model_Resource_Role_Collection
  • Mage_Api_Model_Resource_Roles
  • Mage_Api_Model_Resource_Roles_Collection
  • Mage_Api_Model_Resource_Roles_User_Collection
  • Mage_Api_Model_Resource_Rules
  • Mage_Api_Model_Resource_Rules_Collection
  • Mage_Api_Model_Resource_User
  • Mage_Api_Model_Resource_User_Collection
  • Mage_Api_Model_Role
  • Mage_Api_Model_Roles
  • Mage_Api_Model_Rules
  • Mage_Api_Model_Server
  • Mage_Api_Model_Server_Adapter_Soap
  • Mage_Api_Model_Server_Adapter_Xmlrpc
  • Mage_Api_Model_Server_Handler
  • Mage_Api_Model_Server_Handler_Abstract
  • Mage_Api_Model_Server_V2_Adapter_Soap
  • Mage_Api_Model_Server_V2_Handler
  • Mage_Api_Model_Server_WSI_Adapter_Soap
  • Mage_Api_Model_Server_WSI_Handler
  • Mage_Api_Model_Session
  • Mage_Api_Model_User
  • Mage_Api_Model_Wsdl_Config
  • Mage_Api_Model_Wsdl_Config_Base
  • Mage_Api_SoapController
  • Mage_Api_V2_SoapController
  • Mage_Api_XmlrpcController

Interfaces

  • Mage_Api_Model_Server_Adapter_Interface

Exceptions

  • Mage_Api_Exception
  • Overview
  • Package
  • Class
  • Tree
  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_Api
 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:  * Webservice api abstract
 29:  *
 30:  * @category   Mage
 31:  * @package    Mage_Api
 32:  * @author     Magento Core Team <core@magentocommerce.com>
 33:  */
 34: class Mage_Api_Model_Server
 35: {
 36: 
 37:     /**
 38:      * Api Name by Adapter
 39:      * @var string
 40:      */
 41:     protected $_api = "";
 42: 
 43:     /**
 44:      * Web service adapter
 45:      *
 46:      * @var Mage_Api_Model_Server_Adapter_Interface
 47:      */
 48:     protected $_adapter;
 49: 
 50:     /**
 51:      * Complex retrieve adapter code by calling auxiliary model method
 52:      *
 53:      * @param string $alias Alias name
 54:      * @return string|null Returns NULL if no alias found
 55:      */
 56:     public function getAdapterCodeByAlias($alias)
 57:     {
 58:         /** @var $config Mage_Api_Model_Config */
 59:         $config  = Mage::getSingleton('api/config');
 60:         $aliases = $config->getAdapterAliases();
 61: 
 62:         if (!isset($aliases[$alias])) {
 63:             return null;
 64:         }
 65:         $object = Mage::getModel($aliases[$alias][0]);
 66:         $method = $aliases[$alias][1];
 67: 
 68:         if (!method_exists($object, $method)) {
 69:             Mage::throwException(Mage::helper('api')->__('Can not find webservice adapter.'));
 70:         }
 71:         return $object->$method();
 72:     }
 73: 
 74:     /**
 75:      * Initialize server components
 76:      *
 77:      * @param Mage_Api_Controller_Action $controller
 78:      * @param string $adapter Adapter name
 79:      * @param string $handler Handler name
 80:      * @return Mage_Api_Model_Server
 81:      */
 82:     public function init(Mage_Api_Controller_Action $controller, $adapter = 'default', $handler = 'default')
 83:     {
 84:         $this->initialize($adapter, $handler);
 85: 
 86:         $this->_adapter->setController($controller);
 87: 
 88:         return $this;
 89:     }
 90: 
 91:     /**
 92:      * Initialize server components. Lightweight implementation of init() method
 93:      *
 94:      * @param string $adapterCode Adapter code
 95:      * @param string $handler OPTIONAL Handler name (if not specified, it will be found from config)
 96:      * @return Mage_Api_Model_Server
 97:      */
 98:     public function initialize($adapterCode, $handler = null)
 99:     {
100:         /** @var $helper Mage_Api_Model_Config */
101:         $helper   = Mage::getSingleton('api/config');
102:         $adapters = $helper->getActiveAdapters();
103: 
104:         if (isset($adapters[$adapterCode])) {
105:             /** @var $adapterModel Mage_Api_Model_Server_Adapter_Interface */
106:             $adapterModel = Mage::getModel((string) $adapters[$adapterCode]->model);
107: 
108:             if (!($adapterModel instanceof Mage_Api_Model_Server_Adapter_Interface)) {
109:                 Mage::throwException(Mage::helper('api')->__('Invalid webservice adapter specified.'));
110:             }
111:             $this->_adapter = $adapterModel;
112:             $this->_api     = $adapterCode;
113: 
114:             // get handler code from config if no handler passed as argument
115:             if (null === $handler && !empty($adapters[$adapterCode]->handler)) {
116:                 $handler = (string) $adapters[$adapterCode]->handler;
117:             }
118:             $handlers = $helper->getHandlers();
119: 
120:             if (!isset($handlers->$handler)) {
121:                 Mage::throwException(Mage::helper('api')->__('Invalid webservice handler specified.'));
122:             }
123:             $handlerClassName = Mage::getConfig()->getModelClassName((string) $handlers->$handler->model);
124: 
125:             $this->_adapter->setHandler($handlerClassName);
126:         } else {
127:             Mage::throwException(Mage::helper('api')->__('Invalid webservice adapter specified.'));
128:         }
129:         return $this;
130:     }
131: 
132:     /**
133:      * Run server
134:      *
135:      */
136:     public function run()
137:     {
138:         $this->getAdapter()->run();
139:     }
140: 
141:     /**
142:      * Get Api name by Adapter
143:      * @return string
144:      */
145:     public function getApiName()
146:     {
147:         return $this->_api;
148:     }
149: 
150:     /**
151:      * Retrieve web service adapter
152:      *
153:      * @return Mage_Api_Model_Server_Adapter_Interface
154:      */
155:     public function getAdapter()
156:     {
157:         return $this->_adapter;
158:     }
159: 
160: 
161: } // Class Mage_Api_Model_Server_Abstract End
162: 
Magento 1.7.0.2 API documentation generated by ApiGen 2.8.0