X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FWorker%2FPubSubPublish.php;h=e84ac3152e36e8c5a5e3114885e2e42688e08dce;hb=34030a736d5e0aa2195c0f472cf69f863c161d83;hp=b90fc11a499810e71f22596932877f040d63a824;hpb=2fa6cc000013089d59d9cc221b544ed1a7a4cd37;p=friendica.git diff --git a/src/Worker/PubSubPublish.php b/src/Worker/PubSubPublish.php index b90fc11a49..e84ac3152e 100644 --- a/src/Worker/PubSubPublish.php +++ b/src/Worker/PubSubPublish.php @@ -1,19 +1,31 @@ . + * */ namespace Friendica\Worker; -use Friendica\App; -use Friendica\Core\System; -use Friendica\Database\DBM; -use Friendica\Protocol\OStatus; -use Friendica\Util\Network; +use Friendica\Core\Logger; +use Friendica\Database\DBA; +use Friendica\DI; use Friendica\Model\PushSubscriber; -use dba; - -require_once 'include/items.php'; +use Friendica\Protocol\OStatus; class PubSubPublish { @@ -28,17 +40,15 @@ class PubSubPublish private static function publish($id) { - $a = \Friendica\BaseObject::getApp(); - - $subscriber = dba::selectFirst('push_subscriber', [], ['id' => $id]); - if (!DBM::is_result($subscriber)) { + $subscriber = DBA::selectFirst('push_subscriber', [], ['id' => $id]); + if (!DBA::isResult($subscriber)) { return; } - /// @todo Check server status with PortableContact::checkServer() + /// @todo Check server status with GServer::check() // Before this can be done we need a way to safely detect the server url. - logger("Generate feed of user " . $subscriber['nickname']. " to " . $subscriber['callback_url']. " - last updated " . $subscriber['last_update'], LOGGER_DEBUG); + Logger::info("Generate feed of user " . $subscriber['nickname']. " to " . $subscriber['callback_url']. " - last updated " . $subscriber['last_update']); $last_update = $subscriber['last_update']; $params = OStatus::feed($subscriber['nickname'], $last_update); @@ -49,25 +59,24 @@ class PubSubPublish $hmac_sig = hash_hmac("sha1", $params, $subscriber['secret']); - $headers = ["Content-type: application/atom+xml", - sprintf("Link: <%s>;rel=hub,<%s>;rel=self", - System::baseUrl() . '/pubsubhubbub/' . $subscriber['nickname'], + $headers = [ + 'Content-type' => 'application/atom+xml', + 'Link' => sprintf("<%s>;rel=hub,<%s>;rel=self", + DI::baseUrl() . '/pubsubhubbub/' . $subscriber['nickname'], $subscriber['topic']), - "X-Hub-Signature: sha1=" . $hmac_sig]; - - logger('POST ' . print_r($headers, true) . "\n" . $params, LOGGER_DATA); + 'X-Hub-Signature' => 'sha1=' . $hmac_sig]; - Network::post($subscriber['callback_url'], $params, $headers); - $ret = $a->get_curl_code(); + Logger::debug('POST', ['headers' => $headers, 'params' => $params]); - $condition = ['id' => $subscriber['id']]; + $postResult = DI::httpClient()->post($subscriber['callback_url'], $params, $headers); + $ret = $postResult->getReturnCode(); if ($ret >= 200 && $ret <= 299) { - logger('Successfully pushed to ' . $subscriber['callback_url']); + Logger::info('Successfully pushed to ' . $subscriber['callback_url']); PushSubscriber::reset($subscriber['id'], $last_update); } else { - logger('Delivery error when pushing to ' . $subscriber['callback_url'] . ' HTTP: ' . $ret); + Logger::notice('Delivery error when pushing to ' . $subscriber['callback_url'] . ' HTTP: ' . $ret); PushSubscriber::delay($subscriber['id']); }