-function check_user_notification($itemid) {
- // fetch all users with notifications
- $useritems = DBA::select('user-item', ['uid', 'notification-type'], ['iid' => $itemid]);
- while ($useritem = DBA::fetch($useritems)) {
- check_item_notification($itemid, $useritem['uid'], $useritem['notification-type']);
+function check_user_notification(int $uri_id, int $uid) {
+ $condition = ['uri-id' => $uri_id];
+
+ // fetch all users with notifications on public posts
+ if ($uid != 0) {
+ $condition['uid'] = $uid;
+ }
+
+ $usernotifications = DBA::select('post-user-notification', ['uri-id', 'uid', 'notification-type'], $condition);
+ while ($usernotification = DBA::fetch($usernotifications)) {
+ check_item_notification($usernotification['uri-id'], $usernotification['uid'], $usernotification['notification-type'], $uid);