identity_export_year() was a bit short-sighted. We really require arbitrary date ranges. A new function was created to tackle this - channel_export_items() which takes a channel, and a start and finish date. Finish date will default to "now" if not set. Will be working this into the interface under a module named "export_items" which will correspond closely to the existing "import_items" module you'll need to do the reverse operation. Will also make it available via the API. Once that is complete, I anticipate removing identity_export_year() as it will then be somewhat redundant, and modifying the documentation on the channel export page accordingly. Note: the function works strictly in GMT so an interface would need to convert from channel local time.
This commit is contained in:
parent
7b2d54dffa
commit
7d62e087c6
@ -64,9 +64,9 @@ class SuperCurl {
|
|||||||
$this->auth = $v;
|
$this->auth = $v;
|
||||||
break;
|
break;
|
||||||
case 'magicauth':
|
case 'magicauth':
|
||||||
|
// currently experimental
|
||||||
$this->magicauth = $v;
|
$this->magicauth = $v;
|
||||||
\Zotlabs\Daemon\Master::Summon([ 'CurlAuth', $v ]);
|
\Zotlabs\Daemon\Master::Summon([ 'CurlAuth', $v ]);
|
||||||
sleep(2);
|
|
||||||
break;
|
break;
|
||||||
case 'custom':
|
case 'custom':
|
||||||
$this->request_method = $v;
|
$this->request_method = $v;
|
||||||
|
@ -747,6 +747,44 @@ function identity_export_year($channel_id,$year,$month = 0) {
|
|||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// export items within an arbitrary date range. Date/time is in UTC.
|
||||||
|
|
||||||
|
function channel_export_items($channel_id,$start,$finish) {
|
||||||
|
|
||||||
|
if(! $start)
|
||||||
|
return array();
|
||||||
|
else
|
||||||
|
$start = datetime_convert('UTC','UTC',$start);
|
||||||
|
|
||||||
|
$finish = datetime_convert('UTC','UTC',(($finish) ? $finish : 'now'));
|
||||||
|
if($finish < $start)
|
||||||
|
return array();
|
||||||
|
|
||||||
|
$ret = array();
|
||||||
|
|
||||||
|
$ch = channelx_by_n($channel_id);
|
||||||
|
if($ch) {
|
||||||
|
$ret['relocate'] = [ 'channel_address' => $ch['channel_address'], 'url' => z_root()];
|
||||||
|
}
|
||||||
|
|
||||||
|
$r = q("select * from item where ( item_wall = 1 or item_type != %d ) and item_deleted = 0 and uid = %d and created >= '%s' and created < '%s' and resource_type = '' order by created",
|
||||||
|
intval(ITEM_TYPE_POST),
|
||||||
|
intval($channel_id),
|
||||||
|
dbesc($start),
|
||||||
|
dbesc($finish)
|
||||||
|
);
|
||||||
|
|
||||||
|
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.
|
* @brief Loads a profile into the App structure.
|
||||||
|
Reference in New Issue
Block a user