diff options
Diffstat (limited to 'mod/uexport.php')
-rw-r--r-- | mod/uexport.php | 71 |
1 files changed, 12 insertions, 59 deletions
diff --git a/mod/uexport.php b/mod/uexport.php index e1fb22855..f3a2ce67c 100644 --- a/mod/uexport.php +++ b/mod/uexport.php @@ -1,72 +1,25 @@ <?php function uexport_init(&$a) { - if(! local_user()) killme(); - $user = array(); - $r = q("SELECT * FROM `user` WHERE `uid` = %d LIMIT 1", - local_user() - ); - if(count($r)) { - foreach($r as $rr) - foreach($rr as $k => $v) - $user[$k] = $v; - - } - $contact = array(); - $r = q("SELECT * FROM `contact` WHERE `uid` = %d ", - intval(local_user()) - ); - if(count($r)) { - foreach($r as $rr) - foreach($rr as $k => $v) - $contact[][$k] = $v; - - } - - $profile = array(); - $r = q("SELECT * FROM `profile` WHERE `uid` = %d ", - intval(local_user()) - ); - if(count($r)) { - foreach($r as $rr) - foreach($rr as $k => $v) - $profile[][$k] = $v; - } - - $output = array('user' => $user, 'contact' => $contact, 'profile' => $profile ); - - header("Content-type: application/json"); - echo json_encode($output); + $channel = $a->get_channel(); - $r = q("SELECT count(*) as `total` FROM `item` WHERE `uid` = %d ", - intval(local_user()) - ); - if(count($r)) - $total = $r[0]['total']; + require_once('include/identity.php'); - // chunk the output to avoid exhausting memory + header('content-type: application/octet_stream'); + header('content-disposition: attachment; filename="' . $channel['channel_address'] . '.json"' ); - for($x = 0; $x < $total; $x += 500) { - $item = array(); - $r = q("SELECT * FROM `item` WHERE `uid` = %d LIMIT %d, %d", - intval(local_user()), - intval($x), - intval(500) - ); - if(count($r)) { - foreach($r as $rr) - foreach($rr as $k => $v) - $item[][$k] = $v; - } - $output = array('item' => $item); - echo json_encode($output); + if(argc() > 1 && argv(1) === 'basic') { + echo json_encode(identity_basic_export(local_user())); + killme(); } - - killme(); - + if(argc() > 1 && argv(1) === 'complete') { + echo json_encode('not yet implemented'); + killme(); + } + }
\ No newline at end of file |