$posts_per_page) { $_GET['rowstart'] = ((ceil($reply_count / $posts_per_page)-1) * $posts_per_page); }
}
if ($fdata['forum_post'] != 0 && checkgroup($fdata['forum_post'])) {
$can_post = true;
} else {
$can_post = false;
}
if ($fdata['forum_reply'] != 0 && checkgroup($fdata['forum_reply'])) {
$can_reply = true;
} else {
$can_reply = false;
}
if ($settings['forum_edit_lock'] == 1) {
$lock_edit = true;
} else {
$lock_edit = false;
}
//locale dependent forum buttons
if (is_array($fusion_images)) {
if ($settings['locale'] != "English") {
$newpath = "";
$oldpath = explode("/", $fusion_images['newthread']);
$c_path = count($oldpath);
for ($i = 0; $i < $c_path - 1; $i++) {
$newpath .= $oldpath[$i]."/";
}
if (is_dir($newpath.$settings['locale'])) {
redirect_img_dir($newpath, $newpath.$settings['locale']."/");
}
}
}
//javascript to footer
$highlight_js = ""; $colorbox_js = ""; $edit_reason_js = "";
// moderators
$mod_groups = explode(".", $fdata['forum_moderators']);
if (iSUPERADMIN) { define("iMOD", true); }
if (!defined("iMOD") && iMEMBER && $fdata['forum_moderators']) {
foreach ($mod_groups as $mod_group) {
if (!defined("iMOD") && checkgroup($mod_group)) { define("iMOD", true); }
}
}
if (!defined("iMOD")) { define("iMOD", false); }
if (iMOD && (((isset($_POST['delete_posts']) || isset($_POST['move_posts'])) && isset($_POST['delete_post'])) || isset($_GET['error']))) {
require_once FORUM."viewthread_options.php";
}
// polls
$poll_on_first_page_only = ($_GET['rowstart'] == 0) ? true : false;
$poll_there = false; $poll_data = false; $poll_options = 0;
$can_vote = false; $had_voted = false;
if ($fdata['thread_poll'] == "1") { // bug #1012
$poll_there = true;
if (iMEMBER) {
$presult = dbquery(
"SELECT tfp.forum_poll_title, tfp.forum_poll_votes, tfv.forum_vote_user_id FROM ".DB_FORUM_POLLS." tfp
LEFT JOIN ".DB_FORUM_POLL_VOTERS." tfv
ON tfp.thread_id=tfv.thread_id AND forum_vote_user_id='".$userdata['user_id']."'
WHERE tfp.thread_id='".$_GET['thread_id']."'"
);
} else {
$presult = dbquery(
"SELECT tfp.forum_poll_title, tfp.forum_poll_votes FROM ".DB_FORUM_POLLS." tfp
WHERE tfp.thread_id='".$_GET['thread_id']."'"
);
}
if (dbrows($presult)) {
$poll_data = true;
$pdata = dbarray($presult);
if (isset($pdata['forum_vote_user_id'])) { $had_voted = true; }
$presult2 = dbquery("SELECT forum_poll_option_votes, forum_poll_option_text FROM ".DB_FORUM_POLL_OPTIONS." WHERE thread_id='".$_GET['thread_id']."' ORDER BY forum_poll_option_id ASC");
$poll_options = dbrows($presult2);
}
$can_vote = (!$had_voted && $fdata['forum_vote'] != 0 && checkgroup($fdata['forum_vote'])) ? true : false;
}
if (iMOD) { $can_vote = !$had_voted; }
if ($poll_there && $can_vote && !$had_voted && isset($_POST['cast_vote']) && (isset($_POST['poll_option']) && isnum($_POST['poll_option'])) && ($_POST['poll_option'] <= $poll_options)) { // bug #1012
$result = dbquery("UPDATE ".DB_FORUM_POLL_OPTIONS." SET forum_poll_option_votes=forum_poll_option_votes+1 WHERE thread_id='".$_GET['thread_id']."' AND forum_poll_option_id='".$_POST['poll_option']."'");
$result = dbquery("UPDATE ".DB_FORUM_POLLS." SET forum_poll_votes=forum_poll_votes+1 WHERE thread_id='".$_GET['thread_id']."'");
$result = dbquery("INSERT INTO ".DB_FORUM_POLL_VOTERS." (thread_id, forum_vote_user_id, forum_vote_user_ip, forum_vote_user_ip_type) VALUES ('".$_GET['thread_id']."', '".$userdata['user_id']."', '".USER_IP."', '".USER_IP_TYPE."')");
redirect(FUSION_SELF."?thread_id=".$_GET['thread_id']);
}
// user fields
$user_field = array("user_sig" => false, "user_web" => false);
if (iMEMBER) {
$thread_match = $fdata['thread_id']."\|".$fdata['thread_lastpost']."\|".$fdata['forum_id'];
if (($fdata['thread_lastpost'] > $lastvisited) && !preg_match("(^\.{$thread_match}$|\.{$thread_match}\.|\.{$thread_match}$)", $userdata['user_threads'])) {
$result = dbquery("UPDATE ".DB_USERS." SET user_threads='".$userdata['user_threads'].".".stripslashes($thread_match)."' WHERE user_id='".$userdata['user_id']."'");
}
if (isset($userdata['user_sig'])) { $user_field['user_sig'] = true; }
if (isset($userdata['user_web'])) { $user_field['user_web'] = true; }
} else {
$result = dbquery("SELECT field_name FROM ".DB_USER_FIELDS." WHERE field_name='user_sig' OR field_name='user_web'");
while ($data = dbarray($result)) {
$user_field[$data['field_name']] = true;
}
}
opentable($locale['500']);
// breadcrumbs
$caption = $fdata['forum_cat_name']." » ".$fdata['forum_name']." ";
echo "
\n";
// thread
list($rows, $last_post) = dbarraynum(dbquery(
"SELECT COUNT(post_id), MAX(post_id) FROM ".DB_POSTS." WHERE thread_id='".$_GET['thread_id']."' AND post_hidden='0' GROUP BY thread_id"));
if (($rows > $posts_per_page) || ($can_post || $can_reply)) {
echo "\n\n";
if ($rows > $posts_per_page) { echo "".makepagenav($_GET['rowstart'],$posts_per_page,$rows,3,FUSION_SELF."?thread_id=".$_GET['thread_id']."&")." \n"; }
if (iMEMBER && $can_post) {
echo "\n\n";
if ($can_post) {
echo "";
echo " \n";
}
if (!$fdata['thread_locked'] && $can_reply) {
echo "";
echo " \n";
}
echo " \n";
}
echo " \n
\n";
}
if ($rows != 0) {
dbquery("UPDATE ".DB_THREADS." SET thread_postcount='$rows', thread_lastpostid='$last_post', thread_views=thread_views+1 WHERE thread_id='".$_GET['thread_id']."'");
/* poll */
if ($poll_on_first_page_only && $poll_there && $poll_data) {
$i = 1;
if ($can_vote) { echo "\n"; }
}
/* end poll */
$result = dbquery(
"SELECT p.forum_id, p.thread_id, p.post_id, p.post_message, p.post_showsig, p.post_smileys, p.post_author,
p.post_datestamp, p.post_ip, p.post_ip_type, p.post_edituser, p.post_edittime, p.post_editreason,
u.user_id, u.user_name, u.user_status, u.user_avatar, u.user_level, u.user_posts, u.user_groups, u.user_joined,
".($user_field['user_sig'] ? " u.user_sig," : "").($user_field['user_web'] ? " u.user_web," : "")."
u2.user_name AS edit_name, u2.user_status AS edit_status
FROM ".DB_POSTS." p
LEFT JOIN ".DB_USERS." u ON p.post_author = u.user_id
LEFT JOIN ".DB_USERS." u2 ON p.post_edituser = u2.user_id AND post_edituser > '0'
WHERE p.thread_id='".$_GET['thread_id']."' AND post_hidden='0'
ORDER BY post_datestamp LIMIT ".$_GET['rowstart'].",$posts_per_page"
);
if (iMOD) { echo "\n";
}
if ($rows > $posts_per_page) {
echo "\n";
echo makepagenav($_GET['rowstart'],$posts_per_page,$rows,3,FUSION_SELF."?thread_id=".$_GET['thread_id'].(isset($_GET['highlight']) ? "&highlight=".urlencode($_GET['highlight']):"")."&")."\n";
echo "
\n";
}
$forum_list = ""; $current_cat = "";
$result = dbquery(
"SELECT f.forum_id, f.forum_name, f2.forum_name AS forum_cat_name
FROM ".DB_FORUMS." f
INNER JOIN ".DB_FORUMS." f2 ON f.forum_cat=f2.forum_id
WHERE ".groupaccess('f.forum_access')." AND f.forum_cat!='0'
ORDER BY f2.forum_order ASC, f.forum_order ASC"
);
while ($data = dbarray($result)) {
if ($data['forum_cat_name'] != $current_cat) {
if ($current_cat != "") { $forum_list .= "\n"; }
$current_cat = $data['forum_cat_name'];
$forum_list .= "\n";
}
$sel = ($data['forum_id'] == $fdata['forum_id'] ? " selected='selected'" : "");
$forum_list .= "".$data['forum_name']." \n";
}
$forum_list .= " \n";
if (iMOD) {
echo "\n"; }
if ($can_post || $can_reply) {
echo "\n\n";
echo "\n\n";
if ($can_post) {
echo "";
echo " \n";
}
if (!$fdata['thread_locked'] && $can_reply) {
echo "";
echo " \n";
}
echo " \n \n
\n";
}
closetable();
if ($can_reply && !$fdata['thread_locked']) {
require_once INCLUDES."bbcode_include.php";
opentable($locale['512']);
echo "\n";
closetable();
}
// viewthread javascript, moved to footer
$viewthread_js = "";
add_to_footer($viewthread_js); //unset($viewthread_js);
require_once THEMES."templates/footer.php";
?>