aboutsummaryrefslogtreecommitdiffstats
path: root/mod/uexport.php
diff options
context:
space:
mode:
Diffstat (limited to 'mod/uexport.php')
-rw-r--r--mod/uexport.php71
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