X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fping.php;h=c76780f69744c7cf11c0f0eaff2ea7a65fe0ed05;hb=4d5e15709c7c83aac7463e1f9467c7e0bd121f9f;hp=2783b83ddba63bd84843b5383c7596e6e0f2608f;hpb=5abc22f6c536b4fea7a5becd53561959ba0e7512;p=friendica.git diff --git a/mod/ping.php b/mod/ping.php index 2783b83ddb..c76780f697 100644 --- a/mod/ping.php +++ b/mod/ping.php @@ -4,16 +4,15 @@ */ use Friendica\App; -use Friendica\Content\Feature; use Friendica\Content\ForumManager; use Friendica\Content\Text\BBCode; -use Friendica\Core\Addon; use Friendica\Core\Cache; use Friendica\Core\Config; +use Friendica\Core\Hook; use Friendica\Core\L10n; use Friendica\Core\PConfig; -use Friendica\Core\System; use Friendica\Database\DBA; +use Friendica\DI; use Friendica\Model\Contact; use Friendica\Model\Group; use Friendica\Model\Item; @@ -31,30 +30,31 @@ use Friendica\Util\XML; * * Expected JSON structure: * { - * "result": { - * "intro": 0, - * "mail": 0, - * "net": 0, - * "home": 0, - * "register": 0, - * "all-events": 0, - * "all-events-today": 0, - * "events": 0, - * "events-today": 0, - * "birthdays": 0, - * "birthdays-today": 0, - * "groups": [ ], - * "forums": [ ], - * "notify": 0, - * "notifications": [ ], - * "sysmsgs": { - * "notice": [ ], - * "info": [ ] - * } - * } - * } + * "result": { + * "intro": 0, + * "mail": 0, + * "net": 0, + * "home": 0, + * "register": 0, + * "all-events": 0, + * "all-events-today": 0, + * "events": 0, + * "events-today": 0, + * "birthdays": 0, + * "birthdays-today": 0, + * "groups": [ ], + * "forums": [ ], + * "notify": 0, + * "notifications": [ ], + * "sysmsgs": { + * "notice": [ ], + * "info": [ ] + * } + * } + * } * * @param App $a The Friendica App instance + * @throws \Friendica\Network\HTTPException\InternalServerErrorException */ function ping_init(App $a) { @@ -115,7 +115,7 @@ function ping_init(App $a) header("Content-type: text/xml"); echo XML::fromArray($data, $xml); } - killme(); + exit(); } $notifs = ping_get_notifications(local_user()); @@ -123,13 +123,13 @@ function ping_init(App $a) $condition = ["`unseen` AND `uid` = ? AND `contact-id` != ?", local_user(), local_user()]; $fields = ['id', 'parent', 'verb', 'author-name', 'unseen', 'author-link', 'author-avatar', 'contact-avatar', 'network', 'created', 'object', 'parent-author-name', 'parent-author-link', 'parent-guid', 'wall']; - $params = ['order' => ['created' => true]]; + $params = ['order' => ['received' => true]]; $items = Item::selectForUser(local_user(), $fields, $condition, $params); if (DBA::isResult($items)) { $items_unseen = Item::inArray($items); $arr = ['items' => $items_unseen]; - Addon::callHooks('network_ping', $arr); + Hook::callAll('network_ping', $arr); foreach ($items_unseen as $item) { if ($item['wall']) { @@ -179,7 +179,7 @@ function ping_init(App $a) $intro_count = count($intros1) + count($intros2); $intros = $intros1 + $intros2; - $myurl = System::baseUrl() . '/profile/' . $a->user['nickname']; + $myurl = DI::baseUrl() . '/profile/' . $a->user['nickname']; $mails = q( "SELECT `id`, `from-name`, `from-url`, `from-photo`, `created` FROM `mail` WHERE `uid` = %d AND `seen` = 0 AND `from-url` != '%s' ", @@ -188,7 +188,7 @@ function ping_init(App $a) ); $mail_count = count($mails); - if (intval(Config::get('config', 'register_policy')) === REGISTER_APPROVE && is_site_admin()) { + if (intval(Config::get('config', 'register_policy')) === \Friendica\Module\Register::APPROVE && is_site_admin()) { $regs = Friendica\Model\Register::getPending(); if (DBA::isResult($regs)) { @@ -263,7 +263,7 @@ function ping_init(App $a) foreach ($intros as $intro) { $notif = [ 'id' => 0, - 'href' => System::baseUrl() . '/notifications/intros/' . $intro['id'], + 'href' => DI::baseUrl() . '/notifications/intros/' . $intro['id'], 'name' => $intro['name'], 'url' => $intro['url'], 'photo' => $intro['photo'], @@ -275,27 +275,11 @@ function ping_init(App $a) } } - if (DBA::isResult($mails)) { - foreach ($mails as $mail) { - $notif = [ - 'id' => 0, - 'href' => System::baseUrl() . '/message/' . $mail['id'], - 'name' => $mail['from-name'], - 'url' => $mail['from-url'], - 'photo' => $mail['from-photo'], - 'date' => $mail['created'], - 'seen' => false, - 'message' => L10n::t('{0} sent you a message'), - ]; - $notifs[] = $notif; - } - } - if (DBA::isResult($regs)) { foreach ($regs as $reg) { $notif = [ 'id' => 0, - 'href' => System::baseUrl() . '/admin/users/', + 'href' => DI::baseUrl() . '/admin/users/', 'name' => $reg['name'], 'url' => $reg['url'], 'photo' => $reg['micro'], @@ -329,14 +313,7 @@ function ping_init(App $a) usort($notifs, $sort_function); if (DBA::isResult($notifs)) { - // Are the nofications called from the regular process or via the friendica app? - $regularnotifications = (!empty($_GET['uid']) && !empty($_GET['_'])); - foreach ($notifs as $notif) { - if ($a->isFriendicaApp() || !$regularnotifications) { - $notif['message'] = str_replace("{0}", $notif['name'], $notif['message']); - } - $contact = Contact::getDetailsByURL($notif['url']); if (isset($contact['micro'])) { $notif['photo'] = ProxyUtils::proxifyUrl($contact['micro'], false, ProxyUtils::SIZE_MICRO); @@ -377,7 +354,7 @@ function ping_init(App $a) if ($format == 'json') { $data['groups'] = $groups_unseen; $data['forums'] = $forums_unseen; - $data['notify'] = $sysnotify_count + $intro_count + $mail_count + $register_count; + $data['notify'] = $sysnotify_count + $intro_count + $register_count; $data['notifications'] = $notifications; $data['sysmsgs'] = [ 'notice' => $sysmsgs, @@ -402,7 +379,7 @@ function ping_init(App $a) echo XML::fromArray(["result" => $data], $xml); } - killme(); + exit(); } /** @@ -410,6 +387,7 @@ function ping_init(App $a) * * @param int $uid User id * @return array Associative array of notifications + * @throws \Friendica\Network\HTTPException\InternalServerErrorException */ function ping_get_notifications($uid) { @@ -468,7 +446,7 @@ function ping_get_notifications($uid) ); } - $notification["href"] = System::baseUrl() . "/notify/view/" . $notification["id"]; + $notification["href"] = DI::baseUrl() . "/notify/view/" . $notification["id"]; if ($notification["visible"] && !$notification["deleted"] @@ -496,8 +474,8 @@ function ping_get_notifications($uid) * @param array $notifs Complete list of notification * @param array $sysmsgs List of system notice messages * @param array $sysmsgs_info List of system info messages - * @param array $groups_unseen List of unseen group messages - * @param array $forums_unseen List of unseen forum messages + * @param array $groups_unseen List of unseen group items + * @param array $forums_unseen List of unseen forum items * * @return array XML-transform ready data array */