aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorzotlabs <mike@macgirvin.com>2018-06-15 16:28:36 -0700
committerzotlabs <mike@macgirvin.com>2018-06-15 16:28:36 -0700
commiteedfb7de3238f202e539407e7c6eaac1838f7015 (patch)
treeee2abbc0e30db73de55285dc4266b607fdc6db35 /include
parent7e736c5359732647f5203bf2bb7fcd50c448fad9 (diff)
downloadvolse-hubzilla-eedfb7de3238f202e539407e7c6eaac1838f7015.tar.gz
volse-hubzilla-eedfb7de3238f202e539407e7c6eaac1838f7015.tar.bz2
volse-hubzilla-eedfb7de3238f202e539407e7c6eaac1838f7015.zip
slightly more memory efficient way to drop posts of removed connections
Diffstat (limited to 'include')
-rw-r--r--include/connections.php15
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']),