From 49ccb43799b7eff15796ae858297d7c2c9d1bdb3 Mon Sep 17 00:00:00 2001 From: JT Smith Date: Fri, 8 Nov 2002 06:13:56 +0000 Subject: [PATCH] Added page statistic tracking. --- docs/upgrades/upgrade_4.7.0-4.8.0.sql | 13 ++++++++++++- lib/WebGUI.pm | 7 +++++++ lib/WebGUI/Operation/Settings.pm | 2 ++ 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/docs/upgrades/upgrade_4.7.0-4.8.0.sql b/docs/upgrades/upgrade_4.7.0-4.8.0.sql index 85231f60e..cbf029184 100644 --- a/docs/upgrades/upgrade_4.7.0-4.8.0.sql +++ b/docs/upgrades/upgrade_4.7.0-4.8.0.sql @@ -15,6 +15,17 @@ INSERT INTO template VALUES (1,'Default Article','\r\n \r\n
\" border=\"0\">
\r\n\r\n\r\n\r\n

\r\n\r\n\r\n\r\n \r\n

\">\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n

\r\n \r\n \r\n
\"> ()\">
\r\n
\r\n','Article'); INSERT INTO template VALUES (3,'Left Align Image','\r\n
\r\n \" align=\"left\" border=\"0\">\r\n\r\n\r\n\r\n

\r\n\r\n\r\n\r\n \r\n

\">\r\n \r\n\r\n\r\n\r\n\r\n\r\n

\r\n
\r\n\r\n\r\n

\r\n \r\n \r\n
\"> ()\">
\r\n\r\n','Article'); create table userSessionScratch (sessionId varchar(60), name varchar(35), value varchar(255)); - +create table pageStatistics ( +dateStamp int, +userId int, +username varchar(35), +ipAddress varchar(15), +userAgent varchar(255), +referer text, +pageId int, +pageTitle varchar(255) +); +insert into international (internationalId,languageId,namespace,message,lastUpdated) values (749,1,'WebGUI','Track page statistics?', 1036736182); +insert into settings values ("trackPageStatistics",0); diff --git a/lib/WebGUI.pm b/lib/WebGUI.pm index 7045e799d..c21765481 100644 --- a/lib/WebGUI.pm +++ b/lib/WebGUI.pm @@ -220,6 +220,13 @@ sub page { $operationOutput = _processOperations(); $wobjectOutput = _processFunctions(); } + if ($wobjectOutput eq "" && $operationOutput eq "" && $session{setting}{trackPageStatistics}) { + WebGUI::SQL->write("insert into pageStatistics (dateStamp, userId, username, ipAddress, userAgent, referer, + pageId, pageTitle) values (".time().",".$session{user}{userId}.",".quote($session{user}{username}).", + ".quote($session{env}{REMOTE_ADDR}).", ".quote($session{env}{HTTP_USER_AGENT}).", + ".quote($session{env}{HTTP_REFERER}).", ".$session{page}{pageId}.", + ".quote($session{page}{title}).")"); + } if ($session{header}{mimetype} ne "text/html") { $httpHeader = WebGUI::Session::httpHeader(); WebGUI::Session::close(); diff --git a/lib/WebGUI/Operation/Settings.pm b/lib/WebGUI/Operation/Settings.pm index 7ae3e70fd..19a55d68a 100644 --- a/lib/WebGUI/Operation/Settings.pm +++ b/lib/WebGUI/Operation/Settings.pm @@ -210,6 +210,7 @@ sub www_editMiscSettings { $f->hidden("op","editMiscSettingsSave"); $f->yesNo("preventProxyCache",WebGUI::International::get(400),$session{setting}{preventProxyCache}); $f->yesNo("showDebug",WebGUI::International::get(707),$session{setting}{showDebug}); + $f->yesNo("trackPageStatistics",WebGUI::International::get(749),$session{setting}{trackPageStatistics}); $f->submit; $output .= $f->print; } else { @@ -223,6 +224,7 @@ sub www_editMiscSettingsSave { if (WebGUI::Privilege::isInGroup(3)) { _saveSetting("preventProxyCache"); _saveSetting("showDebug"); + _saveSetting("trackPageStatistics"); return www_manageSettings(); } else { return WebGUI::Privilege::adminOnly();