Update of /cvsroot/php-blog/serendipity
In directory sc8-pr-cvs1:/tmp/cvs-serv17303
Modified Files:
db.sql serendipity_functions.inc.php
Log Message:
first work on referrer fixes
Index: db.sql
===================================================================
RCS file: /cvsroot/php-blog/serendipity/db.sql,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- db.sql 2 Apr 2003 21:02:04 -0000 1.6
+++ db.sql 3 Apr 2003 16:18:26 -0000 1.7
@@ -76,10 +76,14 @@
#
CREATE TABLE {PREFIX}referrers (
- url varchar(128) NOT NULL default '',
day date NOT NULL,
count int(11) NOT NULL default '0',
- PRIMARY KEY (url,day)
+ scheme varchar(5),
+ host varchar(128) NOT NULL,
+ port varchar(5),
+ path varchar(256),
+ query varchar(256),
+ PRIMARY KEY (host,day)
);
#
@@ -98,8 +102,12 @@
);
CREATE TABLE {PREFIX}suppress (
- url varchar(128) default NULL,
ip varchar(15) default NULL,
+ scheme varchar(5),
+ host varchar(128),
+ port varchar(5),
+ path varchar(256),
+ query varchar(256),
last timestamp NOT NULL
);
Index: serendipity_functions.inc.php
===================================================================
RCS file: /cvsroot/php-blog/serendipity/serendipity_functions.inc.php,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -d -r1.22 -r1.23
--- serendipity_functions.inc.php 3 Apr 2003 05:34:31 -0000 1.22
+++ serendipity_functions.inc.php 3 Apr 2003 16:18:27 -0000 1.23
@@ -1397,9 +1397,9 @@
function serendipity_track_referrer() {
global $serendipity;
-
- if (!$_SERVER['HTTP_REFERER'] ||
- strstr($_SERVER['HTTP_REFERER'], $_SERVER['SERVER_NAME'])) {
+ $url_parts = parse_url($_SERVER['HTTP_REFERER']);
+ if (!$url_parts['host'] ||
+ strstr($_url_parts['host'], $_SERVER['SERVER_NAME'])) {
return;
}
@@ -1410,13 +1410,23 @@
$suppressq = "SELECT count(1)
FROM $serendipity[dbPrefix]suppress
WHERE ip = '$_SERVER[REMOTE_ADDR]'
- AND url = '$_SERVER[HTTP_REFERER]'
+ AND scheme = '$url_parts[scheme]'
+ AND port = '$url_parts[port]'
+ AND host = '$url_parts[host]'
+ AND path = '$url_parts[path]'
+ AND query = '$url_parts[query]'
AND last > now() - 900";
- $suppressp = "DELETE FROM $serendipity[dbPrefix]suppress where url='$_SERVER[HTTP_REFERER]' and ip='$_SERVER[REMOTE_ADDR]'";
+ $suppressp = "DELETE FROM $serendipity[dbPrefix]suppress
+ WHERE ip = '$_SERVER[REMOTE_ADDR]'
+ AND scheme = '$url_parts[scheme]'
+ AND host = '$url_parts[host]'
+ AND port = '$url_parts[port]'
+ AND query = '$url_parts[query]'
+ AND path = '$url_parts[path]'";
$suppressu = "INSERT INTO $serendipity[dbPrefix]suppress
- (url, ip, last)
- VALUES ('$_SERVER[HTTP_REFERER]', '$_SERVER[REMOTE_ADDR]', now())";
+ (ip, last, scheme, host, port, path, query)
+ VALUES ('$_SERVER[REMOTE_ADDR]', now(), '$url_parts[scheme]', '$url_parts[host]', '$url_parts[port]', '$url_parts[path]', '$url_parts[query]')";
$count = serendipity_db_query($suppressq, true);
@@ -1445,19 +1455,21 @@
function serendipity_track_url($list, $url) {
global $serendipity;
- $u = parse_url($url);
- $url = $u['scheme'] . '://' . $u['host'];
+ $url_parts = parse_url($url);
serendipity_db_query(
sprintf(
"UPDATE %s%s
SET count = count + 1
- WHERE url = '%s'
+ WHERE scheme = '$url_parts[scheme]'
+ AND host = '$url_parts[host]'
+ AND port = '$url_parts[port]'
+ AND path = '$url_parts[path]'
+ AND query = '$url_parts[query]'
AND day = NOW()",
$serendipity['dbPrefix'],
- $list,
- $url
+ $list
)
);
@@ -1465,12 +1477,15 @@
serendipity_db_query(
sprintf(
"INSERT INTO %s%s
- (url, day, count)
- VALUES ('%s', NOW(), 1)",
-
+ (day, count, scheme, host, port, path, query)
+ VALUES ( NOW(), 1, '%s', '%s', '%s', '%s', '%s')",
$serendipity['dbPrefix'],
$list,
- $url
+ $url_parts[scheme],
+ $url_parts[host],
+ $url_parts[port],
+ $url_parts[path],
+ $url_parts[query]
)
);
}
@@ -1487,10 +1502,10 @@
function serendipity_displayTopUrlList($list, $limit) {
global $serendipity;
- $query = "SELECT url, SUM(count) AS total
+ $query = "SELECT host, SUM(count) AS total
FROM $serendipity[dbPrefix]$list
- GROUP BY url
- ORDER BY total DESC, url
+ GROUP BY host
+ ORDER BY total DESC, host
LIMIT $limit";
$rows = serendipity_db_query($query);
@@ -1498,10 +1513,9 @@
if (is_array($rows)) {
foreach ($rows as $row) {
printf(
- '<a href="%s">%s</a> (%s)<br />',
+ '<b>%s</b> (%s)<br />',
- $row['url'],
- $row['url'],
+ $row['host'],
$row['total']
);
}
|