From 3c60a0c22cc7945d8298a76d9dc2e30c1b2fb3c3 Mon Sep 17 00:00:00 2001 From: redmatrix Date: Thu, 16 Jul 2015 20:20:42 -0700 Subject: provide any single year of exported items --- include/identity.php | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) (limited to 'include/identity.php') diff --git a/include/identity.php b/include/identity.php index 8ba5d64db..5ca626c72 100644 --- a/include/identity.php +++ b/include/identity.php @@ -583,8 +583,14 @@ function identity_basic_export($channel_id, $items = false) { /** @warning this may run into memory limits on smaller systems */ - $r = q("select * from item where item_wall = 1 and item_deleted = 0 and uid = %d", - intval($channel_id) + /** export one year of posts. If you want to export and import all posts you have to start with + * the first year and export/import them in ascending order. + */ + + $r = q("select * from item where item_wall = 1 and item_deleted = 0 and uid = %d and created > %s - INTERVAL %s", + intval($channel_id), + db_utcnow(), + db_quoteinterval('1 YEAR') ); if($r) { $ret['item'] = array(); @@ -598,6 +604,33 @@ function identity_basic_export($channel_id, $items = false) { } +function identity_export_year($channel_id,$year) { + + if(! $year) + return array(); + + $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' ", + intval($channel_id), + dbesc($mindate), + dbesc($maxdate) + ); + + if($r) { + $ret['item'] = array(); + xchan_query($r); + $r = fetch_post_tags($r,true); + foreach($r as $rr) + $ret['item'][] = encode_item($rr,true); + } + + return $ret; +} + + + /** * @brief Loads a profile into the App structure. * -- cgit v1.2.3