コード例 #1
0
 /**
  * Opens table tag and displays header row ready for calling
  * render_discussion_list_item() a bunch of times.
  * @param mod_forumng $forum
  * @param int $groupid Group ID for display; may be NO_GROUPS or ALL_GROUPS
  * @param string $baseurl Base URL of current page
  * @param int $sort mod_forumng::SORT_xx constant for sort order
  * @return string HTML code for start of table
  */
 public function render_discussion_list_start($forum, $groupid, $baseurl, $sort, $sortreverse = false)
 {
     global $CFG;
     $th = "<th scope='col' class='header c";
     // Work out sort headers
     $baseurl = preg_replace('~&sort=[a-z]~', '', $baseurl);
     $baseurl = preg_replace('~&page=[0-9]+~', '', $baseurl);
     $sortdata = array();
     $reversechar = $sortreverse ? '' : 'r';
     foreach (array(mod_forumng::SORT_DATE, mod_forumng::SORT_SUBJECT, mod_forumng::SORT_AUTHOR, mod_forumng::SORT_POSTS, mod_forumng::SORT_UNREAD, mod_forumng::SORT_GROUP) as $possiblesort) {
         $data = new stdClass();
         if ($sort == $possiblesort) {
             $data->before = '<a ' . 'id="sortlink_' . mod_forumng::get_sort_letter($possiblesort) . '" href="' . s($baseurl) . '&amp;sort=' . mod_forumng::get_sort_letter($possiblesort) . $reversechar . '&amp;sortlink=' . mod_forumng::get_sort_letter($possiblesort) . '" class="forumng-sortlink" ' . 'title="' . mod_forumng::get_sort_title($possiblesort) . ' ' . $this->get_sort_order_text($sort, !$sortreverse) . '">';
             $data->after = '</a>' . $this->get_sort_arrow($sort, $sortreverse);
         } else {
             $data->before = '<a ' . 'id="sortlink_' . mod_forumng::get_sort_letter($possiblesort) . '" href="' . s($baseurl) . '&amp;sort=' . mod_forumng::get_sort_letter($possiblesort) . '&amp;sortlink=' . mod_forumng::get_sort_letter($possiblesort) . '" title="' . mod_forumng::get_sort_title($possiblesort) . ' ' . $this->get_sort_order_text($possiblesort) . '" class="forumng-sortlink">';
             $data->after = '</a>';
         }
         $sortdata[$possiblesort] = $data;
     }
     // Check group header
     if ($groupid == mod_forumng::ALL_GROUPS) {
         $grouppart = $sortdata[mod_forumng::SORT_GROUP]->before . get_string('group') . $sortdata[mod_forumng::SORT_GROUP]->after . "</th>{$th}3'>";
         $nextnum = 4;
     } else {
         $grouppart = '';
         $nextnum = 3;
     }
     $afternum = $nextnum + 1;
     if ($forum->can_mark_read()) {
         $unreadpart = "</th>{$th}{$nextnum} forumng-unreadcount'>" . $sortdata[mod_forumng::SORT_UNREAD]->before . get_string('unread', 'forumng') . $sortdata[mod_forumng::SORT_UNREAD]->after . "</th>{$th}{$afternum} lastcol'>";
     } else {
         $unreadpart = "</th>{$th}{$nextnum} lastcol'>";
     }
     return "<table class='generaltable forumng-discussionlist'><tr>" . "{$th}0'>" . $sortdata[mod_forumng::SORT_SUBJECT]->before . get_string('discussion', 'forumng') . $sortdata[mod_forumng::SORT_SUBJECT]->after . "</th>{$th}1'>" . $sortdata[mod_forumng::SORT_AUTHOR]->before . get_string('startedby', 'forumng') . $sortdata[mod_forumng::SORT_AUTHOR]->after . "</th>{$th}2'>" . $grouppart . $sortdata[mod_forumng::SORT_POSTS]->before . get_string('posts', 'forumng') . $sortdata[mod_forumng::SORT_POSTS]->after . $unreadpart . $sortdata[mod_forumng::SORT_DATE]->before . get_string('lastpost', 'forumng') . $sortdata[mod_forumng::SORT_DATE]->after . '</th></tr>';
 }