function action_default() { // Get parameters $sort = optional_param('sort', 'name', 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 $columns = array('idnumber' => get_string('id', 'block_curr_admin'), 'name' => get_string('name', 'block_curr_admin'), 'country' => get_string('country', 'block_curr_admin'), 'language' => get_string('user_language', 'block_curr_admin'), 'timecreated' => get_string('registered_date', 'block_curr_admin')); // Generate SQL filter $filter = new cm_user_filtering(null, 'index.php', array('s' => 'usr', 'section' => 'users')); $extrasql = $filter->get_sql_filter(); // Get list of users $items = usermanagement_get_users($sort, $dir, $page * $perpage, $perpage, $extrasql, usermanagementpage::get_contexts('block/curr_admin:user:view')); $numitems = usermanagement_count_users($extrasql, usermanagementpage::get_contexts('block/curr_admin:user:view')); usermanagementpage::get_contexts('block/curr_admin:user:edit'); usermanagementpage::get_contexts('block/curr_admin:user:delete'); $this->print_list_view($items, $numitems, $columns, $filter); }
/** * Returns sql where statement based on active user filters * @param string $extra sql * @return string */ function get_sql_filter($extra = '') { global $SESSION; if (isset($SESSION->user_filtering['completed'])) { $fcompleted = $SESSION->user_filtering['completed']; unset($SESSION->user_filtering['completed']); } $return = array(); $return['where'] = parent::get_sql_filter($extra); if (isset($fcompleted)) { $field = $this->_fields['completed']; foreach ($fcompleted as $i => $data) { $return['groupby'] = $field->get_sql_filter($data); } $SESSION->user_filtering['completed'] = $fcompleted; } return $return; }