provide other ways to export the basic info
This commit is contained in:
@@ -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");
|
||||
|
||||
@@ -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;
|
||||
require_once('include/identity.php');
|
||||
|
||||
}
|
||||
$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);
|
||||
}
|
||||
|
||||
|
||||
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');
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user