| Server IP : 165.22.154.248 / Your IP : 216.73.217.0 [ 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 : /var/www/avanza-lms.old.bak9874115/mod/agilesson/api/ |
Upload File : |
<?php
require_once(dirname(__FILE__) . '/../../../config.php');
require_once($CFG->dirroot.'/lib/completionlib.php');
$task = $_POST['task'];
if(isloggedin() || $CFG->api_agilesson){
switch ($task) {
case 'completion':
completion();
break;
case 'status-completion':
completionStatus();
break;
case 'url_scorm_player':
url_scorm_player();
break;
case 'url_scorm':
url_scorm();
break;
}
}else{
response(false,['message'=>'Authentication required'],401);
}
function response($success=true,$data=[],$code=200){
header('Content-type: application/json');
http_response_code($code);
echo json_encode(array_merge(['success'=>true],$data));
exit();
}
function completion(){
if( isset($_REQUEST['id_curso']) && isset($_REQUEST['id_modulo'])){
//consulta el curso
$course = get_course($_REQUEST['id_curso']);
//consulta el modulo
$cm = get_coursemodule_from_id(null, $_REQUEST['id_modulo'], $course->id, false, MUST_EXIST);
//consulta el rastreo de finalización
$completion = new completion_info($course);
//marca como visto el modulo para el usuario de la session del navegador
$completion->set_module_viewed($cm);
response(true,['completion'=>'success']);
}else{
$response=[];
if(!isset($_REQUEST['id_curso']))$response['id_curso'] ='Campo requerido';
if(!isset($_REQUEST['id_modulo']))$response['id_modulo'] ='Campo requerido';
response(false,['message'=>'Campos requeridos','errors'=>$response]);
}
}
function completionStatus(){
if( isset($_REQUEST['id_curso']) && isset($_REQUEST['id_modulo'])){
//consulta el curso
$course = get_course($_REQUEST['id_curso']);
//consulta el modulo
$cm = get_coursemodule_from_id(null, $_REQUEST['id_modulo'], $course->id, false, MUST_EXIST);
//var_dump($cm);
//consulta el rastreo de finalización
$completion = new completion_info($course);
//marca como visto el modulo para el usuario de la session del navegador
$state = $completion->get_data($cm);
//var_dump($state);
response(true,['completion'=>$state->completionstate]);
} else {
$response=[];
if(!isset($_REQUEST['id_curso']))$response['id_curso'] ='Campo requerido';
if(!isset($_REQUEST['id_modulo']))$response['id_modulo'] ='Campo requerido';
response(false,['message'=>'Campos requeridos','errors'=>$response]);
}
}
function url_scorm_player(){
$url_scorm = '';
if(isset($_REQUEST['id_scorm'])){
global $CFG,$DB;
#-----------------------------------------------------------------------------
# Arma la instruccion para consultar las categorias
# exceptuando la categoria 5 herramientas de comunicación general
#-----------------------------------------------------------------------------
$sql=" SELECT e.id as scoid, e.scorm
FROM mdl_scorm s
JOIN mdl_scorm_scoes e ON (s.id=e.scorm)
JOIN mdl_course_modules c ON( c.instance=s.id )
WHERE c.id=".$_REQUEST['id_scorm']."
AND e.scormtype='sco'";
$sql = str_replace('mdl_', $CFG->prefix, $sql);
//Ejecuta la consulta en la BD
$result= $DB->get_records_sql($sql);
if(!empty($result)){
foreach($result as $res){
$scoid=$res->scoid;
$a = $res->scorm;
#-------------------------------------------------
# Construye la URL del contenido del SCORM
#-------------------------------------------------
$url_scorm =$CFG->wwwroot."/mod/scorm/player.php?a=".$a."&scoid=".$scoid."¤torg=&mode=normal&attempt=1&display=popup";
//http://dominio.com/mod/scorm/player.php?a=5¤torg=&scoid=10&sesskey=dDjcLSoqKo&display=popup&mode=normal
//http://xplorabolivar.com/formamostalento/mod/scorm/player.php?a=73¤torg=Mercadeo_N1_C5_ORG&scoid=223&sesskey=DXajXFQw8B&display=popup&mode=normal
}//Fin Foreach
}
response(true,['url'=>$url_scorm]);
}else{
$response=[];
if(!isset($_REQUEST['id_scorm']))$response['id_scorm'] ='Campo requerido';
response(false,['message'=>'Campos requeridos','errors'=>$response]);
}
}
function url_scorm(){
if(isset($_REQUEST['id_scorm'])){
global $CFG,$DB;
#-----------------------------------------------------------------------------
# Arma la instruccion para consultar las categorias
# exceptuando la categoria 5 herramientas de comunicación general
#-----------------------------------------------------------------------------
$sql=" SELECT e.id as scoid, e.scorm
FROM mdl_scorm s
JOIN mdl_scorm_scoes e ON (s.id=e.scorm)
JOIN mdl_course_modules c ON( c.instance=s.id )
WHERE c.id=".$_REQUEST['id_scorm']."
AND e.scormtype in ('sco','asset')";
//Ejecuta la consulta en la BD
$result= $DB->get_records_sql($sql);
if(!empty($result)){
foreach($result as $res){
$scoid=$res->scoid;
$a = $res->scorm;
#-------------------------------------------------
# Consulta la foto de perfil
#-------------------------------------------------
$url_scorm =$CFG->wwwroot."/mod/scorm/loadSCO.php?a=".$a."&scoid=".$scoid."¤torg=&mode=normal&attempt=1";
//http://unifrisby.sucerman.com/mod/scorm/player.php?a=5¤torg=&scoid=10&sesskey=dDjcLSoqKo&display=popup&mode=normal
//$url_scorm =$CFG->wwwroot."/mod/scorm/player.php?a=".$a."&scoid=".$scoid."¤torg=&mode=normal&attempt=1&display=popup";
}//Fin Foreach
}
response(true,['url'=>$url_scorm]);
}else{
$response=[];
if(!isset($_REQUEST['id_scorm']))$response['id_scorm'] ='Campo requerido';
response(false,['message'=>'Campos requeridos','errors'=>$response]);
}
}
?>