X-Git-Url: http://git.pjr.cc/?p=glcas.git;a=blobdiff_plain;f=libglcas%2Fweb.php;h=41aa463484c8ea16fcb980c7a8775ce4a4561e82;hp=6f93f802b654e31c3e4b5bfa6595735954eb0cd0;hb=62980aceef653f7e9651e3deb7da783e857db2fd;hpb=155c0a1bc81dff4fc1bb4bcebb754c961e457499
diff --git a/libglcas/web.php b/libglcas/web.php
index 6f93f80..41aa463 100644
--- a/libglcas/web.php
+++ b/libglcas/web.php
@@ -3,6 +3,10 @@
// if i believed in name spacing in php, i'd use it.
error_log("glcasweb loaded");
+global $CRON_CLASSES;
+$CRON_CLASSES["GLCASWeb"] = "GLCASWeb";
+
+
class GLCASWeb {
function __construct($config)
@@ -17,6 +21,11 @@ class GLCASWeb {
$url = $_REQUEST["q"];
}
+ // add a stat
+ $ipaddr = $_SERVER["REMOTE_ADDR"];
+ $this->config->delData("lastseen", "$ipaddr");
+ $this->config->addData("lastseen", "$ipaddr", time(), "");
+
// create a url parser
$urlparser = new GLCASUrlParser($urlhandlers, $this->config);
@@ -26,6 +35,23 @@ class GLCASWeb {
$call_class->go($url);
}
+ function cron()
+ {
+ echo "WEB base running cron for ipseen roll-up
";
+ $lastseen = $this->config->getData("lastseen");
+ foreach($lastseen as $key=>$val) {
+ $myip = $val["category"];
+ $myls = $val["name"];
+ $ip[$myip] = $myls;
+ }
+
+ foreach($ip as $key=>$val) {
+ echo "Setting last seen for $key to $val
";
+ $this->config->delData("lastseen", $key);
+ $this->config->addData("lastseen", $key, $val);
+ }
+ }
+
private $config;
}
@@ -36,7 +62,7 @@ function GLCASMenuBuilder()
ksort($MENU_ITEMS);
?>
-
Menu |
+
"; + echo "
"; + } else echo "No Messages "; } function GLCASpageBuilder($bodyClass, $bodyFunction, $bodycontent=null, $title="GLCAS") @@ -127,6 +219,44 @@ function GLCASpageBuilder($bodyClass, $bodyFunction, $bodycontent=null, $title=" } +function glcas_getLastSeen($ip, $data) +{ + $last = "never"; + + if(!$data) return $last; + + + + foreach($data as $key=>$val) { + $last = $val["name"]; + error_log("got $last for $ip"); + } + + if($last == "never") return $last; + + $last = glcas_tdiffToAgo(time()-$last); + + error_log("last for $ip set to $last"); + + return $last; + +} + +function glcas_tdiffToAgo($time_in_sec) +{ + $tdiff = $time_in_sec; + $tdiff_min = (int)($tdiff/60); + $tdiff_hour = (int)($tdiff/3600); + $tdiff_days = (int)($tdiff/86400); + + if($tdiff < 60) $last = "Less then a minute"; + if($tdiff >= 60 && $tdiff < 7200) $last = "$tdiff_min minutes ago"; + if($tdiff >= 7200 && $tdiff < 86400) $last = "$tdiff_hour hours ago"; + if($tdiff >= 86400) $last = "$tdiff_days days ago"; + + return $last; +} + function glcas_isRemoteDir($url) { file_get_contents($url); |
---|