db_Update("user", "user_realm='".$tp -> toDB($tmp, true)."' WHERE user_id='".USERID."' "); header("location:".e_SELF."?track"); exit; } //Mark all threads as read if (e_QUERY == "mark.all.as.read") { $forum->forum_markasread('all'); header("location:".e_SELF); exit; } //Mark all threads in specific forum as read if (strstr(e_QUERY, 'mfar')) { $tmp = explode(".", e_QUERY); $forum_id = intval($tmp[1]); $forum->forum_markasread($forum_id); header("location:".e_SELF); exit; } if (e_QUERY == 'rules') { include_once(HEADERF); forum_rules('show'); include_once(FOOTERF); exit; } $gen = new convert; $FORUMTITLE = LAN_46; $THREADTITLE = LAN_47; $REPLYTITLE = LAN_48; $LASTPOSTITLE = LAN_49; $INFOTITLE = LAN_191; $LOGO = IMAGE_e; $NEWTHREADTITLE = LAN_424; $POSTEDTITLE = LAN_423; $NEWIMAGE = IMAGE_new_small; $TRACKTITLE = LAN_397; $rules_text = forum_rules('check'); $USERINFO = "".LAN_429." | ".LAN_430.""; if(USER) { $USERINFO .= " | ".LAN_431." | ".LAN_432." | ".LAN_435.""; if($pref['forum_attach'] && (check_class($pref['upload_class']) || getperms('0'))) { $USERINFO .= " | ".FORLAN_442.""; } } if($rules_text != '') { $USERINFO .= " | ".LAN_433.""; } $total_topics = $sql->db_Count("forum_t", "(*)", " WHERE thread_parent='0' "); $total_replies = $sql->db_Count("forum_t", "(*)", " WHERE thread_parent!='0' "); $total_members = $sql->db_Count("user"); $newest_member = $sql->db_Select("user", "*", "user_ban='0' ORDER BY user_join DESC LIMIT 0,1"); list($nuser_id, $nuser_name) = $sql->db_Fetch(); if(!defined("e_TRACKING_DISABLED")) { $member_users = $sql->db_Select("online", "*", "online_location REGEXP('forum.php') AND online_user_id!='0' "); $guest_users = $sql->db_Select("online", "*", "online_location REGEXP('forum.php') AND online_user_id='0' "); $users = $member_users+$guest_users; $USERLIST = LAN_426; global $listuserson; $c = 0; if(is_array($listuserson)) { foreach($listuserson as $uinfo => $pinfo) { list($oid, $oname) = explode(".", $uinfo, 2); $c ++; $USERLIST .= "$oname".($c == MEMBERS_ONLINE ? "." :", "); } } $USERLIST .= "
".LAN_427." ".LAN_436; } $STATLINK = "".LAN_441."\n"; $ICONKEY = " \n\n
".IMAGE_new_small." ".LAN_79." ".IMAGE_nonew_small." ".LAN_80." ".IMAGE_closed_small." ".LAN_394."
\n"; $SEARCH = "

\n"; $PERMS = (USER == TRUE || ANON == TRUE ? LAN_204." - ".LAN_206." - ".LAN_208 : LAN_205." - ".LAN_207." - ".LAN_209); $INFO = ""; if (USER == TRUE) { $total_new_threads = $sql->db_Count('forum_t', '(*)', "WHERE thread_datestamp>'".USERLV."' "); if (USERVIEWED != "") { $tmp = explode("..", USERVIEWED); $total_read_threads = count($tmp); } else { $total_read_threads = 0; } $INFO = LAN_30." ".USERNAME."
"; $lastvisit_datestamp = $gen->convert_date(USERLV, 'long'); $datestamp = $gen->convert_date(time(), "long"); if (!$total_new_threads) { $INFO .= LAN_31; } elseif($total_new_threads == 1) { $INFO .= LAN_32; } else { $INFO .= LAN_33." ".$total_new_threads." ".LAN_34." "; } $INFO .= LAN_35; if ($total_new_threads == $total_read_threads && $total_new_threads != 0 && $total_read_threads >= $total_new_threads) { $INFO .= LAN_198; $allread = TRUE; } elseif($total_read_threads != 0) { $INFO .= " (".LAN_196.$total_read_threads.LAN_197.")"; } $INFO .= "
".LAN_36." ".$lastvisit_datestamp."
".LAN_37." ".$datestamp; } else { $INFO .= ""; if (ANON == TRUE) { $INFO .= LAN_410."
".LAN_44." ".LAN_437." ".LAN_438; } elseif(USER == FALSE) { $INFO .= LAN_410."
".LAN_45." ".LAN_439." ".LAN_440; } } if (USER && $allread != TRUE && $total_new_threads && $total_new_threads >= $total_read_threads) { $INFO .= "
".LAN_199."".(e_QUERY != "new" ? ", ".LAN_421."" : ""); } if (USER && USERREALM && e_QUERY != "track") { $INFO .= "
".LAN_393.""; } $FORUMINFO = LAN_192.($total_topics+$total_replies)." ".LAN_404." ($total_topics ".($total_topics == 1 ? LAN_411 : LAN_413).", $total_replies ".($total_replies == 1 ? LAN_412 : LAN_414).").".(!defined("e_TRACKING_DISABLED") ? "" : "
".$users." ".($users == 1 ? LAN_415 : LAN_416)." (".$member_users." ".($member_users == 1 ? LAN_417 : LAN_419).", ".$guest_users." ".($guest_users == 1 ? LAN_418 : LAN_420).")
".LAN_42.$total_members."
".LAN_41."".$nuser_name.".\n"); if (!isset($FORUM_MAIN_START)) { if (file_exists(THEME."forum_template.php")) { include_once(THEME."forum_template.php"); } } include(e_PLUGIN."forum/templates/forum_template.php"); require_once(HEADERF); $parent_list = $forum->forum_getparents(); $forum_list = $forum->forum_getforums(); $sub_list = $forum->forum_getsubs(); $newflag_list = $forum->forum_newflag_list(); if (!$parent_list) { $ns->tablerender(PAGE_NAME, "
".LAN_51."
", array('forum', '51')); require_once(FOOTERF); exit; } $forum_string = ""; foreach ($parent_list as $parent) { $status = parse_parent($parent); $PARENTSTATUS = $status[0]; if ($status[1]) { $PARENTNAME = $parent['forum_name']; $forum_string .= preg_replace("/\{(.*?)\}/e", '$\1', $FORUM_MAIN_PARENT); // $forums = $forum->forum_getforums($parent['forum_id']); if (!count($forum_list[$parent['forum_id']])) { $text .= "".LAN_52.""; } else { foreach($forum_list[$parent['forum_id']] as $f) { if ($f['forum_class'] == e_UC_ADMIN && ADMIN) { $forum_string .= parse_forum($f, LAN_406); } elseif($f['forum_class'] == e_UC_MEMBER && USER) { $forum_string .= parse_forum($f, LAN_407); } elseif($f['forum_class'] == e_UC_READONLY) { $forum_string .= parse_forum($f, LAN_408); } elseif($f['forum_class'] && check_class($f['forum_class'])) { $forum_string .= parse_forum($f, LAN_409); } elseif(!$f['forum_class']) { $forum_string .= parse_forum($f); } } if (isset($FORUM_MAIN_PARENT_END)) { $forum_string .= preg_replace("/\{(.*?)\}/e", '$\1', $FORUM_MAIN_PARENT_END); } } } } function parse_parent($parent) { if(check_class($parent['forum_class'])) { $status[0]=""; $status[1] = TRUE; if(!check_class($parent['forum_postclass'])) { $status[0] = "( ".LAN_405." )"; } } else { $status[1] = FALSE; } return $status; } function parse_forum($f, $restricted_string = "") { global $FORUM_MAIN_FORUM, $gen, $forum, $tp, $newflag_list, $sub_list; if(USER && is_array($newflag_list) && in_array($f['forum_id'], $newflag_list)) { $NEWFLAG = "".IMAGE_new.""; } else { $NEWFLAG = IMAGE_nonew; } if(substr($f['forum_name'], 0, 1) == "*") { $f['forum_name'] = substr($f['forum_name'], 1); } $f['forum_name'] = $tp -> toHTML($f['forum_name'], TRUE, "no_hook"); $f['forum_description'] = $tp -> toHTML($f['forum_description'], TRUE, "no_hook"); $FORUMNAME = "{$f['forum_name']}"; $FORUMDESCRIPTION = $f['forum_description'].($restricted_string ? "
$restricted_string" : ""); $THREADS = $f['forum_threads']; $REPLIES = $f['forum_replies']; $FORUMSUBFORUMS = ""; if(is_array($sub_list[$f['forum_parent']][$f['forum_id']])) { list($lastpost_datestamp, $lastpost_thread) = explode(".", $f['forum_lastpost_info']); $ret = parse_subs($sub_list[$f['forum_parent']][$f['forum_id']], $lastpost_datestamp); $FORUMSUBFORUMS = "
".FORLAN_444.": {$ret['text']}
"; $THREADS += $ret['threads']; $REPLIES += $ret['replies']; if(isset($ret['lastpost_info'])) { $f['forum_lastpost_info'] = $ret['lastpost_info']; $f['user_name'] = $ret['user_name']; } } if ($f['forum_lastpost_user']) { list($lastpost_datestamp, $lastpost_thread) = explode(".", $f['forum_lastpost_info']); $tmp = explode(".", $f['forum_lastpost_user'], 2); if ($f['user_name']) { $lastpost_name = "{$f['user_name']}"; } else { if(!$tmp[1]) { $lastpost_name = FORLAN_443; } else { $lastpost_name = $tp->toHTML($tmp[1]); } } $lastpost_datestamp = $gen->convert_date($lastpost_datestamp, 'forum'); $LASTPOST = $lastpost_datestamp.'
'.$lastpost_name." ".IMAGE_post2.''; } else { $LASTPOST = "-"; } return(preg_replace("/\{(.*?)\}/e", '$\1', $FORUM_MAIN_FORUM)); } function parse_subs($subList, $lastpost_datestamp) { $ret = array(); $ret['text'] = ""; foreach($subList as $sub) { $ret['text'] .= ($ret['text'] ? ", " : ""); $ret['text'] .= "{$sub['forum_name']}"; $ret['threads'] += $sub['forum_threads']; $ret['replies'] += $sub['forum_replies']; $tmp = explode(".", $sub['forum_lastpost_info']); if($tmp[0] > $lastpost_datestamp) { $ret['lastpost_info'] = $sub['forum_lastpost_info']; $ret['user_name'] = $sub['user_name']; $lastpost_datestamp = $tmp[0]; } } return $ret; } if (e_QUERY == "track") { $sql2 = new db; $tmp = explode("-", USERREALM); foreach($tmp as $key => $value) { if ($value) { if($sql->db_Select("forum_t", "thread_id, thread_datestamp, thread_name", "thread_id='".intval($value)."' ")) { $row = $sql->db_Fetch(); //extract($row); $NEWIMAGE = IMAGE_nonew_small; if ($row['thread_datestamp'] > USERLV && (strpos(USERVIEWED, ".".$row['thread_id'].".") === FALSE)) { $NEWIMAGE = IMAGE_new_small; } elseif($sql2->db_SELECT("forum_t", "thread_id", "thread_parent='{$row['thread_id']}' AND thread_datestamp > '".USERLV."' ")) { while ($xrow = $sql2->db_Fetch()) { if (strpos(USERVIEWED, ".".$xrow['thread_id'].".") === FALSE) { $NEWIMAGE = IMAGE_new_small; } } } $result = preg_split("/\]/", $row['thread_name']); $TRACKPOSTNAME = (($result[1] && $row['thread_name']{0} == "[") ? $result[0]."] ".preg_replace("/\[.*\]/", "", $row['thread_name'])."" : "".$row['thread_name'].""); $UNTRACK = "".LAN_392.""; $forum_trackstring .= preg_replace("/\{(.*?)\}/e", '$\1', $FORUM_TRACK_MAIN); } } } $forum_track_start = preg_replace("/\{(.*?)\}/e", '$\1', $FORUM_TRACK_START); $forum_track_end = preg_replace("/\{(.*?)\}/e", '$\1', $FORUM_TRACK_END); if ($pref['forum_enclose']) { $ns->tablerender($pref['forum_title'], $forum_track_start.$forum_trackstring.$forum_track_end, array('forum', 'main1')); } else { echo $forum_track_start.$forum_trackstring.$forum_track_end; } } if (e_QUERY == "new") { $newpostList = $forum->post_getnew(10); foreach($newpostList as $post) { list($author_id, $author_info) = explode(".", $post['thread_user'], 2); list($author_name, $tmp) = explode(chr(1), $author_info); $datestamp = $gen->convert_date($post['thread_datestamp'], "forum"); if($author_id == 0) { $STARTERTITLE = $author_name."
".$datestamp; } else { $STARTERTITLE = "$author_name
".$datestamp; } if($post['post_subject']) { $NEWSPOSTNAME = "".LAN_425.$tp->toHTML($post['post_subject'], TRUE, 'no_make_clickable, no_hook').""; } else { $NEWSPOSTNAME = "".$tp->toHTML($post['thread_name'], TRUE, 'no_make_clickable, no_hook').""; } $forum_newstring .= preg_replace("/\{(.*?)\}/e", '$\1', $FORUM_NEWPOSTS_MAIN); } if (!$newpostList) { $NEWSPOSTNAME = LAN_198; $forum_newstring = preg_replace("/\{(.*?)\}/e", '$\1', $FORUM_NEWPOSTS_MAIN); } $forum_new_start = preg_replace("/\{(.*?)\}/e", '$\1', $FORUM_NEWPOSTS_START); $forum_new_end = preg_replace("/\{(.*?)\}/e", '$\1', $FORUM_NEWPOSTS_END); if ($pref['forum_enclose']) { $ns->tablerender($pref['forum_title'], $forum_new_start.$forum_newstring.$forum_new_end, array('forum', 'main2')); } else { echo $forum_new_start.$forum_newstring.$forum_new_end; } } $forum_main_start = preg_replace("/\{(.*?)\}/e", '$\1', $FORUM_MAIN_START); $forum_main_end = preg_replace("/\{(.*?)\}/e", '$\1', $FORUM_MAIN_END); if ($pref['forum_enclose']) { $ns->tablerender($pref['forum_title'], $forum_main_start.$forum_string.$forum_main_end, array('forum', 'main3')); } else { echo $forum_main_start.$forum_string.$forum_main_end; } require_once(FOOTERF); function forum_rules($action = 'check') { global $tp, $sql, $ns; if (ADMIN == TRUE) { $type = 'forum_rules_admin'; } elseif(USER == TRUE) { $type = 'forum_rules_member'; } else { $type = 'forum_rules_guest'; } $result = $sql->db_Select('generic', 'gen_chardata', "gen_type = '$type' AND gen_intdata = 1"); if ($action == 'check') { if ($result) { return TRUE; } else { return FALSE; } } if ($result) { $row = $sql->db_Fetch(); $rules_text = $tp->toHTML($row['gen_chardata'], TRUE); } else { $rules_text = FORLAN_441; } $ns->tablerender(LAN_433, "
{$rules_text}
", array('forum', 'forum_rules')); } ?>