Files
LMS-Estafeta/admin/reporteExportCursos.php
T

97 lines
2.7 KiB
PHP

<?php
require_once __DIR__.'/auth_guard.php';
require_once("../config.php");
dbConnect();
global $link;
//Obtener todas las categorias registradas
$resultados = [];
$headers = ["Número de empleado","Nombre(s)","Apellidos","Centro de trabajo","Distrito","Nombre del curso","Nombre del tema","Calificación","Fecha"];
array_push($resultados,$headers);
$sqluserstotal ="SELECT
scormvars.numempl,
user.nombre as nomempl,
user.apellido,
centrotrabajo.nombrecentro AS nomcentro,
distrito.nombredistrito AS nomdistrito,
categoria.nombre as catnom,
scormpkg.nombre,
scormvars.varValue as 'calificacion',
DATE_FORMAT(scormvars.fecha, '%d-%m-%Y') AS fecha
FROM
categoria
INNER JOIN scormpkg ON scormpkg.idcategoria = categoria.id
INNER JOIN scormvars ON scormpkg.id = scormvars.SCOInstanceID
INNER JOIN user ON user.numempl = scormvars.numempl
INNER JOIN centrotrabajo ON centrotrabajo.centroid = user.centrotrabajoid
INNER JOIN distrito ON distrito.distritoid = user.distritoid
WHERE user.habilitado = 1 AND scormvars.varName = 'cmi.core.score.raw' AND scormvars.numempl <> ''";
$resultsqluserstotal = mysqli_query($link, $sqluserstotal);
$resultusers = mysqli_query($link, $sqluserstotal);
if( mysqli_num_rows( $resultusers) > 0 ){
while ($usuario = mysqli_fetch_assoc ($resultusers)) {
$cal = floatval($usuario['calificacion']);
if( $cal >= 80){
$estado = "completed";
}else{
$estado = "incomplete";
}
$obj = [
$usuario['numempl'],
$usuario['nomempl'],
$usuario['apellido'],
$usuario['nomcentro'],
$usuario['nomdistrito'],
$usuario['catnom'],
$usuario['nombre'],
$usuario['calificacion'],
$usuario['fecha']
];
array_push($resultados,$obj);
}
}
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 = "reporteEstafetaCurso__" . date('Ymd') . ".csv";
header("Content-Disposition: attachment; filename=\"$filename\"");
header("Content-Type: text/csv");
$out = fopen("php://output", 'w');
$flag = false;
foreach ($resultados as $row) {
array_walk($row, __NAMESPACE__ . '\cleanData');
fputcsv($out, array_values($row), ',', '"');
}
fclose($out);
exit;
?>