Example #1
0
 /**
  * Processing file data
  *
  * @param string $text
  * @return string
  */
 public function processFileData($text)
 {
     /** @var $template Mage_Core_Model_Email_Template_Filter */
     $template = Mage::getModel('core/email_template_filter');
     $this->_wsdlVariables->setHandler($this->getHandler());
     $template->setVariables(array('wsdl' => $this->_wsdlVariables));
     return $template->filter($text);
 }
Example #2
0
 /**
  * Processing file data
  *
  * @param string $text
  * @return string
  */
 public function processFileData($text)
 {
     $template = Mage::getModel('core/email_template_filter');
     if (null === $this->_wsdlVariables) {
         $this->_wsdlVariables = new Varien_Object();
         $this->_wsdlVariables->setUrl(Mage::getUrl('*/*/*'));
         $this->_wsdlVariables->setName('Magento');
         $this->_wsdlVariables->setHandler($this->getHandler());
     }
     $template->setVariables(array('wsdl' => $this->_wsdlVariables));
     $text = $template->filter($text);
     return $text;
 }
Example #3
0
 /**
  * Get wsdl config
  *
  * @return Varien_Object
  */
 protected function _getWsdlConfig()
 {
     $wsdlConfig = new Varien_Object();
     $queryParams = $this->getController()->getRequest()->getQuery();
     if (isset($queryParams['wsdl'])) {
         unset($queryParams['wsdl']);
     }
     $wsdlConfig->setUrl(htmlspecialchars(Mage::getUrl('*/*/*', array('_query' => $queryParams))));
     $wsdlConfig->setName('Magento');
     $wsdlConfig->setHandler($this->getHandler());
     return $wsdlConfig;
 }
Example #4
0
 /**
  * Run webservice
  *
  * @param Mage_Api_Controller_Action $controller
  * @return Mage_Api_Model_Server_Adapter_Soap
  */
 public function run()
 {
     $apiConfigCharset = Mage::getStoreConfig("api/config/charset");
     if ($this->getController()->getRequest()->getParam('wsdl') !== null) {
         // Generating wsdl content from template
         $io = new Varien_Io_File();
         $io->open(array('path' => Mage::getModuleDir('etc', 'Mage_Api')));
         $wsdlContent = $io->read('wsdl.xml');
         $template = Mage::getModel('core/email_template_filter');
         $wsdlConfig = new Varien_Object();
         $queryParams = $this->getController()->getRequest()->getQuery();
         if (isset($queryParams['wsdl'])) {
             unset($queryParams['wsdl']);
         }
         $wsdlConfig->setUrl(htmlspecialchars(Mage::getUrl('*/*/*', array('_query' => $queryParams))));
         $wsdlConfig->setName('Magento');
         $wsdlConfig->setHandler($this->getHandler());
         $template->setVariables(array('wsdl' => $wsdlConfig));
         $this->getController()->getResponse()->clearHeaders()->setHeader('Content-Type', 'text/xml; charset=' . $apiConfigCharset)->setBody(preg_replace('/<\\?xml version="([^\\"]+)"([^\\>]+)>/i', '<?xml version="$1" encoding="' . $apiConfigCharset . '"?>', $template->filter($wsdlContent)));
     } else {
         try {
             $this->_instantiateServer();
             $this->getController()->getResponse()->clearHeaders()->setHeader('Content-Type', 'text/xml; charset=' . $apiConfigCharset)->setBody(preg_replace('/<\\?xml version="([^\\"]+)"([^\\>]+)>/i', '<?xml version="$1" encoding="' . $apiConfigCharset . '"?>', $this->_soap->handle()));
         } catch (Zend_Soap_Server_Exception $e) {
             $this->fault($e->getCode(), $e->getMessage());
         } catch (Exception $e) {
             $this->fault($e->getCode(), $e->getMessage());
         }
     }
     return $this;
 }
Example #5
0
 /**
  * Run webservice
  *
  * @param Mage_Api_Controller_Action $controller
  * @return Mage_Api_Model_Server_Adapter_Soap
  */
 public function run()
 {
     if ($this->getController()->getRequest()->getParam('wsdl')) {
         // Generating wsdl content from template
         $io = new Varien_Io_File();
         $io->open(array('path' => Mage::getModuleDir('etc', 'Mage_Api')));
         $wsdlContent = $io->read('wsdl.xml');
         $template = Mage::getModel('core/email_template_filter');
         $wsdlConfig = new Varien_Object();
         $wsdlConfig->setUrl(Mage::getUrl('*/*/*'));
         $wsdlConfig->setName('Magento');
         $wsdlConfig->setHandler($this->getHandler());
         $template->setVariables(array('wsdl' => $wsdlConfig));
         $this->getController()->getResponse()->setHeader('Content-Type', 'text/xml')->setBody($template->filter($wsdlContent));
     } elseif ($this->_extensionLoaded()) {
         $this->_soap = new SoapServer(Mage::getUrl('*/*/*', array('wsdl' => 1)));
         use_soap_error_handler(false);
         $this->_soap->setClass($this->getHandler());
         $this->getController()->getResponse()->setHeader('Content-Type', 'text/xml')->setBody($this->_soap->handle());
     } else {
         $this->fault('0', 'Unable to load Soap extension on the server');
     }
     return $this;
 }