84 lines
2.4 KiB
PHP
84 lines
2.4 KiB
PHP
|
|
<?php
|
||
|
|
require_once __DIR__.'/auth_guard.php';
|
||
|
|
require_once("../config.php");
|
||
|
|
|
||
|
|
dbConnect();
|
||
|
|
global $link;
|
||
|
|
|
||
|
|
$rol = isset($_REQUEST['roladmin']) ? (int)$_REQUEST['roladmin'] : 2;
|
||
|
|
|
||
|
|
$sqluserstotal = "SELECT
|
||
|
|
user.userid,
|
||
|
|
user.numempl,
|
||
|
|
user.email,
|
||
|
|
user.nombre,
|
||
|
|
user.apellido,
|
||
|
|
rol.nombre as rol,
|
||
|
|
user.centrotrabajonom,
|
||
|
|
user.distritonom,
|
||
|
|
user.posicion,
|
||
|
|
user.sociedad,
|
||
|
|
user.division,
|
||
|
|
user.unidad_organizativa,
|
||
|
|
user.ceco,
|
||
|
|
user.supervisor,
|
||
|
|
IF(user.habilitado = 1, 'ACTIVO','BAJA') as habilitado,
|
||
|
|
user.lastlogin,
|
||
|
|
user.creado,
|
||
|
|
user.actualizacion
|
||
|
|
FROM
|
||
|
|
user
|
||
|
|
INNER JOIN rol ON user.idrol = rol.id";
|
||
|
|
if ($rol != 2) {
|
||
|
|
$sqluserstotal .= " WHERE user.idrol != 2";
|
||
|
|
}
|
||
|
|
|
||
|
|
$resultados = array();
|
||
|
|
$headers = array("Número de empleado","Nombres (s)","Apellidos","Perfil","Centro de trabajo","Distrito","Posición","Sociedad","División","Unidad organizativa","CeCo","Supervisor","Habilitado","Ultimo acceso","Creado","Actualización");
|
||
|
|
array_push($resultados, $headers);
|
||
|
|
|
||
|
|
$resultusers = mysqli_query($link, $sqluserstotal);
|
||
|
|
if ($resultusers && mysqli_num_rows($resultusers) > 0) {
|
||
|
|
while ($usuario = mysqli_fetch_assoc($resultusers)) {
|
||
|
|
$resultados[] = array(
|
||
|
|
$usuario['numempl'],
|
||
|
|
$usuario['nombre'],
|
||
|
|
$usuario['apellido'],
|
||
|
|
$usuario['rol'],
|
||
|
|
$usuario['centrotrabajonom'],
|
||
|
|
$usuario['distritonom'],
|
||
|
|
$usuario['posicion'],
|
||
|
|
$usuario['sociedad'],
|
||
|
|
$usuario['division'],
|
||
|
|
$usuario['unidad_organizativa'],
|
||
|
|
$usuario['ceco'],
|
||
|
|
$usuario['supervisor'],
|
||
|
|
$usuario['habilitado'],
|
||
|
|
$usuario['lastlogin'],
|
||
|
|
$usuario['creado'],
|
||
|
|
$usuario['actualizacion'],
|
||
|
|
);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
function cleanData(&$str)
|
||
|
|
{
|
||
|
|
$str = mb_convert_encoding($str, 'UTF-16LE', 'UTF-8');
|
||
|
|
$str = preg_replace("/\t/", " ", $str);
|
||
|
|
$str = preg_replace("/\r?\n/", " ", $str);
|
||
|
|
if (strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"';
|
||
|
|
}
|
||
|
|
|
||
|
|
$filename = "reporte - Listado de Usuarios" . date('Ymd') . ".csv";
|
||
|
|
|
||
|
|
header("Content-Disposition: attachment; filename=\"$filename\"");
|
||
|
|
header("Content-Type: text/csv");
|
||
|
|
$out = fopen("php://output", 'w');
|
||
|
|
foreach ($resultados as $row) {
|
||
|
|
array_walk($row, __NAMESPACE__ . '\cleanData');
|
||
|
|
fputcsv($out, array_values($row), ',', '"');
|
||
|
|
}
|
||
|
|
fclose($out);
|
||
|
|
exit;
|
||
|
|
?>
|