Files
CRM/ExportTable.php
BACHIR SOULDI 2794e62571 first commit
2025-09-28 08:49:37 +01:00

129 lines
3.5 KiB
PHP

<?php
require_once 'include/utils/utils.php';
require_once 'includes/Loader.php';
vimport ('includes.runtime.EntryPoint');
require_once 'SUtiles.php';
@session_start();
if(isset($_GET['table'])){
$table = $_GET['table'];
$roleid = $_GET['roleid'];
$filename = "Data_".$table.".csv";
outputCsv($filename,$table,$roleid);
}
function outputCsv($fileName,$table,$roleid)
{
global $adb;
$filter = [];
$sub = reset(getSubordinateRoleAndUsers($roleid));
$flag = false;
foreach($sub as $key => $value){
array_push($filter,$value);
};
$user_query = 'select * from '.$table;
$result =$adb->query($user_query);
ob_clean();
header('Pragma: public');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Cache-Control: private', false);
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment;filename=' . $fileName);
$fp = fopen('php://output', 'w');
while ($row = $adb->fetchByAssoc($result)) {
if (!$flag) {
// display field/column names as first row
fputcsv($fp, array_keys($row),';');
$flag = true;
}
if(isMedicalSuperviseur($roleid)){
if(in_array($row['visiteur'],$filter)){
$csv_values = array_map('decode_html', array_values($row));
fputcsv($fp, $csv_values,';');
}
}
else{
$csv_values = array_map('decode_html', array_values($row));
fputcsv($fp, $csv_values,';');
}
}
fclose($fp);
ob_flush();
die;
}
/* ancien code lakheder ben
if(isset($_GET['table'])){
$table = $_GET['table'];
}
$extension = ".xls";//".csv";
if(isset($_GET['xls']) && $_GET['xls'] == true)
$extension = ".xls";
global $adb;
$filename = "Data_".$table.$extension; // File Name
// Download file
header("Content-Disposition: attachment; filename=\"$filename\"");
header("Content-Type: application/vnd.ms-excel");
$user_query = 'select * from '.$table;
$result =$adb->query($user_query);
// Write data to file
$flag = false;
ob_end_clean();
ob_start();
while ($row = $adb->fetch_array($result)) {
unset($row['0']);
unset($row['1']);
unset($row['2']);
unset($row['3']);
unset($row['4']);
unset($row['5']);
unset($row['6']);
unset($row['7']);
unset($row['8']);
unset($row['9']);
unset($row['10']);
unset($row['11']);
unset($row['12']);
unset($row['13']);
unset($row['14']);
unset($row['15']);
unset($row['16']);
unset($row['17']);
unset($row['18']);
unset($row['19']);
unset($row['20']);
unset($row['21']);
if (!$flag) {
// display field/column names as first row
echo implode("\t", array_keys($row)) . "\r\n";
$flag = true;
}
$temp = implode("\t", array_values($row));
$temp = str_replace("&#039;", " ", $temp);
$temp = str_replace("&rsquo;", " ", $temp);
$temp = str_replace("&ccedil;", "c", $temp);
$temp = str_replace("&acirc;", "a", $temp);
$temp = str_replace("&egrave;", "e", $temp);
$temp = str_replace('&eacute;', 'e', $temp);
$temp = str_replace('&iuml;', 'e', $temp);
$temp = str_replace('&Iuml;', 'i', $temp);
$temp = str_replace('&Eacute;', 'E', $temp);
$temp = str_replace('&nbsp;', "", $temp);
$temp = str_replace('&ocirc;', "o", $temp);
$temp = str_replace(array("\r", "\n"), '', $temp);
//preg_replace( "/\r|\n/", "", $temp );
echo str_replace('.', ',', $temp)."\r\n";
}
*/
?>