function GetXml() { $xml_data = new msp_gc_XmlBuilder(); $xml_data->xml = ''; //$xml_data->Push('custom-fields'); foreach ($this->fields as $field) { $xml_data->Push('field'); if ($field->standardField) { $xml_data->Element('standardtype', $field->standardField); } if ($field->name) { $xml_data->Element('name', $field->name); } if ($field->type) { $xml_data->Element('type', $field->type); } if ($field->default) { $xml_data->Element('default', $field->default); } if ($field->savevalue) { $xml_data->Element('savevalue', $field->savevalue); } if ($field->label) { $this->_GetXmlLocalized($xml_data, 'label', $field->label); } if (!empty($field->descriptionTop)) { $xml_data->Push('description-top'); if (!empty($field->descriptionTop['style'])) { $xml_data->Element('style', $field->descriptionTop['style']); } $this->_GetXmlLocalized($xml_data, 'value', $field->descriptionTop['value']); $xml_data->Pop('description-top'); } if (!empty($field->descriptionRight)) { $xml_data->Push('description-right'); if (!empty($field->descriptionRight['style'])) { $xml_data->Element('style', $field->descriptionRight['style']); } $this->_GetXmlLocalized($xml_data, 'value', $field->descriptionRight['value']); $xml_data->Pop('description-right'); } if (!empty($field->descriptionBottom)) { $xml_data->Push('description-bottom'); if (!empty($field->descriptionBottom['style'])) { $xml_data->Element('style', $field->descriptionBottom['style']); } $this->_GetXmlLocalized($xml_data, 'value', $field->descriptionBottom['value']); $xml_data->Pop('description-bottom'); } if (!empty($field->options)) { $xml_data->Push('options'); foreach ($field->options as $option) { $xml_data->Push('option'); $xml_data->Element('value', $option->value); $this->_GetXmlLocalized($xml_data, 'label', $option->label); $xml_data->Pop('option'); } $xml_data->Pop('options'); } if (!empty($field->validation)) { foreach ($field->validation as $validation) { $xml_data->Push('validation'); $xml_data->Element($validation->type, $validation->data); $this->_GetXmlLocalized($xml_data, 'error', $validation->error); $xml_data->Pop('validation'); } } if ($field->filter) { $xml_data->Push('field-restrictions'); if (!empty($field->filter->allowed_country_codes_arr)) { $xml_data->Push('allowed-areas'); foreach ($field->filter->allowed_country_codes_arr as $country_code) { $xml_data->Push('postal-area'); $xml_data->Element('country-code', $country_code); $xml_data->Pop('postal-area'); } $xml_data->Pop('allowed-areas'); } if (!empty($field->filter->excluded_country_codes_arr)) { $xml_data->Push('excluded-areas'); foreach ($field->filter->excluded_country_codes_arr as $country_code) { $xml_data->Push('postal-area'); $xml_data->Element('country-code', $country_code); $xml_data->Pop('postal-area'); } $xml_data->Pop('excluded-areas'); } $xml_data->Pop('field-restrictions'); } $xml_data->Pop('field'); } //$xml_data->Pop('custom-fields'); return '<custom-fields>' . $xml_data->GetXML() . $this->fields_xml_extra . '</custom-fields>'; }
function GetXml() { $xml_data = new msp_gc_XmlBuilder(); $xml_data->Push('custom-fields'); foreach ($this->fields as $field) { $xml_data->Push('field'); if ($field->standardField) { $xml_data->Element('standardtype', $field->standardField); } if ($field->name) { $xml_data->Element('name', $field->name); } if ($field->type) { $xml_data->Element('type', $field->type); } if ($field->default) { $xml_data->Element('default', $field->default); } if ($field->savevalue) { $xml_data->Element('savevalue', $field->savevalue); } if ($field->label) { $this->_GetXmlLocalized($xml_data, 'label', $field->label); } if (!empty($field->options)) { $xml_data->Push('options'); foreach ($field->options as $option) { $xml_data->Push('option'); $xml_data->Element('value', $option->value); $this->_GetXmlLocalized($xml_data, 'label', $option->label); $xml_data->Pop('option'); } $xml_data->Pop('options'); } if (!empty($field->validation)) { foreach ($field->validation as $validation) { $xml_data->Push('validation'); $xml_data->Element($validation->type, $validation->data); $this->_GetXmlLocalized($xml_data, 'error', $validation->error); $xml_data->Pop('validation'); } } if ($field->filter) { $xml_data->Push('field-restrictions'); if (!empty($field->filter->allowed_country_codes_arr)) { $xml_data->Push('allowed-areas'); foreach ($field->filter->allowed_country_codes_arr as $country_code) { $xml_data->Push('postal-area'); $xml_data->Element('country-code', $country_code); $xml_data->Pop('postal-area'); } $xml_data->Pop('allowed-areas'); } if (!empty($field->filter->excluded_country_codes_arr)) { $xml_data->Push('excluded-areas'); foreach ($field->filter->excluded_country_codes_arr as $country_code) { $xml_data->Push('postal-area'); $xml_data->Element('country-code', $country_code); $xml_data->Pop('postal-area'); } $xml_data->Pop('excluded-areas'); } $xml_data->Pop('field-restrictions'); } $xml_data->Pop('field'); } $xml_data->Pop('custom-fields'); return $xml_data->GetXML(); }