/** * eXtreme Message Board * XMB 1.9.10 Karl * * Developed And Maintained By The XMB Group * Copyright (c) 2001-2008, The XMB Group * http://www.xmbforum.com * * Sponsored By iEntry, Inc. * Copyright (c) 2007, iEntry, Inc. * http://www.ientry.com * * 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. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * **/ define('X_SCRIPT', 'index.php'); require 'header.php'; loadtemplates( 'index', 'index_category', 'index_category_hr', 'index_category_spacer', 'index_forum', 'index_forum_lastpost', 'index_forum_nolastpost', 'index_noforum', 'index_ticker', 'index_stats', 'index_welcome_guest', 'index_welcome_member', 'index_whosonline', 'index_whosonline_today' ); $ticker = ''; if ($SETTINGS['tickerstatus'] == 'on') { $contents = ''; $news = explode("\n", str_replace(array("\r\n", "\r"), array("\n"), $tickercontents)); for($i=0;$iquery("SELECT name FROM ".X_PREFIX."forums WHERE fid=$gid AND type='group' AND status='on' LIMIT 1"); if ($db->num_rows($query) != 1) { header('HTTP/1.1 404 Not Found'); error($lang['textnocat']); } $cat = $db->fetch_array($query); $db->free_result($query); nav(fnameOut($cat['name'])); } $statsbar = ''; if ($SETTINGS['index_stats'] == 'on') { $query = $db->query("SELECT username FROM ".X_PREFIX."members WHERE lastvisit!=0 ORDER BY regdate DESC LIMIT 1"); $lastmember = $db->fetch_array($query); $db->free_result($query); $query = $db->query("SELECT COUNT(uid) FROM ".X_PREFIX."members UNION ALL SELECT COUNT(tid) FROM ".X_PREFIX."threads UNION ALL SELECT COUNT(pid) FROM ".X_PREFIX."posts"); $members = $db->result($query, 0); if ($members == false) { $members = 0; } $threads = $db->result($query, 1); if ($threads == false) { $threads = 0; } $posts = $db->result($query, 2); if ($posts == false) { $posts = 0; } $db->free_result($query); $memhtml = ''.$lastmember['username'].'.'; } if ($gid == 0) { if (X_MEMBER) { } else { } $whosonline = $whosonlinetoday = ''; if ($SETTINGS['whosonlinestatus'] == 'on') { $guestcount = $membercount = $hiddencount = 0; $member = array(); $query = $db->query("SELECT m.status, m.username, m.invisible, w.* FROM ".X_PREFIX."whosonline w LEFT JOIN ".X_PREFIX."members m ON m.username=w.username ORDER BY w.username"); while($online = $db->fetch_array($query)) { switch($online['username']) { case 'xguest123': $guestcount++; break; default: if ($online['invisible'] != 0 && X_ADMIN) { $member[] = $online; $hiddencount++; } else if ($online['invisible'] != 0) { $hiddencount++; } else { $member[] = $online; $membercount++; } break; } } $db->free_result($query); $onlinetotal = $guestcount + $membercount; if ($membercount != 1) { $membern = ''.$membercount.' '.$lang['textmembers']; } else { $membern = '1 '.$lang['textmem']; } if ($guestcount != 1) { $guestn = ''.$guestcount.' '.$lang['textguests']; } else { $guestn = '1 '.$lang['textguest1']; } if ($hiddencount != 1) { $hiddenn = ''.$hiddencount.' '.$lang['texthmems']; } else { $hiddenn = '1 '.$lang['texthmem']; } $memonmsg = ''.$lang['whosonmsg'].''; $memtally = array(); $num = 1; $show_total = (X_ADMIN) ? ($membercount+$hiddencount) : ($membercount); $show_inv_key = false; for($mnum=0; $mnum<$show_total; $mnum++) { $pre = $suff = ''; $online = $member[$mnum]; $pre = ''; $suff = ''; if ($online['invisible'] != 0) { $pre .= ''; $suff = ''.$suff; if (!X_ADMIN && $online['username'] != $xmbuser) { $num++; continue; } } if ($online['username'] == $xmbuser && $online['invisible'] != 0) { $show_inv_key = true; } $memtally[] = ''.$pre.''.$online['username'].''.$suff.''; $num++; } if (X_ADMIN || $show_inv_key === true) { $hidden = ' - '.$lang['texthmem'].''; } else { $hidden = ''; } $memtally = implode(', ', $memtally); if ($memtally == '') { $memtally = ' '; } $whosonlinetoday = ''; if ($SETTINGS['onlinetoday_status'] == 'on') { $datecut = $onlinetime - (3600 * 24); if (X_ADMIN) { $query = $db->query("SELECT username, status FROM ".X_PREFIX."members WHERE lastvisit >= '$datecut' ORDER BY lastvisit DESC"); } else { $query = $db->query("SELECT username, status FROM ".X_PREFIX."members WHERE lastvisit >= '$datecut' AND invisible!=1 ORDER BY lastvisit DESC"); } $todaymembersnum = $db->num_rows($query); $todaymembers = array(); $pre = $suff = ''; $x = 0; while($memberstoday = $db->fetch_array($query)) { if ($x <= $onlinetodaycount) { $pre = ''; $suff = ''; $todaymembers[] = ''.$pre.''.$memberstoday['username'].''.$suff.''; $x++; } else { continue; } } $todaymembers = implode(', ', $todaymembers); $db->free_result($query); if ($todaymembersnum == 1) { $memontoday = $todaymembersnum.$lang['textmembertoday']; } else { $memontoday = $todaymembersnum.$lang['textmemberstoday']; } } } if ($SETTINGS['catsonly'] == 'on') { $fquery = $db->query("SELECT name as cat_name, fid as cat_fid FROM ".X_PREFIX."forums WHERE type='group' AND status='on' ORDER BY displayorder ASC"); } else { $fquery = $db->query("SELECT f.*, c.name as cat_name, c.fid as cat_fid FROM ".X_PREFIX."forums f LEFT JOIN ".X_PREFIX."forums c ON (f.fup=c.fid) WHERE (c.type='group' AND f.type='forum' AND c.status='on' AND f.status='on') OR (f.type='forum' AND f.fup='' AND f.status='on') ORDER BY c.displayorder ASC, f.displayorder ASC"); } } else { $ticker = $welcome = $whosonline = $statsbar = $whosonlinetoday = ''; $fquery = $db->query("SELECT f.*, c.name as cat_name, c.fid as cat_fid FROM ".X_PREFIX."forums f LEFT JOIN ".X_PREFIX."forums c ON (f.fup=c.fid) WHERE (c.type='group' AND f.type='forum' AND c.status='on' AND f.status='on' AND f.fup='$gid') ORDER BY c.displayorder ASC, f.displayorder ASC