3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the Revised BSD License.
6 This program is distributed in the hope that it will be useful,
7 but WITHOUT ANY WARRANTY; without even the implied warranty of
8 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 Revised BSD License for more details.
11 Copyright 2004-2011 iDB Support - http://idb.berlios.de/
12 Copyright 2004-2011 Game Maker 2k - http://gamemaker2k.org/
14 $FileInfo: stats.php - Last Update: 07/14/2011 SVN 717 - Author: cooldude2k $
16 $File3Name = basename($_SERVER['SCRIPT_NAME']);
17 if ($File3Name=="stats.php"||
$File3Name=="/stats.php") {
20 if($_GET['act']=="stats") {
21 $_SESSION['ViewingPage'] = url_maker(null,"no+ext","act=stats","&","=",$prexqstr['index'],$exqstr['index']);
22 if($Settings['file_ext']!="no+ext"&&$Settings['file_ext']!="no ext") {
23 $_SESSION['ViewingFile'] = $exfile['index'].$Settings['file_ext']; }
24 if($Settings['file_ext']=="no+ext"||
$Settings['file_ext']=="no ext") {
25 $_SESSION['ViewingFile'] = $exfile['index']; }
26 $_SESSION['PreViewingTitle'] = "Viewing";
27 $_SESSION['ViewingTitle'] = "Board Stats";
29 <div
class="NavLinks"><?php
echo $ThemeSet['NavLinkIcon']; ?
><a href
="<?php echo url_maker($exfile['index'],$Settings['file_ext'],"act
=view
",$Settings['qstr'],$Settings['qsep'],$prexqstr['index'],$exqstr['index']); ?>"><?php
echo $Settings['board_name']; ?
></a
><?php
echo $ThemeSet['NavLinkDivider']; ?
><a href
="<?php echo url_maker($exfile['index'],$Settings['file_ext'],"act
=stats
",$Settings['qstr'],$Settings['qsep'],$prexqstr['index'],$exqstr['index']); ?>#bstats">Board Statistics
</a
></div
>
30 <div
class="DivNavLinks"> 
;</div
>
32 $uolcuttime = GMTimeStamp();
33 $uoltime = $uolcuttime - ini_get("session.gc_maxlifetime");
34 $uolquery = sql_pre_query("SELECT * FROM \"".$Settings['sqltable']."sessions\" WHERE \"expires\" >= %i ORDER BY \"expires\" DESC", array($uoltime));
35 $uolresult=sql_query($uolquery,$SQLStat);
36 $uolnum=sql_num_rows($uolresult);
37 $uoli=0; $olmn = 0; $olgn = 0; $olan = 0; $olmbn = 0;
38 $MembersOnline = null; $GuestsOnline = null;
39 while ($uoli < $uolnum) {
40 $session_data=sql_result($uolresult,$uoli,"session_data");
41 $session_user_agent=sql_result($uolresult,$uoli,"user_agent");
42 $session_ip_address=sql_result($uolresult,$uoli,"ip_address");
43 $UserSessInfo = unserialize_session($session_data);
44 $AmIHiddenUser = "no";
45 $user_agent_check = false;
46 if(user_agent_check($session_user_agent)) {
47 $user_agent_check = user_agent_check($session_user_agent); }
48 if($UserSessInfo['UserGroup']!=$Settings['GuestGroup']||
$user_agent_check!==false) {
49 $PreAmIHiddenUser = GetUserName($UserSessInfo['UserID'],$Settings['sqltable'],$SQLStat);
50 $AmIHiddenUser = $PreAmIHiddenUser['Hidden'];
51 if(($AmIHiddenUser=="no"&&$UserSessInfo['UserID']>0)||
$user_agent_check!==false) {
52 if($olmbn>0) { $MembersOnline .= ", "; }
53 if($user_agent_check===false) {
55 if($GroupInfo['HasAdminCP']=="yes") { $uatitleadd = " title=\"".$session_user_agent."\""; }
56 $MembersOnline .= "<a".$uatitleadd." href=\"".url_maker($exfile['member'],$Settings['file_ext'],"act=view&id=".$UserSessInfo['UserID'],$Settings['qstr'],$Settings['qsep'],$prexqstr['member'],$exqstr['member'])."\">".$UserSessInfo['MemberName']."</a>";
57 if($GroupInfo['HasAdminCP']=="yes") {
58 $MembersOnline .= " (<a title=\"".$session_ip_address."\" onclick=\"window.open(this.href);return false;\" href=\"".sprintf($IPCheckURL,$session_ip_address)."\">".$session_ip_address."</a>)"; }
60 if($user_agent_check!==false) {
62 if($GroupInfo['HasAdminCP']=="yes") { $uatitleadd = " title=\"".$session_user_agent."\""; }
63 $MembersOnline .= "<span".$uatitleadd.">".$user_agent_check."</span>";
64 if($GroupInfo['HasAdminCP']=="yes") {
65 $MembersOnline .= " (<a title=\"".$session_ip_address."\" onclick=\"window.open(this.href);return false;\" href=\"".sprintf($IPCheckURL,$session_ip_address)."\">".$session_ip_address."</a>)"; }
67 if($UserSessInfo['UserID']<=0||
$AmIHiddenUser=="yes") {
68 if($user_agent_check===false) {
70 if($UserSessInfo['UserGroup']==$Settings['GuestGroup']) {
72 if($GroupInfo['HasAdminCP']=="yes") { $uatitleadd = " title=\"".$session_user_agent."\""; }
73 $GuestsOnline .= "<a".$uatitleadd." href=\"".url_maker($exfile['member'],$Settings['file_ext'],"act=view&id=".$MemList['ID'],$Settings['qstr'],$Settings['qsep'],$prexqstr['member'],$exqstr['member'])."\">".$MemList['Name']."</a>";
74 if($GroupInfo['HasAdminCP']=="yes") {
75 $GuestsOnline .= " (<a title=\"".$session_ip_address."\" onclick=\"window.open(this.href);return false;\" href=\"".sprintf($IPCheckURL,$session_ip_address)."\">".$session_ip_address."</a>)"; } */
78 if($_GET['act']=="view"||
$_GET['act']=="stats") {
79 $ntquery = sql_pre_query("SELECT COUNT(*) FROM \"".$Settings['sqltable']."topics\"".$ForumIgnoreList3, array(null));
80 $ntresult = sql_query($ntquery,$SQLStat);
81 $numtopics = sql_result($ntresult,0);
82 sql_free_result($ntresult);
83 $npquery = sql_pre_query("SELECT COUNT(*) FROM \"".$Settings['sqltable']."posts\"".$ForumIgnoreList3, array(null));
84 $npresult = sql_query($npquery,$SQLStat);
85 $numposts = sql_result($npresult,0);
86 sql_free_result($npresult);
87 if($Settings['AdminValidate']=="on") {
88 $nmquery = sql_pre_query("SELECT * FROM \"".$Settings['sqltable']."members\" WHERE \"id\">=%i AND \"HiddenMember\"='no' AND \"Validated\"='yes' AND \"GroupID\"<>%i ORDER BY \"Joined\" DESC LIMIT 1", array(1,$Settings['ValidateGroup']));
89 $rnmquery = sql_pre_query("SELECT COUNT(*) FROM \"".$Settings['sqltable']."members\" WHERE \"id\">=%i AND \"HiddenMember\"='no' AND \"Validated\"='yes' AND \"GroupID\"<>%i", array(1,$Settings['ValidateGroup'])); }
90 if($Settings['AdminValidate']!="on") {
91 $nmquery = sql_pre_query("SELECT * FROM \"".$Settings['sqltable']."members\" WHERE \"id\">=%i AND \"HiddenMember\"='no' ORDER BY \"Joined\" DESC LIMIT 1", array(1,$Settings['ValidateGroup']));
92 $rnmquery = sql_pre_query("SELECT COUNT(*) FROM \"".$Settings['sqltable']."members\" WHERE \"id\">=%i AND \"HiddenMember\"='no'", array(1,$Settings['ValidateGroup'])); }
93 $nmresult = sql_query($nmquery,$SQLStat);
94 $rnmresult = sql_query($rnmquery,$SQLStat);
95 //$nummembers = sql_num_rows($nmresult);
96 $nummembers = sql_result($rnmresult,0);
97 sql_free_result($rnmresult);
98 $NewestMem = array(null);
99 $NewestMem['ID'] = "0"; $NewestMem['Name'] = "Anonymous";
101 $NewestMem['ID']=sql_result($nmresult,0,"id");
102 $NewestMem['Name']=sql_result($nmresult,0,"Name");
103 $NewestMem['IP']=sql_result($nmresult,0,"IP"); }
104 if($nummembers<=0) { $NewestMem['ID'] = 0; }
105 if($NewestMem['ID']<=0) { $NewestMem['ID'] = "0"; $NewestMem['Name'] = "Anonymous"; $NewestMem['IP'] = "127.0.0.1"; }
106 $NewestMemTitle = null;
107 $NewestMemExtraIP = null;
108 if($GroupInfo['HasAdminCP']=="yes") {
109 $NewestMemTitle = " title=\"".$NewestMem['IP']."\"";
110 $NewestMemExtraIP = " (<a title=\"".$NewestMem['IP']."\" onclick=\"window.open(this.href);return false;\" href=\"".sprintf($IPCheckURL,$NewestMem['IP'])."\">".$NewestMem['IP']."</a>)"; }
111 $bdMonthChCk = GMTimeGet("m",$_SESSION['UserTimeZone'],0,$_SESSION['UserDST']);
112 $bdDayChCk = GMTimeGet("d",$_SESSION['UserTimeZone'],0,$_SESSION['UserDST']);
113 if($Settings['AdminValidate']=="on") {
114 $bdquery = sql_pre_query("SELECT * FROM \"".$Settings['sqltable']."members\" WHERE \"BirthDay\"=%i AND \"BirthMonth\"=%i AND \"HiddenMember\"='no' AND \"Validated\"='yes' AND \"GroupID\"<>%i ORDER BY \"id\"", array($bdDayChCk,$bdMonthChCk,$Settings['ValidateGroup'])); }
115 if($Settings['AdminValidate']!="on") {
116 $bdquery = sql_pre_query("SELECT * FROM \"".$Settings['sqltable']."members\" WHERE \"BirthDay\"=%i AND \"BirthMonth\"=%i AND \"HiddenMember\"='no' ORDER BY \"id\"", array($bdDayChCk,$bdMonthChCk)); }
117 $bdresult = sql_query($bdquery,$SQLStat);
118 $bdmembers = sql_num_rows($bdresult); $bdi = 0;
119 if($bdmembers>0) { $bdstring = $bdmembers." member(s) have a birthday today"; }
120 if($bdmembers<=0) { $bdstring = "<div> </div> No members have a birthday today<div> </div>"; }
121 while ($bdi < $bdmembers) {
122 $bdmemberz = $bdmembers - 1;
123 $birthday['ID']=sql_result($bdresult,$bdi,"id");
124 $birthday['Name']=sql_result($bdresult,$bdi,"Name");
125 $birthday['IP']=sql_result($bdresult,$bdi,"IP");
126 $birthday['BirthYear']=sql_result($bdresult,$bdi,"BirthYear");
127 $bdThisYear = GMTimeGet("Y",$_SESSION['UserTimeZone'],0,$_SESSION['UserDST']);
128 $birthday['Age'] = $bdThisYear - $birthday['BirthYear'];
130 if($GroupInfo['HasAdminCP']=="yes") {
131 $bdMemTitle = " title=\"".$birthday['IP']."\""; }
132 if($bdi===0) { $bdstring = $bdstring."\n<br /> "; }
133 $bdMemURL = "<a".$bdMemTitle." href=\"".url_maker($exfile['member'],$Settings['file_ext'],"act=view&id=".$birthday['ID'],$Settings['qstr'],$Settings['qsep'],$prexqstr['member'],$exqstr['member'])."\">".$birthday['Name']."</a>";
134 if($bdi<$bdmemberz) { $bdstring = $bdstring.$bdMemURL." (<span style=\"font-weight: bold;\">".$birthday['Age']."</span>), "; }
135 if($bdi==$bdmemberz) { $bdstring = $bdstring.$bdMemURL." (<span style=\"font-weight: bold;\">".$birthday['Age']."</span>)"; }
137 sql_free_result($bdresult);
139 <div
class="StatsBorder">
140 <?php
if($ThemeSet['TableStyle']=="div") { ?
>
141 <div
class="TableStatsRow1">
142 <span style
="text-align: left;">
143 <?php
echo $ThemeSet['TitleIcon']; ?
><a id
="bstats" href
="<?php echo url_maker($exfile['index'],$Settings['file_ext'],"act
=stats
",$Settings['qstr'],$Settings['qsep'],$prexqstr['index'],$exqstr['index']); ?>#bstats">Board Statistics
</a
></span
></div
>
145 <table id
="BoardStats" class="TableStats1">
146 <?php
if($ThemeSet['TableStyle']=="table") { ?
>
147 <tr
class="TableStatsRow1">
148 <td
class="TableStatsColumn1" colspan
="2"><span style
="text-align: left;">
149 <?php
echo $ThemeSet['TitleIcon']; ?
><a id
="bstats" href
="<?php echo url_maker($exfile['index'],$Settings['file_ext'],"act
=stats
",$Settings['qstr'],$Settings['qsep'],$prexqstr['index'],$exqstr['index']); ?>#bstats">Board Statistics
</a
></span
>
152 <tr id
="Stats1" class="TableStatsRow2">
153 <td
class="TableStatsColumn2" colspan
="2" style
="width: 100%; font-weight: bold;"><?php
echo $uolnum; ?
> users online
</td
>
155 <tr
class="TableStatsRow3" id
="Stats2">
156 <td style
="width: 4%;" class="TableStatsColumn3"><div
class="statsicon">
157 <?php
echo $ThemeSet['StatsIcon']; ?
></div
></td
>
158 <td style
="width: 96%;" class="TableStatsColumn3"><div
class="statsinfo">
159  
;<span style
="font-weight: bold;"><?php
echo $olgn; ?
></span
> guests
, <span style
="font-weight: bold;"><?php
echo $olmn; ?
></span
> members
, <span style
="font-weight: bold;"><?php
echo $olan; ?
></span
> anonymous members
<br
/>
160 <?php
if($MembersOnline!=null) { ?
> 
;<?php
echo $MembersOnline."\n<br />"; } ?
>
161  
;Show detailed by
: <a href
="<?php echo url_maker($exfile['member'],$Settings['file_ext'],"act
=online
&list=all
&page
=1",$Settings['qstr'],$Settings['qsep'],$prexqstr['member'],$exqstr['member']); ?>">Last Click
</a
>, <a href
="<?php echo url_maker($exfile['member'],$Settings['file_ext'],"act
=online
&list=members
&page
=1",$Settings['qstr'],$Settings['qsep'],$prexqstr['member'],$exqstr['member']); ?>">Member Name
</a
>
164 <tr id
="Stats3" class="TableStatsRow2">
165 <td
class="TableStatsColumn2" colspan
="2" style
="width: 100%; font-weight: bold;">Today
's Birthdays</td>
167 <tr class="TableStatsRow3" id="Stats4">
168 <td style="width: 4%;" class="TableStatsColumn3"><div class="statsicon">
169 <?php echo $ThemeSet['StatsIcon
']; ?></div></td>
170 <td style="width: 96%;" class="TableStatsColumn3"><div class="statsinfo">
171 <?php echo $bdstring; ?>
174 <tr id="Stats5" class="TableStatsRow2">
175 <td class="TableStatsColumn2" colspan="2" style="width: 100%; font-weight: bold;">Board Stats</td>
177 <tr class="TableStatsRow3" id="Stats6">
178 <td style="width: 4%;" class="TableStatsColumn3"><div class="statsicon">
179 <?php echo $ThemeSet['StatsIcon
']; ?></div></td>
180 <td style="width: 96%;" class="TableStatsColumn3"><div class="statsinfo">
181 Our members have made a total of <?php echo $numposts; ?> posts<br />
182 Our members have made a total of <?php echo $numtopics; ?> topics<br />
183 We have <?php echo $nummembers; ?> registered members<br />
184 Our newest member is <a<?php echo $NewestMemTitle; ?> href="<?php echo url_maker($exfile['member
'],$Settings['file_ext
'],"act=view&id=".$NewestMem['ID
'],$Settings['qstr
'],$Settings['qsep
'],$prexqstr['member
'],$exqstr['member
']); ?>"><?php echo $NewestMem['Name
']; ?></a><?php echo $NewestMemExtraIP; ?>
187 <tr id="Stats7" class="TableStatsRow4">
188 <td class="TableStatsColumn4" colspan="2"> </td>
191 <div class="DivStats"> </div>