1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246:
247:
248:
249:
250:
251:
252:
253:
254:
255:
256:
257:
258:
259:
260:
261:
262:
263:
264:
265:
266:
267:
268:
269:
270:
271:
272:
273:
274:
275:
276:
277:
278:
279:
280:
281:
282:
283:
284:
285:
286:
287:
288:
289:
290:
291:
292:
293:
294:
295:
296:
297:
298:
299:
300:
301:
302:
303:
304:
305:
306:
307:
308:
309:
310:
311:
312:
313:
314:
315:
316:
317:
318:
319:
320:
321:
322:
323:
324:
325:
326:
327:
328:
329:
330:
331:
332:
333:
334:
335:
336:
337:
338:
339:
340:
341:
342:
343:
344:
345:
346:
347:
348:
349:
350:
351:
352:
353:
354:
355:
356:
357:
358:
359:
360:
361:
362:
363:
364:
365:
366:
367:
368:
369:
370:
371:
372:
373:
374:
375:
376:
377:
378:
379:
380:
381:
382:
383:
384:
385:
386:
387:
388:
389:
390:
391:
392:
393:
394:
395:
396:
397:
398:
399:
400:
401:
402:
403:
404:
405:
406:
407:
408:
409:
410:
411:
412:
413:
414:
415:
416:
417:
418:
419:
420:
421:
422:
423:
424:
425:
426:
427:
428:
429:
430:
431:
432:
433:
434:
435:
436:
437:
438:
439:
440:
441:
442:
443:
444:
445:
446:
447:
448:
449:
450:
451:
452:
453:
454:
455:
456:
457:
458:
459:
460:
461:
462:
463:
464:
465:
466:
467:
468:
469:
470:
471:
472:
473:
474:
475:
476:
477:
478:
479:
480:
481:
482:
483:
484:
485:
486:
487:
488:
489:
490:
491:
492:
493:
494:
495:
496:
497:
498:
499:
500:
501:
502:
503:
504:
505:
506:
507:
508:
509:
510:
511:
512:
513:
514:
515:
516:
517:
518:
519:
520:
521:
522:
523:
524:
525:
526:
527:
528:
529:
530:
531:
532:
533:
534:
535:
536:
537:
538:
539:
540:
541:
542:
543:
544:
545:
546:
547:
548:
549:
550:
551:
552:
553:
554:
555:
556:
557:
558:
559:
560:
561:
562:
563:
564:
565:
566:
567:
568:
569:
570:
571:
572:
573:
574:
575:
576:
577:
578:
579:
580:
|
<?php
// ************************************************************************************//
// * WoltLab Burning Board 2
// ************************************************************************************//
// * Copyright (c) 2001-2004 WoltLab GmbH
// * Web http://www.woltlab.de/
// * License http://www.woltlab.de/products/burning_board/license_en.php
// * http://www.woltlab.de/products/burning_board/license.php
// ************************************************************************************//
// * WoltLab Burning Board 2 is NOT free software.
// * You may not redistribute this package or any of it's files.
// ************************************************************************************//
// * $Date: 2005-06-16 14:28:46 +0200 (Thu, 16 Jun 2005) $
// * $Author: Burntime $
// * $Rev: 1618 $
// ************************************************************************************//
$filename = 'index.php';
require('./global.php');
require("./jgs_portal_include/jgs_portal_pn.php");
$lang->load('START');
require('./acp/lib/class_useronline.php');
if (isset($_COOKIE[$cookieprefix.'hidecats'])) $hidecats = decode_cookie($_COOKIE[$cookieprefix.'hidecats']);
else $hidecats = array();
if (isset($_GET['hidecat'])) {
$hidecats[$_GET['hidecat']] = 1;
if ($wbbuserdata['usecookies'] == 1) encode_cookie("hidecats", time() + 3600 * 24 * 365);
else encode_cookie("hidecats");
}
if (isset($_GET['showcat'])) {
$hidecats[$_GET['showcat']] = 0;
if ($wbbuserdata['usecookies'] == 1) encode_cookie("hidecats", time() + 3600 * 24 * 365);
else encode_cookie("hidecats");
}
$boardcache = array();
$permissioncache = array();
$modcache = array();
switch ($boardordermode) {
case 1: $boardorder = 'b.title ASC'; break;
case 2: $boardorder = 'b.title DESC'; break;
case 3: $boardorder = 'b.lastposttime DESC'; break;
default: $boardorder = 'b.boardorder ASC'; break;
}
$activtime = time() - 60 * $useronlinetimeout;
$boardvisit = array();
$result = $db->unbuffered_query("
SELECT
b.*".(($showlastposttitle == 1) ? (", t.topic, t.prefix AS threadprefix, i.*") : (""))."
".(($showuseronlineinboard == 1) ? (", COUNT(s.sessionhash) AS useronline") : (""))."
".(($wbbuserdata['userid']) ? (", bv.lastvisit") : (""))."
FROM bb".$n."_boards b
".(($showlastposttitle == 1) ? ("LEFT JOIN bb".$n."_threads t ON (t.threadid=b.lastthreadid)
LEFT JOIN bb".$n."_icons i USING (iconid)") : (""))."
".(($showuseronlineinboard == 1) ? ("LEFT JOIN bb".$n."_sessions s ON (s.boardid=b.boardid AND s.lastactivity>='$activtime')") : (""))."
".(($wbbuserdata['userid']) ? (" LEFT JOIN bb".$n."_boardvisit bv ON (bv.boardid=b.boardid AND bv.userid='".$wbbuserdata['userid']."')") : (""))."
".(($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;
$boardvisit[$row['boardid']] = $row['lastvisit'];
}
// Anfang AWH by Yyoshii http://www.fdlboard.da.ru
/* avatar */
if($wbbuserdata['userid']) {
$avatar = $db->query_first("SELECT avatarid FROM bb".$n."_users WHERE userid = '$wbbuserdata[userid]'");
if ($avatar[avatarid]) {
$ainfo = $db->query_first("SELECT * FROM bb".$n."_avatars WHERE avatarid = '$avatar[avatarid]'");
$avatar = "<img src=\"images/avatars/avatar-".$ainfo[avatarid].".".$ainfo[avatarextension]."\" border=\"0\">";
}
else
{
$avatar = "<img src=\"{$style['imagefolder']}/noavatar.gif\" border=\"0\">";
}
$toffset=(($wbbuserdata['timezoneoffset']>=0) ? ("+") : ("")).$wbbuserdata['timezoneoffset'];
eval ("\$lang->items['LANG_START_TIMEZONE'] = \"".$lang->get("LANG_START_TIMEZONE")."\";");
list($newthreads) = $db->query_first("SELECT COUNT(*) FROM bb".$n."_threads WHERE starttime > '$wbbuserdata[lastvisit]'");
list($newposts) = $db->query_first("SELECT COUNT(*) FROM bb".$n."_posts WHERE posttime > '$wbbuserdata[lastvisit]'");
$stats=$db->query_first("SELECT s.*, u.username FROM bb".$n."_stats s LEFT JOIN bb".$n."_users u ON(u.userid=s.lastuserid)");
$stats['username']=htmlconverter($stats['username']);
$installdays = (time() - $installdate) / 86400;
if ($installdays < 1) $postperday = $stats['postcount'];
else $postperday = $stats['postcount'] / $installdays;
$postperday = number_format($postperday, 2, $lang->get("LANG_GLOBAL_DEC_POINT"), $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
if($stats['usercount']>=1000) $stats['usercount']=number_format($stats['usercount'], 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
if($stats['threadcount']>=1000) $stats['threadcount']=number_format($stats['threadcount'], 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
if($stats['postcount']>=1000) $stats['postcount']=number_format($stats['postcount'], 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
}
else
{
$toffset=(($wbbuserdata['timezoneoffset']>=0) ? ("+") : ("")).$wbbuserdata['timezoneoffset'];
eval ("\$lang->items['LANG_START_TIMEZONE'] = \"".$lang->get4eval("LANG_START_TIMEZONE")."\";");
list($newthreads) = $db->query_first("SELECT COUNT(*) FROM bb".$n."_threads WHERE starttime > '$wbbuserdata[lastvisit]'");
list($newposts) = $db->query_first("SELECT COUNT(*) FROM bb".$n."_posts WHERE posttime > '$wbbuserdata[lastvisit]'");
$stats=$db->query_first("SELECT s.*, u.username FROM bb".$n."_stats s LEFT JOIN bb".$n."_users u ON(u.userid=s.lastuserid)");
$stats['username']=htmlconverter($stats['username']);
$installdays = (time() - $installdate) / 86400;
if ($installdays < 1) $postperday = $stats['postcount'];
else $postperday = $stats['postcount'] / $installdays;
$postperday = number_format($postperday, 2, $lang->get("LANG_GLOBAL_DEC_POINT"), $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
if($stats['usercount']>=1000) $stats['usercount']=number_format($stats['usercount'], 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
if($stats['threadcount']>=1000) $stats['threadcount']=number_format($stats['threadcount'], 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
if($stats['postcount']>=1000) $stats['postcount']=number_format($stats['postcount'], 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
}
if($showpmonindex==1 && $wbbuserdata['userid']!=0 && $wbbuserdata['can_use_pms']==1 && $wbbuserdata['receivepm']==1)
$counttotal=0; $countunread=0; $countnew=0;
$result = $db->unbuffered_query("SELECT view FROM bb".$n."_privatemessagereceipts WHERE recipientid = '$wbbuserdata[userid]' AND deletepm <> 1");
while($row=$db->fetch_array($result)) {
$counttotal++;
if($row['view']==0) {
$countunread++;
if($row['sendtime']>$wbbuserdata['lastvisit']) $countnew++;
}
}
if($countnew==1) $pms_NEWMESSAGE = $lang->items['LANG_START_PMS_MESSAGE'];
else $pms_NEWMESSAGE = $lang->items['LANG_START_PMS_MESSAGES'];
if($counttotal==1) $pms_TOTALMESSAGE = $lang->items['LANG_START_PMS_MESSAGE'];
else $pms_TOTALMESSAGE = $lang->items['LANG_START_PMS_MESSAGES'];
eval ("\$lang->items['LANG_START_HEAD_PMS2'] = \"".$lang->get("LANG_START_HEAD_PMS2")."\";");
eval ("\$lang->items['LANG_START_HEAD_PMS'] = \"".$lang->get("LANG_START_HEAD_PMS")."\";");
eval ("\$lang->items['LANG_START_PMS'] = \"".$lang->get("LANG_START_PMS")."\";");
list($bs_waiting) = $db->query_first("SELECT COUNT(*) FROM bb".$n."_users WHERE activation <> 1");
$bs_inaktiv = $bs_waiting;
// Ende AWH by Yyoshii http://www.fdlboard.da.ru
if ($showuseronlineinboard == 2) {
$userinboard = array();
$online = &new useronline($wbbuserdata['a_can_view_ghosts'], $wbbuserdata['buddylist']);
$result = $db->unbuffered_query("SELECT s.userid, s.boardid, u.username, u.useronlinegroupid,g.useronlinemarking, u.invisible FROM bb".$n."_sessions s LEFT JOIN bb".$n."_users u USING (userid) LEFT JOIN bb".$n."_groups g ON g.groupid=u.useronlinegroupid WHERE s.lastactivity>='$activtime'".(($wbbuserdata['ignorelist']) ? (" AND s.userid NOT IN (".str_replace(" ", ",", $wbbuserdata['ignorelist']).")") : (""))." ORDER BY u.username ASC");
while ($row = $db->fetch_array($result)) $userinboard[$row['boardid']][] = $row;
}
$result = $db->unbuffered_query("SELECT t.boardid, t.threadid, t.lastposttime".(($wbbuserdata['userid']) ? (", tv.lastvisit") : (""))." FROM bb".$n."_threads t".(($wbbuserdata['userid']) ? (" LEFT JOIN bb".$n."_threadvisit tv ON (tv.threadid=t.threadid AND tv.userid='".$wbbuserdata['userid']."')") : (""))." WHERE t.visible = 1 AND t.lastposttime > '$wbbuserdata[lastvisit]' AND t.closed <> 3");
while ($row = $db->fetch_array($result)) {
if ($row['lastposttime'] > $row['lastvisit']) $visitcache[$row['boardid']][$row['threadid']] = $row['lastposttime'];
}
// read permissions
$permissioncache = getPermissions();
if ($hide_modcell == 0) {
$result = $db->unbuffered_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 = '';
/* ############## TOP 5 oder 10 Hack © by BlackPower############## */
list($showtoplist) = $db->query_first("SELECT value FROM bb".$n."_options WHERE varname='showtoplist' LIMIT 1");
if($showtoplist!=0)
{
$toplistcount=$showtoplist*5;
function getSearchableBoards()
{
global $db,$n,$wbbuserdata,$boardcache;
list($excludedboards) = $db->query_first("SELECT value FROM bb".$n."_options WHERE varname='excludedtoplist' LIMIT 1");
$excludedboards=str_replace("\n",",",trim($excludedboards));
if(!isset($boardcache) || !is_array($boardcache)) $boardcache=array();
$result=$db->query("SELECT boardid,boardorder,parentid,parentlist FROM bb".$n."_boards WHERE password='' AND invisible!='2'".((!empty($excludedboards)) ? (" AND boardid NOT IN(".$excludedboards.")") : (""))." ORDER BY parentid ASC, boardorder ASC");
while($row=$db->fetch_array($result)) {
$boardcache[$row['parentid']][$row['boardorder']][$row['boardid']] = $row;
}
$boardpermissions=getPermissions();
$boardids="";
foreach($boardcache as $key=>$val)
{
foreach($val as $key2=>$val2)
{
foreach($val2 as $row) if(!isset($boardpermissions[$row['boardid']]['can_use_search']) || $boardpermissions[$row['boardid']]['can_use_search']!=0) $boardids.=",".$row['boardid'];
}
}
return $boardids;
}
//Top List Posts
unset($toplistposters);
$toplistposters = $db->query("SELECT DISTINCT userid,username,userposts FROM bb".$n."_users ORDER BY userposts DESC LIMIT $toplistcount");
while($toplistposter = $db->fetch_array($toplistposters))
{
$toplistposterid = $toplistposter['userid'];
$toplistpostername = htmlconverter(textwrap($toplistposter['username'],25));
$toplist_counts = $toplistposter['userposts'];
eval ("\$toplistposterbit .= \"".$tpl->get("index_toplist_posterbit")."\";");
}
//Top List New Member
unset($toplistnewmembers);
$toplistnewmembers = $db->query("SELECT DISTINCT username,userid,userposts FROM bb".$n."_users ORDER BY regdate DESC LIMIT $toplistcount");
while($toplistnewmember = $db->fetch_array($toplistnewmembers))
{
$toplistposterid = $toplistnewmember['userid'];
$toplistpostername = htmlconverter(textwrap($toplistnewmember['username'],25));
$toplist_counts = $toplistnewmember['userposts'];
eval ("\$toplistmembersbit .= \"".$tpl->get("index_toplist_posterbit")."\";");
}
//New Posts
$toplistthreads = $db->query ("SELECT DISTINCT bb".$n."_threads.*, bb".$n."_users.username as lastposter FROM bb".$n."_threads LEFT JOIN bb".$n."_users ON (bb".$n."_threads.lastposterid=bb".$n."_users.userid) WHERE bb".$n."_threads.boardid IN (0".getSearchableBoards().") AND bb".$n."_threads.closed!=3 ORDER BY bb".$n."_threads.lastposttime DESC LIMIT $toplistcount");
while($toplistthread = $db->fetch_array($toplistthreads))
{
$toplistthreadid = $toplistthread['threadid'];
if(strlen($toplistthread['topic']) > "30"){ $toplistthread['topic'] = "".substr($toplistthread['topic'], 0, 30);$toplistthread['topic'].=" ...";};
$toplistthreadname = htmlconverter(textwrap($toplistthread['topic']));
$toplistposterid = $toplistthread['lastposterid'];
$toplist_counts = $toplistthread['views'];
$toplistpostername = htmlconverter(textwrap($toplistthread['lastposter'],25));
eval ("\$toplistthreadbit .= \"".$tpl->get("index_toplist_threadbit")."\";");
}
//Top Clicks
$topclicks=$db->query_first("SELECT DISTINCT topic,views,threadid FROM bb".$n."_threads WHERE bb".$n."_threads.boardid IN (0".getSearchableBoards().") AND bb".$n."_threads.closed!=3 ORDER BY views DESC LIMIT 1");
$topthreadid=$topclicks['threadid'];
$topthreadname=htmlconverter(textwrap($topclicks['topic']));
$topclicksviews = $topclicks['views'];
eval ("\$topclickstitle .= \"".$tpl->get("index_toplist_topthreadbit")."\";");
//Top Vote
$topvote=$db->query_first("SELECT DISTINCT topic,voted,votepoints,threadid FROM bb".$n."_threads WHERE bb".$n."_threads.boardid IN (0".getSearchableBoards().") AND bb".$n."_threads.closed!=3 ORDER BY voted DESC LIMIT 1");
$topthreadid=$topvote['threadid'];
$topthreadname=htmlconverter(textwrap($topvote['topic']));
$votedrating = $topvote['votepoints'];
eval ("\$votedthread .= \"".$tpl->get("index_toplist_topthreadbit")."\";");
//Sprachvariablen einlesen
eval ("\$toplisttoplist .= \"".$lang->get("LANG_START_TOPLIST_TOPLIST")."\";");
eval ("\$toplistposter .= \"".$lang->get("LANG_START_TOPLIST_TOPPOSTER")."\";");
eval ("\$toplistnew_members .= \"".$lang->get("LANG_START_TOPLIST_NEWMEMBERS")."\";");
eval ("\$toplistlastpost .= \"".$lang->get("LANG_START_TOPLIST_LASTPOST")."\";");
eval ("\$toplistusername .= \"".$lang->get("LANG_START_TOPLIST_USERNAME")."\";");
eval ("\$toplistposts .= \"".$lang->get("LANG_START_TOPLIST_POSTS")."\";");
eval ("\$toplisttitle .= \"".$lang->get("LANG_START_TOPLIST_TITLE")."\";");
eval ("\$toplistclicks .= \"".$lang->get("LANG_START_TOPLIST_CLICKS")."\";");
eval ("\$toplistvotes .= \"".$lang->get("LANG_START_TOPLIST_VOTES")."\";");
eval ("\$toplistratings .= \"".$lang->get("LANG_START_TOPLIST_RATINGS")."\";");
eval ("\$toplistthread .= \"".$lang->get("LANG_START_TOPLIST_THREAD")."\";");
eval ("\$toplist = \"".$tpl->get("index_toplist")."\";");
}
/* ############## TOP 5 oder 10 Hack © by BlackPower############## */
/* ############## POST TICKER ##############*/
if ($ticker_onoff == 1 && $wbbuserdata['disableticker'] == 1) {
$result = $db->query ("SELECT threadid, topic, lastposttime FROM bb".$n."_threads WHERE boardid NOT IN ($ticker_noboards) AND threadid NOT IN ($ticker_nothreads) ORDER BY lastposttime DESC LIMIT 0,$ticker_limit");
while ($row = $db->fetch_array($result)) {
$date = formatdate($wbbuserdata['dateformat'],$row['lastposttime'], 1);
$time = formatdate($wbbuserdata['timeformat'],$row['lastposttime']);
$count++;
eval ("\$tickerposts .= \"".$tpl->get("index_tickerposts")."\";");
}
$lang->items['LANG_START_TICKER_TITLE'] = $lang->get("LANG_START_TICKER_TITLE", array('$ticker_limit' => $ticker_limit));
}
/* ############## Who was here ############## */
if(!$date_today) die('Insert the php-code from the "who was here"- addon, in the global.php!!');
if(!$lang->items['LANG_START_WWH_USER_ONE']) die('Import the languages files from the "who was here"- addon, in the ACP!!');
if (isset($_REQUEST['wwh'])) $wwh = $_REQUEST['wwh'];
else $wwh = 'vistit';
if (isset($_REQUEST['sort'])) $sort = $_REQUEST['sort'];
else $sort = 'ASC';
if (isset($_REQUEST['decode'])) $decode = $_REQUEST['decode'];
else $decode = 'slap';
unset($count);
$count = 0;
$wwh_guestcount = 0;
$wwh_membercount = 0;
$wwh_invisiblecount = 0;
$result = $db->unbuffered_query("SELECT s.userid, s.vistit, u.username, u.useronlinegroupid, g.useronlinemarking, u.invisible FROM bb".$n."_wwh s LEFT JOIN bb".$n."_users u USING (userid) LEFT JOIN bb".$n."_groups g ON g.groupid=u.useronlinegroupid ".(($wbbuserdata['ignorelist']) ? ("WHERE s.userid NOT IN (".str_replace(" ", ",", $wbbuserdata['ignorelist']).")") : (""))." ORDER BY s.$wwh $sort");
while ($row = $db->fetch_array($result))
{
if ($row['userid'] == '0') $wwh_guestcount++;
else {
$wwh_membercount++;
if ($row['invisible'] == '1') $wwh_invisiblecount++;
$userid = $row['userid'];
$username = $row['username'];
$buddies = explode(' ', $row['buddylist']);
if (in_array($row['userid'], $buddies)) eval("\$username = \"".$tpl->get("useronline_buddy")."\";");
$wwh_user_time = formatdate($wbbuserdata['timeformat'],$row['vistit']);
if ($row['useronlinemarking'] != '') $username = sprintf($row['useronlinemarking'], $username);
if ($row['invisible'] == '1' AND $wbbuserdata['a_can_view_ghosts'] == '1') {
$invisible = '1';
$count++;
eval("\$wwh_useronlinebit_tpl = \"".$tpl->get("index_useronline_wwh")."\";");
if ($count>1) $wwh_useronlinebit .= ", ".$wwh_useronlinebit_tpl;
else $wwh_useronlinebit .= $wwh_useronlinebit_tpl;
}
if ($row['invisible'] == '0') {
$invisible = '0';
$count++;
eval("\$wwh_useronlinebit_tpl = \"".$tpl->get("index_useronline_wwh")."\";");
if ($count>1) $wwh_useronlinebit .= ", ".$wwh_useronlinebit_tpl;
else $wwh_useronlinebit .= $wwh_useronlinebit_tpl;
}
}
}
if($wwh_invisiblecount == '1') $wwh_GHOST = $lang->items['LANG_START_WWH_GHOST_ONE'];
else $wwh_GHOST = $lang->items['LANG_START_WWH_GHOST'];
if($wwh_membercount == '1') {
$wwh_USER = $lang->items['LANG_START_WWH_USER_ONE'];
$wwh_USER_BE = $lang->items['LANG_START_WWH_BE_ONE'];
} else {
$wwh_USER = $lang->items['LANG_START_WWH_USER'];
$wwh_USER_BE = $lang->items['LANG_START_WWH_BE'];
}
if($wwh_guestcount == '1') $wwh_GUEST = $lang->items['LANG_START_WWH_GUEST_ONE'];
else $wwh_GUEST = $lang->items['LANG_START_WWH_GUEST'];
if (($totaluseronline<$rekord OR $rekord==$totaluseronline) AND $wwh_membercount>$wwh_record_user AND ($wwh_record_gast>$wwh_guestcount OR $wwh_guestcount==$wwh_record_gast)) {
$db->unbuffered_query("UPDATE bb".$n."_options SET value='$wwh_membercount' WHERE varname='wwh_record_user'");
$db->unbuffered_query("UPDATE bb".$n."_options SET value=".time()." WHERE varname='wwh_record_usertime'");
require("./acp/lib/class_options.php");
$option = &new options("acp/lib");
$option->write();
}
if (($totaluseronline<$rekord OR $rekord==$totaluseronline) AND $wwh_guestcount>$wwh_record_gast) {
$db->unbuffered_query("UPDATE bb".$n."_options SET value='$wwh_guestcount' WHERE varname='wwh_record_gast'");
$db->unbuffered_query("UPDATE bb".$n."_options SET value=".time()." WHERE varname='wwh_record_gasttime'");
require("./acp/lib/class_options.php");
$option = &new options("acp/lib");
$option->write();
}
if ($wwh_record_gasttime) $wwh_record_gast_date = formatdate($wbbuserdata['dateformat'],$wwh_record_gasttime);
if ($wwh_record_usertime) $wwh_record_user_date = formatdate($wbbuserdata['dateformat'],$wwh_record_usertime);
$lang->items['LANG_START_WWH_DESC'] = $lang->get("LANG_START_WWH_DESC", array('$wwh_USER_BE' => $wwh_USER_BE, '$wwh_membercount' => $wwh_membercount, '$wwh_USER' => $wwh_USER, '$wwh_invisiblecount' => $wwh_invisiblecount, '$wwh_GHOST' => $wwh_GHOST, '$wwh_guestcount' => $wwh_guestcount, '$wwh_GUEST' => $wwh_GUEST, '$wwh_record_gast' => $wwh_record_gast, '$wwh_record_gast_date' => $wwh_record_gast_date, '$wwh_record_user' => $wwh_record_user, '$wwh_record_user_date' => $wwh_record_user_date));
$lang->items['LANG_START_WWH_SORT'] = $lang->get("LANG_START_WWH_SORT", array('$SID_ARG_2ND' => $SID_ARG_2ND));
/* ############## STATS ############## */
if ($showstats == 1) {
$stats = $db->query_first("SELECT s.*, u.username FROM bb".$n."_stats s LEFT JOIN bb".$n."_users u ON(u.userid=s.lastuserid)");
$stats['username'] = htmlconverter($stats['username']);
$installdays = (time() - $installdate) / 86400;
if ($installdays < 1) $postperday = $stats['postcount'];
else $postperday = $stats['postcount'] / $installdays;
$postperday = number_format($postperday, 2, $lang->get("LANG_GLOBAL_DEC_POINT"), $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
if ($stats['usercount'] >= 1000) $stats['usercount'] = number_format($stats['usercount'], 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
if ($stats['threadcount'] >= 1000) $stats['threadcount'] = number_format($stats['threadcount'], 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
if ($stats['postcount'] >= 1000) $stats['postcount'] = number_format($stats['postcount'], 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
}
/* ############## ABWESEND/mod by XundY ############## */
if($wbbuserdata['userid']!=0) {
$abwesend_res = $db->query_first("SELECT count(userid) FROM bb".$n."_users WHERE abwesend='1'||abwesend='2'");
$abwesend_user = $abwesend_res[0];
if($abwesend_user==0) $abwesend_user=0;
$lang->items['LANG_OWN_AWAY_AWAYCOUNT'] = $lang->get("LANG_OWN_AWAY_AWAYCOUNT",array('$abwesend_user'=> $abwesend_user));
}
/* ############## ABWESEND/mod by XundY ############## */
/* ############## USERONLINE ############## */
if ($showuseronline == 1 || $showuseronline == 0) {
$guestcount = 0;
$membercount = 0;
$invisiblecount = 0;
$online = &new useronline($wbbuserdata['a_can_view_ghosts'], $wbbuserdata['buddylist']);
$result = $db->unbuffered_query("SELECT s.userid, username, useronlinegroupid, useronlinemarking, invisible FROM bb".$n."_sessions s LEFT JOIN bb".$n."_users u USING (userid) LEFT JOIN bb".$n."_groups g ON g.groupid=u.useronlinegroupid WHERE s.lastactivity >= '".(time() - 60 * $useronlinetimeout)."'".(($wbbuserdata['ignorelist']) ? (" AND s.userid NOT IN (".str_replace(" ", ",", $wbbuserdata['ignorelist']).")") : (""))." ORDER BY u.username ASC");
while ($row = $db->fetch_array($result)) {
if ($row['userid'] == 0) {
$guestcount++;
continue;
}
$membercount++;
if ($row['invisible'] == 1) $invisiblecount++;
$online->user($row['userid'], htmlconverter($row['username']), $row['useronlinemarking'], $row['invisible']);
}
$useronline = $online->useronlinebit;
$totaluseronline = $membercount + $guestcount;
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);
// format figures
if ($guestcount >= 1000) $guestcount = number_format($guestcount, 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
if ($membercount >= 1000) $membercount = number_format($membercount, 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
if ($invisiblecount >= 1000) $invisiblecount = number_format($invisiblecount, 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
if ($totaluseronline >= 1000) $totaluseronline = number_format($totaluseronline, 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
if ($rekord >= 1000) $rekord = number_format($rekord, 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
if ($totaluseronline == 1) {
$useronline_BE = $lang->items['LANG_START_USERONLINE_BE_ONE'];
$useronline_USER = $lang->items['LANG_START_USERONLINE_USER_ONE'];
}
else {
$useronline_BE = $lang->items['LANG_START_USERONLINE_BE'];
$useronline_USER = $lang->items['LANG_START_USERONLINE_USER'];
}
if ($guestcount == 1) $useronline_GUEST = $lang->items['LANG_START_USERONLINE_GUEST_ONE'];
elseif ($guestcount > 1) $useronline_GUEST = $lang->items['LANG_START_USERONLINE_GUEST'];
else {
$useronline_GUEST = '';
$guestcount = '';
}
if ($membercount == 1) $useronline_MEMBERS = $lang->items['LANG_START_USERONLINE_MEMBERS_ONE'];
elseif ($membercount > 1) $useronline_MEMBERS = $lang->items['LANG_START_USERONLINE_MEMBERS'];
else {
$useronline_MEMBERS = '';
$membercount = '';
}
if ($invisiblecount == 1) $useronline_GHOSTS = $lang->items['LANG_START_USERONLINE_GHOSTS_ONE'];
elseif ($invisiblecount > 1) $useronline_GHOSTS = $lang->get("LANG_START_USERONLINE_GHOSTS", array('$invisiblecount' => $invisiblecount));
else $useronline_GHOSTS = '';
if ($guestcount > 0 && $membercount > 0) $useronline_AND = $lang->items['LANG_START_USERONLINE_AND'];
else $useronline_AND = '';
$lang->items['LANG_START_USERONLINE'] = $lang->get("LANG_START_USERONLINE", array('$useronline_BE' => $useronline_BE, '$membercount' => $membercount, '$useronline_MEMBERS' => $useronline_MEMBERS, '$useronline_GHOSTS' => $useronline_GHOSTS, '$useronline_AND' => $useronline_AND, '$guestcount' => $guestcount, '$useronline_GUEST' => $useronline_GUEST, '$rekord' => $rekord, '$useronline_USER' => $useronline_USER, '$rekorddate' => $rekorddate, '$rekordtime' => $rekordtime));
$lang->items['LANG_START_HEAD_USERONLINE'] = $lang->get("LANG_START_HEAD_USERONLINE", array('$useronline_BE' => $useronline_BE, '$membercount' => $membercount, '$useronline_MEMBERS' => $useronline_MEMBERS, '$useronline_GHOSTS' => $useronline_GHOSTS, '$useronline_AND' => $useronline_AND, '$guestcount' => $guestcount, '$useronline_GUEST' => $useronline_GUEST, '$rekord' => $rekord, '$useronline_USER' => $useronline_USER, '$rekorddate' => $rekorddate, '$rekordtime' => $rekordtime));
$lang->items['LANG_START_SHOWUSERONLINE'] = $lang->get("LANG_START_SHOWUSERONLINE", array('$useronline_BE' => $useronline_BE, '$totaluseronline' => $totaluseronline, '$useronline_USER' => $useronline_USER));
}
$adminonline=substr_count ($useronline, "adminonline.gif");
if($adminonline==0) $adminonline="";
$supmodonline=substr_count ($useronline, "super_modonline.gif");
if($supmodonline==0) $supmodonline="";
$modonline=substr_count ($useronline, "moderatoronline.gif");
if($modonline==0) $modonline="";
$rawuseronline=substr_count ($useronline, "rawonline.gif");
if($rawuseronline==0) $rawuseronline="";
$sduseronline=substr_count ($useronline, "sdonline.gif");
if($sduseronline==0) $sduseronline="";
/* ############## BIRTHDAYS ############## */
unset($birthdaybit);
if ($showbirthdays == 1 && $wbbuserdata['can_view_calendar'] != 0) {
$currentdate = formatdate("m-d", time());
$currentyear = intval(formatdate("Y", time()));
$result = $db->unbuffered_query("SELECT userid, username, birthday FROM bb".$n."_users WHERE birthday LIKE '%-$currentdate' ORDER BY username ASC");
while ($row = $db->fetch_array($result)) {
$row['username'] = htmlconverter($row['username']);
$birthyear = intval(wbb_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")."\";");
}
/* 29. FEBRUAR (c) by Peh */
if (formatdate("m-d", time()) == formatdate("m-d", mktime(0, 0, 0, 3, 1, date("Y")))){
/* nur am 1.3. ausführen und wenn es den 29. nicht gab */
$yesterday = intval(formatdate("d", mktime(0, 0, 0, date("m"), date("d")-1, date("Y"))));
if ($yesterday != 29){
$currentdate = formatdate("m-d", mktime(0, 0, 0, 2, 29, 2000));
$result = $db->unbuffered_query("SELECT userid, username, birthday FROM bb".$n."_users WHERE birthday LIKE '%-$currentdate' ORDER BY username ASC");
while ($row = $db->fetch_array($result)) {
$row['username'] = htmlconverter($row['username']);
$birthyear = intval(wbb_substr($row['birthday'], 0, 4));
$age = $currentyear - $birthyear;
if ($age < 1 || $age > 200) $age = '';
else $age = " ($age) am 29.02.";
if (isset($birthdaybit)) eval("\$birthdaybit .= \"".$tpl->get("index_birthdaybit")."\";");
else eval("\$birthdaybit = \"".$tpl->get("index_birthdaybit")."\";");
}
}
}/* ende 29. Februrar */
}
/* ############## EVENTS ############## */
unset($eventbit);
if ($showevents == 1 && $wbbuserdata['can_view_calendar'] != 0) {
$currentdate = date("Y-m-d");
$result = $db->unbuffered_query("SELECT eventid, subject, public FROM bb".$n."_events WHERE eventdate = '$currentdate' AND (public=2 OR (public=0 AND userid = '$wbbuserdata[userid]')) ORDER BY public ASC, subject ASC");
while ($row = $db->fetch_array($result)) {
$row['subject'] = htmlconverter($row['subject']);
if (isset($eventbit)) eval("\$eventbit .= \"".$tpl->get("index_eventbit")."\";");
else eval("\$eventbit = \"".$tpl->get("index_eventbit")."\";");
}
}
if (!$wbbuserdata['userid']) {
$lang->items['LANG_START_WELCOME_TITLE'] = $lang->get("LANG_START_WELCOME_TITLE", array('$master_board_name' => $master_board_name));
$lang->items['LANG_START_WELCOME'] = $lang->get("LANG_START_WELCOME", array('$SID_ARG_2ND' => $SID_ARG_2ND, '$SID_ARG_1ST' => $SID_ARG_1ST));
}
else {
$currenttime = formatdate($wbbuserdata['timeformat'], time());
$toffset = (($wbbuserdata['timezoneoffset'] >= 0) ? ("+") : ("")).$wbbuserdata['timezoneoffset'];
$lang->items['LANG_START_TIMEZONE'] = $lang->get("LANG_START_TIMEZONE", array('$toffset' => $toffset));
$lastvisitdate = formatdate($wbbuserdata['dateformat'], $wbbuserdata['lastvisit'], 1);
$lastvisittime = formatdate($wbbuserdata['timeformat'], $wbbuserdata['lastvisit']);
if ($showpmonindex == 1 && $wbbuserdata['can_use_pms'] == 1 && $wbbuserdata['receivepm'] == 1) {
$quotaalertleer = ($wbbuserdata['pmtotalcount']/$wbbuserdata['max_pms'])>=0.0;
$quotaalerthalb = ($wbbuserdata['pmtotalcount']/$wbbuserdata['max_pms'])>0.5;
$quotaalertvoll = ($wbbuserdata['pmtotalcount']/$wbbuserdata['max_pms'])>0.9;
$counttotal = $wbbuserdata['pminboxcount'];
$countunread = $wbbuserdata['pmunreadcount'];
$countnew = $wbbuserdata['pmnewcount'];
if ($countnew == 1) $pms_NEWMESSAGE = $lang->items['LANG_START_PMS_MESSAGE'];
else $pms_NEWMESSAGE = $lang->items['LANG_START_PMS_MESSAGES'];
if ($counttotal == 1) $pms_TOTALMESSAGE = $lang->items['LANG_START_PMS_MESSAGE'];
else $pms_TOTALMESSAGE = $lang->items['LANG_START_PMS_MESSAGES'];
$lang->items['LANG_START_PMS'] = $lang->get("LANG_START_PMS", array('$countnew' => $countnew, '$pms_NEWMESSAGE' => $pms_NEWMESSAGE, '$countunread' => $countunread, '$counttotal' => $counttotal, '$pms_TOTALMESSAGE' => $pms_TOTALMESSAGE));
}
}
////// para-scripts.de Verwarn-Hack START //////
require("acp/lib/ver_index.inc.php");
////// para-scripts.de Verwarn-Hack ENDE //////
//* Megashoutbox by XundY Start *//
require('acp/lib/xy_megashoutbox.conf.php');
if($xy_megaboxon=="1"){
if($wbbuserdata['userid'] && $xy_megaboxforguests=="0" OR $xy_megaboxforguests=="1"){
$lang->load("POSTINGS,XY_MEGASHOUTBOX");
$bbcode_smilies = getclickysmilies($smilie_table_cols,$smilie_table_rows);
if($xy_smiliepos=='left') $mboxsmiliesleft="<td class=\"tablea\" style=\"width:3%;text-align:center;\">$bbcode_smilies</td>";
else $mboxsmiliesright="<td class=\"tablea\" style=\"width:3%;text-align:center;\">$bbcode_smilies</td>";
eval ("\$mbox_specialmenu = \"".$tpl->get("xy_mbox_specialmenu")."\";");
eval ("\$shoutbox = \"".$tpl->get("xy_shoutbox")."\";");
}
}
//* Megashoutbox by XundY Ende *//
eval("\$tpl->output(\"".$tpl->get("index")."\");");
?> |