diff --git a/mod/notice.php b/mod/notice.php deleted file mode 100644 index b0a6a54391..0000000000 --- a/mod/notice.php +++ /dev/null @@ -1,23 +0,0 @@ - friendica items permanent-url compatibility - */ - -use Friendica\App; -use Friendica\Core\L10n; -use Friendica\Database\DBA; - -function notice_init(App $a) -{ - $id = $a->argv[1]; - $r = q("SELECT `user`.`nickname` FROM `user` LEFT JOIN `item` ON `item`.`uid` = `user`.`uid` WHERE `item`.`id` = %d", intval($id)); - if (DBA::isResult($r)) { - $nick = $r[0]['nickname']; - $a->internalRedirect('display/' . $nick . '/' . $id); - } else { - throw new \Friendica\Network\HTTPException\NotFoundException(L10n::t('Item not found.')); - } - - return; -} diff --git a/src/App/Router.php b/src/App/Router.php index 29d10bf4fc..373bb1c32e 100644 --- a/src/App/Router.php +++ b/src/App/Router.php @@ -169,6 +169,7 @@ class Router $collector->addRoute(['GET'], '/view/{id:\d+}', Module\Notifications\Notify::class); $collector->addRoute(['GET'], '/mark/all', Module\Notifications\Notify::class); }); + $this->routeCollector->addRoute(['GET'], '/notice/{id:\d+}', Module\GnuSocial\Notice::class); $this->routeCollector->addRoute(['GET'], '/objects/{guid}', Module\Objects::class); $this->routeCollector->addGroup('/oembed', function (RouteCollector $collector) { $collector->addRoute(['GET'], '/b2h', Module\Oembed::class); diff --git a/src/Module/GnuSocial/Notice.php b/src/Module/GnuSocial/Notice.php new file mode 100644 index 0000000000..88598ff2a4 --- /dev/null +++ b/src/Module/GnuSocial/Notice.php @@ -0,0 +1,34 @@ + friendica items permanent-url compatibility + */ +class Notice extends BaseModule +{ + public static function content() + { + $a = self::getApp(); + + // @TODO: Replace with parameter from router + $id = ($a->argc > 1) ? $a->argv[1] : 0; + + if (empty($id)) { + throw new HTTPException\NotFoundException(L10n::t('Item not found.')); + } + + $item = DBA::selectFirst('item', ['guid'], ['id' => $id]); + + if (empty($item )) { + throw new HTTPException\NotFoundException(L10n::t('Item not found.')); + } else { + $a->internalRedirect('display/' . $item['guid']); + } + } +}