/** * Displays the view page (usually showing a list of discussions). * @param mod_forumng $forum Forum * @param int $groupid Group ID */ function print_view_page($forum, $groupid) { global $PAGE; $out = mod_forumng_utils::get_renderer(); $forumngid = $forum->get_id(); $baseurl = 'list.php?' . $forum->get_link_params(mod_forumng::PARAM_PLAIN); $sortorder = optional_param('sort', '', PARAM_ALPHA); if (!$sortorder) { $sortlink = optional_param('sortlink', '', PARAM_ALPHA); if ($sortlink) { $sortorder = $sortlink; } else { $sortorder = 'd'; } } $page = optional_param('page', 0, PARAM_INT); if (!$page) { $page = 1; } $baseurl .= '&page=' . $page; $sortchar = substr($sortorder, 0, 1); if (strlen($sortorder) == 2) { $sortreverse = substr($sortorder, 1, 1) == 'r' ? true : false; } else { $sortreverse = false; } $baseurl .= '&sort=' . $sortchar; $baseurl .= $sortreverse ? 'r' : ''; $sort = mod_forumng::get_sort_code($sortchar); $list = $forum->get_discussion_list($groupid, $forum->can_view_hidden(), $page, $sort, $sortreverse); $normal = $list->get_normal_discussions(); $fg = new forumngtype_general(); // Remove discussions from list if the forumtype thinks we can't see them or they are not deleted. foreach ($normal as $key => $value) { if (!$fg->can_view_discussion($value) || !$value->is_deleted()) { unset($normal[$key]); } } $pagecount = get_page_count(count($normal), $page); // Intro. print $out->render_intro($forum); print display_paging_bar($baseurl, $pagecount, $page); if (count($normal) > 0) { print $out->render_discussion_list_start($forum, $groupid, $baseurl, $sort, $sortreverse); foreach ($normal as $discussion) { if ($discussion->is_deleted()) { print $out->render_discussion_list_item($discussion, $groupid, $discussion == end($normal)); } } print $out->render_discussion_list_end($forum, $groupid); } else { print '<p class="forumng-nodiscussions">' . get_string('nodeleteddiscussions', 'forumngfeature_deletedposts') . '</p>'; } print display_paging_bar($baseurl, $pagecount, $page); }
protected function get_string($forum, $string, $a = null) { if ($string == 'nodiscussions') { return get_string($forum->can_view_hidden() ? 'studyadvice_noquestions' : 'studyadvice_noyourquestions', 'forumng'); } else { return parent::get_string($string, $a); } }