OSDN Git Service

Another update to SQL Commands. :P
[idb/iDB.git.git] / inc / stats.php
1 <?php
2 /*
3     This program is free software; you can redistribute it and/or modify
4     it under the terms of the Revised BSD License.
5
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.
10
11     Copyright 2004-2009 iDB Support - http://idb.berlios.de/
12     Copyright 2004-2009 Game Maker 2k - http://gamemaker2k.org/
13
14     $FileInfo: stats.php - Last Update: 11/14/2009 SVN 347 - Author: cooldude2k $
15 */
16 $File3Name = basename($_SERVER['SCRIPT_NAME']);
17 if ($File3Name=="stats.php"||$File3Name=="/stats.php") {
18         require('index.php');
19         exit(); }
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"; }
28 $uolcuttime = GMTimeStamp();
29 $uoltime = $uolcuttime - ini_get("session.gc_maxlifetime");
30 $uolquery = query("SELECT session_data FROM `".$Settings['sqltable']."sessions` WHERE `expires` >= %i ORDER BY `expires` DESC", array($uoltime));
31 $uolresult=exec_query($uolquery);
32 $uolnum=mysql_num_rows($uolresult);
33 $uoli=0; $olmn = 0; $olgn = 0; $olan = 0;
34 $MembersOnline = null; $GuestsOnline = null;
35 while ($uoli < $uolnum) {
36 $session_data=mysql_result($uolresult,$uoli,"session_data"); 
37 $UserSessInfo = unserialize_session($session_data);
38 $AmIHiddenUser = "no";
39 if($UserSessInfo['UserGroup']!=$Settings['GuestGroup']) {
40 $AmIHiddenUser = GetHiddenMember($UserSessInfo['UserID'],$Settings['sqltable']);
41 if($AmIHiddenUser=="no"&&$UserSessInfo['UserID']>0) {
42 if($olmn>0) { $MembersOnline .= ", "; }
43 $MembersOnline .= "<a href=\"".url_maker($exfile['member'],$Settings['file_ext'],"act=view&id=".$UserSessInfo['UserID'],$Settings['qstr'],$Settings['qsep'],$prexqstr['member'],$exqstr['member'])."\">".$UserSessInfo['MemberName']."</a>"; 
44 ++$olmn; }
45 if($UserSessInfo['UserID']<=0||$AmIHiddenUser=="yes") {
46 ++$olan; } }
47 if($UserSessInfo['UserGroup']==$Settings['GuestGroup']) {
48 /*$GuestsOnline .= "<a href=\"".url_maker($exfile['member'],$Settings['file_ext'],"act=view&id=".$MemList['ID'],$Settings['qstr'],$Settings['qsep'],$prexqstr['member'],$exqstr['member'])."\">".$MemList['Name']."</a>";*/
49 ++$olgn; }
50 ++$uoli; }
51 if($_GET['act']=="view"||$_GET['act']=="stats") {
52 $ntquery = query("SELECT COUNT(*) FROM `".$Settings['sqltable']."topics`", array(null));
53 $ntresult = exec_query($ntquery);
54 $numtopics = mysql_result($ntresult,0);
55 @mysql_free_result($ntresult);
56 $npquery = query("SELECT COUNT(*) FROM `".$Settings['sqltable']."posts`", array(null));
57 $npresult = exec_query($npquery);
58 $numposts = mysql_result($npresult,0);
59 @mysql_free_result($npresult);
60 if($Settings['AdminValidate']=="on") {
61 $nmquery = query("SELECT SQL_CALC_FOUND_ROWS * 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'])); }
62 if($Settings['AdminValidate']!="on") {
63 $nmquery = query("SELECT SQL_CALC_FOUND_ROWS * FROM `".$Settings['sqltable']."members` WHERE `id`>=%i AND `HiddenMember`='no' ORDER BY `Joined` DESC LIMIT 1", array(1,$Settings['ValidateGroup'])); }
64 $rnmquery = query("SELECT FOUND_ROWS();", array(null));
65 $nmresult = exec_query($nmquery);
66 $rnmresult = exec_query($rnmquery);
67 //$nummembers = mysql_num_rows($nmresult);
68 $nummembers = mysql_result($rnmresult,0);
69 @mysql_free_result($rnmresult);
70 $NewestMem = array(null);
71 $NewestMem['ID']=mysql_result($nmresult,0,"id");
72 $NewestMem['Name']=mysql_result($nmresult,0,"Name");
73 if($NewestMem['ID']<=0) { $NewestMem['ID'] = "0"; $NewestMem['Name'] = "Anonymous"; }
74 ?>
75 <div class="StatsBorder">
76 <?php if($ThemeSet['TableStyle']=="div") { ?>
77 <div class="TableStatsRow1">
78 <span style="text-align: left;">
79 <?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>
80 <?php } ?>
81 <table class="TableStats1">
82 <?php if($ThemeSet['TableStyle']=="table") { ?>
83 <tr class="TableStatsRow1">
84 <td class="TableStatsColumn1" colspan="2"><span style="text-align: left;">
85 <?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>
86 </td>
87 </tr><?php } ?>
88
89 <tr id="Stats1" class="TableStatsRow2">
90 <td class="TableStatsColumn2" colspan="2" style="width: 100%; font-weight: bold;"><?php echo $uolnum; ?> users online</td>
91 </tr>
92 <tr class="TableStatsRow3" id="Stats2">
93 <td style="width: 4%;" class="TableStatsColumn3"><div class="statsicon">
94 <?php echo $ThemeSet['StatsIcon']; ?></div></td>
95 <td style="width: 96%;" class="TableStatsColumn3"><div class="statsinfo">
96 &nbsp;<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 />
97 <?php if($MembersOnline!=null) { ?>&nbsp;<?php echo $MembersOnline."\n<br />"; } ?>
98 &nbsp;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>
99 </div></td>
100 </tr>
101 <tr id="Stats3" class="TableStatsRow2">
102 <td class="TableStatsColumn2" colspan="2" style="width: 100%; font-weight: bold;">Board Stats</td>
103 </tr>
104 <tr class="TableStatsRow3" id="Stats4">
105 <td style="width: 4%;" class="TableStatsColumn3"><div class="statsicon">
106 <?php echo $ThemeSet['StatsIcon']; ?></div></td>
107 <td style="width: 96%;" class="TableStatsColumn3"><div class="statsinfo">
108 &nbsp;Our members have made a total of <?php echo $numposts; ?> posts<br />
109 &nbsp;We have a total of <?php echo $numtopics; ?> topics made<br />
110 &nbsp;We have <?php echo $nummembers; ?> registered members<br />
111 &nbsp;Our newest member is <a 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>
112 </div></td>
113 </tr>
114 <tr id="Stats5" class="TableStatsRow4">
115 <td class="TableStatsColumn4" colspan="2">&nbsp;</td>
116 </tr>
117 </table></div>
118 <div class="DivStats">&nbsp;</div>
119 <?php } ?>