MDL-61138 question: external function to get random question set
[moodle.git] / admin / user / user_bulk_forms.php
blobee71a22f25312520b83fedef56c8f48eacbb4fdb
1 <?php
3 require_once($CFG->libdir.'/formslib.php');
4 require_once($CFG->libdir.'/datalib.php');
6 class user_bulk_action_form extends moodleform {
7 function definition() {
8 global $CFG;
10 $mform =& $this->_form;
12 $syscontext = context_system::instance();
13 $actions = array(0=>get_string('choose').'...');
14 if (has_capability('moodle/user:update', $syscontext)) {
15 $actions[1] = get_string('confirm');
17 if (has_capability('moodle/site:readallmessages', $syscontext) && !empty($CFG->messaging)) {
18 $actions[2] = get_string('messageselectadd');
20 if (has_capability('moodle/user:delete', $syscontext)) {
21 $actions[3] = get_string('delete');
23 $actions[4] = get_string('displayonpage');
24 if (has_capability('moodle/user:update', $syscontext)) {
25 $actions[5] = get_string('download', 'admin');
27 if (has_capability('moodle/user:update', $syscontext)) {
28 $actions[7] = get_string('forcepasswordchange');
30 if (has_capability('moodle/cohort:assign', $syscontext)) {
31 $actions[8] = get_string('bulkadd', 'core_cohort');
33 $objs = array();
34 $objs[] =& $mform->createElement('select', 'action', null, $actions);
35 $objs[] =& $mform->createElement('submit', 'doaction', get_string('go'));
36 $mform->addElement('group', 'actionsgrp', get_string('withselectedusers'), $objs, ' ', false);
40 class user_bulk_form extends moodleform {
41 function definition() {
43 $mform =& $this->_form;
44 $acount =& $this->_customdata['acount'];
45 $scount =& $this->_customdata['scount'];
46 $ausers =& $this->_customdata['ausers'];
47 $susers =& $this->_customdata['susers'];
48 $total =& $this->_customdata['total'];
50 $achoices = array();
51 $schoices = array();
53 if (is_array($ausers)) {
54 if ($total == $acount) {
55 $achoices[0] = get_string('allusers', 'bulkusers', $total);
56 } else {
57 $a = new stdClass();
58 $a->total = $total;
59 $a->count = $acount;
60 $achoices[0] = get_string('allfilteredusers', 'bulkusers', $a);
62 $achoices = $achoices + $ausers;
64 if ($acount > MAX_BULK_USERS) {
65 $achoices[-1] = '...';
68 } else {
69 $achoices[-1] = get_string('nofilteredusers', 'bulkusers', $total);
72 if (is_array($susers)) {
73 $a = new stdClass();
74 $a->total = $total;
75 $a->count = $scount;
76 $schoices[0] = get_string('allselectedusers', 'bulkusers', $a);
77 $schoices = $schoices + $susers;
79 if ($scount > MAX_BULK_USERS) {
80 $schoices[-1] = '...';
83 } else {
84 $schoices[-1] = get_string('noselectedusers', 'bulkusers');
87 $mform->addElement('header', 'users', get_string('usersinlist', 'bulkusers'));
89 $objs = array();
90 $objs[0] =& $mform->createElement('select', 'ausers', get_string('available', 'bulkusers'), $achoices, 'size="15"');
91 $objs[0]->setMultiple(true);
92 $objs[1] =& $mform->createElement('select', 'susers', get_string('selected', 'bulkusers'), $schoices, 'size="15"');
93 $objs[1]->setMultiple(true);
96 $grp =& $mform->addElement('group', 'usersgrp', get_string('users', 'bulkusers'), $objs, ' ', false);
97 $mform->addHelpButton('usersgrp', 'users', 'bulkusers');
99 $mform->addElement('static', 'comment');
101 $objs = array();
102 $objs[] =& $mform->createElement('submit', 'addsel', get_string('addsel', 'bulkusers'));
103 $objs[] =& $mform->createElement('submit', 'removesel', get_string('removesel', 'bulkusers'));
104 $grp =& $mform->addElement('group', 'buttonsgrp', get_string('selectedlist', 'bulkusers'), $objs, null, false);
105 $mform->addHelpButton('buttonsgrp', 'selectedlist', 'bulkusers');
106 $objs = array();
107 $objs[] =& $mform->createElement('submit', 'addall', get_string('addall', 'bulkusers'));
108 $objs[] =& $mform->createElement('submit', 'removeall', get_string('removeall', 'bulkusers'));
109 $grp =& $mform->addElement('group', 'buttonsgrp2', '', $objs, null, false);
111 $renderer =& $mform->defaultRenderer();
112 $template = '<label class="qflabel" style="vertical-align:top">{label}</label> {element}';
113 $renderer->setGroupElementTemplate($template, 'usersgrp');