/** * Check API type support * * @param string $type * @return bool */ public function isApiTypeSupported($type) { return in_array($type, Mage_Api2_Model_Server::getApiTypes()); }
exit; } if (isset($_SERVER['MAGE_IS_DEVELOPER_MODE'])) { Mage::setIsDeveloperMode(true); } #ini_set('display_errors', 1); // emulate index.php entry point for correct URLs generation in API Mage::register('custom_entry_point', true); Mage::$headersSentThrowsException = false; Mage::init('admin'); Mage::app()->loadAreaPart(Mage_Core_Model_App_Area::AREA_GLOBAL, Mage_Core_Model_App_Area::PART_EVENTS); Mage::app()->loadAreaPart(Mage_Core_Model_App_Area::AREA_ADMINHTML, Mage_Core_Model_App_Area::PART_EVENTS); // query parameter "type" is set by .htaccess rewrite rule $apiAlias = Mage::app()->getRequest()->getParam('type'); // check request could be processed by API2 if (in_array($apiAlias, Mage_Api2_Model_Server::getApiTypes())) { /** @var $server Mage_Api2_Model_Server */ $server = Mage::getSingleton('api2/server'); $server->run(); } else { /* @var $server Mage_Api_Model_Server */ $server = Mage::getSingleton('api/server'); $adapterCode = $server->getAdapterCodeByAlias($apiAlias); // if no adapters found in aliases - find it by default, by code if (null === $adapterCode) { $adapterCode = $apiAlias; } try { $server->initialize($adapterCode); $server->run(); Mage::app()->getResponse()->sendResponse();
sendError(500, 'Internal Server Error'); } if (isset($_SERVER['MAGE_IS_DEVELOPER_MODE'])) { Mage::setIsDeveloperMode(true); if (isset($_SERVER['MAGE_DISPLAY_ERRORS'])) { ini_set('display_errors', 1); } } Mage::$headersSentThrowsException = false; $mageRunCode = isset($_SERVER['MAGE_RUN_CODE']) ? $_SERVER['MAGE_RUN_CODE'] : 'admin'; $mageRunType = isset($_SERVER['MAGE_RUN_TYPE']) ? $_SERVER['MAGE_RUN_TYPE'] : 'store'; Mage::init($mageRunCode, $mageRunType); Mage::app()->loadAreaPart(Mage_Core_Model_App_Area::AREA_GLOBAL, Mage_Core_Model_App_Area::PART_EVENTS); if (Mage::app()->getStore()->isAdmin()) { Mage::app()->loadAreaPart(Mage_Core_Model_App_Area::AREA_ADMINHTML, Mage_Core_Model_App_Area::PART_EVENTS); Mage::app()->loadAreaPart(Mage_Core_Model_App_Area::AREA_ADMINHTML, Mage_Core_Model_App_Area::PART_TRANSLATE); } else { Mage::app()->loadAreaPart(Mage_Core_Model_App_Area::AREA_FRONTEND, Mage_Core_Model_App_Area::PART_EVENTS); Mage::app()->loadAreaPart(Mage_Core_Model_App_Area::AREA_FRONTEND, Mage_Core_Model_App_Area::PART_TRANSLATE); } // emulate index.php entry point for correct URLs generation in API Mage::register('custom_entry_point', true); // query parameter "type" is set by .htaccess rewrite rule $apiType = Mage::app()->getRequest()->getParam('type'); // Check if the request can be processed by Mage_Api2 if (!in_array($apiType, Mage_Api2_Model_Server::getApiTypes())) { sendError(500, 'Internal Server Error'); } /** @var $server Mage_Api2_Model_Server */ $server = Mage::getSingleton('api2/server'); $server->run();