diff options
Diffstat (limited to 'mod')
-rw-r--r-- | mod/settings.php | 11 | ||||
-rw-r--r-- | mod/uexport.php | 69 |
2 files changed, 15 insertions, 65 deletions
diff --git a/mod/settings.php b/mod/settings.php index db204bc50..d75fe3043 100644 --- a/mod/settings.php +++ b/mod/settings.php @@ -63,11 +63,18 @@ function settings_init(&$a) { ), array( - 'label' => t('Export personal data'), - 'url' => $a->get_baseurl(true) . '/uexport', + 'label' => t('Export channel'), + 'url' => $a->get_baseurl(true) . '/uexport/basic', 'selected' => '' ), +// array( +// 'label' => t('Export account'), +// 'url' => $a->get_baseurl(true) . '/uexport/complete', +// 'selected' => '' +// ), + + ); $tabtpl = get_markup_template("generic_links_widget.tpl"); diff --git a/mod/uexport.php b/mod/uexport.php index e1fb22855..3f7b30008 100644 --- a/mod/uexport.php +++ b/mod/uexport.php @@ -1,72 +1,15 @@ <?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); - - $r = q("SELECT count(*) as `total` FROM `item` WHERE `uid` = %d ", - intval(local_user()) - ); - if(count($r)) - $total = $r[0]['total']; - - // chunk the output to avoid exhausting memory - - 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); - } - + require_once('include/identity.php'); - killme(); + if(argc() > 1 && argv(1) === 'basic') + json_return_and_die(identity_basic_export(local_user())); + if(argc() > 1 && argv(1) === 'complete') + json_return_and_die('not yet implemented'); + }
\ No newline at end of file |