2015-12-08 13:57:50 +01:00
|
|
|
<?php /** @file */
|
|
|
|
|
|
|
|
require_once('include/bb2diaspora.php');
|
|
|
|
|
|
|
|
// used in Diaspora communications to provide a server copy of a sent post in XML format.
|
|
|
|
|
|
|
|
function p_init(&$a) {
|
|
|
|
|
|
|
|
|
|
|
|
if(argc() < 2)
|
|
|
|
http_status_exit(401);
|
|
|
|
|
|
|
|
$mid = str_replace('.xml','',argv(1));
|
|
|
|
|
|
|
|
$r = q("select * from item where mid = '%s' and item_wall = 1 and item_private = 0 limit 1",
|
|
|
|
dbesc($mid)
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
if((! $r) || (! perm_is_allowed($r[0]['uid'],'','view_stream')))
|
|
|
|
http_status_exit(404);
|
|
|
|
|
|
|
|
|
|
|
|
$c = q("select * from channel where channel_id = %d limit 1",
|
|
|
|
intval($r[0]['uid'])
|
|
|
|
);
|
|
|
|
|
|
|
|
if(! $c)
|
|
|
|
http_status_exit(404);
|
|
|
|
|
|
|
|
$myaddr = $c[0]['channel_address'] . '@' . $a->get_hostname();
|
|
|
|
|
|
|
|
$item = $r[0];
|
|
|
|
|
|
|
|
$title = $item['title'];
|
|
|
|
$body = bb2diaspora_itembody($item);
|
|
|
|
$created = datetime_convert('UTC','UTC',$item['created'],'Y-m-d H:i:s \U\T\C');
|
|
|
|
|
2016-02-28 12:11:12 +01:00
|
|
|
$tpl = get_markup_template('diaspora_post.tpl','addon/diaspora');
|
2015-12-08 13:57:50 +01:00
|
|
|
$msg = replace_macros($tpl, array(
|
|
|
|
'$body' => xmlify($body),
|
|
|
|
'$guid' => $item['mid'],
|
|
|
|
'$handle' => xmlify($myaddr),
|
|
|
|
'$public' => 'true',
|
|
|
|
'$created' => $created,
|
|
|
|
'$provider' => (($item['app']) ? $item['app'] : t('$projectname'))
|
|
|
|
));
|
|
|
|
|
|
|
|
header('Content-type: text/xml');
|
|
|
|
echo $msg;
|
|
|
|
killme();
|
|
|
|
}
|