MDL-10725 Fixed breadcrumb
[moodle-pu.git] / admin / user_bulk_delete.php
blobdb0f9a9ec4c9f1588493e2b8abeb8a84c2bb2378
1 <?php //$Id$
2 /**
3 * script for bulk user delete operations
4 */
6 require_once('../config.php');
7 require_once($CFG->libdir.'/adminlib.php');
9 $confirm = optional_param('confirm', 0, PARAM_BOOL);
10 $sitecontext = get_context_instance(CONTEXT_SYSTEM, SITEID);
12 require_capability('moodle/user:delete', $sitecontext);
14 // clean-up users list
15 $primaryadmin = get_admin();
16 $userlist = array();
17 foreach ($SESSION->bulk_susers as $k => $v) {
18 $user = get_record('user', 'id', $v, null, null, null, null, 'id,firstname,lastname,email');
19 if (!empty($user) && $user->id != $primaryadmin->id) {
20 $userlist[$k] = $user;
24 if (empty($userlist)) {
25 redirect($CFG->wwwroot . '/admin/user_bulk.php');
28 admin_externalpage_setup('editusers');
29 admin_externalpage_print_header();
30 if (empty($confirm)) {
31 $usernames = array();
32 foreach ($userlist as $user) {
33 $usernames[] =& fullname($user, true);
35 $usernames = implode(', ', $usernames);
36 $optionsyes['confirm'] = 1;
37 $optionsyes['sesskey'] = sesskey();
38 print_heading(get_string('confirmation', 'admin'));
39 notice_yesno(get_string('deletecheckfull', '', $usernames), 'user_bulk_delete.php', 'user_bulk.php', $optionsyes, NULL, 'post', 'get');
40 } else {
41 foreach ($userlist as $k => $user) {
42 $user->username = addslashes($user->email . time()); // Remember it just in case
43 $user->deleted = 1;
44 $user->email = ''; // Clear this field to free it up
45 $user->timemodified = time();
46 $user->idnumber = ''; // Clear this field to free it up
47 if (update_record('user', $user)) {
48 // not sure if this is needed. unenrol_student($user->id); // From all courses
49 delete_records('role_assignments', 'userid', $user->id); // unassign all roles
50 // remove all context assigned on this user?
51 // notify(get_string('deletedactivity', '', fullname($user, true)) );
52 unset($SESSION->bulk_susers[$k]);
53 } else {
54 notify(get_string('deletednot', '', fullname($user, true)));
57 redirect($CFG->wwwroot . '/admin/user_bulk.php', get_string('changessaved'));
59 admin_externalpage_print_footer();