mirror of
https://github.com/friendica/friendica
synced 2024-11-10 07:42:53 +00:00
Improvements:
- Fix API-select - Introduce OTYPE-constants - Rename `IntroductionFactory` methods
This commit is contained in:
parent
74f3a2f90c
commit
b85511b00d
5 changed files with 14 additions and 8 deletions
|
@ -23,6 +23,7 @@ use Friendica\Model\Contact;
|
||||||
use Friendica\Model\Group;
|
use Friendica\Model\Group;
|
||||||
use Friendica\Model\Item;
|
use Friendica\Model\Item;
|
||||||
use Friendica\Model\Mail;
|
use Friendica\Model\Mail;
|
||||||
|
use Friendica\Model\Notification;
|
||||||
use Friendica\Model\Photo;
|
use Friendica\Model\Photo;
|
||||||
use Friendica\Model\Profile;
|
use Friendica\Model\Profile;
|
||||||
use Friendica\Model\User;
|
use Friendica\Model\User;
|
||||||
|
@ -5906,7 +5907,7 @@ function api_friendica_notification($type)
|
||||||
throw new BadRequestException("Invalid argument count");
|
throw new BadRequestException("Invalid argument count");
|
||||||
}
|
}
|
||||||
|
|
||||||
$notifications = DI::notification()->select([], ['order' => ['seen' => 'ASC', 'date' => 'DESC'], 'limit' => 50]);
|
$notifications = DI::notification()->select(['uid' => api_user()], ['order' => ['seen' => 'ASC', 'date' => 'DESC'], 'limit' => 50]);
|
||||||
|
|
||||||
if ($type == "xml") {
|
if ($type == "xml") {
|
||||||
$xmlnotes = false;
|
$xmlnotes = false;
|
||||||
|
@ -5957,8 +5958,7 @@ function api_friendica_notification_seen($type)
|
||||||
$notification = DI::notification()->getByID($id);
|
$notification = DI::notification()->getByID($id);
|
||||||
$notification->setSeen();
|
$notification->setSeen();
|
||||||
|
|
||||||
if ($notification->otype == 'item') {
|
if ($notification->otype === Notification::OTYPE_ITEM) {
|
||||||
// would be really better with an ItemsManager and $im->getByID() :-P
|
|
||||||
$item = Item::selectFirstForUser(api_user(), [], ['id' => $notification->iid, 'uid' => api_user()]);
|
$item = Item::selectFirstForUser(api_user(), [], ['id' => $notification->iid, 'uid' => api_user()]);
|
||||||
if (DBA::isResult($item)) {
|
if (DBA::isResult($item)) {
|
||||||
// we found the item, return it to the user
|
// we found the item, return it to the user
|
||||||
|
|
|
@ -12,6 +12,7 @@ use Friendica\Database\DBA;
|
||||||
use Friendica\DI;
|
use Friendica\DI;
|
||||||
use Friendica\Model\Item;
|
use Friendica\Model\Item;
|
||||||
use Friendica\Model\ItemContent;
|
use Friendica\Model\ItemContent;
|
||||||
|
use Friendica\Model\Notification;
|
||||||
use Friendica\Model\User;
|
use Friendica\Model\User;
|
||||||
use Friendica\Model\UserItem;
|
use Friendica\Model\UserItem;
|
||||||
use Friendica\Protocol\Activity;
|
use Friendica\Protocol\Activity;
|
||||||
|
@ -160,7 +161,7 @@ function notification($params)
|
||||||
|
|
||||||
// if it's a post figure out who's post it is.
|
// if it's a post figure out who's post it is.
|
||||||
$item = null;
|
$item = null;
|
||||||
if ($params['otype'] === 'item' && $parent_id) {
|
if ($params['otype'] === Notification::OTYPE_ITEM && $parent_id) {
|
||||||
$item = Item::selectFirstForUser($params['uid'], Item::ITEM_FIELDLIST, ['id' => $parent_id, 'deleted' => false]);
|
$item = Item::selectFirstForUser($params['uid'], Item::ITEM_FIELDLIST, ['id' => $parent_id, 'deleted' => false]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -63,7 +63,7 @@ class IntroductionFactory extends BaseFactory
|
||||||
*
|
*
|
||||||
* @return Introduction[]
|
* @return Introduction[]
|
||||||
*/
|
*/
|
||||||
public function getIntroList(bool $all = false, int $start = 0, int $limit = BaseNotifications::DEFAULT_PAGE_LIMIT, int $id = 0)
|
public function getList(bool $all = false, int $start = 0, int $limit = BaseNotifications::DEFAULT_PAGE_LIMIT, int $id = 0)
|
||||||
{
|
{
|
||||||
$sql_extra = "";
|
$sql_extra = "";
|
||||||
|
|
||||||
|
@ -128,7 +128,7 @@ class IntroductionFactory extends BaseFactory
|
||||||
|
|
||||||
// Normal connection requests
|
// Normal connection requests
|
||||||
} else {
|
} else {
|
||||||
$notification = $this->getMissingIntroData($notification);
|
$notification = $this->getMissingData($notification);
|
||||||
|
|
||||||
if (empty($notification['url'])) {
|
if (empty($notification['url'])) {
|
||||||
continue;
|
continue;
|
||||||
|
@ -182,7 +182,7 @@ class IntroductionFactory extends BaseFactory
|
||||||
*
|
*
|
||||||
* @throws InternalServerErrorException
|
* @throws InternalServerErrorException
|
||||||
*/
|
*/
|
||||||
private function getMissingIntroData(array $intro)
|
private function getMissingData(array $intro)
|
||||||
{
|
{
|
||||||
// If the network and the addr isn't available from the gcontact
|
// If the network and the addr isn't available from the gcontact
|
||||||
// table entry, take the one of the contact table entry
|
// table entry, take the one of the contact table entry
|
||||||
|
|
|
@ -44,6 +44,11 @@ use Psr\Log\LoggerInterface;
|
||||||
*/
|
*/
|
||||||
class Notification extends BaseModel
|
class Notification extends BaseModel
|
||||||
{
|
{
|
||||||
|
const OTYPE_ITEM = 'item';
|
||||||
|
const OTYPE_INTRO = 'intro';
|
||||||
|
const OTYPE_MAIL = 'mail';
|
||||||
|
const OTYPE_PERSON = 'person';
|
||||||
|
|
||||||
/** @var \Friendica\Repository\Notification */
|
/** @var \Friendica\Repository\Notification */
|
||||||
private $repo;
|
private $repo;
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,7 @@ class Introductions extends BaseNotifications
|
||||||
|
|
||||||
$notifications = [
|
$notifications = [
|
||||||
'ident' => 'introductions',
|
'ident' => 'introductions',
|
||||||
'notifications' => DI::factNotIntro()->getIntroList($all, self::$firstItemNum, self::ITEMS_PER_PAGE, $id),
|
'notifications' => DI::factNotIntro()->getList($all, self::$firstItemNum, self::ITEMS_PER_PAGE, $id),
|
||||||
];
|
];
|
||||||
|
|
||||||
return [
|
return [
|
||||||
|
|
Loading…
Reference in a new issue