aboutsummaryrefslogtreecommitdiffstats
path: root/mod
diff options
context:
space:
mode:
authorMike Macgirvin <mike@macgirvin.com>2010-08-29 21:55:57 -0700
committerMike Macgirvin <mike@macgirvin.com>2010-08-29 21:55:57 -0700
commit2d76a5c76b173b5cc174763514127ef4de0cef62 (patch)
treedb2bc20b160c4abfc6467566fa888139bbcb037f /mod
parent5d59a77cd97725b6db4a7ade0c97ee277ed4ce73 (diff)
downloadvolse-hubzilla-2d76a5c76b173b5cc174763514127ef4de0cef62.tar.gz
volse-hubzilla-2d76a5c76b173b5cc174763514127ef4de0cef62.tar.bz2
volse-hubzilla-2d76a5c76b173b5cc174763514127ef4de0cef62.zip
fix last-child in face of deletions
Diffstat (limited to 'mod')
-rw-r--r--mod/dfrn_notify.php23
-rw-r--r--mod/item.php18
2 files changed, 38 insertions, 3 deletions
diff --git a/mod/dfrn_notify.php b/mod/dfrn_notify.php
index 089e508ad..3e98377e8 100644
--- a/mod/dfrn_notify.php
+++ b/mod/dfrn_notify.php
@@ -123,12 +123,13 @@ function dfrn_notify_post(&$a) {
intval($importer['importer_uid'])
);
if(count($r)) {
- if($r[0]['uri'] == $r[0]['parent-uri']) {
+ $item = $r[0];
+ if($item['uri'] == $item['parent-uri']) {
$r = q("UPDATE `item` SET `deleted` = 1, `edited` = '%s', `changed` = '%s'
WHERE `parent-uri` = '%s'",
dbesc($when),
dbesc(datetime_convert()),
- dbesc($r[0]['uri'])
+ dbesc($item['uri'])
);
}
else {
@@ -139,6 +140,24 @@ function dfrn_notify_post(&$a) {
dbesc($uri),
intval($importer['importer_uid'])
);
+ if($item['last-child']) {
+ // ensure that last-child is set in case the comment that had it just got wiped.
+ $q("UPDATE `item` SET `last-child` = 0, `changed` = '%s' WHERE `parent-uri` = '%s' AND `uid` = %d ",
+ dbesc(datetime_convert()),
+ dbesc($item['parent-uri']),
+ intval($item['uid'])
+ );
+ // who is the last child now?
+ $r = q("SELECT `id` FROM `item` WHERE `parent-uri` = '%s' AND `type` != 'activity' AND `deleted` = 0
+ ORDER BY `edited` DESC LIMIT 1",
+ dbesc($item['parent-uri'])
+ );
+ if(count($r)) {
+ q("UPDATE `item` SET `last-child` = 1 WHERE `id` = %d LIMIT 1",
+ intval($r[0]['id'])
+ );
+ }
+ }
}
}
continue;
diff --git a/mod/item.php b/mod/item.php
index 812216426..c790d31da 100644
--- a/mod/item.php
+++ b/mod/item.php
@@ -313,7 +313,23 @@ function item_content(&$a) {
);
// ignore the result
}
-
+ else {
+ // ensure that last-child is set in case the comment that had it just got wiped.
+ q("UPDATE `item` SET `last-child` = 0, `changed` = '%s' WHERE `parent-uri` = '%s' AND `uid` = %d ",
+ dbesc(datetime_convert()),
+ dbesc($item['parent-uri']),
+ intval($item['uid'])
+ );
+ // who is the last child now?
+ $r = q("SELECT `id` FROM `item` WHERE `parent-uri` = '%s' AND `type` != 'activity' AND `deleted` = 0 ORDER BY `edited` DESC LIMIT 1",
+ dbesc($item['parent-uri'])
+ );
+ if(count($r)) {
+ q("UPDATE `item` SET `last-child` = 1 WHERE `id` = %d LIMIT 1",
+ intval($r[0]['id'])
+ );
+ }
+ }
$drop_id = intval($item['id']);
$php_path = ((strlen($a->config['php_path'])) ? $a->config['php_path'] : 'php');