define('IN_EBB', true);
/*
Filename: viewboard.php
Last Modified: 1/3/2006
Term of Use:
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
*/
include "config.php";
require "header.php";
$bid = $_GET['bid'];
$page = new template($template_path ."/header.htm");
$page->replace_tags(array(
"TITLE" => "$title",
"PAGETITLE" => "$viewboard[title]",
"BGCOLOR" => "$bg_color",
"TEXTCOLOR" => "$text_color",
"LINKCOLOR" => "$link",
"VLINKCOLOR" => "$vlink",
"FONTFACE" => "$font"));
$page->output();
//check to see if the install file is stil on the user's server.
if (file_exists("install.php")){
if ($stat == "Admin"){
$error = $txt['installadmin'];
echo error($error, "error");
}
else{
$error = $txt['install'];
echo error($error, "general");
}
}
//check to see if this user is able to access this board.
echo check_ban();
//check to see if the board is on or off.
if ($board_status == "Off"){
$error = $off_msg;
echo error($error, "general");
if ($stat == "Admin"){
echo "
$menu[cp]";
}
}
//output top
if ($stat == "Admin"){
$page = new template($template_path ."/top-admin.htm");
$page->replace_tags(array(
"TITLE" => "$title",
"LANG-WELCOME" => "$txt[welcome]",
"LOGGEDUSER" => "$logged_user",
"LANG-LOGOUT" => "$txt[logout]",
"LANG-IM" => "$menu[launchim]",
"LANG-CP" => "$menu[cp]",
"TABLE1" => "$table1",
"ADDRESS" => "$address",
"LANG-HOME" => "$menu[home]",
"LANG-SEARCH" => "$menu[search]",
"LANG-FAQ" => "$menu[faq]",
"LANG-MEMBERLIST" => "$menu[members]",
"LANG-PROFILE" => "$menu[profile]"));
$page->output();
//check to see if user is marked as online, if not mark them as online.
$time = time();
$db->run = "select * from ebb_online where Username='$logged_user'";
$count_member = $db->num_results();
$db->close();
if ($count_member == 0){
//user seems to be just getting on.
$db->run = "insert into ebb_online (Username, time, location) values('$logged_user', '$time', '$_SERVER[PHP_SELF]')";
$db->query();
$db->close();
}
else{
//user is still here so lets up their time to let the script know the user is still around.
$db->run = "update ebb_online Set time='$time', location='$_SERVER[PHP_SELF]' where Username='$logged_user'";
$db->query();
$db->close();
}
}
if (($stat == "Member") OR ($stat == "Moderator")){
$page = new template($template_path ."/top-logged.htm");
$page->replace_tags(array(
"TITLE" => "$title",
"LANG-WELCOME" => "$txt[welcome]",
"LOGGEDUSER" => "$logged_user",
"LANG-LOGOUT" => "$txt[logout]",
"LANG-IM" => "$menu[launchim]",
"TABLE1" => "$table1",
"ADDRESS" => "$address",
"LANG-HOME" => "$menu[home]",
"LANG-SEARCH" => "$menu[search]",
"LANG-FAQ" => "$menu[faq]",
"LANG-MEMBERLIST" => "$menu[members]",
"LANG-PROFILE" => "$menu[profile]"));
$page->output();
//check to see if user is marked as online, if not mark them as online.
$time = time();
$db->run = "select * from ebb_online where Username='$logged_user'";
$count_member = $db->num_results();
$db->close();
if ($count_member == 0){
//user seems to be just getting on.
$db->run = "insert into ebb_online (Username, time, location) values('$logged_user', '$time', '$_SERVER[PHP_SELF]')";
$db->query();
$db->close();
}
else{
//user is still here so lets up their time to let the script know the user is still around.
$db->run = "update ebb_online Set time='$time', location='$_SERVER[PHP_SELF]' where Username='$logged_user'";
$db->query();
$db->close();
}
}
if ($stat == "guest"){
$page = new template($template_path ."/top-guest.htm");
$page->replace_tags(array(
"TITLE" => "$title",
"LANG-WELCOME" => "$txt[welcomeguest]",
"LANG-LOGIN" => "$txt[login]",
"LANG-REGISTER" => "$txt[register]",
"TABLE1" => "$table1",
"ADDRESS" => "$address",
"LANG-HOME" => "$menu[home]",
"LANG-SEARCH" => "$menu[search]",
"LANG-FAQ" => "$menu[faq]",
"LANG-MEMBERLIST" => "$menu[members]"));
$page->output();
//check to see if guest is marked as online, if not mark them as online.
$time = time();
$ip = $_SERVER["REMOTE_ADDR"];
$db->run = "select * from ebb_online where ip='$ip'";
$count_guest = $db->num_results();
$db->close();
if ($count_guest == 0){
$db->run = "insert into ebb_online (ip, time, location) values('$ip', '$time', '$_SERVER[PHP_SELF]')";
$db->query();
$db->close();
}
else{
//user is still here so lets up their time to let the script know the user is still around.
$db->run = "update ebb_online Set time='$time', location='$_SERVER[PHP_SELF]' where ip='$ip'";
$db->query();
$db->close();
}
}
//record user comming in here
$db->run = "select * from ebb_read WHERE Board='$bid' and user='$logged_user'";
$read_ct = $db->num_results();
$db->close();
if (($read_ct == 0) AND ($stat !== "guest")){
$db->run = "insert into ebb_read (Board, user) values('$bid', '$logged_user')";
$db->query();
$db->close();
}
//check to see if board exists or not and if it doesn't kill the program
$db->run = "select * from ebb_boards WHERE id = '$bid'";
$checkboard = $db->num_results();
$db->close();
if ($checkboard == 0){
$error = $viewboard['doesntexist'];
echo error($error, "error");
}
//list boards
$db->run = "select * from ebb_boards WHERE id = '$bid'";
$rules = $db->result();
$db->close();
//check for the posting rule.
if ($stat == "guest"){
//guest has no power to post anything at all.
$posting = '';
}else{
if (($rules['B_Write'] == "Admins") AND ($stat !== "Admin")){
$posting = "
";
}elseif (($rules['B_Write'] == "Admins & Moderators") AND ($stat == "Member")){
$posting = "
";
}elseif ($rules['B_Write'] == "None"){
$posting = "
";
}else{
if ($rules['Poll'] == "Off"){
//this board can't post polls.
$posting = "![\"$viewboard[addnewtopic]\"](\"$template_path/images/newtopic.gif\")
";
}
else{
//this board has no poll rule.
$posting = "
![\"$viewboard[addnewpoll]\"](\"$template_path/images/newpoll.gif\")
";
}
}
}
$pg = $_REQUEST['pg'];
$query = $_POST['query'];
//pagination
if(!isset($_GET['pg'])){
$pg = 1;
} else {
$pg = $_GET['pg'];
}
// Define the number of results per page
$max_results = 10;
// Figure out the limit for the query based
// on the current page number.
$from = (($pg * $max_results) - $max_results);
// Figure out the total number of results in DB:
$db->run = "select * from ebb_topics WHERE bid = '$bid' ORDER BY important DESC, last_update DESC LIMIT $from, $max_results";
$query = $db->query();
$db->close();
$db->run = "select * from ebb_topics WHERE bid = '$bid' ORDER BY important DESC, last_update DESC";
$num = $db->num_results();
$db->close();
// Figure out the total number of pages. Always round up using ceil()
$total_pages = ceil($num / $max_results);
$pagenation = "