X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Foexchange.php;h=31306a608e9e378c7e4465b7ddb8f98e95fb6269;hb=720a43461d67ab229de0aecfc5008f22cc4c1c54;hp=83b9453f2f3a6c50a173dab8243de4e7636f6fe2;hpb=35973b9273df73b92b840634ff021deb501e4221;p=friendica.git diff --git a/mod/oexchange.php b/mod/oexchange.php index 83b9453f2f..31306a608e 100644 --- a/mod/oexchange.php +++ b/mod/oexchange.php @@ -1,58 +1,69 @@ argc > 1) && ($a->argv[1] === 'xrd')) { - $tpl = get_markup_template('oexchange_xrd.tpl'); - - $o = replace_macros($tpl, array('$base' => App::get_baseurl())); +/** + * @copyright Copyright (C) 2010-2022, the Friendica project + * + * @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; + +function oexchange_init(App $a) { + + if ((DI::args()->getArgc() > 1) && (DI::args()->getArgv()[1] === 'xrd')) { + $tpl = Renderer::getMarkupTemplate('oexchange_xrd.tpl'); + + $o = Renderer::replaceMacros($tpl, ['$base' => DI::baseUrl()]); echo $o; - killme(); + exit(); } - - } -function oexchange_content(App &$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 ((DI::args()->getArgc() > 1) && DI::args()->getArgv()[1] === 'done') { return; } - $url = (((x($_REQUEST,'url')) && strlen($_REQUEST['url'])) - ? urlencode(notags(trim($_REQUEST['url']))) : ''); - $title = (((x($_REQUEST,'title')) && strlen($_REQUEST['title'])) - ? '&title=' . urlencode(notags(trim($_REQUEST['title']))) : ''); - $description = (((x($_REQUEST,'description')) && strlen($_REQUEST['description'])) - ? '&description=' . urlencode(notags(trim($_REQUEST['description']))) : ''); - $tags = (((x($_REQUEST,'tags')) && strlen($_REQUEST['tags'])) - ? '&tags=' . urlencode(notags(trim($_REQUEST['tags']))) : ''); + $url = !empty($_REQUEST['url']) ? trim($_REQUEST['url']) : ''; + $title = !empty($_REQUEST['title']) ? trim($_REQUEST['title']) : ''; + $description = !empty($_REQUEST['description']) ? trim($_REQUEST['description']) : ''; + $tags = !empty($_REQUEST['tags']) ? trim($_REQUEST['tags']) : ''; - $s = fetch_url(App::get_baseurl() . '/parse_url?f=&url=' . $url . $title . $description . $tags); + $s = \Friendica\Content\Text\BBCode::embedURL($url, true, $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); $_REQUEST = $post; require_once('mod/item.php'); item_post($a); - } - -