100 lines
2.3 KiB
PHP
100 lines
2.3 KiB
PHP
|
|
<?php
|
||
|
|
require_once __DIR__.'/auth_guard.php';
|
||
|
|
include '../config.php';
|
||
|
|
session_name($CFG->sessionname);
|
||
|
|
session_start();
|
||
|
|
if(!isset($_SESSION['usersession'])){
|
||
|
|
header("Location: ".$CFG->wwwroot);
|
||
|
|
}
|
||
|
|
|
||
|
|
dbConnect();
|
||
|
|
|
||
|
|
global $link;
|
||
|
|
$datatotal = [];
|
||
|
|
|
||
|
|
$sqlcat = "SELECT nombre FROM categoria WHERE padre = 0 ";
|
||
|
|
|
||
|
|
$resultcat = mysqli_query($link, $sqlcat);
|
||
|
|
|
||
|
|
$encabezadosrow = ['numempl'];
|
||
|
|
|
||
|
|
while ($row = mysqli_fetch_assoc ($resultcat)){
|
||
|
|
array_push($encabezadosrow, $row['nombre']);
|
||
|
|
}
|
||
|
|
|
||
|
|
$sqlusers = "SELECT
|
||
|
|
user.numempl,
|
||
|
|
categoria.nombre
|
||
|
|
FROM
|
||
|
|
asignacion
|
||
|
|
INNER JOIN user ON user.userid = asignacion.uid
|
||
|
|
INNER JOIN categoria ON categoria.id = asignacion.catid
|
||
|
|
WHERE categoria.habilitado = 1
|
||
|
|
ORDER BY categoria.order_desc";
|
||
|
|
|
||
|
|
$resultados = mysqli_query($link, $sqlusers);
|
||
|
|
while ($row = mysqli_fetch_assoc ($resultados)){
|
||
|
|
$data [] = $row;
|
||
|
|
}
|
||
|
|
|
||
|
|
$numempl = 0;
|
||
|
|
foreach ($data as $key => $value) {
|
||
|
|
foreach ($value as $key2 => $value1) {
|
||
|
|
if($key2 == 'numempl'){
|
||
|
|
if ($value1 != $numempl) {
|
||
|
|
$numempl = $value1;
|
||
|
|
$dataind[0] = $value1;
|
||
|
|
}
|
||
|
|
|
||
|
|
}else{
|
||
|
|
foreach ($encabezadosrow as $keyenc => $encabezado) {
|
||
|
|
if ($keyenc > 0) {
|
||
|
|
if ($value1 == $encabezado) {
|
||
|
|
$dataind[$keyenc] = "1";
|
||
|
|
}else{
|
||
|
|
$dataind[$keyenc] = "0";
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
array_push($datatotal, $dataind);
|
||
|
|
|
||
|
|
//print_r($datatotal);
|
||
|
|
|
||
|
|
|
||
|
|
function cleanData(&$str)
|
||
|
|
{
|
||
|
|
$str = mb_convert_encoding($str , 'UTF-16LE' ,'UTF-8');
|
||
|
|
$str = preg_replace("/\t/", "\\t", $str);
|
||
|
|
$str = preg_replace("/\r?\n/", "\\n", $str);
|
||
|
|
if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"';
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
// filename for download
|
||
|
|
$filename = "Listado_Asignaciones" . date('Ymd') . ".csv";
|
||
|
|
|
||
|
|
header("Content-Disposition: attachment; filename=\"$filename\"");
|
||
|
|
header("Content-Type: text/csv");
|
||
|
|
$out = fopen("php://output", 'w');
|
||
|
|
$flag = false;
|
||
|
|
|
||
|
|
$encabezados = $encabezadosrow;
|
||
|
|
array_walk($encabezados, __NAMESPACE__ . '\cleanData');
|
||
|
|
|
||
|
|
|
||
|
|
fputcsv($out, array_values($encabezados), ',', '"');
|
||
|
|
|
||
|
|
foreach ($datatotal as $key => $val) {
|
||
|
|
array_walk($val, __NAMESPACE__ . '\cleanData');
|
||
|
|
fputcsv($out, array_values($val), ',', '"');
|
||
|
|
}
|
||
|
|
|
||
|
|
fclose($out);
|
||
|
|
exit;
|
||
|
|
|
||
|
|
?>
|