X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=inc%2Fstats.php;h=f85ba8948cd72c3a6a9800b210944a2abbb5e1ab;hb=42a64cfea62e4b104d84b9bda234d0433c896fcc;hp=98935958da5f60a9b3202498dde58be6fbc775a6;hpb=82c7e091b19456f3a5226dbe016f971aafc14713;p=idb%2FiDB.git.git
diff --git a/inc/stats.php b/inc/stats.php
index 9893595..f85ba89 100644
--- a/inc/stats.php
+++ b/inc/stats.php
@@ -8,70 +8,226 @@
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
Revised BSD License for more details.
- Copyright 2004-2009 iDB Support - http://idb.berlios.de/
- Copyright 2004-2009 Game Maker 2k - http://gamemaker2k.org/
+ Copyright 2004-2017 iDB Support - http://idb.berlios.de/
+ Copyright 2004-2017 Game Maker 2k - http://gamemaker2k.org/
- $FileInfo: stats.php - Last Update: 11/23/2009 SVN 359 - Author: cooldude2k $
+ $FileInfo: stats.php - Last Update: 03/31/2019 SVN 888 - Author: cooldude2k $
*/
$File3Name = basename($_SERVER['SCRIPT_NAME']);
if ($File3Name=="stats.php"||$File3Name=="/stats.php") {
require('index.php');
exit(); }
if($_GET['act']=="stats") {
+if(isset($_SESSION['OldViewingPage'])) { $_SESSION['AncientViewingPage'] = $_SESSION['OldViewingPage']; } else { $_SESSION['AncientViewingPage'] = url_maker(null,"no+ext","act=view","&","=",$prexqstr['index'],$exqstr['index']); }
+if(isset($_SESSION['OldViewingFile'])) { $_SESSION['AncientViewingFile'] = $_SESSION['OldViewingFile']; } else {
+ if($Settings['file_ext']!="no+ext"&&$Settings['file_ext']!="no ext") {
+ $_SESSION['AncientViewingFile'] = $exfile['index'].$Settings['file_ext']; }
+ if($Settings['file_ext']=="no+ext"||$Settings['file_ext']=="no ext") {
+ $_SESSION['AncientViewingFile'] = $exfile['index']; } }
+if(isset($_SESSION['OldPreViewingTitle'])) { $_SESSION['AncientPreViewingTitle'] = $_SESSION['OldPreViewingTitle']; } else { $_SESSION['AncientPreViewingTitle'] = "Viewing"; }
+if(isset($_SESSION['OldViewingTitle'])) { $_SESSION['AncientViewingTitle'] = $_SESSION['OldViewingTitle']; } else { $_SESSION['AncientViewingTitle'] = "Board index"; }
+if(isset($_SESSION['OldExtraData'])) { $_SESSION['AncientExtraData'] = $_SESSION['OldExtraData']; } else { $_SESSION['AncientExtraData'] = "currentact:view; currentcategoryid:0; currentforumid:0; currenttopicid:0; currentmessageid:0; currenteventid:0; currentmemberid:0;"; }
+if(isset($_SESSION['ViewingPage'])) { $_SESSION['OldViewingPage'] = $_SESSION['ViewingPage']; } else { $_SESSION['OldViewingPage'] = url_maker(null,"no+ext","act=view","&","=",$prexqstr['index'],$exqstr['index']); }
+if(isset($_SESSION['ViewingFile'])) { $_SESSION['OldViewingFile'] = $_SESSION['ViewingFile']; } else {
+ if($Settings['file_ext']!="no+ext"&&$Settings['file_ext']!="no ext") {
+ $_SESSION['OldViewingFile'] = $exfile['index'].$Settings['file_ext']; }
+ if($Settings['file_ext']=="no+ext"||$Settings['file_ext']=="no ext") {
+ $_SESSION['OldViewingFile'] = $exfile['index']; } }
+if(isset($_SESSION['PreViewingTitle'])) { $_SESSION['OldPreViewingTitle'] = $_SESSION['PreViewingTitle']; } else { $_SESSION['OldPreViewingTitle'] = "Viewing"; }
+if(isset($_SESSION['ViewingTitle'])) { $_SESSION['OldViewingTitle'] = $_SESSION['ViewingTitle']; } else { $_SESSION['OldViewingTitle'] = "Board index"; }
+if(isset($_SESSION['ExtraData'])) { $_SESSION['OldExtraData'] = $_SESSION['ExtraData']; } else { $_SESSION['OldExtraData'] = "currentact:view; currentcategoryid:0; currentforumid:0; currenttopicid:0; currentmessageid:0; currenteventid:0; currentmemberid:0;"; }
$_SESSION['ViewingPage'] = url_maker(null,"no+ext","act=stats","&","=",$prexqstr['index'],$exqstr['index']);
if($Settings['file_ext']!="no+ext"&&$Settings['file_ext']!="no ext") {
$_SESSION['ViewingFile'] = $exfile['index'].$Settings['file_ext']; }
if($Settings['file_ext']=="no+ext"||$Settings['file_ext']=="no ext") {
$_SESSION['ViewingFile'] = $exfile['index']; }
$_SESSION['PreViewingTitle'] = "Viewing";
-$_SESSION['ViewingTitle'] = "Board Stats"; }
-$uolcuttime = GMTimeStamp();
+$_SESSION['ViewingTitle'] = "Board Stats";
+$_SESSION['ExtraData'] = "currentact:".$_GET['act']."; currentcategoryid:0; currentforumid:0; currenttopicid:0; currentmessageid:0; currenteventid:0; currentmemberid:0;";
+?>
+
+
+getTimestamp();
$uoltime = $uolcuttime - ini_get("session.gc_maxlifetime");
-$uolquery = sql_pre_query("SELECT session_data FROM `".$Settings['sqltable']."sessions` WHERE `expires` >= %i ORDER BY `expires` DESC", array($uoltime));
-$uolresult=sql_query($uolquery);
+$uolquery = sql_pre_query("SELECT * FROM \"".$Settings['sqltable']."sessions\" WHERE \"expires\" >= %i ORDER BY \"expires\" DESC", array($uoltime));
+$uolresult=sql_query($uolquery,$SQLStat);
$uolnum=sql_num_rows($uolresult);
-$uoli=0; $olmn = 0; $olgn = 0; $olan = 0;
+$uoli=0; $olmn = 0; $olgn = 0; $olan = 0; $olmbn = 0;
$MembersOnline = null; $GuestsOnline = null;
while ($uoli < $uolnum) {
$session_data=sql_result($uolresult,$uoli,"session_data");
-$UserSessInfo = unserialize_session($session_data);
+$serialized_data=sql_result($uolresult,$uoli,"serialized_data");
+$session_user_agent=sql_result($uolresult,$uoli,"user_agent");
+$session_ip_address=sql_result($uolresult,$uoli,"ip_address");
+//$UserSessInfo = unserialize_session($session_data);
+$UserSessInfo = unserialize($serialized_data);
+if(!isset($UserSessInfo['UserGroup'])) { $UserSessInfo['UserGroup'] = $Settings['GuestGroup']; }
$AmIHiddenUser = "no";
-if($UserSessInfo['UserGroup']!=$Settings['GuestGroup']) {
-$PreAmIHiddenUser = GetUserName($UserSessInfo['UserID'],$Settings['sqltable']);
+$user_agent_check = false;
+if(user_agent_check($session_user_agent)) {
+ $user_agent_check = user_agent_check($session_user_agent); }
+if($UserSessInfo['UserGroup']!=$Settings['GuestGroup']||$user_agent_check!==false) {
+$PreAmIHiddenUser = GetUserName($UserSessInfo['UserID'],$Settings['sqltable'],$SQLStat);
$AmIHiddenUser = $PreAmIHiddenUser['Hidden'];
-if($AmIHiddenUser=="no"&&$UserSessInfo['UserID']>0) {
-if($olmn>0) { $MembersOnline .= ", "; }
-$MembersOnline .= "".$UserSessInfo['MemberName']."";
-++$olmn; }
+if(($AmIHiddenUser=="no"&&$UserSessInfo['UserID']>0)||$user_agent_check!==false) {
+if($olmbn>0) { $MembersOnline .= ", "; }
+if($user_agent_check===false) {
+$uatitleadd = null;
+if($GroupInfo['CanViewUserAgent']=="yes") { $uatitleadd = " title=\"".htmlentities($session_user_agent, ENT_QUOTES, $Settings['charset'])."\""; }
+$MembersOnline .= "".$UserSessInfo['MemberName']."";
+if($GroupInfo['CanViewIPAddress']=="yes") {
+$MembersOnline .= " (".$session_ip_address.")"; }
+++$olmn; ++$olmbn; }
+if($user_agent_check!==false) {
+$uatitleadd = null;
+if($GroupInfo['CanViewUserAgent']=="yes") { $uatitleadd = " title=\"".htmlentities($session_user_agent, ENT_QUOTES, $Settings['charset'])."\""; }
+$MembersOnline .= "".$user_agent_check."";
+if($GroupInfo['CanViewIPAddress']=="yes") {
+$MembersOnline .= " (".$session_ip_address.")"; }
+++$olmbn; } }
if($UserSessInfo['UserID']<=0||$AmIHiddenUser=="yes") {
-++$olan; } }
+if($user_agent_check===false) {
+++$olan; } } }
if($UserSessInfo['UserGroup']==$Settings['GuestGroup']) {
-/*$GuestsOnline .= "".$MemList['Name']."";*/
+/*$uatitleadd = null;
+if($GroupInfo['CanViewUserAgent']=="yes") { $uatitleadd = " title=\"".htmlentities($session_user_agent, ENT_QUOTES, $Settings['charset'])."\""; }
+$GuestsOnline .= "".$MemList['Name']."";
+if($GroupInfo['CanViewIPAddress']=="yes") {
+$GuestsOnline .= " (".$session_ip_address.")"; } */
++$olgn; }
++$uoli; }
if($_GET['act']=="view"||$_GET['act']=="stats") {
-$ntquery = sql_pre_query("SELECT COUNT(*) FROM `".$Settings['sqltable']."topics`", array(null));
-$ntresult = sql_query($ntquery);
+$ntquery = sql_pre_query("SELECT COUNT(*) FROM \"".$Settings['sqltable']."topics\"".$ForumIgnoreList3, array(null));
+$ntresult = sql_query($ntquery,$SQLStat);
$numtopics = sql_result($ntresult,0);
sql_free_result($ntresult);
-$npquery = sql_pre_query("SELECT COUNT(*) FROM `".$Settings['sqltable']."posts`", array(null));
-$npresult = sql_query($npquery);
+$npquery = sql_pre_query("SELECT COUNT(*) FROM \"".$Settings['sqltable']."posts\"".$ForumIgnoreList3, array(null));
+$npresult = sql_query($npquery,$SQLStat);
$numposts = sql_result($npresult,0);
sql_free_result($npresult);
if($Settings['AdminValidate']=="on") {
-$nmquery = sql_pre_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'])); }
+$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']));
+$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'])); }
if($Settings['AdminValidate']!="on") {
-$nmquery = sql_pre_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'])); }
-$rnmquery = sql_pre_query("SELECT FOUND_ROWS();", array(null));
-$nmresult = sql_query($nmquery);
-$rnmresult = sql_query($rnmquery);
+$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']));
+$rnmquery = sql_pre_query("SELECT COUNT(*) FROM \"".$Settings['sqltable']."members\" WHERE \"id\">=%i AND \"HiddenMember\"='no'", array(1,$Settings['ValidateGroup'])); }
+$nmresult = sql_query($nmquery,$SQLStat);
+$rnmresult = sql_query($rnmquery,$SQLStat);
//$nummembers = sql_num_rows($nmresult);
$nummembers = sql_result($rnmresult,0);
sql_free_result($rnmresult);
$NewestMem = array(null);
+$NewestMem['ID'] = "0"; $NewestMem['Name'] = "Anonymous";
+if($nummembers>0) {
$NewestMem['ID']=sql_result($nmresult,0,"id");
$NewestMem['Name']=sql_result($nmresult,0,"Name");
-if($NewestMem['ID']<=0) { $NewestMem['ID'] = "0"; $NewestMem['Name'] = "Anonymous"; }
+$NewestMem['IP']=sql_result($nmresult,0,"IP"); }
+if($nummembers<=0) { $NewestMem['ID'] = 0; }
+if($NewestMem['ID']<=0) { $NewestMem['ID'] = "0"; $NewestMem['Name'] = "Anonymous"; $NewestMem['IP'] = "127.0.0.1"; }
+$NewestMemTitle = null;
+$NewestMemExtraIP = null;
+if($GroupInfo['CanViewIPAddress']=="yes") {
+$NewestMemTitle = " title=\"".$NewestMem['IP']."\"";
+$NewestMemExtraIP = " (".$NewestMem['IP'].")"; }
+$bdMonthChCk = $usercurtime->format("m");
+$bdDayChCk = $usercurtime->format("d");
+if($Settings['AdminValidate']=="on") {
+$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'])); }
+if($Settings['AdminValidate']!="on") {
+$bdquery = sql_pre_query("SELECT * FROM \"".$Settings['sqltable']."members\" WHERE \"BirthDay\"=%i AND \"BirthMonth\"=%i AND \"HiddenMember\"='no' ORDER BY \"id\"", array($bdDayChCk,$bdMonthChCk)); }
+$bdresult = sql_query($bdquery,$SQLStat);
+$bdmembers = sql_num_rows($bdresult); $bdi = 0;
+if($bdmembers>0) { $bdstring = " ".$bdmembers." member(s) have a birthday today"; }
+if($bdmembers<=0) { $bdstring = "
No members have a birthday today
"; }
+while ($bdi < $bdmembers) {
+$bdmemberz = $bdmembers - 1;
+$birthday['ID']=sql_result($bdresult,$bdi,"id");
+$birthday['Name']=sql_result($bdresult,$bdi,"Name");
+$birthday['IP']=sql_result($bdresult,$bdi,"IP");
+$birthday['BirthYear']=sql_result($bdresult,$bdi,"BirthYear");
+$bdThisYear = $usercurtime->format("Y");
+$birthday['Age'] = $bdThisYear - $birthday['BirthYear'];
+$bdMemTitle = null;
+if($GroupInfo['HasAdminCP']=="yes") {
+$bdMemTitle = " title=\"".$birthday['IP']."\""; }
+if($bdi===0) { $bdstring = $bdstring."\n
"; }
+$bdMemURL = "".$birthday['Name']."";
+if($bdi<$bdmemberz) { $bdstring = $bdstring.$bdMemURL." (".$birthday['Age']."), "; }
+if($bdi==$bdmemberz) { $bdstring = $bdstring.$bdMemURL." (".$birthday['Age'].")"; }
+++$bdi; }
+sql_free_result($bdresult);
+$evcur_month = $usercurtime->format("m");
+$evcur_day = $usercurtime->format("d");
+$evcur_year = $usercurtime->format("Y");
+$evcur_start = mktime(0,0,0,$evcur_month,$evcur_day,$evcur_year);
+$evcur_start_month = date("m", $evcur_start);
+$evcur_start_day = date("d", $evcur_start);
+$evcur_start_year = date("Y", $evcur_start);
+$evcur_end = mktime(23,59,59,$evcur_month,$evcur_day+15,$evcur_year);
+$evcur_end_month = date("m", $evcur_end);
+$evcur_end_day = date("d", $evcur_end);
+$evcur_end_year = date("Y", $evcur_end);
+$evquery = sql_pre_query("SELECT * FROM \"".$Settings['sqltable']."events\" WHERE (\"TimeStamp\">=%i AND \"TimeStamp\"<=%i) OR (\"TimeStampEnd\">=%i AND \"TimeStampEnd\"<=%i) ORDER BY \"TimeStamp\"", array($evcur_start,$evcur_end,$evcur_start,$evcur_end));
+$evresult = sql_query($evquery,$SQLStat);
+$evevents = sql_num_rows($evresult); $evi = 0;
+if($evevents>0) { $evstring = " ".$evevents." upcoming events"; }
+if($evevents<=0) { $evstring = "
There are no upcoming calendar events
"; }
+while ($evi < $evevents) {
+$eveventz = $evevents - 1;
+$getevent['ID']=sql_result($evresult,$evi,"id");
+$getevent['EventName']=sql_result($evresult,$evi,"EventName");
+$getevent['TimeStamp']=sql_result($evresult,$evi,"TimeStamp");
+$getevent['TimeStampEnd']=sql_result($evresult,$evi,"TimeStampEnd");
+$eventstartcurtime = new DateTime();
+$eventstartcurtime->setTimestamp($getevent['TimeStamp']);
+$eventstartcurtime->setTimezone($usertz);
+$eventendcurtime = new DateTime();
+$eventendcurtime->setTimestamp($getevent['TimeStampEnd']);
+$eventendcurtime->setTimezone($usertz);
+$GetEventStart=$eventstartcurtime->format($Settings['idb_date_format']);
+$GetEventEnd=$eventendcurtime->format($Settings['idb_date_format']);
+if($GetEventStart==$GetEventEnd) {
+ $evEventTitle = " title=\"Event Start: ".$GetEventStart."\""; }
+if($GetEventStart!=$GetEventEnd) {
+ $evEventTitle = " title=\"Event Start: ".$GetEventStart." | Event End: ".$GetEventEnd."\""; }
+if($evi===0) { $evstring = $evstring."\n
"; }
+$evEventURL = "".$getevent['EventName']."";
+if($evi<$eveventz) { $evstring = $evstring.$evEventURL.", "; }
+if($evi==$eveventz) { $evstring = $evstring.$evEventURL; }
+++$evi; }
+sql_free_result($evresult);
+$active_month = $usercurtime->format("m");
+$active_day = $usercurtime->format("d");
+$active_year = $usercurtime->format("Y");
+$active_start = mktime(0,0,0,$active_month,$active_day,$active_year);
+$active_end = mktime(23,59,59,$active_month,$active_day,$active_year);
+$tdMembersOnline = null;
+$ggquery = sql_pre_query("SELECT * FROM \"".$Settings['sqltable']."groups\" WHERE \"Name\"='%s'", array($Settings['GuestGroup']));
+$ggresult=sql_query($ggquery,$SQLStat);
+$GGroup=sql_result($ggresult,0,"id");
+sql_free_result($ggresult);
+$tdquery = sql_pre_query("SELECT * FROM \"".$Settings['sqltable']."members\" WHERE \"GroupID\"<>%i AND \"id\">=0 AND \"HiddenMember\"='no' AND (\"LastActive\">=%i AND \"LastActive\"<=%i) ORDER BY \"LastActive\" DESC", array($GGroup,$active_start,$active_end));
+$tdrnquery = sql_pre_query("SELECT COUNT(*) FROM \"".$Settings['sqltable']."members\" WHERE \"GroupID\"<>%i AND \"id\">=0 AND \"HiddenMember\"='no' AND (\"LastActive\">=%i AND \"LastActive\"<=%i)", array($GGroup,$active_start,$active_end));
+$tdrnresult=sql_query($tdrnquery,$SQLStat);
+$tdNumberMembers=sql_result($tdrnresult,0);
+$tdresult=sql_query($tdquery,$SQLStat);
+$tdnum=sql_num_rows($tdresult);
+$tdi=0;
+while($tdi < $tdnum) {
+$tdMemList['ID']=sql_result($tdresult,$tdi,"id");
+$tdMemList['Name']=sql_result($tdresult,$tdi,"Name");
+$tdMemList['IP']=sql_result($tdresult,$tdi,"IP");
+$tdMemList['LastActive']=sql_result($tdresult,$tdi,"LastActive");
+$tmpusrcurtime = new DateTime();
+$tmpusrcurtime->setTimestamp($tdMemList['LastActive']);
+$tmpusrcurtime->setTimezone($usertz);
+$tdMemList['LastActive']=$tmpusrcurtime->format("M j Y, ".$_SESSION['iDBTimeFormat']);
+if($tdi>0) { $tdMembersOnline .= ", "; }
+$tdMembersOnline .= "".$tdMemList['Name']."";
+if($GroupInfo['CanViewIPAddress']=="yes") {
+$tdMembersOnline .= " (".$tdMemList['IP'].")"; }
+++$tdi; }
?>
@@ -79,40 +235,72 @@ if($NewestMem['ID']<=0) { $NewestMem['ID'] = "0"; $NewestMem['Name'] = "Anonymou
#bstats">Board Statistics
-
+
#bstats">Board Statistics
|
-
users online |
- |
+
|
-Board Stats |
+Today's Birthdays |
- |
+
+
+
+ |
+
+
+Upcoming Events |
+
+
+
+ |
+
+
+ |
+
+
+Board Stats |
+
+
+
+ |
Our members have made a total of posts
- We have a total of topics made
+ Our members have made a total of topics
We have registered members
- Our newest member is ">
+ Our newest member is href="">
+ |
+
+
+Members Online Today: |
+
+
+
+ |
+
+ Number of members online today:
+ The following members have visited today:
+
|
-
+
|