/**
* 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