diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/Contact.php | 60 | ||||
-rw-r--r-- | include/gprobe.php | 4 | ||||
-rwxr-xr-x | include/items.php | 8 |
3 files changed, 70 insertions, 2 deletions
diff --git a/include/Contact.php b/include/Contact.php index 7febe310d..36f4cbcf7 100644 --- a/include/Contact.php +++ b/include/Contact.php @@ -153,6 +153,66 @@ function channel_remove($channel_id) { } +function remove_all_xchan_resources($xchan, $channel_id = 0) { + + if(intval($channel_id)) { + + + + } + else { + + // this is somewhat destructive +// FIXME + // We don't want to be quite as destructive on directories, which will need to mirror the action + // and we also don't want to completely destroy an xchan that has moved to a new primary location + + $r = q("delete from photo where xchan = '%s'", + dbesc($xchan) + ); + $r = q("select resource_id, resource_type, uid, id from item where ( author_xchan = '%s' or owner_xchan = '%s' ) ", + dbesc($xchan), + dbesc($xchan) + ); + if($r) { + foreach($r as $rr) { + drop_item($rr,false); + } + } + $r = q("delete from event where event_xchan = '%s'", + dbesc($xchan) + ); + $r = q("delete from group_member where xchan = '%s'", + dbesc($xchan) + ); + $r = q("delete from mail where ( from_xchan = '%s' or to_xchan = '%s' )", + dbesc($xchan), + dbesc($xchan) + ); + $r = q("delete from xlink where ( xlink_xchan = '%s' or xlink_link = '%s' )", + dbesc($xchan), + dbesc($xchan) + ); + + + $r = q("delete from xchan where xchan_hash = '%s' limit 1", + dbesc($xchan) + ); + $r = q("delete from hubloc where hubloc_hash = '%s'", + dbesc($xchan) + ); + $r = q("delete from abook where abook_xchan = '%s'", + dbesc($xchan) + ); + $r = q("delete from xtag where xtag_hash = '%s'", + dbesc($xchan) + ); + + } +} + + + function contact_remove($channel_id, $abook_id) { diff --git a/include/gprobe.php b/include/gprobe.php index 25b56525a..2cc87d149 100644 --- a/include/gprobe.php +++ b/include/gprobe.php @@ -20,8 +20,8 @@ function gprobe_run($argv, $argc){ if(! $r) { $x = zot_finger($url,null); - if($x) { - $j = json_decode($x,true); + if($x['success']) { + $j = json_decode($x['body'],true); $y = import_xchan($j); } } diff --git a/include/items.php b/include/items.php index 59bb58eaa..3fd43ca4e 100755 --- a/include/items.php +++ b/include/items.php @@ -4265,6 +4265,14 @@ function delete_item_lowlevel($item) { intval($item['uid']) ); + q("delete from term where oid = %d and otype = %d", + intval($item['id']), + intval(TERM_OBJ_POST) + ); + +// FIXME remove notifications for this item + + return true; } |