if (!empty($tag)) { $queryparams['tag'] = $tag; $query = null; } else { if ($query != '') { $queryparams['query'] = $query; } } $sortoptions = array('lastchanged', 'mtime', 'ownername', 'title'); if (!in_array($sort = param_alpha('sort', 'lastchanged'), $sortoptions)) { $sort = 'lastchanged'; } if ($sort !== 'lastchanged') { $queryparams['sort'] = $sort; } $sortdir = $sort == 'lastchanged' || $sort == 'mtime' ? 'desc' : 'asc'; $shareoptions = array('user', 'friend', 'group', 'institution', 'loggedin', 'public'); $share = param_variable('share', array()); if (is_array($share)) { $share = $queryparams['share'] = array_intersect($share, $shareoptions); } else { $share = null; } $data = View::shared_to_user($query, $tag, $limit, $offset, $sort, $sortdir, $share); $pagination = build_pagination(array('id' => 'sharedviews_pagination', 'url' => get_config('wwwroot') . 'view/sharedviews.php' . (empty($queryparams) ? '' : '?' . http_build_query($queryparams)), 'jsonscript' => '/json/sharedviews.php', 'datatable' => 'sharedviewlist', 'count' => $data->count, 'limit' => $limit, 'offset' => $offset, 'setlimit' => true, 'jumplinks' => 8, 'numbersincludeprevnext' => 2)); $smarty = smarty_core(); $smarty->assign_by_ref('views', $data->data); $data->tablerows = $smarty->fetch('view/sharedviewrows.tpl'); $data->pagination = $pagination['html']; $data->pagination_js = $pagination['javascript']; json_reply(false, array('data' => $data));
} $sortdir = $sort == 'lastchanged' || $sort == 'mtime' ? 'desc' : 'asc'; $share = $queryparams['share'] = $sharedefault = array('user', 'friend', 'group'); $shareoptions = array('user' => get_string('Me', 'view'), 'friend' => get_string('friends', 'view'), 'group' => get_string('mygroups')); if ($USER->get('institutions')) { $shareoptions['institution'] = get_string('myinstitutions', 'group'); } $shareoptions['loggedin'] = get_string('registeredusers', 'view'); if (get_config('allowpublicviews')) { $shareoptions['public'] = get_string('public', 'view'); } foreach ($shareoptions as $k => &$v) { $v = array('title' => $v, 'value' => $k, 'defaultvalue' => in_array($k, $sharedefault)); } $searchform = pieform(array('name' => 'search', 'checkdirtychange' => false, 'dieaftersubmit' => false, 'renderer' => 'div', 'class' => 'search with-heading form-inline admin-user-search', 'elements' => array('searchwithin' => array('type' => 'fieldset', 'class' => 'dropdown-group js-dropdown-group', 'elements' => array('query' => array('title' => get_string('search') . ': ', 'hiddenlabel' => false, 'type' => 'text', 'class' => 'with-dropdown js-with-dropdown'), 'type' => array('class' => 'dropdown-connect js-dropdown-connect', 'type' => 'select', 'title' => get_string('searchwithin') . ': ', 'options' => $searchoptions, 'defaultvalue' => $searchtype))), 'inputgroupsort' => array('type' => 'fieldset', 'title' => get_string('Query') . ': ', 'class' => 'input-group', 'elements' => array('sort' => array('class' => 'input-small', 'type' => 'select', 'title' => get_string('sortresultsby') . ' ', 'options' => $sortoptions, 'defaultvalue' => $sort), 'submit' => array('type' => 'button', 'usebuttontag' => true, 'class' => 'btn-primary input-group-btn no-label button', 'value' => get_string('search')))), 'advanced' => array('type' => 'fieldset', 'legend' => get_string('moreoptions', 'view'), 'class' => 'advanced last as-link link-expand-right', 'collapsible' => true, 'collapsed' => true, 'elements' => array('share' => array('class' => 'fullwidth', 'type' => 'checkboxes', 'class' => 'stacked', 'title' => get_string('sharedwith', 'view') . ': ', 'elements' => $shareoptions, 'labelwidth' => 0)))))); $data = View::shared_to_user($query, $tag, $limit, $offset, $sort, $sortdir, $share, $USER->get('id')); $pagination = build_pagination(array('id' => 'sharedviews_pagination', 'url' => get_config('wwwroot') . 'view/sharedviews.php' . (empty($queryparams) ? '' : '?' . http_build_query($queryparams)), 'jsonscript' => 'json/sharedviews.php', 'datatable' => 'sharedviewlist', 'count' => $data->count, 'limit' => $limit, 'offset' => $offset, 'setlimit' => true, 'jumplinks' => 8, 'numbersincludeprevnext' => 2)); $smarty = smarty(array('paginator')); $smarty->assign('views', $data->data); $smarty->assign('searchform', $searchform); $smarty->assign('pagination', $pagination['html']); $smarty->assign('INLINEJAVASCRIPT', 'addLoadEvent(function() {' . $pagination['javascript'] . '});'); $smarty->assign('PAGEHEADING', TITLE); $smarty->display('view/sharedviews.tpl'); exit; function search_submit(Pieform $form, $values) { // Convert (query,type) parameters from form to (query,tag) global $queryparams, $tag, $query, $share; if (isset($queryparams['query'])) { unset($queryparams['query']);