provide ability to export by month as well as by year
This commit is contained in:
parent
1982fc807f
commit
f682325924
@ -601,14 +601,25 @@ function identity_basic_export($channel_id, $items = false) {
|
||||
|
||||
|
||||
|
||||
function identity_export_year($channel_id,$year) {
|
||||
function identity_export_year($channel_id,$year,$month = 0) {
|
||||
|
||||
if(! $year)
|
||||
return array();
|
||||
|
||||
if($month && $month <= 12) {
|
||||
$target_month = sprintf('%02d',$month);
|
||||
$target_month_plus = sprintf('%02d',$month+1);
|
||||
}
|
||||
else
|
||||
$target_month = '01';
|
||||
|
||||
$ret = array();
|
||||
$mindate = datetime_convert('UTC','UTC',$year . '-01-01 00:00:00');
|
||||
$maxdate = datetime_convert('UTC','UTC',$year+1 . '-01-01 00:00:00');
|
||||
$mindate = datetime_convert('UTC','UTC',$year . '-' . $target_month . '-01 00:00:00');
|
||||
if($month && $month < 12)
|
||||
$maxdate = datetime_convert('UTC','UTC',$year . '-' . $target_month_plus . '-01 00:00:00');
|
||||
else
|
||||
$maxdate = datetime_convert('UTC','UTC',$year+1 . '-01-01 00:00:00');
|
||||
|
||||
$r = q("select * from item where (item_flags & %d) > 0 and (item_restrict & %d) = 0 and uid = %d and created >= '%s' and created < '%s' order by created ",
|
||||
intval(ITEM_WALL),
|
||||
intval(ITEM_DELETED),
|
||||
|
@ -13,11 +13,15 @@ function uexport_init(&$a) {
|
||||
$year = intval(argv(1));
|
||||
}
|
||||
|
||||
if(argc() > 2 && intval(argv(2)) > 1 && intval(argv(2)) <= 12) {
|
||||
$month = intval(argv(2));
|
||||
}
|
||||
|
||||
header('content-type: application/octet_stream');
|
||||
header('content-disposition: attachment; filename="' . $channel['channel_address'] . (($year) ? '-' . $year : '') . '.json"' );
|
||||
|
||||
if($year) {
|
||||
echo json_encode(identity_export_year(local_channel(),$year));
|
||||
echo json_encode(identity_export_year(local_channel(),$year,$month));
|
||||
killme();
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user