<?php
/**
- * @copyright Copyright (C) 2010-2021, the Friendica project
+ * @copyright Copyright (C) 2010-2022, the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
function follow_post(App $a)
{
- if (!local_user()) {
+ if (!DI::userSession()->getLocalUserId()) {
throw new \Friendica\Network\HTTPException\ForbiddenException(DI::l10n()->t('Access denied.'));
}
{
$return_path = 'contact';
- if (!local_user()) {
- notice(DI::l10n()->t('Permission denied.'));
+ if (!DI::userSession()->getLocalUserId()) {
+ DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.'));
DI::baseUrl()->redirect($return_path);
// NOTREACHED
}
- $uid = local_user();
+ $uid = DI::userSession()->getLocalUserId();
- // Issue 4815: Silently removing a prefixing @
- $url = ltrim(Strings::escapeTags(trim($_REQUEST['url'] ?? '')), '@!');
+ $url = Probe::cleanURI(trim($_REQUEST['url'] ?? ''));
// Issue 6874: Allow remote following from Peertube
if (strpos($url, 'acct:') === 0) {
if (DBA::isResult($user_contact)) {
if ($user_contact['pending']) {
- notice(DI::l10n()->t('You already added this contact.'));
+ DI::sysmsg()->addNotice(DI::l10n()->t('You already added this contact.'));
$submit = '';
}
}
// Possibly it is a remote item and not an account
follow_remote_item($url);
- notice(DI::l10n()->t("The network type couldn't be detected. Contact can't be added."));
+ DI::sysmsg()->addNotice(DI::l10n()->t("The network type couldn't be detected. Contact can't be added."));
$submit = '';
$contact = ['url' => $url, 'network' => Protocol::PHANTOM, 'name' => $url, 'keywords' => ''];
}
$protocol = Contact::getProtocol($contact['url'], $contact['network']);
if (($protocol == Protocol::DIASPORA) && !DI::config()->get('system', 'diaspora_enabled')) {
- notice(DI::l10n()->t("Diaspora support isn't enabled. Contact can't be added."));
+ DI::sysmsg()->addNotice(DI::l10n()->t("Diaspora support isn't enabled. Contact can't be added."));
$submit = '';
}
if (($protocol == Protocol::OSTATUS) && DI::config()->get('system', 'ostatus_disabled')) {
- notice(DI::l10n()->t("OStatus support is disabled. Contact can't be added."));
+ DI::sysmsg()->addNotice(DI::l10n()->t("OStatus support is disabled. Contact can't be added."));
$submit = '';
}
$owner = User::getOwnerDataById($uid);
if (empty($owner)) {
- notice(DI::l10n()->t('Permission denied.'));
+ DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.'));
DI::baseUrl()->redirect($return_path);
// NOTREACHED
}
DI::page()['aside'] = '';
- if ($protocol != Protocol::PHANTOM) {
- DI::page()['aside'] = Widget\VCard::getHTML(Contact::getByURL($contact['url'], false));
+ if (!in_array($protocol, [Protocol::PHANTOM, Protocol::MAIL])) {
+ DI::page()['aside'] = Widget\VCard::getHTML($contact);
$o .= Renderer::replaceMacros(Renderer::getMarkupTemplate('section_title.tpl'),
['$title' => DI::l10n()->t('Status Messages and Posts')]
follow_remote_item($url);
if ($result['message']) {
- notice($result['message']);
+ DI::sysmsg()->addNotice($result['message']);
}
DI::baseUrl()->redirect($return_path);
} elseif ($result['cid']) {
DI::baseUrl()->redirect('contact/' . $result['cid']);
}
- notice(DI::l10n()->t('The contact could not be added.'));
+ DI::sysmsg()->addNotice(DI::l10n()->t('The contact could not be added.'));
DI::baseUrl()->redirect($return_path);
}
function follow_remote_item($url)
{
- $item_id = Item::fetchByLink($url, local_user());
+ $item_id = Item::fetchByLink($url, DI::userSession()->getLocalUserId());
if (!$item_id) {
// If the user-specific search failed, we search and probe a public post
$item_id = Item::fetchByLink($url);