summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--database/database.mssql3
-rw-r--r--database/database.mysql3
-rw-r--r--database/database.pgsql3
-rw-r--r--modules/cloud.module15
-rw-r--r--update.php8
5 files changed, 22 insertions, 10 deletions
diff --git a/database/database.mssql b/database/database.mssql
index 37e083162..c1615a682 100644
--- a/database/database.mssql
+++ b/database/database.mssql
@@ -257,7 +257,8 @@ CREATE TABLE [dbo].[site] (
[name] [varchar] (128) NOT NULL ,
[link] [varchar] (255) NOT NULL ,
[size] [text] NOT NULL ,
- [timestamp] [int] NOT NULL ,
+ [changed] [int] NOT NULL ,
+ [checked] [int] NOT NULL ,
[feed] [varchar] (255) NOT NULL ,
[refresh] [int] NOT NULL ,
[threshold] [int] NOT NULL
diff --git a/database/database.mysql b/database/database.mysql
index b1e8c2a35..ab1270732 100644
--- a/database/database.mysql
+++ b/database/database.mysql
@@ -378,7 +378,8 @@ CREATE TABLE site (
name varchar(128) NOT NULL default '',
link varchar(255) NOT NULL default '',
size text NOT NULL,
- timestamp int(11) NOT NULL default '0',
+ changed int(11) NOT NULL default '0',
+ checked int(11) NOT NULL default '0',
feed varchar(255) NOT NULL default '',
refresh int(11) NOT NULL default '0',
threshold int(11) NOT NULL default '0',
diff --git a/database/database.pgsql b/database/database.pgsql
index c2d2f0969..e0502fc88 100644
--- a/database/database.pgsql
+++ b/database/database.pgsql
@@ -378,7 +378,8 @@ CREATE TABLE site (
name varchar(128) NOT NULL default '',
link varchar(255) NOT NULL default '',
size text NOT NULL default '',
- timestamp integer NOT NULL default '0',
+ changed integer NOT NULL default '0',
+ checked integer NOT NULL default '0',
feed varchar(255) NOT NULL default '',
refresh integer NOT NULL default '0',
threshold integer NOT NULL default '0',
diff --git a/modules/cloud.module b/modules/cloud.module
index 45e5ae764..d85473e4e 100644
--- a/modules/cloud.module
+++ b/modules/cloud.module
@@ -23,7 +23,7 @@ function cloud_system($field){
}
function cloud_cron() {
- $result = db_query("SELECT * FROM site WHERE timestamp = 0 OR timestamp + refresh < ". time());
+ $result = db_query("SELECT * FROM site WHERE checked = 0 OR checked + refresh < %d", time());
while ($site = db_fetch_array($result)) {
cloud_update($site);
@@ -78,7 +78,10 @@ function cloud_update($site) {
}
if (abs($site["size"] - strlen($data)) >= $site["threshold"]) {
- db_query("UPDATE site SET size = '". strlen($data) ."', timestamp = '". time() ."' WHERE link = '%s'", $site["link"]);
+ db_query("UPDATE site SET size = %d, changed = %d, checked = %d WHERE link = '%s'", strlen($data), time(), time(), $site["link"]);
+ }
+ else {
+ db_query("UPDATE site SET checked = %d WHERE link = '%s'", time(), $site["link"]);
}
fclose($fp);
@@ -130,22 +133,22 @@ function cloud_display() {
$header = array(t("site"), t("last update"), array("data" => t("operations"), "colspan" => 2));
while ($site = db_fetch_object($result)) {
- $rows[] = array("<a href=\"$site->link\">$site->name</a>", ($site->timestamp ? format_interval(time() - $site->timestamp) ." ago" : "never"), l(t("edit site"), "admin/syndication/cloud/edit/$site->sid"), l(t("update site"), "admin/syndication/cloud/update/$site->sid"));
+ $rows[] = array("<a href=\"$site->link\">$site->name</a>", ($site->changed ? format_interval(time() - $site->changed) ." ago" : "never"), l(t("edit site"), "admin/syndication/cloud/edit/$site->sid"), l(t("update site"), "admin/syndication/cloud/update/$site->sid"));
}
return table($header, $rows);
}
function cloud_list($limit = 10) {
- $result = db_query_range("SELECT * FROM site WHERE timestamp > ". (time() - 604800) ." ORDER BY timestamp DESC", 0, $limit);
+ $result = db_query_range("SELECT * FROM site WHERE changed > ". (time() - 604800) ." ORDER BY changed DESC", 0, $limit);
$hour = -1;
$list = -1;
$inlist = false;
$output .= "<div class=\"item-list\">";
while ($site = db_fetch_object($result)) {
- if ($hour != floor((time() - $site->timestamp) / 3600)) {
- $hour = floor((time() - $site->timestamp) / 3600);
+ if ($hour != floor((time() - $site->changed) / 3600)) {
+ $hour = floor((time() - $site->changed) / 3600);
if ($hour < 12) {
if ($inlist) {
$output .= "</ul>";
diff --git a/update.php b/update.php
index 1a6efa586..ca23a700d 100644
--- a/update.php
+++ b/update.php
@@ -66,7 +66,8 @@ $mysql_updates = array(
"2003-04-19" => "update_51",
"2003-04-20" => "update_52",
"2003-05-18" => "update_53",
- "2003-05-24" => "update_54"
+ "2003-05-24" => "update_54",
+ "2003-05-31" => "update_55"
);
// Update functions
@@ -714,6 +715,11 @@ function update_54() {
update_sql("ALTER TABLE locales CHANGE string string BLOB DEFAULT '' NOT NULL");
}
+function update_55() {
+ update_sql("ALTER TABLE site ADD checked INT(11) NOT NULL;");
+ update_sql("ALTER TABLE site CHANGE timestamp changed INT(11) NOT NULL;");
+}
+
function update_upgrade3() {
update_sql("INSERT INTO system VALUES ('archive.module','archive','module','',1)");
update_sql("INSERT INTO system VALUES ('block.module','block','module','',1)");