Update of /cvsroot/php-blog/jBlog
In directory sc8-pr-cvs1:/tmp/cvs-serv7547
Modified Files:
jBlog_functions.inc.php db.sql
Log Message:
referrer suppression support.
Be sure to add {PREFIX}suppress to your schema
Index: jBlog_functions.inc.php
===================================================================
RCS file: /cvsroot/php-blog/jBlog/jBlog_functions.inc.php,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -d -r1.25 -r1.26
--- jBlog_functions.inc.php 6 Mar 2003 17:55:16 -0000 1.25
+++ jBlog_functions.inc.php 6 Mar 2003 20:08:08 -0000 1.26
@@ -1081,6 +1081,17 @@
{
return;
}
+ if(rand(0,100) < 1) {
+ jBlog_track_referrer_gc();
+ }
+ $suppressq = "SELECT count(1)
+ FROM $jBlog[dbPrefix]suppress
+ WHERE ip = '$_SERVER[REMOTE_ADDR]'
+ AND url = '$_SERVER[HTTP_REFERER]'
+ AND last > now() - 900";
+ $suppressu = "INSERT INTO $jBlog[dbPrefix]suppress
+ (url, ip, last)
+ VALUES ('$_SERVER[HTTP_REFERER]', '$_SERVER[REMOTE_ADDR]', now())";
$update = "UPDATE $jBlog[dbPrefix]referrers
SET count = count + 1
WHERE url = '$_SERVER[HTTP_REFERER]'
@@ -1088,11 +1099,24 @@
$insert = "INSERT into $jBlog[dbPrefix]referrers
(url, day, count)
VALUES ('$_SERVER[HTTP_REFERER]', now(), 1)";
+ $rs = mysql_db_query($jBlog['dbName'], $suppressq);
+ if(mysql_affected_rows() > 0) {
+ mysql_db_query($jBlog['dbName'], $suppressu);
+ return;
+ }
+ mysql_db_query($jBlog['dbName'], $suppressu);
$rs = mysql_db_query($jBlog['dbName'], $update);
if(mysql_affected_rows() == 0) {
mysql_db_query($jBlog['dbName'], $insert);
}
}
+
+function jBlog_track_referrer_gc() {
+ global $jBlog;
+
+ $gc = "DELETE FROM $jBlog[dbPrefix]suppress where last < now() - 900";
+ mysql_db_query($jBlog['dbName'], $gc);
+}
function jBlog_displayTopReferrers() {
global $jBlog;
Index: db.sql
===================================================================
RCS file: /cvsroot/php-blog/jBlog/db.sql,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- db.sql 6 Mar 2003 05:41:42 -0000 1.9
+++ db.sql 6 Mar 2003 20:08:09 -0000 1.10
@@ -87,3 +87,11 @@
name varchar(64) not null primary key,
value varchar(255) not null
);
+
+CREATE TABLE {PREFIX}suppress (
+ url varchar(128) default NULL,
+ ip varchar(15) default NULL,
+ last timestamp(14) NOT NULL
+) TYPE=MyISAM;
+
+
|