|
Moodle
2.2.1
http://www.collinsharper.com
|
00001 <?php 00002 00003 require_once($CFG->dirroot.'/user/filters/lib.php'); 00004 00005 if (!defined('MAX_BULK_USERS')) { 00006 define('MAX_BULK_USERS', 2000); 00007 } 00008 00009 function add_selection_all($ufiltering) { 00010 global $SESSION, $DB, $CFG; 00011 00012 list($sqlwhere, $params) = $ufiltering->get_sql_filter("id<>:exguest AND deleted <> 1", array('exguest'=>$CFG->siteguest)); 00013 00014 $rs = $DB->get_recordset_select('user', $sqlwhere, $params, 'fullname', 'id,'.$DB->sql_fullname().' AS fullname'); 00015 foreach ($rs as $user) { 00016 if (!isset($SESSION->bulk_users[$user->id])) { 00017 $SESSION->bulk_users[$user->id] = $user->id; 00018 } 00019 } 00020 $rs->close(); 00021 } 00022 00023 function get_selection_data($ufiltering) { 00024 global $SESSION, $DB, $CFG; 00025 00026 // get the SQL filter 00027 list($sqlwhere, $params) = $ufiltering->get_sql_filter("id<>:exguest AND deleted <> 1", array('exguest'=>$CFG->siteguest)); 00028 00029 $total = $DB->count_records_select('user', "id<>:exguest AND deleted <> 1", array('exguest'=>$CFG->siteguest)); 00030 $acount = $DB->count_records_select('user', $sqlwhere, $params); 00031 $scount = count($SESSION->bulk_users); 00032 00033 $userlist = array('acount'=>$acount, 'scount'=>$scount, 'ausers'=>false, 'susers'=>false, 'total'=>$total); 00034 $userlist['ausers'] = $DB->get_records_select_menu('user', $sqlwhere, $params, 'fullname', 'id,'.$DB->sql_fullname().' AS fullname', 0, MAX_BULK_USERS); 00035 00036 if ($scount) { 00037 if ($scount < MAX_BULK_USERS) { 00038 $in = implode(',', $SESSION->bulk_users); 00039 } else { 00040 $bulkusers = array_slice($SESSION->bulk_users, 0, MAX_BULK_USERS, true); 00041 $in = implode(',', $bulkusers); 00042 } 00043 $userlist['susers'] = $DB->get_records_select_menu('user', "id IN ($in)", null, 'fullname', 'id,'.$DB->sql_fullname().' AS fullname'); 00044 } 00045 00046 return $userlist; 00047 }