correct notice redirect

This commit is contained in:
Philipp Holzer 2019-05-18 20:37:37 +02:00
parent ce3b121064
commit d81c1d81b3
No known key found for this signature in database
GPG Key ID: D8365C3D36B77D90
2 changed files with 5 additions and 39 deletions

View File

@ -1,36 +0,0 @@
<?php
namespace Friendica\Model;
use Exception;
use Friendica\Database\DBA;
/**
* Model for user specific operations of items
*/
class ItemUser
{
/**
* Returns fields of the user for an item
*
* @param int $id The item id
* @param array $fields The fields, which should get returned
*
* @return array|bool
* @throws Exception In case of a DB-failure
*/
public static function getUserForItemId($id, array $fields = [])
{
$item = DBA::selectFirst('item', ['uid'], ['id' => $id]);
if (empty($item)) {
return false;
}
$user = DBA::selectFirst('user', $fields, ['uid' => $item['uid']]);
if (!empty($user)) {
return $user;
} else {
return false;
}
}
}

View File

@ -4,6 +4,8 @@ namespace Friendica\Module\GnuSocial;
use Friendica\BaseModule;
use Friendica\Core\L10n;
use Friendica\Database\DBA;
use Friendica\Model\Item;
use Friendica\Model\ItemUser;
use Friendica\Network\HTTPException;
@ -23,12 +25,12 @@ class Notice extends BaseModule
throw new HTTPException\NotFoundException(L10n::t('Item not found.'));
}
$user = ItemUser::getUserForItemId($id, ['nickname']);
$item = DBA::selectFirst('item', ['guid'], ['id' => $id]);
if (empty($user)) {
if (empty($item )) {
throw new HTTPException\NotFoundException(L10n::t('Item not found.'));
} else {
$a->internalRedirect('display/' . $user['nickname'] . '/' . $id);
$a->internalRedirect('display/' . $item['guid']);
}
}
}