Browse Source

Add UID as parameter for notify repository call

pull/8350/head
nupplaPhil 2 years ago
parent
commit
55a5e43715
No known key found for this signature in database GPG Key ID: D8365C3D36B77D90
  1. 4
      include/api.php
  2. 2
      src/Module/Notifications/Notification.php
  3. 11
      src/Repository/Notify.php

4
include/api.php

@ -25,7 +25,6 @@
use Friendica\App;
use Friendica\Content\ContactSelector;
use Friendica\Content\Feature;
use Friendica\Content\Text\BBCode;
use Friendica\Content\Text\HTML;
use Friendica\Core\Hook;
@ -42,7 +41,6 @@ use Friendica\Model\Item;
use Friendica\Model\Mail;
use Friendica\Model\Notify;
use Friendica\Model\Photo;
use Friendica\Model\Profile;
use Friendica\Model\User;
use Friendica\Model\UserItem;
use Friendica\Network\FKOAuth1;
@ -5920,7 +5918,7 @@ function api_friendica_notification_seen($type)
$id = (!empty($_REQUEST['id']) ? intval($_REQUEST['id']) : 0);
try {
$notify = DI::notify()->getByID($id);
$notify = DI::notify()->getByID($id, api_user());
DI::notify()->setSeen(true, $notify);
if ($notify->otype === Notify\ObjectType::ITEM) {

2
src/Module/Notifications/Notification.php

@ -107,7 +107,7 @@ class Notification extends BaseModule
$request_id = $parameters['id'] ?? false;
if ($request_id) {
$notify = DI::notify()->getByID($request_id);
$notify = DI::notify()->getByID($request_id, local_user());
DI::notify()->setSeen(true, $notify);
if (!empty($notify->link)) {

11
src/Repository/Notify.php

@ -23,9 +23,9 @@ namespace Friendica\Repository;
use Exception;
use Friendica\BaseRepository;
use Friendica\Collection;
use Friendica\Core\Hook;
use Friendica\Model;
use Friendica\Collection;
use Friendica\Network\HTTPException\InternalServerErrorException;
use Friendica\Network\HTTPException\NotFoundException;
use Friendica\Util\DateTimeFormat;
@ -61,14 +61,17 @@ class Notify extends BaseRepository
}
/**
* {@inheritDoc}
* Return one notify instance based on ID / UID
*
* @param int $id The ID of the notify instance
* @param int $uid The user ID, bound to this notify instance (= security check)
*
* @return Model\Notify
* @throws NotFoundException
*/
public function getByID(int $id)
public function getByID(int $id, int $uid)
{
return $this->selectFirst(['id' => $id, 'uid' => local_user()]);
return $this->selectFirst(['id' => $id, 'uid' => $uid]);
}
/**

Loading…
Cancel
Save