Esempio n. 1
0
 function get_field($fieldname, $advanced)
 {
     switch ($fieldname) {
         case 'nomoodleuser':
             return new no_moodle_user_filter('nomoodleuser', get_string('nomoodleuser_filt', 'local_elisprogram'), $advanced, 'idnumber');
         default:
             return parent::get_field($fieldname, $advanced);
     }
 }
Esempio n. 2
0
 function display_default()
 {
     // Get parameters
     $sort = optional_param('sort', 'lastname', PARAM_ALPHA);
     $dir = optional_param('dir', 'ASC', PARAM_ALPHA);
     $page = optional_param('page', 0, PARAM_INT);
     $perpage = optional_param('perpage', 30, PARAM_INT);
     // how many per page
     // Define columns
     // todo: support display values of country and language plus accurate sorting
     $columns = array('idnumber' => array('header' => get_string('id', 'local_elisprogram')), 'name' => array('header' => array('firstname' => array('header' => get_string('firstname')), 'lastname' => array('header' => get_string('lastname'))), 'display_function' => array('display_table', 'display_user_fullname_item')), 'country' => array('header' => get_string('country')), 'language' => array('header' => get_string('language')), 'timecreated' => array('header' => get_string('registered_date', 'local_elisprogram'), 'display_function' => array(new display_date_item(), 'display')));
     // set sorting
     if ($dir !== 'DESC') {
         $dir = 'ASC';
     }
     if (isset($columns[$sort])) {
         $columns[$sort]['sortable'] = $dir;
     } elseif (isset($columns['name']['header'][$sort])) {
         $columns['name']['header'][$sort]['sortable'] = $dir;
     } else {
         $sort = 'lastname';
         $columns['name']['header']['lastname']['sortable'] = $dir;
     }
     // Generate SQL filter
     $filter = new pm_user_filtering(null, 'index.php', array('s' => 'usr'));
     $extrasql = $filter->get_sql_filter();
     // Get list of users
     $contextset = userpage::get_contexts('local/elisprogram:user_view');
     $userfilter = new AND_filter(array(new select_filter($extrasql[0], $extrasql[1]), $contextset->get_filter('id')));
     $items = user::find($userfilter, array($sort => $dir), $page * $perpage, $perpage);
     $numitems = user::count($userfilter);
     // cache the context capabilities
     userpage::get_contexts('local/elisprogram:user_edit');
     userpage::get_contexts('local/elisprogram:user_delete');
     $this->print_list_view($items, $numitems, $columns, $filter);
 }