72 lines
1.4 KiB
PHP
72 lines
1.4 KiB
PHP
<?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: text/json");
|
|
echo str_replace('\\/','/',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 str_replace('\\/','/',json_encode($output));
|
|
}
|
|
|
|
|
|
killme();
|
|
|
|
} |