Update of /cvsroot/php-blog/serendipity
In directory sc8-pr-cvs1:/tmp/cvs-serv28221
Modified Files:
serendipity_functions.inc.php
Log Message:
Refactor URL tracking to handle exit targets.
Index: serendipity_functions.inc.php
===================================================================
RCS file: /cvsroot/php-blog/serendipity/serendipity_functions.inc.php,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- serendipity_functions.inc.php 1 Apr 2003 19:12:13 -0000 1.15
+++ serendipity_functions.inc.php 2 Apr 2003 07:05:42 -0000 1.16
@@ -1389,41 +1389,37 @@
function serendipity_track_referrer() {
global $serendipity;
- if(!$_SERVER['HTTP_REFERER'] ||
- strstr($_SERVER['HTTP_REFERER'],$_SERVER['SERVER_NAME']))
- {
+ if (!$_SERVER['HTTP_REFERER'] ||
+ strstr($_SERVER['HTTP_REFERER'], $_SERVER['SERVER_NAME'])) {
return;
}
- if(rand(0,100) < 1) {
+
+ if (rand(0, 100) < 1) {
serendipity_track_referrer_gc();
}
+
$suppressq = "SELECT count(1)
FROM $serendipity[dbPrefix]suppress
WHERE ip = '$_SERVER[REMOTE_ADDR]'
AND url = '$_SERVER[HTTP_REFERER]'
AND last > now() - 900 and weblogid='$serendipity[weblogId]'";
- $suppressp = "DELETE FROM $serendipity[dbPrefix]suppress where url='$_SERVER[HTTP_REFERER]' and ip='$_SERVER[REMOTE_ADDR]' and weblogid='$serendipity[weblogId]'";
+
+ $suppressp = "DELETE FROM $serendipity[dbPrefix]suppress where url='$_SERVER[HTTP_REFERER]' and ip='$_SERVER[REMOTE_ADDR]' and weblogid='$serendipity[weblogId]'";
$suppressu = "INSERT INTO $serendipity[dbPrefix]suppress
(url, ip, last)
VALUES ('$_SERVER[HTTP_REFERER]', '$_SERVER[REMOTE_ADDR]', now())";
- $update = "UPDATE $serendipity[dbPrefix]referrers
- SET count = count + 1
- WHERE url = '$_SERVER[HTTP_REFERER]'
- AND day = now()";
- $insert = "INSERT into $serendipity[dbPrefix]referrers
- (url, day, count,weblogid)
- VALUES ('$_SERVER[HTTP_REFERER]', now(), 1, $serendipity[weblogId])";
+
$count = serendipity_db_query($suppressq, true);
- if($count[0] > 0) {
+
+ if ($count[0] > 0) {
serendipity_db_query($suppressu);
return;
}
+
serendipity_db_query($suppressp);
serendipity_db_query($suppressu);
- serendipity_db_query($update);
- if (serendipity_db_affected_rows() == 0) {
- serendipity_db_query($insert);
- }
+
+ serendipity_track_url('referrers', $_SERVER['HTTP_REFERER']);
}
function serendipity_track_referrer_gc() {
@@ -1431,6 +1427,44 @@
$gc = "DELETE FROM $serendipity[dbPrefix]suppress where last < now() - 900 and weblogid='$serendipity[weblogId]'";
serendipity_db_query($gc);
+}
+
+function serendipity_track_exit($url) {
+ serendipity_track_url('exits', $url);
+}
+
+function serendipity_track_url($list, $url) {
+ global $serendipity;
+
+ serendipity_db_query(
+ sprintf(
+ "UPDATE %s%s
+ SET count = count + 1
+ WHERE weblogid = %d
+ AND url = '%s'
+ AND day = NOW()",
+
+ $serendipity['dbPrefix'],
+ $list,
+ $serendipity['weblogId'],
+ $url
+ )
+ );
+
+ if (serendipity_db_affected_rows() == 0) {
+ serendipity_db_query(
+ sprintf(
+ "INSERT INTO %s%s
+ (weblogid, url, day, count)
+ VALUES (%d, '%s', NOW(), 1)",
+
+ $serendipity['dbPrefix'],
+ $list,
+ $serendipity['weblogId'],
+ $url
+ )
+ );
+ }
}
function serendipity_displayTopReferrers($limit = 10) {
|