Beispiel #1
0
 function mdebug_course_content_removed($course)
 {
     global $CFG;
     if ($CFG->mDebugCourseEvent === true) {
         mDebug_log($user, "course_content_removed Event");
     }
 }
Beispiel #2
0
 function mdebug_role_unassigned($role)
 {
     global $CFG;
     if ($CFG->mDebugRoleEvent === true) {
         mDebug_log($user, "role_unassigned Event");
     }
 }
Beispiel #3
0
 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;
 }