AnonSec Shell
Server IP : 165.22.154.248  /  Your IP : 216.73.216.165   [ 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/blocks/classmates/

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/blocks/classmates/lib.php
<?php

defined('MOODLE_INTERNAL') || die();


/**
 * @param contextid recibe el contexto id de usuario
 * @param picture recibe el id de la imagen de perfil del usuario
 * @param size recibe el tamaƱo de la imagen
 * @return string retorna la url completa de la imagen de perfil
 */
function classmates_getImageStudent($contextid, $picture, $size="f1"){
    global $DB,$CFG;

    $imagen=$CFG->wwwroot."/theme/image.php?theme=".$CFG->theme."&component=core&image=u%2F".$size;
    
    if($picture <> 0 ){
        $imagen=$CFG->wwwroot."/pluginfile.php/".$contextid."/user/icon/".$size;
    }
    

    return $imagen;
}

/**
 * devuelve una lista de usuarios por rol de estudiante
 * @param courseid recibe el id de curso
 * @return array retorna todos los datos
 */
function classmates_getListClassmates($courseid, $limit=50){
    global $DB, $CFG;
    $role_id_student = 5;
    $id_picture_default = 0;
    $context_course = 50;
    $context_user = 30;

    $randomFunSQL = classmates_getFunRandomSql($CFG->dbtype);

    $sql = "SELECT 
        u.id as userid,
        u.firstname,
        u.lastname,
        u.picture,
        ct.id as contextid, 
        t.id as context_id_curso
    FROM mdl_user u
    JOIN mdl_role_assignments a ON (a.userid=u.id)
    JOIN mdl_context t ON (t.id = a.contextid)
    JOIN mdl_course c ON (c.id =t.instanceid)
    JOIN mdl_context ct ON (ct.instanceid=u.id and ct.contextlevel={$context_user})
    WHERE t.contextlevel= {$context_course}
    AND c.id = {$courseid} 
    AND u.picture <> 0
    AND a.roleid = {$role_id_student}
    ORDER BY {$randomFunSQL}
    LIMIT {$limit}";

    $sql = str_replace('mdl_', $CFG->prefix, $sql);
    $result = $DB->get_records_sql($sql);

    //var_dump($result);
    //exit();

    return $result;
}

/**
 * organiza los datos en arreglo para poder definirlos en mustache
 * @param data recibe un arreglo de datos
 * @return array retorna un arreglo de datos organizado
 */
function classmates_orderDataMustache($data){
    $array_data = array();

    foreach($data as $key => $value){
        $object = array("student" => $value);
        
        $object["images"] = classmates_getImageStudent($value->contextid, $value->picture);


        array_push($array_data, $object);
    }
    return $array_data;
}
/**
 * permite elegir la funcion para generar randoms en sql dependiendo si es otra base de datos.
 * @param db_type recibe el tipo de base de dato de moodle
 */
function classmates_getFunRandomSql($db_type){
    $postgres_type = "pgsql";
    if($db_type == $postgres_type){
        return "RANDOM()";
    } else {
        return "RAND()";
    }
}

Anon7 - 2022
AnonSec Team