123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- <?
- /*
- • 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);
|