query("
SELECT
b.*".ifelse($showlastposttitle==1,", t.topic, t.prefix AS threadprefix, i.*")."
".ifelse($showuseronlineinboard==1,", COUNT(s.hash) AS useronline")."
FROM bb".$n."_boards b
".ifelse($showlastposttitle==1,"LEFT JOIN bb".$n."_threads t ON (t.threadid=b.lastthreadid)
LEFT JOIN bb".$n."_icons i USING (iconid)")."
".ifelse($showuseronlineinboard==1,"LEFT JOIN bb".$n."_sessions s ON (s.boardid=b.boardid AND s.lastactivity>='$activtime')")."
WHERE b.invisible<2
".ifelse($showuseronlineinboard==1,"GROUP BY b.boardid")."
ORDER by b.parentid ASC, $boardorder");
while ($row = $db->fetch_array($result)) $boardcache[$row['parentid']][$row['boardorder']][$row['boardid']] = $row;
if($showuseronlineinboard==2) {
$userinboard=array();
$online = new useronline($wbbuserdata['canuseacp'],$modids,$smodids,$adminids,$wbbuserdata['buddylist']);
$result=$db->query("SELECT s.userid, s.boardid, u.username, u.groupid, u.invisible FROM bb".$n."_sessions s LEFT JOIN bb".$n."_users u USING (userid) WHERE s.userid>0 AND s.lastactivity>='$activtime' ORDER BY u.username ASC");
while($row=$db->fetch_array($result)) $userinboard[$row['boardid']][]=$row;
}
$result = $db->query("SELECT boardid, threadid, lastposttime FROM bb".$n."_threads WHERE visible = 1 AND lastposttime > '$wbbuserdata[lastvisit]'");
while($row=$db->fetch_array($result)) $visitcache[$row['boardid']][$row['threadid']]=$row['lastposttime'];
$result = $db->query("SELECT * FROM bb".$n."_permissions WHERE groupid = '$wbbuserdata[groupid]'");
while ($row = $db->fetch_array($result)) $permissioncache[$row['boardid']] = $row;
if($wbbuserdata['userid'] && $useuseraccess==1) {
$result = $db->query("SELECT * FROM bb".$n."_access WHERE userid = '$wbbuserdata[userid]'");
while ($row = $db->fetch_array($result)) $permissioncache[$row['boardid']] = $row;
}
$result = $db->query("SELECT bb".$n."_moderators.*, username FROM bb".$n."_moderators LEFT JOIN bb".$n."_users USING (userid) ORDER BY username ASC");
while ($row = $db->fetch_array($result)) $modcache[$row['boardid']][] = $row;
$boardbit = makeboardbit(0);
$index_pms="";
$quicklogin="";
$index_showevents="";
$index_useronline="";
$index_stats="";
/* ############## STATS ############## */
if($showstats==1) {
$members=$db->query_first("SELECT COUNT(*) AS members, MAX(userid) AS userid FROM bb".$n."_users WHERE activation = 1");
$newestmember=$db->query_first("SELECT userid, username FROM bb".$n."_users WHERE userid = '$members[userid]'");
$posts=$db->query_first("SELECT COUNT(*) AS posts FROM bb".$n."_posts");
$threads=$db->query_first("SELECT COUNT(*) AS threads FROM bb".$n."_threads");
$installdays = (time() - $installdate) / 86400;
if ($installdays < 1) $postperday = $posts['posts'];
else $postperday = sprintf("%.2f",($posts['posts'] / $installdays));
eval ("\$index_stats = \"".$tpl->get("index_stats")."\";");
}
/* ############## Top 5 Stats Idee by TouchingVirus - WBB2 Anpassung by mywbb.de(AnuBiS & nanos) ############## */
// Start Top 5 Poster
$posts5 = $db->query("SELECT userid,username,userposts FROM bb".$n."_users ORDER BY userposts DESC LIMIT 5");
while ($posts5top = $db->fetch_array($posts5)){
$posts5name .= "» $posts5top[username]
";
$posts5post .= "$posts5top[userposts]
";
}
// Ende Top 5 Poster
// Start Letzte 5 Mitglieder
$user = $db->query("SELECT userid,userposts,username,regdate FROM bb".$n."_users WHERE activation='1' ORDER BY regdate DESC LIMIT 5");
while ($usertop = $db->fetch_array($user)){
$username .= "» $usertop[username]
";
$userposts .= "$usertop[userposts]
";
}
// Ende Letzte 5 Mitglieder
// Start Letzte 5 Beiträge
$pop = $db->query("SELECT
bb".$n."_threads.topic,
bb".$n."_threads.threadid,
bb".$n."_threads.lastposttime,
bb".$n."_threads.views,
bb".$n."_users.userid,
bb".$n."_threads.boardid as parentid,
bb".$n."_users.username,
bb".$n."_boards.invisible
FROM bb".$n."_threads
LEFT JOIN bb".$n."_users ON (bb".$n."_users.userid=bb".$n."_threads.lastposterid)
LEFT JOIN bb".$n."_boards ON (bb".$n."_boards.boardid=bb".$n."_threads.boardid)
WHERE bb".$n."_boards.invisible=0
ORDER BY bb".$n."_threads.lastposttime DESC LIMIT 5");
while ($poptop = $db->fetch_array($pop)){
if(strlen($poptop[topic]) > '37') $poptop[topic] = "".substr($poptop[topic], 0, 34)."...";
$popthread .= "» $poptop[topic]
";
$lastposter .= "$poptop[username]
";
$popviews .= "$poptop[views]
";
}
// Ende Letzte 5 Beiträge
// Start Top Thema
$pop1 = $db->query("SELECT bb".$n."_threads.topic,
bb".$n."_threads.threadid,
bb".$n."_threads.views,
bb".$n."_threads.boardid,
bb".$n."_boards.invisible
FROM bb".$n."_threads
LEFT JOIN bb".$n."_boards ON (bb".$n."_boards.boardid=bb".$n."_threads.boardid)
WHERE bb".$n."_boards.invisible=0
ORDER BY bb".$n."_threads.views DESC LIMIT 1");
while ($pop1top = $db->fetch_array($pop1)){
$pop1title = "$pop1top[topic]";
$pop1views = "$pop1top[views]";
}
// Ende Top Thema
// Start Top Bewertung
$voted = $db->query("SELECT bb".$n."_threads.topic,
bb".$n."_threads.threadid,
bb".$n."_threads.voted,
bb".$n."_threads.votepoints,
bb".$n."_threads.boardid,
bb".$n."_boards.invisible
FROM bb".$n."_threads
LEFT JOIN bb".$n."_boards ON (bb".$n."_boards.boardid=bb".$n."_threads.boardid)
WHERE bb".$n."_boards.invisible=0
ORDER BY bb".$n."_threads.voted DESC LIMIT 1");
while ($votedtop = $db->fetch_array($voted)){
$votedthread = "$votedtop[topic]";
$votedrating = "$votedtop[votepoints]";
}
// Ende Top Bewertung
// Start templates aufruf
eval ("\$top5threadstats = \"".$tpl->get("index_topfive")."\";");
// Ende templates aufruf
/* ############## USERONLINE ############## */
if($showuseronline==1) {
$guestcount = $db->query_first("SELECT COUNT(*) FROM bb".$n."_sessions WHERE userid = 0 AND lastactivity >= '".(time()-60*$useronlinetimeout)."'");
$guestcount = $guestcount[0];
$membercount=0;
$invisiblecount=0;
$online = new useronline($wbbuserdata['canuseacp'],$modids,$smodids,$adminids,$wbbuserdata['buddylist']);
$result = $db->query("SELECT DISTINCT bb".$n."_sessions.userid, username, groupid, invisible FROM bb".$n."_sessions LEFT JOIN bb".$n."_users USING (userid) WHERE bb".$n."_sessions.userid > 0 AND bb".$n."_sessions.lastactivity >= '".(time()-60*$useronlinetimeout)."' ORDER BY username ASC");
while($row = $db->fetch_array($result)) {
$membercount++;
if($row['invisible']==1) $invisiblecount++;
$online->user($row['userid'],$row['username'],$row['groupid'],$row['invisible']);
}
$useronline=$online->useronlinebit;
$totaluseronline = $membercount+$guestcount;
/* ############## ANFANG s/p-User Online Anzeige-Addon by myWBB (AnuBiS & nanos) fürs WBB2 ############## */
if ($totaluseronline <> 1){
$onlineuserTag = "sind";
}else{
$onlineuserTag = "ist";
}
if ($guestcount == "1"){
$guestsTag = "Gast";
}else{
$guestsTag = "Gäste";
}
if ($guestcount == "0"){
$guestsTag = "";
}else{
$guestsTag = "und $guestcount $guestsTag";
}
if ($membercount <> 1){
$membersTag = "Mitglieder";
}else{
$membersTag = "Mitglied";
}
if($invisiblecount == "1") {
$ghostTag = "unsichtbares Mitglied";
} else {
$ghostTag = "unsichtbare Mitglieder";
}
if($invisiblecount == "0") {
$ghostTag = "";
} else {
$ghostTag = "(inkl. $invisiblecount $ghostTag)";
}
/* ############## ENDE s/p-User Online Anzeige-Addon by myWBB (AnuBiS & nanos) fürs WBB2 ############## */
$wwd_useron = $db->query_first("SELECT COUNT(*) FROM bb".$n."_sessions_day");
$wwd_useron = $wwd_useron[0];
if($wwd_useron <> 0) $wwd_usertag1 = "war";
else $wwd_usertag1 = "waren";
if($totaluseronline>$rekord) {
$rekord=$totaluseronline;
$rekordtime=time();
$db->unbuffered_query("UPDATE bb".$n."_options SET value='$rekord' WHERE varname='rekord'",1);
$db->unbuffered_query("UPDATE bb".$n."_options SET value='$rekordtime' WHERE varname='rekordtime'",1);
require ("./acp/lib/class_options.php");
$option=new options("acp/lib");
$option->write();
}
$rekorddate = formatdate($wbbuserdata['dateformat'],$rekordtime);
$rekordtime = formatdate($wbbuserdata['timeformat'],$rekordtime);
eval ("\$index_useronline = \"".$tpl->get("index_showuseronline")."\";");
}
/* ############## BIRTHDAYS ############## */
if($showbirthdays==1 && $wbbuserdata['canviewcalender']!=0) {
$currentdate = formatdate("m-d", time());
$currentyear = intval(formatdate("Y", time()));
$result = $db->query("SELECT userid, username, birthday FROM bb".$n."_users WHERE birthday LIKE '%-$currentdate' AND activation = 1 ORDER BY username ASC");
while($row = $db->fetch_array($result)) {
$birthyear = intval(substr($row[birthday], 0, 4));
$age = $currentyear-$birthyear;
if($age<1 || $age>200) $age="";
else $age=" ($age)";
if(isset($birthdaybit)) eval ("\$birthdaybit .= \", ".$tpl->get("index_birthdaybit")."\";");
else eval ("\$birthdaybit = \"".$tpl->get("index_birthdaybit")."\";");
}
$db->free_result($result);
if(isset($birthdaybit)) eval ("\$birthdays = \"".$tpl->get("index_birthdays")."\";");
}
/* ############## EVENTS ############## */
if($showevents==1 && $wbbuserdata['canviewcalender']!=0) {
$currentdate = date("Y-m-d");
$result = $db->query("SELECT eventid, subject, public FROM bb".$n."_events WHERE eventdate = '$currentdate' AND (public=2 OR (public=1 AND groupid = '$wbbuserdata[groupid]') OR (public=0 AND userid = '$wbbuserdata[userid]')) ORDER BY public ASC, subject ASC");
while($row = $db->fetch_array($result)) {
if($row['public']==1) eval ("\$eventbit .= \"".ifelse(isset($eventbit),", ","")."".$tpl->get("index_publicevent")."\";");
else eval ("\$eventbit .= \"".ifelse(isset($eventbit),", ","")."".$tpl->get("index_privateevent")."\";");
}
$db->free_result($result);
if(isset($eventbit)) eval ("\$events = \"".$tpl->get("index_events")."\";");
}
if(isset($birthdays) || isset($events)) eval ("\$index_showevents = \"".$tpl->get("index_showevents")."\";");
if(!$wbbuserdata['userid']) {
eval ("\$welcome = \"".$tpl->get("index_welcome")."\";");
eval ("\$quicklogin = \"".$tpl->get("index_quicklogin")."\";");
}
else {
$currenttime=formatdate($wbbuserdata['timeformat'],time());
$toffset=ifelse($wbbuserdata['timezoneoffset']>=0,"+").$wbbuserdata['timezoneoffset'];
$lastvisitdate = formatdate($wbbuserdata['dateformat'],$wbbuserdata['lastvisit']);
$lastvisittime = formatdate($wbbuserdata['timeformat'],$wbbuserdata['lastvisit']);
eval ("\$welcome = \"".$tpl->get("index_hello")."\";");
if($wbbuserdata['canusepms']==1 && $showpmonindex==1) {
$counttotal = $db->query_first("SELECT COUNT(*) FROM bb".$n."_privatemessage WHERE deletepm <> 1 AND recipientid = '$wbbuserdata[userid]'");
$counttotal = $counttotal[0];
$countunread = $db->query_first("SELECT COUNT(*) FROM bb".$n."_privatemessage WHERE deletepm <> 1 AND recipientid = '$wbbuserdata[userid]' AND view = 0");
$countunread = $countunread[0];
$countnew = $db->query_first("SELECT COUNT(*) FROM bb".$n."_privatemessage WHERE deletepm <> 1 AND recipientid = '$wbbuserdata[userid]' AND view = 0 AND sendtime > '$wbbuserdata[lastvisit]'");
$countnew = $countnew[0];
if($countnew>0) eval ("\$new_notnew = \"".$tpl->get("index_newpm")."\";");
else eval ("\$new_notnew = \"".$tpl->get("index_nonewpm")."\";");
eval ("\$index_pms = \"".$tpl->get("index_pms")."\";");
}
}
eval("\$tpl->output(\"".$tpl->get("index")."\");");
?>