} /** * Get final grade */ public function test_getfinalgrade_ok() { $idusers = array('3', '4'); $idcourse = 14; $result = evalcomix_assessments::get_final_grade($idcourse, $idusers);
function query_grafica($tipo_grafico, $tipo_opcion_radiobutton, $id_tarea, $id_alumnos, $id_grupo, $id_alumno, $id_modalidad, $idCurso) { require_once '../../../../config.php'; global $CFG; switch ($tipo_grafico) { case 1: switch ($tipo_opcion_radiobutton) { case 1: // perfil-tarea, alumno include_once $CFG->dirroot . '/blocks/evalcomix/classes/evalcomix_assessments.php'; include_once $CFG->dirroot . '/blocks/evalcomix/classes/evalcomix_tasks.php'; include_once $CFG->dirroot . '/blocks/evalcomix/classes/calculator_average.php'; $assessments = evalcomix_assessments::get_assessments_by_modality($id_tarea, $id_alumno); if ($assessments) { //$teachergrade = evalcomix_assessments::calculate_gradearray($assessments->teacherassessments); $teachergrades = evalcomix_assessments::calculate_grades($assessments->teacherassessments); $peergrades = evalcomix_assessments::calculate_grades($assessments->peerassessments); $array_teacher = array(get_string('teachermod', 'block_evalcomix')); if ($teachergrades) { foreach ($teachergrades as $teachergrade) { $array_teacher[] = (int) $teachergrade; } } $array_peer = array(get_string('peermod', 'block_evalcomix')); if ($peergrades) { foreach ($peergrades as $peergrade) { $array_peer[] = (int) $peergrade; } } $selfassessment = $assessments->selfassessment; $array_self = array(get_string('selfmod', 'block_evalcomix')); if ($selfassessment) { $array_self[] = (int) $selfassessment->grade; } return array('tituloGrafico' => array(get_string('profile_task_by_student', 'block_evalcomix')), 'min' => 0, 'max' => 100, 'datos' => array($array_teacher, $array_self, $array_peer)); } else { return array('tituloGrafico' => array(get_string('profile_task_by_student', 'block_evalcomix')), 'min' => 0, 'max' => 100, 'datos' => array(array(get_string('no_datas', 'block_evalcomix'), 0))); } /*return array('tituloGrafico'=> 'Gráfica tarea por alumno', 'min'=> 0, 'max'=> 100, 'datos' => array( array('profesor', 72.5), array('autoevaluacion', 70), array('entre iguales', 66.6), ) );*/ break; case 2: // perfil-tarea, grupo $id_students = explode(',', $id_alumnos); include_once $CFG->dirroot . '/blocks/evalcomix/classes/evalcomix_assessments.php'; include_once $CFG->dirroot . '/blocks/evalcomix/classes/calculator_average.php'; if ($id_students != $id_alumnos) { $t_grades[0] = get_string('teachermod', 'block_evalcomix'); $p_grades[0] = get_string('peermod', 'block_evalcomix'); $s_grades[0] = get_string('selfmod', 'block_evalcomix'); foreach ($id_students as $id_student) { if ($id_student == '-1') { continue; } $assessments = evalcomix_assessments::get_assessments_by_modality($id_tarea, (int) $id_student); if ($assessments) { if (!empty($assessments->teacherassessments)) { $tgrade = evalcomix_assessments::calculate_gradearray($assessments->teacherassessments); array_push($t_grades, $tgrade); } if (!empty($assessments->peerassessments)) { $pgrade = evalcomix_assessments::calculate_gradearray($assessments->peerassessments); array_push($p_grades, $pgrade); } if ($assessments->selfassessment) { $selfassessment = $assessments->selfassessment; $sgrade = (int) $selfassessment->grade; array_push($s_grades, $sgrade); } } } /*if(!isset($t_grades[1])){ array_push($t_grades, 0); } if(!isset($p_grades[1])){ array_push($p_grades, 0); } if(!isset($s_grades[1])){ array_push($s_grades, 0); }*/ return array('tituloGrafico' => array(get_string('profile_task_by_group', 'block_evalcomix')), 'min' => 0, 'max' => 100, 'datos' => array($t_grades, $s_grades, $p_grades)); /* PRUEBAS return array('tituloGrafico'=> array(get_string('profile_task_by_group', 'block_evalcomix')), 'min'=> 0, 'max'=> 100, 'datos' => array( array("Evaluación del Profesor",100,75,50,25), array("Autoevaluación",0), array("Evaluación entre Iguales",0), ) );*/ /*return array('tituloGrafico'=> 'Perfil tarea por grupo', 'min'=> 0, 'max'=> 100, 'datos' => array( array('profesor', 67, 85, 99, 100), array('autoevaluacion', 87, 70, 67, 100), array('entre iguales', 45, 70, 80, 100), ) );*/ } else { return array('tituloGrafico' => array(get_string('profile_task_by_group', 'block_evalcomix')), 'min' => 0, 'max' => 100, 'datos' => array(array(get_string('no_datas', 'block_evalcomix'), 0))); } /* DATOS DE ITELLIGENT return array('tituloGrafico'=> 'Perfil tarea por grupo', 'min'=> 0, 'max'=> 100, 'datos' => array( array('profesor', 67, 85, 99), array('autoevaluacion', 87, 70, 67), array('entre iguales', 45, 70, 80), ) ); */ break; case 3: // perfil-tarea, clase include_once $CFG->dirroot . '/blocks/evalcomix/classes/evalcomix_assessments.php'; include_once $CFG->dirroot . '/blocks/evalcomix/classes/calculator_average.php'; $students = evalcomix_assessments::get_students_assessed($id_tarea); if ($students) { $t_grades[0] = get_string('teachermod', 'block_evalcomix'); $p_grades[0] = get_string('peermod', 'block_evalcomix'); $s_grades[0] = get_string('selfmod', 'block_evalcomix'); foreach ($students as $student) { $assessments = evalcomix_assessments::get_assessments_by_modality($id_tarea, $student); if (!empty($assessments->teacherassessments)) { $tgrade = evalcomix_assessments::calculate_gradearray($assessments->teacherassessments); array_push($t_grades, $tgrade); } if (!empty($assessments->peerassessments)) { $pgrade = evalcomix_assessments::calculate_gradearray($assessments->peerassessments); array_push($p_grades, $pgrade); } if ($assessments->selfassessment) { $selfassessment = $assessments->selfassessment; $sgrade = (int) $selfassessment->grade; array_push($s_grades, $sgrade); } } /*if(!isset($t_grades[1])){ array_push($t_grades, 0); } if(!isset($p_grades[1])){ array_push($p_grades, 0); } if(!isset($s_grades[1])){ array_push($s_grades, 0); }*/ return array('tituloGrafico' => array(get_string('profile_task_by_course', 'block_evalcomix')), 'min' => 0, 'max' => 100, 'datos' => array($t_grades, $s_grades, $p_grades)); /*return array('tituloGrafico'=> 'Perfil tarea por clase', 'min'=> 0, 'max'=> 100, 'datos' => array( array('profesor', 67, 85, 99), array('autoevaluacion', 87, 70, 67), array('entre iguales', 45, 70, 80), ) ); */ } else { return array('tituloGrafico' => array(get_string('profile_task_by_course', 'block_evalcomix')), 'min' => 0, 'max' => 100, 'datos' => array(array(get_string('no_datas', 'block_evalcomix'), 0))); } break; } break; case 2: switch ($tipo_opcion_radiobutton) { case 1: // perfil-alumnado, entre profesores global $DB; include_once $CFG->dirroot . '/blocks/evalcomix/classes/evalcomix_assessments.php'; $assessments = evalcomix_assessments::get_assessments_by_modality($id_tarea, $id_alumno); $teachergrades = array(); if (!empty($assessments->teacherassessments)) { foreach ($assessments->teacherassessments as $tassessment) { $teacher = $DB->get_record('user', array('id' => $tassessment->assessorid)); $teacher_label = $teacher->lastname . ', ' . $teacher->firstname; $item = array($teacher_label, $tassessment->grade); array_push($teachergrades, $item); } return array('tituloGrafico' => array(get_string('profile_student_by_teacher', 'block_evalcomix')), 'min' => 0, 'max' => 100, 'datos' => $teachergrades); } else { return array('tituloGrafico' => array(get_string('profile_student_by_teacher', 'block_evalcomix')), 'min' => 0, 'max' => 100, 'datos' => array(array(get_string('no_datas', 'block_evalcomix'), 0))); } /*return array('tituloGrafico'=> 'Perfil alumnado entre profesores', 'min'=> 0, 'max'=> 100, 'datos' => array( array('profesor1', 67), array('profesor2', 87), array('profesor3', 45), array('profesor4', 70), array('profesor5', 80) ) );*/ break; case 2: // perfil-alumnado, entre iguales global $DB; include_once $CFG->dirroot . '/blocks/evalcomix/classes/evalcomix_assessments.php'; $assessments = evalcomix_assessments::get_assessments_by_modality($id_tarea, $id_alumno); $peergrades = array(); if (!empty($assessments->peerassessments)) { foreach ($assessments->peerassessments as $passessment) { $peer = $DB->get_record('user', array('id' => $passessment->assessorid)); $peer_label = $peer->lastname . ', ' . $peer->firstname; $item = array($peer_label, (int) $passessment->grade); array_push($peergrades, $item); } return array('tituloGrafico' => array(get_string('profile_student_by_group', 'block_evalcomix')), 'min' => 0, 'max' => 100, 'datos' => $peergrades); } else { return array('tituloGrafico' => array(get_string('profile_student_by_group', 'block_evalcomix')), 'min' => 0, 'max' => 100, 'datos' => array(array(get_string('no_datas', 'block_evalcomix'), 0))); } /*return array('tituloGrafico'=> 'Perfil alumnado entre iguales', 'min'=> 0, 'max'=> 100, 'datos' => array( array('alumno1', 67), array('alumno2', 87), array('alumno3', 45), array('alumno4', 70), array('alumno5', 80) ) );*/ break; } break; /*case 3: {switch ($tipo_opcion_radiobutton) { case 1: // perfil-atributos, alumno return array('tituloGrafico'=> 'Perfil atributos por alumno', 'min'=> 0, 'max'=> 100, 'datos' => array( array('atributo1', 67), array('atributo2', 87), array('atributo3', 45), array('atributo4', 45) ) ); break; case 2: // perfil-atributos, grupo return array('tituloGrafico'=> 'Perfil atributos por grupo', 'min'=> 0, 'max'=> 100, 'datos' => array( array('atributo1', 67, 23, 43), array('atributo2', 87, 45, 76), array('atributo3', 45, 34, 93), array('atributo3', 45, 34, 93), array('atributo3', 45, 34, 93), array('atributo3', 45, 34, 93), array('atributo3', 45, 34, 93), array('atributo3', 45, 34, 93), array('atributo3', 45, 34, 93), array('atributo3', 45, 34, 93), array('atributo3', 45, 34, 93), array('atributo3', 45, 34, 93), array('atributo3', 45, 34, 93), array('atributo3', 45, 34, 93), array('atributo3', 45, 34, 93), array('atributo3', 45, 34, 93), array('atributo3', 45, 34, 93), array('atributo3', 45, 34, 93), array('atributo3', 45, 34, 93), array('atributo3', 45, 34, 93), array('atributo3', 45, 34, 93), array('atributo3', 45, 34, 93), array('atributo3', 45, 34, 93), array('atributo3', 45, 34, 93), array('atributo3', 45, 34, 93), array('atributo3', 45, 34, 93), array('atributo3', 45, 34, 93), array('atributo3', 45, 34, 93), array('atributo3', 45, 34, 93), array('atributo3', 45, 34, 93), array('atributo3', 45, 34, 93), array('atributo3', 45, 34, 93), array('atributo3', 45, 34, 93), array('atributo3', 45, 34, 93), array('atributo3', 45, 34, 93), array('atributo3', 45, 34, 93), array('atributo3', 45, 34, 93), array('atributo3', 45, 34, 93), array('atributo4', 45, 54, 86) ) ); break; case 3: // perfil-atributos, clase return array('tituloGrafico'=> 'Perfil atributos por clase', 'min'=> 0, 'max'=> 100, 'datos' => array( array('atributo1', 67, 23, 43), array('atributo2', 87, 45, 76), array('atributo3', 45, 34, 93), array('atributo4', 45, 54, 86) ) ); break; }} break;*/ } }