public function convert(DataObject $object)
 {
     if ($object->hasMethod('toFilteredMap')) {
         $data = $object->toFilteredMap();
     } else {
         $data = $object->toMap();
     }
     $converter = new ArrayToXml('item');
     return $converter->convertArray($data);
 }
 public function convert($set)
 {
     $items = array();
     foreach ($set as $item) {
         if ($item instanceof Object && $item->hasMethod('toFilteredMap')) {
             $items[] = $item->toFilteredMap();
         } else {
             if (method_exists($item, 'toMap')) {
                 $items[] = $item->toMap();
             } else {
                 $items[] = $item;
             }
         }
     }
     $converter = new ArrayToXml('items');
     return $converter->convertArray($items);
 }
 /**
  * Preparing data and parsing result received
  * 
  * @param array $data
  * @return void
  */
 public function handle($data)
 {
     $this->_request = ArrayToXml::render($data);
     $this->_rawRequest = $this->_request;
     $xmlResponse = self::sendMessage($this->_request);
     if (!in_array($this->getConnection()->getHttpStatusCode(), array('200', '301', '302'))) {
         $this->_response = array('errors' => array('error' => array('code' => array('@data' => $this->getConnection()->getHttpStatusCode()), 'message' => array('@data' => $this->getConnection()->error))));
     } else {
         try {
             $this->_response = XmlToArray::render($xmlResponse);
         } catch (Exception $e) {
             $this->_response = array('errors' => array('error' => array('code' => array('@data' => '0999'), 'message' => array('@data' => $e->getMessage()))));
         }
     }
     $this->_rawResponse = $xmlResponse;
 }
Exemplo n.º 4
0
 /**
  * send this message and get response
  * save all warnings - errors are only saved if no payment-url is send from pnag
  *
  * @return SofortLib_TransactionData $this
  */
 public function sendRequest()
 {
     $requestData[$this->_xmlRootTag] = $this->_parameters;
     $requestData = $this->_prepareRootTag($requestData);
     $xmlRequest = ArrayToXml::render($requestData);
     $this->_log($xmlRequest, ' XmlRequest -> ');
     $xmlResponse = $this->_sendMessage($xmlRequest);
     try {
         $this->_response = XmlToArray::render($xmlResponse);
     } catch (Exception $e) {
         $this->_response = array('errors' => array('error' => array('code' => array('@data' => '0999'), 'message' => array('@data' => $e->getMessage()))));
     }
     $this->_log($xmlResponse, ' XmlResponse <- ');
     $this->_handleErrors();
     $this->_parseXml();
     return $this;
 }
Exemplo n.º 5
0
 public static function render(array $input, array $options = array())
 {
     $options = array_merge(array('version' => '1.0', 'encoding' => 'UTF-8', 'trim' => true, 'depth' => 10), $options);
     $Instance = new ArrayToXml($input, $options['depth'], $options['trim']);
     return $Instance->toXml($options['version'], $options['encoding']);
 }
Exemplo n.º 6
0
 public function sendXml($data, $rootName = 'data')
 {
     $xml = new ArrayToXml($rootName);
     $this->data = $xml->toXml($data);
     $this->_sendResponse(true, 'application/xml');
 }
 public function testRender()
 {
     $ArrayToXml = new ArrayToXml(array(array(1)));
     $this->assertEquals("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<test>1</test>", $ArrayToXml->render(array('test' => 1)));
 }
 public function convert($array, $controller)
 {
     $converter = new ArrayToXml('items');
     return $converter->convertArray($array);
 }