provide other ways to export the basic info
This commit is contained in:
parent
92cf3aae10
commit
2ae2bb4191
@ -515,41 +515,9 @@
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$ret = array();
|
require_once('include/identity.php');
|
||||||
$r = q("select * from channel where channel_id = %d limit 1",
|
|
||||||
intval(local_user())
|
|
||||||
);
|
|
||||||
if($r)
|
|
||||||
$ret['channel'] = $r[0];
|
|
||||||
|
|
||||||
$r = q("select * from profile where uid = %d",
|
json_return_and_die(identity_basic_export(api_user()));
|
||||||
intval(local_user())
|
|
||||||
);
|
|
||||||
if($r)
|
|
||||||
$ret['profile'] = $r;
|
|
||||||
|
|
||||||
$xchans = array();
|
|
||||||
$r = q("select * from abook where abook_channel = %d ",
|
|
||||||
intval(local_user())
|
|
||||||
);
|
|
||||||
if($r) {
|
|
||||||
$ret['abook'] = $r;
|
|
||||||
|
|
||||||
foreach($r as $rr)
|
|
||||||
$xchans[] = $rr['abook_xchan'];
|
|
||||||
stringify_array_elms($xchans);
|
|
||||||
}
|
|
||||||
|
|
||||||
if($xchans) {
|
|
||||||
$r = q("select * from xchan where xchan_hash in ( " . implode(',',$xchans) . " ) ");
|
|
||||||
if($r)
|
|
||||||
$ret['xchan'] = $r;
|
|
||||||
|
|
||||||
$r = q("select * from hubloc where hubloc_hash in ( " . implode(',',$xchans) . " ) ");
|
|
||||||
if($r)
|
|
||||||
$ret['hubloc'] = $r;
|
|
||||||
}
|
|
||||||
json_return_and_die($ret);
|
|
||||||
}
|
}
|
||||||
api_register_func('api/export/basic','api_export_basic', true);
|
api_register_func('api/export/basic','api_export_basic', true);
|
||||||
|
|
||||||
|
@ -194,3 +194,50 @@ function set_default_login_identity($account_id,$channel_id,$force = true) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function identity_basic_export($channel_id) {
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Red basic channel export
|
||||||
|
*/
|
||||||
|
|
||||||
|
$ret = array();
|
||||||
|
$r = q("select * from channel where channel_id = %d limit 1",
|
||||||
|
intval($channel_id)
|
||||||
|
);
|
||||||
|
if($r)
|
||||||
|
$ret['channel'] = $r[0];
|
||||||
|
|
||||||
|
$r = q("select * from profile where uid = %d",
|
||||||
|
intval($channel_id)
|
||||||
|
);
|
||||||
|
if($r)
|
||||||
|
$ret['profile'] = $r;
|
||||||
|
|
||||||
|
$xchans = array();
|
||||||
|
$r = q("select * from abook where abook_channel = %d ",
|
||||||
|
intval($channel_id)
|
||||||
|
);
|
||||||
|
if($r) {
|
||||||
|
$ret['abook'] = $r;
|
||||||
|
|
||||||
|
foreach($r as $rr)
|
||||||
|
$xchans[] = $rr['abook_xchan'];
|
||||||
|
stringify_array_elms($xchans);
|
||||||
|
}
|
||||||
|
|
||||||
|
if($xchans) {
|
||||||
|
$r = q("select * from xchan where xchan_hash in ( " . implode(',',$xchans) . " ) ");
|
||||||
|
if($r)
|
||||||
|
$ret['xchan'] = $r;
|
||||||
|
|
||||||
|
$r = q("select * from hubloc where hubloc_hash in ( " . implode(',',$xchans) . " ) ");
|
||||||
|
if($r)
|
||||||
|
$ret['hubloc'] = $r;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -63,11 +63,18 @@ function settings_init(&$a) {
|
|||||||
),
|
),
|
||||||
|
|
||||||
array(
|
array(
|
||||||
'label' => t('Export personal data'),
|
'label' => t('Export channel'),
|
||||||
'url' => $a->get_baseurl(true) . '/uexport',
|
'url' => $a->get_baseurl(true) . '/uexport/basic',
|
||||||
'selected' => ''
|
'selected' => ''
|
||||||
),
|
),
|
||||||
|
|
||||||
|
// array(
|
||||||
|
// 'label' => t('Export account'),
|
||||||
|
// 'url' => $a->get_baseurl(true) . '/uexport/complete',
|
||||||
|
// 'selected' => ''
|
||||||
|
// ),
|
||||||
|
|
||||||
|
|
||||||
);
|
);
|
||||||
|
|
||||||
$tabtpl = get_markup_template("generic_links_widget.tpl");
|
$tabtpl = get_markup_template("generic_links_widget.tpl");
|
||||||
|
@ -1,72 +1,15 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
function uexport_init(&$a) {
|
function uexport_init(&$a) {
|
||||||
|
|
||||||
if(! local_user())
|
if(! local_user())
|
||||||
killme();
|
killme();
|
||||||
|
|
||||||
$user = array();
|
require_once('include/identity.php');
|
||||||
$r = q("SELECT * FROM `user` WHERE `uid` = %d LIMIT 1",
|
|
||||||
local_user()
|
if(argc() > 1 && argv(1) === 'basic')
|
||||||
);
|
json_return_and_die(identity_basic_export(local_user()));
|
||||||
if(count($r)) {
|
|
||||||
foreach($r as $rr)
|
if(argc() > 1 && argv(1) === 'complete')
|
||||||
foreach($rr as $k => $v)
|
json_return_and_die('not yet implemented');
|
||||||
$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);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
killme();
|
|
||||||
|
|
||||||
}
|
}
|
Reference in New Issue
Block a user