get('configdata'); if (!isset($configdata['showgroupviews'])) { $configdata['showgroupviews'] = 1; } $limit = isset($configdata['count']) ? intval($configdata['count']) : 5; $limit = ($limit > 0) ? $limit : 5; // Sortorder: Group homepage should be first, then sort by sortorder $sort = array( array( 'column' => "type='grouphomepage'", 'desc' => true ) ); // Find out what order to sort them by (default is titles) if (!isset($configdata['sortgroupviewsby']) || $configdata['sortgroupviewsby'] == PluginBlocktypeGroupViews::SORTBY_TITLE) { $sort[] = array('column' => 'title'); } else { $sort[] = array('column' => 'mtime', 'desc' => true); } $groupviews = (array)View::view_search(null, null, (object) array('group' => $groupid), null, $limit, $offset, true, $sort, null, false, null, null, null, null, true); foreach ($groupviews['data'] as &$view) { if (empty($view['displaytitle'])) { $view['displaytitle'] = $view['title']; // add for collections } if (isset($view['template']) && $view['template']) { $collid = !empty($view['collid']) ? $view['collid'] : null; $view['form'] = pieform(create_view_form(null, null, $view['id'], $collid, $collid)); } } if (!empty($configdata['showgroupviews']) && isset($groupviews)) { $baseurl = $group_homepage_view->get_url(); $baseurl .= (strpos($baseurl, '?') === false ? '?' : '&') . 'group=' . $groupid; $pagination = array( 'baseurl' => $baseurl, 'id' => 'groupviews_pagination', 'datatable' => 'groupviewlist', 'jsonscript' => 'blocktype/groupviews/groupviews.json.php', 'resultcounttextsingular' => get_string('view', 'view'), 'resultcounttextplural' => get_string('views', 'view'), ); PluginBlocktypeGroupViews::render_items($groupviews, 'blocktype:groupviews:groupviewssection.tpl', $configdata, $pagination); } json_reply(false, array('data' => $groupviews));