diff options
author | Egor <egor.26.93@gmail.com> | 2015-06-25 16:35:37 +0300 |
---|---|---|
committer | Egor <egor.26.93@gmail.com> | 2015-06-25 16:35:37 +0300 |
commit | d66c1ce799ea4d773699e73f934db27e764d3f17 (patch) | |
tree | 50efb9388acf2289dde44f8d39f5ee5febd7a03f /codebase/mixed_connector.php | |
parent | c5b18861823757d2632a06f13edb2ed639cf4ecd (diff) | |
download | connector-php-d66c1ce799ea4d773699e73f934db27e764d3f17.zip connector-php-d66c1ce799ea4d773699e73f934db27e764d3f17.tar.gz connector-php-d66c1ce799ea4d773699e73f934db27e764d3f17.tar.bz2 |
Added rendering data in xml for mix connector.
Diffstat (limited to 'codebase/mixed_connector.php')
-rw-r--r-- | codebase/mixed_connector.php | 63 |
1 files changed, 47 insertions, 16 deletions
diff --git a/codebase/mixed_connector.php b/codebase/mixed_connector.php index 461d6ec..bbef8d4 100644 --- a/codebase/mixed_connector.php +++ b/codebase/mixed_connector.php @@ -7,22 +7,53 @@ require_once("base_connector.php"); class MixedConnector extends Connector { - protected $connectors = array(); - - public function add($name, $conn) { - $this->connectors[$name] = $conn; - } - - public function render() { - $result = "{"; - $parts = array(); - foreach($this->connectors as $name => $conn) { - $conn->asString(true); - $parts[] = "\"".$name."\":".($conn->render())."\n"; - } - $result .= implode(",\n", $parts)."}"; - echo $result; - } + private $_data_type = null; + + function __construct($dataType = "json") { + $this->_data_type = $dataType; + } + + protected $attributes = array(); + protected $connectors = array(); + + public function add($name, $conn) { + $this->connectors[$name] = $conn; + $conn->simple = true; + } + + public function render() { + if($this->_data_type == "json") + $this->render_json(); + else + $this->render_xml(); + } + + private function render_json() { + $result = "{"; + $parts = array(); + foreach($this->connectors as $name => $conn) { + $conn->asString(true); + $parts[] = "\"".$name."\":".($conn->render())."\n"; + } + $result .= implode(",\n", $parts)."}"; + echo $result; + } + + private function render_xml() { + $result = ""; + $parts = array(); + + foreach($this->connectors as $name => $conn) { + $conn->asString(true); + $parts[] = "<".$name.">".($conn->render())."</".$name.">\n"; + } + $result .= implode("", $parts); + $this->output_as_xml($result); + } + + protected function output_as_xml($res) { + echo "<?xml version='1.0' encoding='".$this->encoding."' ?>".$this->xml_start().$res.$this->xml_end(); + } } ?>
\ No newline at end of file |