if ($GLOBALS['author_session']['status'] != 'admin') { lcm_panic("You don't have permission to export!"); } $item = clean_input($_REQUEST['item']); if (!empty($_REQUEST['id'])) { $id = intval($_REQUEST['id']); } $data = array(); switch ($item) { case 'case': load_case($id, $data, _LOAD_ALL); break; case 'followup': $data = load_followup($id, $data, _LOAD_ALL); break; case 'client': $data = load_client($id, $data, _LOAD_ALL); break; case 'org': $data = load_org($id, $data, _LOAD_ALL); break; default: lcm_panic("Incorrect export item type!"); exit; } // Send proper headers to browser header("Content-Type: text/xml"); header("Content-Disposition: filename={$item}_{$id}.xml"); header("Content-Description: " . "Export of {$item} ID{$id}"); echo '<?xml version="1.0"?>' . "\n"; echo xml_encode("{$item}_{$id}", $data);
function load_client($id, &$client_data, $scope = 0) { // Load client data $result = lcm_query("SELECT * FROM lcm_client WHERE id_client={$id}"); $client_data['client']["ID{$id}"] = lcm_fetch_assoc($result); // Load the associated items - cases, orgs, attachnments if ($scope & _LOAD_CASE) { $result = lcm_query("SELECT * FROM lcm_case_client_org WHERE id_client={$id}"); while ($row = lcm_fetch_assoc($result)) { $client_data['relation']['case-client-org']['ID' . join('-', $row)] = $row; load_case($row['id_case'], $client_data, $scope & (_LOAD_ATTACHMENT | _LOAD_CONTACTS)); } } if ($scope & _LOAD_ORG) { $result = lcm_query("SELECT * FROM lcm_client_org WHERE id_client={$id} AND id_org>0"); while ($row = lcm_fetch_assoc($result)) { $client_data['relation']['client-org']['ID' . join('-', $row)] = $row; load_org($row['id_org'], $client_data, $scope & (_LOAD_ATTACHMENT | _LOAD_CONTACTS)); } } if ($scope & _LOAD_ATTACHMENT) { $result = lcm_query("SELECT * FROM lcm_client_attachment WHERE id_client={$id}"); while ($row = lcm_fetch_assoc($result)) { $row['content'] = base64_encode($row['content']); $client_data['client']["ID{$id}"]['attachment']['ID' . $row['id_attachment']] = $row; } } if ($scope & _LOAD_CONTACTS) { $result = lcm_query("\tSELECT * FROM lcm_contact WHERE type_person='client' AND id_of_person={$id}"); while ($row = lcm_fetch_assoc($result)) { $client_data['client']["ID{$id}"]['contact']['ID' . $row['id_contact']] = $row; load_kw($row['type_contact'], $client_data, _LOAD_ALL); } } }