function get_xml_for_type($type, $records) { global $frmdb, $wpdb; $xml = "<{$type}>\n"; $padding = " "; foreach ($records as $record) { $singular = trim($type, 's'); $object_key = $singular . '_key'; $xml .= $padding . "<{$singular}>\n"; $padding .= " "; $xml .= $padding . "<" . $singular . "_key><![CDATA[" . $record->{$object_key} . "]]></" . $singular . "_key>\n"; foreach (array('id', 'name', 'description', 'options', 'logged_in', 'editable', 'is_template', 'default_template', 'content', 'dyncontent', 'insert_loc', 'param', 'type', 'show_count', 'form_id', 'entry_id', 'post_id', 'ip', 'created_at') as $col) { if (isset($record->{$col})) { $col_val = maybe_unserialize($record->{$col}); $xml .= FrmProAppHelper::xml_item($col_val, $col, $padding); } } if ($type == 'forms') { $fields = $wpdb->get_results("SELECT * FROM {$frmdb->fields} WHERE form_id={$record->id} ORDER BY field_order"); if (!empty($fields)) { $xml .= $padding . "<fields>\n"; $padding .= " "; foreach ($fields as $field) { $xml .= $padding . "<field>\n"; foreach (array('id', 'field_key', 'required', 'name', 'description', 'field_order', 'type', 'default_value', 'options', 'field_options', 'form_id') as $col) { if (isset($field->{$col})) { $col_val = maybe_unserialize($field->{$col}); $xml .= FrmProAppHelper::xml_item($col_val, $col, $padding); } } $xml .= $padding . "</field>\n"; } $padding = " "; $xml .= $padding . "</fields>\n"; } } else { if ($type == 'items') { $metas = $wpdb->get_results("SELECT * FROM {$frmdb->entry_metas} WHERE item_id={$record->id}"); if ($metas) { $xml .= $padding . "<item_meta>\n"; foreach ($metas as $meta) { $xml .= $padding . "<meta>\n"; $xml .= $padding . " <field_id>{$meta->field_id}</field_id>\n"; $xml .= $padding . " <item_id>{$meta->item_id}</item_id>\n"; //$meta_values = maybe_unserialize($meta->meta_value); //if(is_array($meta_values)){ // foreach($meta_values as $meta_key => $meta_value) // $xml .= $padding."<meta_value type=\"$meta_key\"><![CDATA[$meta_value]]></meta_value>\n"; //}else $xml .= $padding . " <meta_value><![CDATA[{$meta->meta_value}]]></meta_value>\n"; $xml .= $padding . "</meta>\n"; } $xml .= $padding . "</item_meta>\n"; } } } $padding = " "; $xml .= $padding . "</{$singular}>\n"; } $xml .= "</{$type}>\n"; return $xml; }