Ignore:
Timestamp:
May 2, 2016, 12:09:23 PM (3 years ago)
Author:
jrpelegrina
Message:

Updated to moodle 3.0.3

File:
1 edited

Legend:

Unmodified
Added
Removed
  • moodle/trunk/fuentes/admin/tool/uploaduser/index.php

    r136 r1331  
    169169    $allowsuspends     = (!empty($formdata->uuallowsuspends));
    170170    $bulk              = $formdata->uubulk;
    171     $noemailduplicates = $formdata->uunoemailduplicates;
     171    $noemailduplicates = empty($CFG->allowaccountssameemail) ? 1 : $formdata->uunoemailduplicates;
    172172    $standardusernames = $formdata->uustandardusernames;
    173173    $resetpasswords    = isset($formdata->uuforcepasswordchange) ? $formdata->uuforcepasswordchange : UU_PWRESET_NONE;
     
    188188    $ccache         = array(); // course cache - do not fetch all courses here, we  will not probably use them all anyway!
    189189    $cohorts        = array();
    190     $rolecache      = uu_allowed_roles_cache(); // roles lookup cache
     190    $rolecache      = uu_allowed_roles_cache(); // Course roles lookup cache.
     191    $sysrolecache   = uu_allowed_sysroles_cache(); // System roles lookup cache.
    191192    $manualcache    = array(); // cache of used manual enrol plugins in each course
    192193    $supportedauths = uu_supported_auths(); // officially supported plugins that are enabled
     
    232233                    // this must be some hacky field that is abusing arrays to store content and format
    233234                    $user->$key = array();
    234                     $user->$key['text']   = $value;
    235                     $user->$key['format'] = FORMAT_MOODLE;
     235                    $user->{$key['text']}   = $value;
     236                    $user->{$key['format']} = FORMAT_MOODLE;
    236237                } else {
    237238                    $user->$key = trim($value);
     
    890891        // this is again a special case, we always do this for any updated or created users
    891892        foreach ($filecolumns as $column) {
     893            if (preg_match('/^sysrole\d+$/', $column)) {
     894
     895                if (!empty($user->$column)) {
     896                    $sysrolename = $user->$column;
     897                    if ($sysrolename[0] == '-') {
     898                        $removing = true;
     899                        $sysrolename = substr($sysrolename, 1);
     900                    } else {
     901                        $removing = false;
     902                    }
     903
     904                    if (array_key_exists($sysrolename, $sysrolecache)) {
     905                        $sysroleid = $sysrolecache[$sysrolename]->id;
     906                    } else {
     907                        $upt->track('enrolments', get_string('unknownrole', 'error', s($sysrolename)), 'error');
     908                        continue;
     909                    }
     910
     911                    if ($removing) {
     912                        if (user_has_role_assignment($user->id, $sysroleid, SYSCONTEXTID)) {
     913                            role_unassign($sysroleid, $user->id, SYSCONTEXTID);
     914                            $upt->track('enrolments', get_string('unassignedsysrole',
     915                                    'tool_uploaduser', $sysrolecache[$sysroleid]->name));
     916                        }
     917                    } else {
     918                        if (!user_has_role_assignment($user->id, $sysroleid, SYSCONTEXTID)) {
     919                            role_assign($sysroleid, $user->id, SYSCONTEXTID);
     920                            $upt->track('enrolments', get_string('assignedsysrole',
     921                                    'tool_uploaduser', $sysrolecache[$sysroleid]->name));
     922                        }
     923                    }
     924                }
     925
     926                continue;
     927            }
    892928            if (!preg_match('/^course\d+$/', $column)) {
    893929                continue;
     
    928964
    929965                if (!empty($user->{'role'.$i})) {
    930                     $addrole = $user->{'role'.$i};
    931                     if (array_key_exists($addrole, $rolecache)) {
    932                         $rid = $rolecache[$addrole]->id;
     966                    $rolename = $user->{'role'.$i};
     967                    if (array_key_exists($rolename, $rolecache)) {
     968                        $roleid = $rolecache[$rolename]->id;
    933969                    } else {
    934                         $upt->track('enrolments', get_string('unknownrole', 'error', s($addrole)), 'error');
     970                        $upt->track('enrolments', get_string('unknownrole', 'error', s($rolename)), 'error');
    935971                        continue;
    936972                    }
    937973
    938                     role_assign($rid, $user->id, context_course::instance($courseid));
     974                    role_assign($roleid, $user->id, context_course::instance($courseid));
    939975
    940976                    $a = new stdClass();
    941977                    $a->course = $shortname;
    942                     $a->role   = $rolecache[$rid]->name;
     978                    $a->role   = $rolecache[$roleid]->name;
    943979                    $upt->track('enrolments', get_string('enrolledincourserole', 'enrol_manual', $a));
    944980                }
     
    947983
    948984                // find role
    949                 $rid = false;
     985                $roleid = false;
    950986                if (!empty($user->{'role'.$i})) {
    951                     $addrole = $user->{'role'.$i};
    952                     if (array_key_exists($addrole, $rolecache)) {
    953                         $rid = $rolecache[$addrole]->id;
     987                    $rolename = $user->{'role'.$i};
     988                    if (array_key_exists($rolename, $rolecache)) {
     989                        $roleid = $rolecache[$rolename]->id;
    954990                    } else {
    955                         $upt->track('enrolments', get_string('unknownrole', 'error', s($addrole)), 'error');
     991                        $upt->track('enrolments', get_string('unknownrole', 'error', s($rolename)), 'error');
    956992                        continue;
    957993                    }
     
    9661002                        continue;
    9671003                    } else {
    968                         $rid = $formdata->{'uulegacy'.$addtype};
     1004                        $roleid = $formdata->{'uulegacy'.$addtype};
    9691005                    }
    9701006                } else {
    9711007                    // no role specified, use the default from manual enrol plugin
    972                     $rid = $manualcache[$courseid]->roleid;
    973                 }
    974 
    975                 if ($rid) {
     1008                    $roleid = $manualcache[$courseid]->roleid;
     1009                }
     1010
     1011                if ($roleid) {
    9761012                    // Find duration and/or enrol status.
    9771013                    $timeend = 0;
     
    10001036                    }
    10011037
    1002                     $manual->enrol_user($manualcache[$courseid], $user->id, $rid, $today, $timeend, $status);
     1038                    $manual->enrol_user($manualcache[$courseid], $user->id, $roleid, $today, $timeend, $status);
    10031039
    10041040                    $a = new stdClass();
    10051041                    $a->course = $shortname;
    1006                     $a->role   = $rolecache[$rid]->name;
     1042                    $a->role   = $rolecache[$roleid]->name;
    10071043                    $upt->track('enrolments', get_string('enrolledincourserole', 'enrol_manual', $a));
    10081044                }
Note: See TracChangeset for help on using the changeset viewer.