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");
?>