X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Foexchange.php;h=dd3809bc7d795889daa5ea8f2984ce64bb2f937f;hb=a98d3213767392dcce399188f65b5f976caf98e6;hp=7de4acadfeb3043f63131eac4678fa45b7d7a27a;hpb=53e38b03130ea798bba44db44ccb7f331dc4b91d;p=friendica.git diff --git a/mod/oexchange.php b/mod/oexchange.php index 7de4acadfe..dd3809bc7d 100644 --- a/mod/oexchange.php +++ b/mod/oexchange.php @@ -1,6 +1,6 @@ getArgc() <= 1) || (DI::args()->getArgv()[1] != 'xrd')) { + return; + } - if (($a->argc > 1) && ($a->argv[1] === 'xrd')) { - $tpl = Renderer::getMarkupTemplate('oexchange_xrd.tpl'); + $baseURL = DI::baseUrl()->get(); - $o = Renderer::replaceMacros($tpl, ['$base' => DI::baseUrl()]); - echo $o; - exit(); - } -} + $xml = null; + + XML::fromArray([ + 'XRD' => [ + '@attributes' => [ + 'xmlns' => 'http://docs.oasis-open.org/ns/xri/xrd-1.0', + ], + 'Subject' => $baseURL, + '1:Property' => [ + '@attributes' => [ + 'type' => 'http://www.oexchange.org/spec/0.8/prop/vendor', + ], + 'Friendica' + ], + '2:Property' => [ + '@attributes' => [ + 'type' => 'http://www.oexchange.org/spec/0.8/prop/title', + ], + 'Friendica Social Network' + ], + '3:Property' => [ + '@attributes' => [ + 'type' => 'http://www.oexchange.org/spec/0.8/prop/name', + ], + 'Friendica' + ], + '4:Property' => [ + '@attributes' => [ + 'type' => 'http://www.oexchange.org/spec/0.8/prop/prompt', + ], + 'Send to Friendica' + ], + '1:link' => [ + '@attributes' => [ + 'rel' => 'icon', + 'type' => 'image/png', + 'href' => $baseURL . '/images/friendica-16.png' + ] + ], + '2:link' => [ + '@attributes' => [ + 'rel' => 'icon32', + 'type' => 'image/png', + 'href' => $baseURL . '/images/friendica-32.png' + ] + ], + '3:link' => [ + '@attributes' => [ + 'rel' => 'http://www.oexchange.org/spec/0.8/rel/offer', + 'type' => 'text/html', + 'href' => $baseURL . '/oexchange' + ] + ], + ], + ], $xml); -function oexchange_content(App $a) { + System::httpExit($xml->saveXML(), Response::TYPE_XML, 'application/xrd+xml'); +} - if (!local_user()) { +function oexchange_content(App $a) +{ + if (!DI::userSession()->getLocalUserId()) { $o = Login::form(); return $o; } - if (($a->argc > 1) && $a->argv[1] === 'done') { + if ((DI::args()->getArgc() > 1) && DI::args()->getArgv()[1] === 'done') { return; } @@ -52,7 +111,7 @@ function oexchange_content(App $a) { $description = !empty($_REQUEST['description']) ? trim($_REQUEST['description']) : ''; $tags = !empty($_REQUEST['tags']) ? trim($_REQUEST['tags']) : ''; - $s = \Friendica\Content\Text\BBCode::embedURL($url, true, $title, $description, $tags); + $s = BBCode::embedURL($url, true, $title, $description, $tags); if (!strlen($s)) { return; @@ -60,11 +119,11 @@ function oexchange_content(App $a) { $post = []; - $post['profile_uid'] = local_user(); + $post['profile_uid'] = DI::userSession()->getLocalUserId(); $post['return'] = '/oexchange/done'; - $post['body'] = Friendica\Content\Text\HTML::toBBCode($s); + $post['body'] = HTML::toBBCode($s); $_REQUEST = $post; - require_once('mod/item.php'); + require_once 'mod/item.php'; item_post($a); }