Stable 2-ago-2023
This commit is contained in:
81
service/horarios.php
Normal file
81
service/horarios.php
Normal 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: e12e2dde0e95a32e274328fd274e07d53f127630c211d838efffacd3cafc4f14edf3f3de6a649eb23f98edf6a1863a008f60e78a316d4dec996b79aeea161a0c",
|
||||
"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);
|
||||
Reference in New Issue
Block a user