Dentro do arquivo wwwroot/lib/datalib.php

Na sessão abaixo (aproximadamente a 738 linha):

        /*
         * Note: Here we use a LEFT OUTER JOIN that can
         * "optionally" match to avoid passing a ton of context
         * ids in an IN() clause. Perhaps a subselect is faster.
         *
         * In any case, this SQL is not-so-nice over large sets of
         * courses with no $categoryclause.
         *
         */
        $sql = "SELECT ctx.path, ctx.instanceid, ctx.contextlevel,
                       ra.hidden,
                       r.id AS roleid, r.name as rolename,
                       u.id AS userid, u.firstname, u.lastname
                FROM {$CFG->prefix}role_assignments ra
                JOIN {$CFG->prefix}context ctx
                  ON ra.contextid = ctx.id
                JOIN {$CFG->prefix}user u
                  ON ra.userid = u.id
                JOIN {$CFG->prefix}role r
                  ON ra.roleid = r.id
                LEFT OUTER JOIN {$CFG->prefix}course c
                  ON (ctx.instanceid=c.id AND ctx.contextlevel=".CONTEXT_COURSE.")
                WHERE ( c.id IS NOT NULL";
        // under certain conditions, $catctxids is NULL
        if($catctxids == NULL){
            $sql .= ") ";
        }else{
            $sql .= " OR ra.contextid  IN ($catctxids) )";
        }

        $sql .= "AND ra.roleid IN ({$CFG->coursemanager})
                      $categoryclause
                ORDER BY r.sortorder ASC, ctx.contextlevel ASC, ra.sortorder ASC";

Altere a string "ORDER BY" para:

                ORDER BY u.lastname, r.sortorder ASC, ctx.contextlevel ASC, ra.sortorder ASC";
ou
                ORDER BY u.firstname, r.sortorder ASC, ctx.contextlevel ASC, ra.sortorder ASC";

Válido para Moodle versão 1.9.5

Abraço!

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5