make contact_remove sort of work so I can actually get rid of Oliver's and Michael J's dead contacts and not poll them every ten minutes forever
This commit is contained in:
parent
318d75a86a
commit
c96eb6dc97
@ -126,28 +126,46 @@ function user_remove($uid) {
|
||||
}
|
||||
|
||||
|
||||
function contact_remove($id) {
|
||||
function contact_remove($channel_id, $abook_id) {
|
||||
|
||||
$r = q("select uid from contact where id = %d limit 1",
|
||||
intval($id)
|
||||
);
|
||||
if((! count($r)) || (! intval($r[0]['uid'])))
|
||||
return;
|
||||
if((! $channel_id) || (! $abook_id))
|
||||
return false;
|
||||
|
||||
$archive = get_pconfig($r[0]['uid'], 'system','archive_removed_contacts');
|
||||
$archive = get_pconfig($channel_id, 'system','archive_removed_contacts');
|
||||
if($archive) {
|
||||
q("update contact set `archive` = 1, `network` = 'none', `writable` = 0 where id = %d limit 1",
|
||||
intval($id)
|
||||
q("update abook set abook_flags = abook_flags | %d where abook_id = %d and abook_channel = %d limit 1",
|
||||
intval(ABOOK_FLAG_ARCHIVE),
|
||||
intval($abook_id),
|
||||
intval($channel_id)
|
||||
);
|
||||
return;
|
||||
return true;
|
||||
}
|
||||
|
||||
q("DELETE FROM `contact` WHERE `id` = %d LIMIT 1",
|
||||
intval($id)
|
||||
$r = q("select * from abook where abook_id = %d and abook_channel = %d limit 1",
|
||||
intval($abook_id),
|
||||
intval($channel_id)
|
||||
);
|
||||
q("DELETE FROM `item` WHERE `contact-id` = %d ",
|
||||
intval($id)
|
||||
|
||||
if(! $r)
|
||||
return false;
|
||||
|
||||
$abook = $r[0];
|
||||
|
||||
if($abook['abook_flags'] & ABOOK_FLAG_SELF)
|
||||
return false;
|
||||
|
||||
q("delete from item where author_xchan = '%s' and uid = %d",
|
||||
dbesc($abook['abook_xchan']),
|
||||
intval($channel_id)
|
||||
);
|
||||
|
||||
q("delete from abook where abook_id = %d and channel_id = %d limit 1",
|
||||
intval($abook['abook_id']),
|
||||
intval($channel_id)
|
||||
);
|
||||
|
||||
/*
|
||||
// FIXME
|
||||
q("DELETE FROM `photo` WHERE `contact-id` = %d ",
|
||||
intval($id)
|
||||
);
|
||||
@ -160,7 +178,9 @@ function contact_remove($id) {
|
||||
q("DELETE FROM `queue` WHERE `cid` = %d ",
|
||||
intval($id)
|
||||
);
|
||||
*/
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
@ -63,7 +63,7 @@ if((isset($_SESSION)) && (x($_SESSION,'authenticated')) && ((! (x($_POST,'auth-p
|
||||
info( t('Logged out.') . EOL);
|
||||
goaway(z_root());
|
||||
}
|
||||
dbg(1);
|
||||
|
||||
if(x($_SESSION,'visitor_id') && (! x($_SESSION,'uid'))) {
|
||||
$r = q("select * from hubloc left join xchan on xchan_hash = hubloc_hash where hubloc_hash = '%s' limit 1",
|
||||
dbesc($_SESSION['visitor_id'])
|
||||
@ -77,7 +77,7 @@ dbg(1);
|
||||
}
|
||||
$a->set_groups(init_groups_visitor($_SESSION['visitor_id']));
|
||||
}
|
||||
dbg(0);
|
||||
|
||||
if(x($_SESSION,'uid') || x($_SESSION,'account_id')) {
|
||||
|
||||
// already logged in user returning
|
||||
|
@ -3631,7 +3631,7 @@ function lose_follower($importer,$contact,$datarray,$item) {
|
||||
);
|
||||
}
|
||||
else {
|
||||
contact_remove($contact['id']);
|
||||
// contact_remove($contact['id']);
|
||||
}
|
||||
}
|
||||
|
||||
@ -3644,7 +3644,7 @@ function lose_sharer($importer,$contact,$datarray,$item) {
|
||||
);
|
||||
}
|
||||
else {
|
||||
contact_remove($contact['id']);
|
||||
// contact_remove($contact['id']);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -223,7 +223,7 @@ function connections_content(&$a) {
|
||||
// FIXME
|
||||
// terminate_friendship($a->get_channel(),$orig_record[0]);
|
||||
|
||||
contact_remove($orig_record[0]['abook_id']);
|
||||
contact_remove(local_user(), $orig_record[0]['abook_id']);
|
||||
info( t('Contact has been removed.') . EOL );
|
||||
if(x($_SESSION,'return_url'))
|
||||
goaway($a->get_baseurl(true) . '/' . $_SESSION['return_url']);
|
||||
|
@ -71,7 +71,7 @@ function dirsearch_content(&$a) {
|
||||
// By default we return one page (default 80 items maximum) and do not count total entries
|
||||
|
||||
$logic = ((strlen($sql_extra)) ? 0 : 1);
|
||||
dbg(1);
|
||||
|
||||
if($limit)
|
||||
$qlimit = " LIMIT $limit ";
|
||||
else {
|
||||
@ -91,7 +91,7 @@ dbg(1);
|
||||
$r = q("SELECT xchan.*, xprof.* from xchan left join xprof on xchan_hash = xprof_hash where $logic $sql_extra and not ( xchan_flags & %d ) $order $qlimit ",
|
||||
intval(XCHAN_FLAGS_HIDDEN)
|
||||
);
|
||||
dbg(0);
|
||||
|
||||
$ret['page'] = $page + 1;
|
||||
$ret['records'] = count($r);
|
||||
|
||||
|
@ -620,7 +620,7 @@ function network_content(&$a, $update = 0, $load = false) {
|
||||
if($load) {
|
||||
|
||||
// Fetch a page full of parent items for this page
|
||||
dbg(1);
|
||||
|
||||
$r = q("SELECT item.id AS item_id FROM item
|
||||
left join abook on item.author_xchan = abook.abook_xchan
|
||||
WHERE item.uid = %d AND item.item_restrict = 0
|
||||
@ -631,7 +631,7 @@ dbg(1);
|
||||
intval(local_user()),
|
||||
intval(ABOOK_FLAG_BLOCKED)
|
||||
);
|
||||
dbg(0);
|
||||
|
||||
}
|
||||
else {
|
||||
// update
|
||||
|
Reference in New Issue
Block a user