Object instead of Display

This commit is contained in:
Michael 2018-09-30 12:21:57 +00:00
parent e71f497295
commit cb44aa83c7
3 changed files with 43 additions and 10 deletions

View file

@ -215,10 +215,6 @@ if (strlen($a->module)) {
* First see if we have an addon which is masquerading as a module.
*/
if ($a->module == 'object') {
$a->module = 'display';
}
// Compatibility with the Android Diaspora client
if ($a->module == 'stream') {
goaway('network?f=&order=post');

View file

@ -78,13 +78,9 @@ function display_init(App $a)
}
if (ActivityPub::isRequest()) {
$wall_item = Item::selectFirst(['id', 'uid'], ['guid' => $item['guid'], 'wall' => true]);
if (DBA::isResult($wall_item)) {
$data = ActivityPub::createObjectFromItemID($wall_item['id']);
echo json_encode($data);
exit();
}
goaway(str_replace('display/', 'object/', $a->query_string));
}
if ($item["id"] != $item["parent"]) {
$item = Item::selectFirstForUser(local_user(), $fields, ['id' => $item["parent"]]);
}

41
src/Module/Object.php Normal file
View file

@ -0,0 +1,41 @@
<?php
/**
* @file src/Module/Object.php
*/
namespace Friendica\Module;
use Friendica\BaseModule;
use Friendica\Protocol\ActivityPub;
use Friendica\Core\System;
use Friendica\Model\Item;
use Friendica\Database\DBA;
/**
* ActivityPub Object
*/
class Object extends BaseModule
{
public static function init()
{
$a = self::getApp();
if (empty($a->argv[1])) {
System::httpExit(404);
}
if (!ActivityPub::isRequest()) {
goaway(str_replace('object/', 'display/', $a->query_string));
}
$item = Item::selectFirst(['id'], ['guid' => $a->argv[1], 'wall' => true, 'private' => false]);
if (!DBA::isResult($item)) {
System::httpExit(404);
}
$data = ActivityPub::createObjectFromItemID($item['id']);
header('Content-Type: application/activity+json');
echo json_encode($data);
exit();
}
}