Files
LMS-Estafeta/admin/asignacion_getList.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;
?>