| Server IP : 165.22.154.248 / Your IP : 216.73.216.251 [ Web Server : Apache/2.4.29 (Ubuntu) System : Linux droplet-integra 4.15.0-197-generic #208-Ubuntu SMP Tue Nov 1 17:23:37 UTC 2022 x86_64 User : www-data ( 33) PHP Version : 7.2.24-0ubuntu0.18.04.15 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, Domains : 1 Domains MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /proc/9427/cwd/avanza-lms.old.bak9874115/api/ |
Upload File : |
<?php
//Servicio que busca y retorna un estudiante de un curso por usuario o por cédula. Parametros -> id_course=214 search_text = 16079923
require_once(dirname(__FILE__) . '/../config.php');
session_start();
//Variables globales
global $CFG, $USER, $DB;
define('SIZE', 'f3');
$arrayRespuesta = array(
'estado' => '-1',
'mensaje' => 'Usuario no autenticado',
'data' => $_REQUEST
);
if(isloggedin()) {
try {
if($_SERVER['REQUEST_METHOD'] === 'GET') {
if(isset($_REQUEST['id_course']) && isset($_REQUEST['search_text'])) {
$idCourse = $_REQUEST['id_course'];
$searchText = $_REQUEST['search_text'];
$sql = "
SELECT u.id,
u.username as username,
u.firstname as nombre,
u.lastname as apellidos,
u.email as correo,
d.data as restaurante,
g.finalgrade as 'nota_final',
i2.id as item_certificacion_practica,
COALESCE(g2.finalgrade, 0) as 'nota_certificacion_practica'
FROM mdl_user u
JOIN mdl_user_info_data d ON (d.userid=u.id and d.data <> '')
JOIN mdl_user_info_field f ON (f.id=d.fieldid and f.shortname='Centrodecostos')
JOIN mdl_role_assignments s ON ( u.id = s.userid )
JOIN mdl_role r ON ( r.id = s.roleid )
JOIN mdl_context ct ON ( ct.id = s.contextid AND ct.contextlevel =50 )
JOIN mdl_course c ON ( c.id = ct.instanceid )
LEFT JOIN mdl_grade_items i ON (c.id = i.courseid AND i.itemtype='course')
LEFT JOIN mdl_grade_grades g ON (i.id= g.itemid AND g.userid = u.id)
LEFT JOIN mdl_grade_items i2 ON (c.id = i2.courseid AND i2.itemtype='manual' and i2.itemname='Certificación Práctica')
LEFT JOIN mdl_grade_grades g2 ON (i2.id= g2.itemid AND g2.userid = u.id)
WHERE c.id = ".$idCourse."
AND ( u.username like '%".$searchText."%'
OR CONCAT(u.firstname,' ',u.lastname) like '%".$searchText."%'
)
";
$result=$DB->get_records_sql($sql);
$arrayUser = array();
foreach($result as $res) {
$url_foto = getImagenPerfil($res->id, SIZE);
$user = new stdClass();
$user->id = $res->id;
$user->foto = $CFG->wwwroot.$url_foto;
$user->usuario = $res->username;
$user->nombre = $res->nombre;
$user->apellidos = $res->apellidos;
$user->correo = $res->correo;
$user->restaurante = $res->restaurante;
$user->nota_final = $res->nota_final;
$user->item_certificacion_practica = $res->item_certificacion_practica;
$user->nota_certificacion_practica = $res->nota_certificacion_practica;
array_push($arrayUser, $user);
}
$arrayRespuesta = array(
'estado'=>'1',
'mensaje'=>'Consulta realizada',
'data'=> $arrayUser
);
} else {
$arrayRespuesta=array(
'estado'=>'-2',
'mensaje'=>'Parametros incompletos',
'data'=>$_REQUEST
);
}
} else {
$arrayRespuesta = array(
'estado'=>'-5',
'mensaje'=>'Método HTTP incorrecto',
'data'=>$_REQUEST
);
}
} catch(Exception $e) {
$arrayRespuesta = array(
'estado' => '0',
'mensaje' => $e->getMessage(),
'data' => $_REQUEST
);
}
}
header('Content-type: application/json');
echo json_encode($arrayRespuesta);
?>