Commit Bulk

This commit is contained in:
2023-08-28 15:26:15 +00:00
parent 6c15e330c4
commit 674fe5f264
54 changed files with 2838 additions and 1490 deletions

View File

@@ -0,0 +1,81 @@
<?
/*
• idPeriodo: identificador del periodo a consultar (obligatorio, número entero)
• claveFacultad: clave de la facultad a consultar (opcional, cadena)
• claveCarrera: clave de la carrera a consultar (opcional, cadena)
• claveProfesor: clave del empleado a consultar (opcional, cadena)
• fecha: fecha de la clase (opcional, cadena en formato yyyy-MM-dd)
*/
$required_params = [
'idPeriodo'
];
$optional_params = [
'claveFacultad',
'claveCarrera',
'claveProfesor',
'fecha'
];
// Check if all required params are present in $_GET
$params = array_map('strtolower', $_GET); // Convert keys to lowercase for case-insensitive comparison
// Check for missing required parameters
$missing_params = array_diff($required_params, array_keys($params));
if (!empty($missing_params)) {
$missing_params_str = implode(', ', $missing_params);
die("Missing required parameter(s): $missing_params_str");
}
// Filter and retain only the required and optional parameters
$params = array_filter($params, function ($key) use ($required_params, $optional_params) {
return in_array($key, $required_params) || in_array($key, $optional_params);
}, ARRAY_FILTER_USE_KEY);
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://portal.ulsa.edu.mx/servicios/AuditoriaAsistencialRest/AuditoriaAsistencialService.svc/auditoriaAsistencial/seleccionar",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode($params),
CURLOPT_HTTPHEADER => [
"token: 64293fb86c06e45331ab9963822762f77b9c403ca949adcc31286d550e902fff202e4c69d1574b2082ecf0b3a28b6cfd4d88b3a7d2c2ab7d329666b9a527fb1b",
"username: SGU_APSA_AUD_ASIST",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err)
die("cURL Error #:$err");
$selectedData = json_decode($response, true);
$rawInput = file_get_contents('php://input');
$input = json_decode($rawInput, true);
// check for {collect: []} in raw input
if (isset($input['collect']) && is_array($input['collect'])) {
$collect = $input['collect'];
$selectedData = array_map(function ($item) use ($collect) {
return array_intersect_key($item, array_flip($collect));
}, $selectedData);
// unique and distinct
$selectedData = array_unique($selectedData, SORT_REGULAR);
}
else {
// return invalid request error
die($rawInput);
}
// Output the selected data directly
header('Content-Type: application/json');
echo json_encode($selectedData, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);