diff options
author | zotlabs <mike@macgirvin.com> | 2018-06-15 16:28:36 -0700 |
---|---|---|
committer | zotlabs <mike@macgirvin.com> | 2018-06-15 16:28:36 -0700 |
commit | eedfb7de3238f202e539407e7c6eaac1838f7015 (patch) | |
tree | ee2abbc0e30db73de55285dc4266b607fdc6db35 | |
parent | 7e736c5359732647f5203bf2bb7fcd50c448fad9 (diff) | |
download | volse-hubzilla-eedfb7de3238f202e539407e7c6eaac1838f7015.tar.gz volse-hubzilla-eedfb7de3238f202e539407e7c6eaac1838f7015.tar.bz2 volse-hubzilla-eedfb7de3238f202e539407e7c6eaac1838f7015.zip |
slightly more memory efficient way to drop posts of removed connections
-rw-r--r-- | include/connections.php | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/include/connections.php b/include/connections.php index 5a9e31950..20f7c24ff 100644 --- a/include/connections.php +++ b/include/connections.php @@ -373,23 +373,24 @@ function contact_remove($channel_id, $abook_id) { if(intval($abook['abook_self'])) 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", dbesc($abook['abook_xchan']), dbesc($abook['abook_xchan']), intval($channel_id) ); if($r) { - $r = fetch_post_tags($r,true); - foreach($r as $rr) { - $terms = get_terms_oftype($item['term'],TERM_FILE); - if(! $terms) { - drop_item($rr['id'],false); + $x = q("select uid from term where otype = %d and oid = %d ttype = %d limit 1", + intval(TERM_OBJ_POST), + intval($rr['id']), + intval(TERM_FILE) + ); + if($x) { + continue; } + drop_item($rr['id'],false); } } - q("delete from abook where abook_id = %d and abook_channel = %d", intval($abook['abook_id']), |