<?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
*
use Friendica\App;
use Friendica\Core\Logger;
use Friendica\Core\Protocol;
+use Friendica\Core\System;
use Friendica\Database\DBA;
use Friendica\DI;
use Friendica\Model\Contact;
} else {
throw new \Friendica\Network\HTTPException\NotFoundException();
}
- exit();
+ System::exit();
}
// when receiving an XML feed, always return OK
function pubsub_init(App $a)
{
- $nick = ((DI::args()->getArgc() > 1) ? Strings::escapeTags(trim(DI::args()->getArgv()[1])) : '');
- $contact_id = ((DI::args()->getArgc() > 2) ? intval(DI::args()->getArgv()[2]) : 0 );
+ $nick = ((DI::args()->getArgc() > 1) ? trim(DI::args()->getArgv()[1]) : '');
+ $contact_id = ((DI::args()->getArgc() > 2) ? intval(DI::args()->getArgv()[2]) : 0 );
- if ($_SERVER['REQUEST_METHOD'] === 'GET') {
- $hub_mode = Strings::escapeTags(trim($_GET['hub_mode'] ?? ''));
- $hub_topic = Strings::escapeTags(trim($_GET['hub_topic'] ?? ''));
- $hub_challenge = Strings::escapeTags(trim($_GET['hub_challenge'] ?? ''));
- $hub_verify = Strings::escapeTags(trim($_GET['hub_verify_token'] ?? ''));
+ if (DI::args()->getMethod() === App\Router::GET) {
+ $hub_mode = trim($_GET['hub_mode'] ?? '');
+ $hub_topic = trim($_GET['hub_topic'] ?? '');
+ $hub_challenge = trim($_GET['hub_challenge'] ?? '');
+ $hub_verify = trim($_GET['hub_verify_token'] ?? '');
Logger::notice('Subscription from ' . $_SERVER['REMOTE_ADDR'] . ' Mode: ' . $hub_mode . ' Nick: ' . $nick);
Logger::debug('Data: ', ['get' => $_GET]);
Logger::info('Feed arrived from ' . $_SERVER['REMOTE_ADDR'] . ' for ' . DI::args()->getCommand() . ' with user-agent: ' . $_SERVER['HTTP_USER_AGENT']);
Logger::debug('Data: ' . $xml);
- $nick = ((DI::args()->getArgc() > 1) ? Strings::escapeTags(trim(DI::args()->getArgv()[1])) : '');
- $contact_id = ((DI::args()->getArgc() > 2) ? intval(DI::args()->getArgv()[2]) : 0 );
+ $nick = ((DI::args()->getArgc() > 1) ? trim(DI::args()->getArgv()[1]) : '');
+ $contact_id = ((DI::args()->getArgc() > 2) ? intval(DI::args()->getArgv()[2]) : 0 );
$importer = DBA::selectFirst('user', [], ['nickname' => $nick, 'account_expired' => false, 'account_removed' => false]);
if (!DBA::isResult($importer)) {
}
// We only import feeds from OStatus here
- if ($contact['network'] != Protocol::OSTATUS) {
+ if (!in_array($contact['network'], [Protocol::ACTIVITYPUB, Protocol::OSTATUS])) {
Logger::warning('Unexpected network', ['contact' => $contact]);
hub_post_return();
}