require_once 'searchlib.php'; $query = param_variable('query', ''); $offset = param_integer('offset', 0); $limit = param_integer('limit', 10); $filter = param_alpha('filter', 'all'); $page = 'myfriends'; if ($extradata = param_variable('extradata', null)) { $extradata = json_decode($extradata); if ($extradata->page) { $page = $extradata->page; } } if ($page == 'myfriends') { $data = search_friend($filter, $limit, $offset); $data['filter'] = $filter; } else { $options = array('exclude' => $USER->get('id')); if ($filter == 'myinstitutions') { $options['myinstitutions'] = true; } $data = search_user($query, $limit, $offset, $options); $data['query'] = $query; if (!empty($options['myinstitutions'])) { $data['filter'] = $filter; } } require_once 'group.php'; $admingroups = (bool) group_get_user_admintutor_groups(); build_userlist_html($data, $page, $admingroups); unset($data['data']); json_reply(false, array('data' => $data));
$filter = param_alpha('filter', $USER->get('admin') ? 'all' : 'myinstitutions'); $limit = 10; $options = array('exclude' => $USER->get('id')); if ($filter == 'myinstitutions' && $USER->get('institutions')) { $options['myinstitutions'] = true; } else { $filter = 'all'; } $data = search_user($query, $limit, $offset, $options); $data['query'] = $query; if (!empty($options['myinstitutions'])) { $data['filter'] = $filter; } require_once get_config('libroot') . 'group.php'; $admingroups = (bool) group_get_user_admintutor_groups(); build_userlist_html($data, 'find', $admingroups); $searchform = array('name' => 'search', 'checkdirtychange' => false, 'renderer' => 'oneline', 'elements' => array()); if ($USER->get('institutions')) { $searchform['elements']['filter'] = array('type' => 'select', 'options' => array('all' => get_string('Everyone', 'group'), 'myinstitutions' => get_string('myinstitutions', 'group')), 'defaultvalue' => $filter); } $searchform['elements']['query'] = array('title' => get_string('search'), 'hiddenlabel' => true, 'type' => 'text', 'defaultvalue' => $query); $searchform['elements']['submit'] = array('type' => 'submit', 'value' => get_string('search')); $searchform = pieform($searchform); $js = <<<EOF addLoadEvent(function () { p = {$data['pagination_js']} connect('search_submit', 'onclick', function (event) { replaceChildNodes('messages'); var params = {'query': \$('search_query').value, 'extradata':serializeJSON({'page':'find'})}; if (\$('search_filter')) { params.filter = \$('search_filter').value;
require_once 'searchlib.php'; define('TITLE', get_string('myfriends')); define('SECTION_PLUGINTYPE', 'core'); define('SECTION_PLUGINNAME', 'user'); define('SECTION_PAGE', 'myfriends'); $filter = param_alpha('filter', 'all'); $offset = param_integer('offset', 0); $limit = 10; $data = search_friend($filter, $limit, $offset); $data['filter'] = $filter; $controlledgroups = count_records_sql("SELECT COUNT(g.id)\n FROM {group} g\n JOIN {group_member} gm ON (gm.group = g.id)\n JOIN {grouptype_roles} gtr ON (gtr.grouptype = g.grouptype AND gtr.role = gm.role)\n WHERE gm.member = ?\n AND g.jointype = 'controlled'\n AND (gm.role = 'admin' OR gtr.see_submitted_views = 1)\n AND g.deleted = 0", array($USER->get('id'))); $invite = count_records_sql("SELECT COUNT(g.id)\n FROM {group} g\n JOIN {group_member} gm ON (gm.group = g.id)\n WHERE gm.member = ?\n AND g.jointype = 'invite'\n AND gm.role = 'admin'\n AND g.deleted = 0", array($USER->get('id'))); $admingroups = new StdClass(); $admingroups->controlled = $controlledgroups; $admingroups->invite = $invite; build_userlist_html($data, 'myfriends', $admingroups); $filterform = pieform(array('name' => 'filter', 'renderer' => 'oneline', 'elements' => array('filter' => array('type' => 'select', 'options' => array('all' => get_string('allfriends', 'group'), 'current' => get_string('currentfriends', 'group'), 'pending' => get_string('pendingfriends', 'group')), 'defaultvalue' => $filter), 'submit' => array('type' => 'submit', 'value' => get_string('filter'))))); $js = <<<EOF addLoadEvent(function () { p = {$data['pagination_js']} connect('filter_submit', 'onclick', function (event) { replaceChildNodes('messages'); var params = {'filter': \$('filter_filter').value}; p.sendQuery(params); event.stop(); }); }); EOF; if (!$data['count']) { if ($filter == 'pending') { $message = get_string('nobodyawaitsfriendapproval', 'group');