function mdebug_course_content_removed($course) { global $CFG; if ($CFG->mDebugCourseEvent === true) { mDebug_log($user, "course_content_removed Event"); } }
function mdebug_role_unassigned($role) { global $CFG; if ($CFG->mDebugRoleEvent === true) { mDebug_log($user, "role_unassigned Event"); } }
function mdebug_user_unenrolled($enrolment) { global $CFG; if ($CFG->mDebugUserEvent === true) { mDebug_log($user, "user_unenrolled Event"); } }
public static function get_final_grade_by_course_id($courseId, $roleId) { // no MOODLE não temos factories // obtemos os acessores diretamente via variaveis globais global $CFG; require_once $CFG->dirroot . '/grade/lib.php'; require_once $CFG->dirroot . '/grade/querylib.php'; require_once $CFG->dirroot . '/user/lib.php'; // para trabalhar com as grades de notas precisa-se ter // as seguintes habilidades: // * moodle/grade:export // * gradeexprt/txt:view // primeiro pego o contexto do sistema com base no usuário corrente $context = get_context_instance(CONTEXT_SYSTEM); // então verifico as abilidades uma a uma require_capability('moodle/grade:export', $context); require_capability('gradeexport/txt:view', $context); // neste ponto se verifica os parametros informados estão corretos // e dentro do exigido pela função // observe que solicitei os parametros como sendo do tipo inteiro // diretamente sem que sejam algum tipo de estrutura. Isto facilita // o acesso aos parametros, $funcParams = self::validate_parameters(self::get_final_grade_by_course_id_parameters(), array('courseId' => $courseId, 'roleId' => $roleId)); if (MDEBUG) { mDebug_log($funcParams, 'Parametros da Função'); } $usersIds = array(); $context = get_context_instance(CONTEXT_COURSE, $funcParams['courseId']); $role = new stdClass(); $role->id = $roleId; $users = get_users_from_role_on_context($role, $context); if (MDEBUG) { mDebug_log($users); } $usersIds = array(); foreach ($users as $user) { $usersIds[] = $user->userid; } if (MDEBUG) { mDebug_log($usersIds, 'Ids dos Usuários'); } // OK, agora que está tudo ok, consulto no banco de dados a nota // do usuário conforme o curso $grades = grade_get_course_grades($funcParams['courseId'], $usersIds); if (MDEBUG) { mDebug_log($grades, 'Grades'); } // TODO, estudar melhorias neste retorno. foreach ($grades->grades as $userId => $grade) { $result = array(); if ($grade === false) { $result['grade'] = grade_floatval(-9999); } else { if ($grade === null) { $result['grade'] = grade_floatval(-8888); } else { $result['grade'] = grade_floatval($grade->grade); } } $result['userId'] = $userId; $results[] = $result; } if (MDEBUG) { mDebug_log($results, 'Grades finais a serem enviadas'); } return $results; }