include_lcm('inc_impex'); include_lcm('inc_xml'); 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}");
function load_case($id, &$case_data, $scope = 0) { // Load case data $result = lcm_query("SELECT * FROM lcm_case WHERE id_case={$id}"); $case_data['case']["ID{$id}"] = lcm_fetch_assoc($result); // Load the associated items - followups, clients, orgs, attachnments if ($scope & _LOAD_FU) { $result = lcm_query("SELECT * FROM lcm_followup WHERE id_case={$id}"); while ($row = lcm_fetch_assoc($result)) { load_followup($row['id_followup'], $case_data); } } if ($scope & _LOAD_CLIENT) { $result = lcm_query("SELECT * FROM lcm_case_client_org WHERE id_case={$id} AND id_client>0"); while ($row = lcm_fetch_assoc($result)) { $case_data['relation']['case-client-org']['ID' . join('-', $row)] = $row; load_client($row['id_client'], $case_data, $scope & (_LOAD_ATTACHMENT | _LOAD_CONTACTS)); } } if ($scope & _LOAD_ORG) { $result = lcm_query("SELECT * FROM lcm_case_client_org WHERE id_case={$id} AND id_org>0"); while ($row = lcm_fetch_assoc($result)) { $case_data['relation']['case-client-org']['ID' . join('-', $row)] = $row; load_org($row['id_org'], $case_data, $scope & (_LOAD_ATTACHMENT | _LOAD_CONTACTS)); } } if ($scope & _LOAD_ATTACHMENT) { $result = lcm_query("SELECT * FROM lcm_case_attachment WHERE id_case={$id}"); while ($row = lcm_fetch_assoc($result)) { $row['content'] = base64_encode($row['content']); $case_data['case']["ID{$id}"]['attachment']['ID' . $row['id_attachment']] = $row; } } }