function mahara_institution_get_members($client) { require_once get_config('docroot') . 'lib/searchlib.php'; $institution = new Institution('mahara'); $data = institutional_admin_user_search('', $institution, 0); $function = 'mahara_institution_get_members'; $params = array('institution' => 'mahara'); $users = $client->call($function, $params); $this->assertEquals(count($users), $data['count']); }
function get_institutional_admin_search_results($search, $limit) { $institution = new StdClass(); $institution->name = $search->institution; foreach (array('member', 'requested', 'invitedby', 'lastinstitution') as $p) { $institution->{$p} = $search->{$p}; } $results = institutional_admin_user_search($search->query, $institution, $limit); if ($results['count']) { foreach ($results['data'] as &$r) { $r['name'] = $r['firstname'] . ' ' . $r['lastname'] . ' (' . $r['username'] . ')'; if (!empty($r['studentid'])) { $r['name'] .= ' (' . $r['studentid'] . ')'; } } } return $results; }
/** * Get institution members * * @param string $institution * @return array An array of arrays describing users */ public static function get_members($institution) { global $USER, $WEBSERVICE_INSTITUTION; self::check_oauth(); // Do basic automatic PARAM checks on incoming data, using params description $params = self::validate_parameters(self::get_members_parameters(), array('institution' => $institution)); if (!$USER->get('admin') && !$USER->is_institutional_admin()) { throw new AccessDeniedException("Institution::get_members | " . get_string('accessdenied', 'auth.webservice')); } // check the institution is allowed if (!$USER->can_edit_institution($params['institution'])) { throw new WebserviceInvalidParameterException('get_members | ' . get_string('accessdeniedforinst', 'auth.webservice', $params['institution'])); } $institution = new Institution($params['institution']); $institution->member = true; // Only fetch the users belonging to the institution indicated in $params['institution'] $data = institutional_admin_user_search('', $institution, 0); $users = array(); if (!empty($data['data'])) { foreach ($data['data'] as $user) { $users[] = array('id' => $user['id'], 'username' => $user['username']); } } return $users; }