0){ $dest_url = phorum_get_url(PHORUM_LIST_URL); phorum_redirect_by_url($dest_url); exit(); } if($PHORUM['threaded_list']) { // make it simpler :) $PHORUM["list_length"] = $PHORUM['list_length_threaded']; } else { $PHORUM["list_length"] = $PHORUM['list_length_flat']; } // figure out paging for threaded and flat mode $pages=ceil($PHORUM["thread_count"]/$PHORUM["list_length"]); if($pages<=11){ $page_start=1; } elseif($pages-$page<5) { $page_start=$pages-10; } elseif($pages>11 && $page>6){ $page_start=$page-5; } else { $page_start=1; } $pageno=1; for($x=0;$x<11 && $x<$pages;$x++){ $pageno=$x+$page_start; $PHORUM["DATA"]["PAGES"][] = array( "pageno"=>$pageno, "url"=>phorum_get_url(PHORUM_LIST_URL, $PHORUM["forum_id"], "page=$pageno") ); } $PHORUM["DATA"]["CURRENTPAGE"]=$page; $PHORUM["DATA"]["TOTALPAGES"]=$pages; if($page_start>1){ $PHORUM["DATA"]["URL"]["FIRSTPAGE"]=phorum_get_url(PHORUM_LIST_URL, $PHORUM["forum_id"], "page=1"); } if($pageno<$pages){ $PHORUM["DATA"]["URL"]["LASTPAGE"]=phorum_get_url(PHORUM_LIST_URL, $PHORUM["forum_id"], "page=$pages"); } if($pages>$page){ $nextpage=$page+1; $PHORUM["DATA"]["URL"]["NEXTPAGE"]=phorum_get_url(PHORUM_LIST_URL, $PHORUM["forum_id"], "page=$nextpage"); } if($page>1){ $prevpage=$page-1; $PHORUM["DATA"]["URL"]["PREVPAGE"]=phorum_get_url(PHORUM_LIST_URL, $PHORUM["forum_id"], "page=$prevpage"); } $min_id=0; if ($PHORUM["threaded_list"]){ // loop through and read all the data in. foreach($rows as $key => $row){ if($PHORUM["count_views"]) { // show viewcount if enabled if($PHORUM["count_views"] == 2) { // viewcount as column $PHORUM["DATA"]["VIEWCOUNT_COLUMN"]=true; $rows[$key]["viewcount"]=$row['viewcount']; } else { // viewcount added to the subject $rows[$key]["subject"]=$row["subject"]." ({$row['viewcount']} {$PHORUM['DATA']['LANG']['Views']})"; } } $rows[$key]["datestamp"] = phorum_date($PHORUM["short_date"], $row["datestamp"]); $rows[$key]["lastpost"] = phorum_date($PHORUM["short_date"], $row["modifystamp"]); $rows[$key]["url"] = phorum_get_url(PHORUM_READ_URL, $row["thread"], $row["message_id"]); if($row["message_id"] == $row["thread"]){ $rows[$key]["threadstart"] = true; }else{ $rows[$key]["threadstart"] = false; } $rows[$key]["delete_url1"] = phorum_get_url(PHORUM_MODERATION_URL, PHORUM_DELETE_MESSAGE, $row["message_id"]); $rows[$key]["delete_url2"] = phorum_get_url(PHORUM_MODERATION_URL, PHORUM_DELETE_TREE, $row["message_id"]); $rows[$key]["move_url"] = phorum_get_url(PHORUM_MODERATION_URL, PHORUM_MOVE_THREAD, $row["message_id"]); // newflag, if its NOT in newinfo AND newer (min than min_id, then its a new message $rows[$key]["new"] = ""; if ($PHORUM["DATA"]["LOGGEDIN"]){ if (!isset($PHORUM['user']['newinfo'][$row['message_id']]) && $row['message_id'] > $PHORUM['user']['newinfo']['min_id']) { $rows[$key]["new"]=$PHORUM["DATA"]["LANG"]["newflag"]; } } if ($row["user_id"]){ $url = phorum_get_url(PHORUM_PROFILE_URL, $row["user_id"]); $rows[$key]["profile_url"] = $url; $rows[$key]["linked_author"] = "".htmlspecialchars($row['author']).""; }else{ $rows[$key]["profile_url"] = ""; if(!empty($row['email'])) { $email_url = phorum_html_encode("mailto:$row[email]"); // we don't normally put HTML in this code, but this makes it easier on template builders $rows[$key]["linked_author"] = "".htmlspecialchars($row["author"]).""; } else { $rows[$key]["linked_author"] = htmlspecialchars($row["author"]); } } if($min_id == 0 || $min_id > $row['message_id']) $min_id = $row['message_id']; } // don't move this up. We want it to be conditional. include_once("./include/thread_sort.php"); $rows = phorum_sort_threads($rows); }else{ // loop through and read all the data in. foreach($rows as $key => $row){ $rows[$key]["lastpost"] = phorum_date($PHORUM["short_date"], $row["modifystamp"]); $rows[$key]["datestamp"] = phorum_date($PHORUM["short_date"], $row["datestamp"]); $rows[$key]["url"] = phorum_get_url(PHORUM_READ_URL, $row["thread"]); $rows[$key]["new"] = ""; if($PHORUM["count_views"]) { // show viewcount if enabled if($PHORUM["count_views"] == 2) { // viewcount as column $PHORUM["DATA"]["VIEWCOUNT_COLUMN"]=true; $rows[$key]["viewcount"]=$row['viewcount']; } else { // viewcount added to the subject $rows[$key]["subject"]=$row["subject"]." ({$row['viewcount']} {$PHORUM['DATA']['LANG']['Views']})"; } } if ($PHORUM["DATA"]["LOGGEDIN"]){ if($PHORUM["DATA"]["MODERATOR"]){ $rows[$key]["delete_url1"] = phorum_get_url(PHORUM_MODERATION_URL, PHORUM_DELETE_MESSAGE, $row["message_id"]); $rows[$key]["delete_url2"] = phorum_get_url(PHORUM_MODERATION_URL, PHORUM_DELETE_TREE, $row["message_id"]); $rows[$key]["move_url"] = phorum_get_url(PHORUM_MODERATION_URL, PHORUM_MOVE_THREAD, $row["message_id"]); } if(isset($row['meta']['message_ids']) && is_array($row['meta']['message_ids'])) { foreach ($row['meta']['message_ids'] as $cur_id) { if(!isset($PHORUM['user']['newinfo'][$cur_id]) && $cur_id > $PHORUM['user']['newinfo']['min_id']) $rows[$key]["new"] = $PHORUM["DATA"]["LANG"]["newflag"]; } } } if ($row["user_id"]){ $url = phorum_get_url(PHORUM_PROFILE_URL, $row["user_id"]); $rows[$key]["profile_url"] = $url; $rows[$key]["linked_author"] = "$row[author]"; }else{ $rows[$key]["profile_url"] = ""; if(!empty($row['email'])) { $email_url = phorum_html_encode("mailto:$row[email]"); // we don't normally put HTML in this code, but this makes it easier on template builders $rows[$key]["linked_author"] = "".htmlspecialchars($row["author"]).""; } else { $rows[$key]["linked_author"] = $row["author"]; } } $pages=1; if(!$PHORUM["threaded_read"] && $row["thread_count"]>$PHORUM["read_length"]){ $pages=ceil($row["thread_count"]/$PHORUM["read_length"]); if($pages<=5){ $page_links=""; for($x=1;$x<=$pages;$x++){ $url=phorum_get_url(PHORUM_READ_URL, $row["thread"], "page=$x"); $page_links[]="$x"; } $rows[$key]["pages"]=implode(", ", $page_links); } else { $url=phorum_get_url(PHORUM_READ_URL, $row["thread"], "page=1"); $rows[$key]["pages"]="1 "; $rows[$key]["pages"].="... "; $pageno=$pages-2; $url=phorum_get_url(PHORUM_READ_URL, $row["thread"], "page=$pageno"); $rows[$key]["pages"].="$pageno, "; $pageno=$pages-1; $url=phorum_get_url(PHORUM_READ_URL, $row["thread"], "page=$pageno"); $rows[$key]["pages"].="$pageno, "; $pageno=$pages; $url=phorum_get_url(PHORUM_READ_URL, $row["thread"], "page=$pageno"); $rows[$key]["pages"].="$pageno "; } } if($pages>1){ $rows[$key]["last_post_url"]=phorum_get_url(PHORUM_READ_URL, $row["thread"], $row["meta"]["recent_post"]["message_id"], "page=$pages"); } else { $rows[$key]["last_post_url"]=phorum_get_url(PHORUM_READ_URL, $row["thread"], $row["meta"]["recent_post"]["message_id"]); } $row['meta']['recent_post']['author'] = str_replace( array( "<", ">" ), array( "<", ">" ), $row['meta']['recent_post']['author'] ); if ($row["meta"]["recent_post"]["user_id"]){ $url = phorum_get_url(PHORUM_PROFILE_URL, $row["meta"]["recent_post"]["user_id"]); $rows[$key]["last_post_profile_url"] = $url; $rows[$key]["last_post_by"] = "{$row['meta']['recent_post']['author']}"; }else{ $rows[$key]["profile_url"] = ""; $rows[$key]["last_post_by"] = $row["meta"]["recent_post"]["author"]; } if($min_id == 0 || $min_id > $row['message_id']) $min_id = $row['message_id']; } } // run list mods $rows = phorum_hook("list", $rows); // format messages $rows = phorum_format_messages($rows); // set up the data $PHORUM["DATA"]["ROWS"] = $rows; $PHORUM["DATA"]["URL"]["MARKREAD"] = phorum_get_url(PHORUM_LIST_URL, $PHORUM["forum_id"], "markread"); if($PHORUM["DATA"]["MODERATOR"]) { $PHORUM["DATA"]["URL"]["UNAPPROVED"] = phorum_get_url(PHORUM_PREPOST_URL); } // updating new-info for first visit (last message on first page is first new) if ($PHORUM["DATA"]["LOGGEDIN"] && $PHORUM['user']['newinfo']['min_id'] == 0 && !isset($PHORUM['user']['newinfo'][$min_id]) && $min_id != 0){ // setting it as min-id phorum_db_newflag_add_read($min_id); } $PHORUM["DATA"]["HTML_TITLE"] = /*htmlentities(*/ $PHORUM["DATA"]["HTML_TITLE"]; /*);*/ include phorum_get_template("header"); phorum_hook("after_header"); // include the correct template if ($PHORUM["threaded_list"]){ include phorum_get_template("list_threads"); }else{ include phorum_get_template("list"); } phorum_hook("before_footer"); include phorum_get_template("footer"); ?>