when removed items for unfriended connections, check if the parent has been retained, not just the item
This commit is contained in:
parent
f55f5fa92a
commit
7b4cb31a10
@ -373,19 +373,36 @@ function contact_remove($channel_id, $abook_id) {
|
|||||||
if(intval($abook['abook_self']))
|
if(intval($abook['abook_self']))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
$r = q("select id from item where (owner_xchan = '%s' or author_xchan = '%s') and uid = %d and item_retained = 0 and item_starred = 0",
|
$r = q("select id, parent from item where (owner_xchan = '%s' or author_xchan = '%s') and uid = %d and item_retained = 0 and item_starred = 0",
|
||||||
dbesc($abook['abook_xchan']),
|
dbesc($abook['abook_xchan']),
|
||||||
dbesc($abook['abook_xchan']),
|
dbesc($abook['abook_xchan']),
|
||||||
intval($channel_id)
|
intval($channel_id)
|
||||||
);
|
);
|
||||||
if($r) {
|
if($r) {
|
||||||
foreach($r as $rr) {
|
foreach($r as $rr) {
|
||||||
$x = q("select uid from term where otype = %d and oid = %d and ttype = %d limit 1",
|
$w = $x = $y = null;
|
||||||
|
|
||||||
|
// if this isn't the parent, see if the conversation was retained
|
||||||
|
if($rr['id'] != $rr['parent']) {
|
||||||
|
$w = q("select id from item where parent = %d and item_retained = 0",
|
||||||
|
intval($rr['parent'])
|
||||||
|
);
|
||||||
|
if($w) {
|
||||||
|
// see if the conversation was filed
|
||||||
|
$x = q("select uid from term where otype = %d and oid = %d and ttype = %d limit 1",
|
||||||
|
intval(TERM_OBJ_POST),
|
||||||
|
intval($w[0]['id']),
|
||||||
|
intval(TERM_FILE)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// see if this item was filed
|
||||||
|
$y = q("select uid from term where otype = %d and oid = %d and ttype = %d limit 1",
|
||||||
intval(TERM_OBJ_POST),
|
intval(TERM_OBJ_POST),
|
||||||
intval($rr['id']),
|
intval($rr['id']),
|
||||||
intval(TERM_FILE)
|
intval(TERM_FILE)
|
||||||
);
|
);
|
||||||
if($x) {
|
if($w || $x || $y) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
drop_item($rr['id'],false);
|
drop_item($rr['id'],false);
|
||||||
|
Reference in New Issue
Block a user