/**
  * Fail to get tasks id and activity names from a not existing course
  */
 public function test_getmoodlecoursetasks_fail()
 {
     $result = evalcomix_tasks::get_moodle_course_tasks('30');
     $zero = sizeof($result);
     $this->assertEqual($zero, '0');
     unset($result, $zero);
 }
Esempio n. 2
0
function query($type, $id, $idCurso)
{
    include_once '../../../../config.php';
    switch ($type) {
        // 1.- Listado de tareas
        case 1:
            global $DB;
            include_once '../../classes/evalcomix_tasks.php';
            $tasks = evalcomix_tasks::get_moodle_course_tasks($idCurso);
            return $tasks;
            /*	return array(					
            				array('id'=> 1, 'nombre'=> 'tarea1'),
            				array('id'=> 2, 'nombre'=>'tarea2'),
            				array('id'=> 3, 'nombre'=>'tarea3'),
            				array('id'=> 4, 'nombre'=>'tarea4')
            			);*/
            break;
            // 2.- Listado de grupos asociados a una tarea, el id correspondería a una tarea y
            // habría que seleccionar los grupos asociados a dicho id
        // 2.- Listado de grupos asociados a una tarea, el id correspondería a una tarea y
        // habría que seleccionar los grupos asociados a dicho id
        case 2:
            global $DB;
            $groups = $DB->get_records('groups', array('courseid' => $idCurso));
            $array_groups = array();
            foreach ($groups as $group) {
                $array_groups[] = array('id' => $group->id, 'nombre' => $group->name);
            }
            return $array_groups;
            /*return array(					
            			array('id'=> 1, 'nombre'=> 'grupo1'),
            			array('id'=> 2, 'nombre'=>'grupo2'),
            			array('id'=> 3, 'nombre'=>'grupo3'),
            			array('id'=> 4, 'nombre'=>'grupo4')
            		);*/
            break;
            // 3.- Listado de modalidades disponibles
        // 3.- Listado de modalidades disponibles
        case 3:
            return array(array('id' => 1, 'nombre' => 'profesor'), array('id' => 2, 'nombre' => 'autoevaluacion'), array('id' => 3, 'nombre' => 'entre iguales'));
            break;
            // 4.- Listado de los alumnos asociados a una tarea
            // Llamada de ejemplo: Grafica perfil-tarea al seleccionar por alumno y tarea
            // Llamada de ejemplo: Grafica perfil-tarea al seleccionar por grupo y a elegir un grupo
        // 4.- Listado de los alumnos asociados a una tarea
        // Llamada de ejemplo: Grafica perfil-tarea al seleccionar por alumno y tarea
        // Llamada de ejemplo: Grafica perfil-tarea al seleccionar por grupo y a elegir un grupo
        case 4:
            $pos = strpos($id, ';');
            if ($pos == false) {
                //Entra si no estamos en grupo
                global $DB, $CFG;
                include_once '../../classes/evalcomix_assessments.php';
                $users = evalcomix_assessments::get_students_assessed($id);
                $array_students = array();
                foreach ($users as $user) {
                    $student = $DB->get_record('user', array('id' => $user));
                    $array_students[] = array('id' => $user, 'nombre' => $student->lastname . ', ' . $student->firstname);
                }
                return $array_students;
                /*return array(					
                			array('id'=> 1, 'nombre'=> 'alumnoTarea1'),
                			array('id'=> 2, 'nombre'=>'alumnoTarea2'),
                			array('id'=> 3, 'nombre'=>'alumnoTarea3'),
                			array('id'=> 4, 'nombre'=>'alumnoTarea4'),
                			array('id'=> 4, 'nombre'=>'alumnoTarea4')
                		);*/
            } else {
                //Entra si estamos en un grupo
                $idtarea = substr($id, 0, $pos);
                $idgrupo = substr($id, $pos + 1);
                if ($idgrupo == -2) {
                    //Caso de sin grupo (Todos los alumnos, idCurso)
                    /*return array(					
                    				array('id'=> 1, 'nombre'=> 'alumnoTareaGrupo1'),
                    				array('id'=> 2, 'nombre'=>'alumnoTareaGrupo2'),
                    				array('id'=> 3, 'nombre'=>'alumnoTareaGrupo3'),
                    				array('id'=> 4, 'nombre'=>'alumnoTareaGrupo4'),
                    				array('id'=> 5, 'nombre'=>'alumnoTareaGrupo5'),
                    				array('id'=> 6, 'nombre'=>'alumnoTareaGrupo6'),
                    				array('id'=> 7, 'nombre'=>'alumnoTareaGrupo4')
                    		);*/
                    global $DB, $CFG;
                    include_once '../../classes/evalcomix_assessments.php';
                    $users = evalcomix_assessments::get_students_assessed($idtarea);
                    $array_students = array();
                    foreach ($users as $user) {
                        $student = $DB->get_record('user', array('id' => $user));
                        $array_students[] = array('id' => $user, 'nombre' => $student->lastname . ', ' . $student->firstname);
                    }
                    return $array_students;
                } else {
                    //Caso de un grupo (Alumnos de grupo idgrupo)
                    $idtarea = substr($id, 0, $pos);
                    $idgrupo = substr($id, $pos + 1);
                    global $DB, $CFG;
                    include_once '../../classes/evalcomix_assessments.php';
                    $users = evalcomix_assessments::get_students_assessed($idtarea);
                    $groups_member = $DB->get_records('groups_members', array('groupid' => $idgrupo));
                    $members_ids = array();
                    //Vamos comprobando para cada miembro del grupo si ha sido evaluado en la actividad
                    foreach ($groups_member as $member) {
                        //$members_ids[] = $member->userid;
                        if (in_array($member->userid, $users)) {
                            $members_ids[] = $member->userid;
                        }
                    }
                    //$array_intersection = array_intersect_assoc($users, $members_ids);
                    $array_students = array();
                    //foreach($array_intersection as $student){
                    foreach ($members_ids as $student) {
                        $user = $DB->get_record('user', array('id' => $student));
                        $array_students[] = array('id' => $user->id, 'nombre' => $user->lastname . ', ' . $user->firstname);
                    }
                    /*global $DB;
                    		$groups_member = $DB->get_records('groups_members', array('groupid' => $idgrupo));
                    		$array_students = array();
                    		foreach($groups_member as $student){
                    			$user = $DB->get_record('user', array('id' => $student->userid));
                    			$array_students[] = array('id' => $user->id, 'nombre' =>($user->lastname.', '.$user->firstname));
                    		}*/
                    return $array_students;
                    /*return array(					
                    			array('id'=> 1, 'nombre'=> 'alumnoTareaGrupo1'),
                    			array('id'=> 2, 'nombre'=>'alumnoTareaGrupo2'),
                    			array('id'=> 3, 'nombre'=>'alumnoTareaGrupo3'),
                    			array('id'=> 4, 'nombre'=>'alumnoTareaGrupo4')
                    		);*/
                }
            }
            break;
        default:
            return -1;
            break;
    }
}