X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Foexchange.php;h=f68fe6f2d2dbd09bf25f0a4ca98bb1a8282f1334;hb=bf8fb215a9cc554b5ec5b774168a52fb56fa43e6;hp=1a990c64f17350f8b9f7e8e9b5d90efaaabdbf59;hpb=78b2db3a9840f551c951bf0a58a54cce08133bcf;p=friendica.git diff --git a/mod/oexchange.php b/mod/oexchange.php index 1a990c64f1..f68fe6f2d2 100644 --- a/mod/oexchange.php +++ b/mod/oexchange.php @@ -1,53 +1,74 @@ argc > 1) && ($a->argv[1] === 'xrd')) { - $tpl = get_markup_template('oexchange_xrd.tpl'); - - $o = replace_macros($tpl, array('$base' => $a->get_baseurl())); +/** + * @copyright Copyright (C) 2020, Friendica + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +use Friendica\App; +use Friendica\Core\Renderer; +use Friendica\DI; +use Friendica\Module\Security\Login; +use Friendica\Util\Strings; + +function oexchange_init(App $a) { + + if (($a->argc > 1) && ($a->argv[1] === 'xrd')) { + $tpl = Renderer::getMarkupTemplate('oexchange_xrd.tpl'); + + $o = Renderer::replaceMacros($tpl, ['$base' => DI::baseUrl()]); echo $o; - killme(); + exit(); } - - - - } -function oexchange_content(&$a) { +function oexchange_content(App $a) { - if(! local_user()) { - $o = login(false); + if (!local_user()) { + $o = Login::form(); return $o; } - if(($a->argc > 1) && $a->argv[1] === 'done') { - info( t('Post successful.') . EOL); + if (($a->argc > 1) && $a->argv[1] === 'done') { return; } - $url = (((x($_GET,'url')) && strlen($_GET['url'])) ? notags(trim($_GET['url'])) : ''); + $url = ((!empty($_REQUEST['url'])) + ? urlencode(Strings::escapeTags(trim($_REQUEST['url']))) : ''); + $title = ((!empty($_REQUEST['title'])) + ? '&title=' . urlencode(Strings::escapeTags(trim($_REQUEST['title']))) : ''); + $description = ((!empty($_REQUEST['description'])) + ? '&description=' . urlencode(Strings::escapeTags(trim($_REQUEST['description']))) : ''); + $tags = ((!empty($_REQUEST['tags'])) + ? '&tags=' . urlencode(Strings::escapeTags(trim($_REQUEST['tags']))) : ''); - $s = fetch_url($a->get_baseurl() . '/parse_url&url=' . $url); + $s = DI::httpRequest()->fetch(DI::baseUrl() . '/parse_url?url=' . $url . $title . $description . $tags); - if(! strlen($s)) + if (!strlen($s)) { return; + } - require_once('include/html2bbcode.php'); - - $post = array(); + $post = []; $post['profile_uid'] = local_user(); - $post['return'] = '/oexchange/done' ; - $post['body'] = html2bbcode($s); - $post['type'] = 'wall'; + $post['return'] = '/oexchange/done'; + $post['body'] = Friendica\Content\Text\HTML::toBBCode($s); - $_POST = $post; + $_REQUEST = $post; require_once('mod/item.php'); item_post($a); - } - -