aboutsummaryrefslogtreecommitdiffstats
path: root/mod/uexport.php
diff options
context:
space:
mode:
authorHaakon Meland Eriksen <haakon.eriksen@far.no>2014-06-24 19:34:36 +0200
committerHaakon Meland Eriksen <haakon.eriksen@far.no>2014-06-24 19:34:36 +0200
commitb8dc9e855af2d30f33d0f90dc13d8cad0a7b3e70 (patch)
tree718df6305bcb82c8dcb4b287a7132422e748cdfb /mod/uexport.php
parentc2d520f1be115fb3cb5da2a35eb10146cecee8aa (diff)
parenta92fb0b04c3e6474ec48faf8e4cc65c382e89d66 (diff)
downloadvolse-hubzilla-b8dc9e855af2d30f33d0f90dc13d8cad0a7b3e70.tar.gz
volse-hubzilla-b8dc9e855af2d30f33d0f90dc13d8cad0a7b3e70.tar.bz2
volse-hubzilla-b8dc9e855af2d30f33d0f90dc13d8cad0a7b3e70.zip
Merge remote-tracking branch 'upstream/master'
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