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
-
  guests, members, anonymous members
+ "; } ?>  "; } ?>  Show detailed by: ">Last Click, ">Member Name
Board StatsToday'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: