diff options
Diffstat (limited to 'include/identity.php')
-rw-r--r-- | include/identity.php | 32 |
1 files changed, 28 insertions, 4 deletions
diff --git a/include/identity.php b/include/identity.php index 804f316d1..871d85700 100644 --- a/include/identity.php +++ b/include/identity.php @@ -604,15 +604,27 @@ 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'); - $r = q("select * from item where item_wall = 1 and item_deleted = 0 and uid = %d and created >= '%s' and created < '%s' ", + + $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_wall = 1 and item_deleted = 0 and uid = %d and created >= '%s' and created < '%s' order by created", intval($channel_id), dbesc($mindate), dbesc($maxdate) @@ -626,6 +638,18 @@ function identity_export_year($channel_id,$year) { $ret['item'][] = encode_item($rr,true); } + + $r = q("select item_id.*, item.mid from item_id left join item on item_id.iid = item.id where item_id.uid = %d + and item.created >= '%s' and item.created < '%s' order by created ", + intval($channel_id), + dbesc($mindate), + dbesc($maxdate) + ); + + if($r) + $ret['item_id'] = $r; + + return $ret; } |