aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--database.sql1
-rw-r--r--include/items.php4
-rw-r--r--include/notifier.php4
-rw-r--r--include/poller.php22
-rw-r--r--mod/dfrn_notify.php20
-rw-r--r--mod/item.php21
-rw-r--r--mod/photos.php29
7 files changed, 67 insertions, 34 deletions
diff --git a/database.sql b/database.sql
index af1ec630f..2541de76a 100644
--- a/database.sql
+++ b/database.sql
@@ -149,6 +149,7 @@ CREATE TABLE IF NOT EXISTS `item` (
`parent-uri` char(255) CHARACTER SET ascii NOT NULL,
`created` datetime NOT NULL,
`edited` datetime NOT NULL,
+ `changed` datetime NOT NULL,
`owner-name` char(255) NOT NULL,
`owner-link` char(255) NOT NULL,
`owner-avatar` char(255) NOT NULL,
diff --git a/include/items.php b/include/items.php
index aeb89892e..f57f3a833 100644
--- a/include/items.php
+++ b/include/items.php
@@ -67,10 +67,11 @@ function get_feed_for(&$a,$dfrn_id,$owner_id,$last_update) {
FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
WHERE `item`.`uid` = %d AND `item`.`visible` = 1
AND NOT `item`.`type` IN ( 'remote', 'net-comment' ) AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
- AND `item`.`edited` > '%s'
+ AND ( `item`.`edited` > '%s' OR `item`.`changed` > '%s' )
$sql_extra
ORDER BY `parent` ASC, `created` ASC LIMIT 0, 300",
intval($owner_id),
+ dbesc($check_date),
dbesc($check_date)
);
if(! count($r))
@@ -209,6 +210,7 @@ function post_remote($a,$arr) {
$arr['owner-avatar'] = notags(trim($arr['owner-avatar']));
$arr['created'] = datetime_convert('UTC','UTC',$arr['created'],'Y-m-d H:i:s');
$arr['edited'] = datetime_convert('UTC','UTC',$arr['edited'],'Y-m-d H:i:s');
+ $arr['changed'] = datetime_convert();
$arr['title'] = notags(trim($arr['title']));
$arr['location'] = notags(trim($arr['location']));
$arr['body'] = escape_tags(trim($arr['body']));
diff --git a/include/notifier.php b/include/notifier.php
index d00ef54f4..fe1925c33 100644
--- a/include/notifier.php
+++ b/include/notifier.php
@@ -17,7 +17,7 @@
if($argc < 3)
exit;
- $a->set_baseurl(get_config('system',url'));
+ $a->set_baseurl(get_config('system','url'));
$baseurl = $argv[1];
$a->set_baseurl($argv[1]);
@@ -34,6 +34,8 @@
break;
}
+ if($debugging)
+ dbg(3);
$recipients = array();
diff --git a/include/poller.php b/include/poller.php
index fcd74fd69..80b6f3512 100644
--- a/include/poller.php
+++ b/include/poller.php
@@ -191,18 +191,20 @@ echo "Length:" . strlen($xml) . "\r\n";
);
if(count($r)) {
if($r[0]['uri'] == $r[0]['parent-uri']) {
- $r = q("UPDATE `item` SET `deleted` = 1, `edited` = '%s',
+ $r = q("UPDATE `item` SET `deleted` = 1, `edited` = '%s', `changed` = '%s',
`body` = '', `title` = ''
WHERE `parent-uri` = '%s'",
dbesc($when),
+ dbesc(datetime_convert()),
dbesc($r[0]['uri'])
);
}
else {
- $r = q("UPDATE `item` SET `deleted` = 1, `edited` = '%s',
+ $r = q("UPDATE `item` SET `deleted` = 1, `edited` = '%s', `changed` = '%s',
`body` = '', `title` = ''
WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
dbesc($when),
+ dbesc(datetime_convert()),
dbesc($uri),
intval($importer['uid'])
);
@@ -233,13 +235,20 @@ echo "Length:" . strlen($xml) . "\r\n";
);
// FIXME update content if 'updated' changes
if(count($r)) {
- $allow = $item->get_item_tags('http://purl.org/macgirvin/dfrn/1.0','comment-allow');
+ $allow = $item->get_item_tags( NAMESPACE_DFRN, 'comment-allow');
if($allow && $allow[0]['data'] != $r[0]['last-child']) {
- $r = q("UPDATE `item` SET `last-child` = %d WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
+ $r = q("UPDATE `item` SET `last-child` = 0, `changed` = '%s' WHERE `parent-uri` = '%s'",
+ dbesc(datetime_convert()),
+ dbesc($parent_uri)
+ );
+ $r = q("UPDATE `item` SET `last-child` = %d , `changed` = '%s' WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
intval($allow[0]['data']),
+ dbesc(datetime_convert()),
dbesc($item_id),
intval($importer['uid'])
);
+
+
}
continue;
}
@@ -260,10 +269,11 @@ echo "Length:" . strlen($xml) . "\r\n";
intval($importer['uid'])
);
if(count($r)) {
- $allow = $item->get_item_tags('http://purl.org/macgirvin/dfrn/1.0','comment-allow');
+ $allow = $item->get_item_tags( NAMESPACE_DFRN, 'comment-allow');
if($allow && $allow[0]['data'] != $r[0]['last-child']) {
- $r = q("UPDATE `item` SET `last-child` = %d WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
+ $r = q("UPDATE `item` SET `last-child` = %d , `changed` = '%s' WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
intval($allow[0]['data']),
+ dbesc(datetime_convert()),
dbesc($item_id),
intval($importer['uid'])
);
diff --git a/mod/dfrn_notify.php b/mod/dfrn_notify.php
index 2ac98af59..089e508ad 100644
--- a/mod/dfrn_notify.php
+++ b/mod/dfrn_notify.php
@@ -68,7 +68,7 @@ function dfrn_notify_post(&$a) {
$msg['uri'] = notags(unxmlify($base['id'][0]['data']));
$msg['parent-uri'] = notags(unxmlify($base['in-reply-to'][0]['data']));
$msg['created'] = datetime_convert(notags(unxmlify('UTC','UTC',$base['sentdate'][0]['data'])));
-
+
dbesc_array($msg);
$r = q("INSERT INTO `mail` (`" . implode("`, `", array_keys($msg))
@@ -124,16 +124,18 @@ function dfrn_notify_post(&$a) {
);
if(count($r)) {
if($r[0]['uri'] == $r[0]['parent-uri']) {
- $r = q("UPDATE `item` SET `deleted` = 1, `edited` = '%s'
+ $r = q("UPDATE `item` SET `deleted` = 1, `edited` = '%s', `changed` = '%s'
WHERE `parent-uri` = '%s'",
dbesc($when),
+ dbesc(datetime_convert()),
dbesc($r[0]['uri'])
);
}
else {
- $r = q("UPDATE `item` SET `deleted` = 1, `edited` = '%s'
+ $r = q("UPDATE `item` SET `deleted` = 1, `edited` = '%s', `changed` = '%s'
WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
dbesc($when),
+ dbesc(datetime_convert()),
dbesc($uri),
intval($importer['importer_uid'])
);
@@ -166,12 +168,14 @@ function dfrn_notify_post(&$a) {
intval($importer['importer_uid'])
);
if(count($r)) {
- $r1 = q("UPDATE `item` SET `last-child` = 0 WHERE `uid` = %d AND `parent` = %d",
+ $r1 = q("UPDATE `item` SET `last-child` = 0, `changed` = '%s' WHERE `uid` = %d AND `parent` = %d",
+ dbesc(datetime_convert()),
intval($importer['importer_uid']),
intval($r[0]['parent'])
);
}
- $r2 = q("UPDATE `item` SET `last-child` = 1 WHERE `uid` = %d AND `id` = %d LIMIT 1",
+ $r2 = q("UPDATE `item` SET `last-child` = 1, `changed` = '%s' WHERE `uid` = %d AND `id` = %d LIMIT 1",
+ dbesc(datetime_convert()),
intval($importer['importer_uid']),
intval($posted_id)
);
@@ -214,8 +218,9 @@ function dfrn_notify_post(&$a) {
if(count($r)) {
$allow = $item->get_item_tags( NAMESPACE_DFRN, 'comment-allow');
if($allow && $allow[0]['data'] != $r[0]['last-child']) {
- $r = q("UPDATE `item` SET `last-child` = %d WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
+ $r = q("UPDATE `item` SET `last-child` = %d, `changed` = '%s' WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
intval($allow[0]['data']),
+ dbesc(datetime_convert()),
dbesc($item_id),
intval($importer['importer_uid'])
);
@@ -272,8 +277,9 @@ function dfrn_notify_post(&$a) {
if(count($r)) {
$allow = $item->get_item_tags( NAMESPACE_DFRN, 'comment-allow');
if($allow && $allow[0]['data'] != $r[0]['last-child']) {
- $r = q("UPDATE `item` SET `last-child` = %d WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
+ $r = q("UPDATE `item` SET `last-child` = %d, `changed` = '%s' WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
intval($allow[0]['data']),
+ dbesc(datetime_convert()),
dbesc($item_id),
intval($importer['importer_uid'])
);
diff --git a/mod/item.php b/mod/item.php
index 5b81f13ee..812216426 100644
--- a/mod/item.php
+++ b/mod/item.php
@@ -143,8 +143,8 @@ function item_post(&$a) {
$r = q("INSERT INTO `item` (`uid`,`type`,`contact-id`,`owner-name`,`owner-link`,`owner-avatar`,
`author-name`, `author-link`, `author-avatar`, `created`,
- `edited`, `uri`, `title`, `body`, `location`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid`)
- VALUES( %d, '%s', %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' )",
+ `edited`, `changed`, `uri`, `title`, `body`, `location`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid`)
+ VALUES( %d, '%s', %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' )",
intval($profile_uid),
dbesc($post_type),
intval($contact_id),
@@ -154,8 +154,9 @@ function item_post(&$a) {
dbesc($author['name']),
dbesc($author['url']),
dbesc($author['thumb']),
- datetime_convert(),
- datetime_convert(),
+ dbesc(datetime_convert()),
+ dbesc(datetime_convert()),
+ dbesc(datetime_convert()),
dbesc($uri),
dbesc($title),
dbesc($body),
@@ -173,7 +174,8 @@ function item_post(&$a) {
if($parent) {
// This item is the last leaf and gets the comment box, clear any ancestors
- $r = q("UPDATE `item` SET `last-child` = 0 WHERE `parent` = %d ",
+ $r = q("UPDATE `item` SET `last-child` = 0, `changed` = '%s' WHERE `parent` = %d ",
+ dbesc(datetime_convert()),
intval($parent)
);
@@ -227,10 +229,11 @@ function item_post(&$a) {
}
}
- $r = q("UPDATE `item` SET `parent` = %d, `parent-uri` = '%s', `last-child` = 1, `visible` = 1
+ $r = q("UPDATE `item` SET `parent` = %d, `parent-uri` = '%s', `changed` = '%s', `last-child` = 1, `visible` = 1
WHERE `id` = %d LIMIT 1",
intval($parent),
dbesc(($parent == $post_id) ? $uri : $parent_item['uri']),
+ dbesc(datetime_convert()),
intval($post_id)
);
// photo comments turn the corresponding item visible to the profile wall
@@ -279,7 +282,8 @@ function item_content(&$a) {
// delete the item
- $r = q("UPDATE `item` SET `deleted` = 1, `body` = '', `edited` = '%s' WHERE `id` = %d LIMIT 1",
+ $r = q("UPDATE `item` SET `deleted` = 1, `body` = '', `edited` = '%s', `changed` = '%s' WHERE `id` = %d LIMIT 1",
+ dbesc(datetime_convert()),
dbesc(datetime_convert()),
intval($item['id'])
);
@@ -300,9 +304,10 @@ function item_content(&$a) {
// If it's the parent of a comment thread, kill all the kids
if($item['uri'] == $item['parent-uri']) {
- $r = q("UPDATE `item` SET `deleted` = 1, `edited` = '%s', `body` = ''
+ $r = q("UPDATE `item` SET `deleted` = 1, `edited` = '%s', `changed` = '%s', `body` = ''
WHERE `parent-uri` = '%s' AND `uid` = %d ",
dbesc(datetime_convert()),
+ dbesc(datetime_convert()),
dbesc($item['parent-uri']),
intval($item['uid'])
);
diff --git a/mod/photos.php b/mod/photos.php
index bbc9c2df5..0558f746a 100644
--- a/mod/photos.php
+++ b/mod/photos.php
@@ -117,7 +117,8 @@ function photos_post(&$a) {
);
if(count($r)) {
foreach($r as $rr) {
- q("UPDATE `item` SET `deleted` = 1 WHERE `parent-uri` = '%s' AND `uid` = %d",
+ q("UPDATE `item` SET `deleted` = 1, `changed` = '%s' WHERE `parent-uri` = '%s' AND `uid` = %d",
+ dbesc(datetime_convert()),
dbesc($rr['parent-uri']),
intval($_SESSION['uid'])
);
@@ -153,7 +154,9 @@ function photos_post(&$a) {
intval($_SESSION['uid'])
);
if(count($i)) {
- q("UPDATE `item` SET `deleted` = 1 WHERE `parent-uri` = '%s' AND `uid` = %d",
+ q("UPDATE `item` SET `deleted` = 1, `edited` = '%s', `changed` = '%s' WHERE `parent-uri` = '%s' AND `uid` = %d",
+ dbesc(datetime_convert()),
+ dbesc(datetime_convert()),
dbesc($i[0]['uri']),
intval($_SESSION['uid'])
);
@@ -219,8 +222,8 @@ function photos_post(&$a) {
$r = q("INSERT INTO `item` (`uid`, `type`, `resource-id`, `contact-id`,
`owner-name`,`owner-link`,`owner-avatar`, `created`,
- `edited`, `uri`, `parent-uri`, `title`, `body`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid`)
- VALUES( %d, '%s', '%s', %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' )",
+ `edited`, `changed`, `uri`, `parent-uri`, `title`, `body`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid`)
+ VALUES( %d, '%s', '%s', %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' )",
intval($_SESSION['uid']),
dbesc('photo'),
dbesc($p[0]['resource-id']),
@@ -228,8 +231,9 @@ function photos_post(&$a) {
dbesc($contact_record['name']),
dbesc($contact_record['url']),
dbesc($contact_record['thumb']),
- datetime_convert(),
- datetime_convert(),
+ dbesc(datetime_convert()),
+ dbesc(datetime_convert()),
+ dbesc(datetime_convert()),
dbesc($uri),
dbesc($uri),
dbesc($title),
@@ -254,8 +258,10 @@ function photos_post(&$a) {
}
}
- $r = q("UPDATE `item` SET `tag` = '%s' WHERE `id` = %d AND `uid` = %d LIMIT 1",
+ $r = q("UPDATE `item` SET `tag` = '%s', `edited` = '%s', `changed` = '%s' WHERE `id` = %d AND `uid` = %d LIMIT 1",
dbesc($tags),
+ dbesc(datetime_convert()),
+ dbesc(datetime_convert()),
intval($item_id),
intval($_SESSION['uid'])
);
@@ -386,8 +392,8 @@ function photos_post(&$a) {
$r = q("INSERT INTO `item` (`uid`, `type`, `resource-id`, `contact-id`,`owner-name`,`owner-link`,`owner-avatar`, `created`,
- `edited`, `uri`, `parent-uri`, `title`, `body`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid`, `visible`)
- VALUES( %d, '%s', '%s', %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d )",
+ `edited`, `changed`, `uri`, `parent-uri`, `title`, `body`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid`, `visible`)
+ VALUES( %d, '%s', '%s', %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d )",
intval($_SESSION['uid']),
dbesc('photo'),
dbesc($photo_hash),
@@ -395,8 +401,9 @@ function photos_post(&$a) {
dbesc($contact_record['name']),
dbesc($contact_record['url']),
dbesc($contact_record['thumb']),
- datetime_convert(),
- datetime_convert(),
+ dbesc(datetime_convert()),
+ dbesc(datetime_convert()),
+ dbesc(datetime_convert()),
dbesc($uri),
dbesc($uri),
dbesc($title),