}
}
+ if (empty($notification_type)) {
+ return;
+ }
+
// Only create notifications for posts and comments, not for activities
- if (empty($notification_type) || !in_array($item['gravity'], [GRAVITY_PARENT, GRAVITY_COMMENT])) {
+ if (($item['gravity'] == GRAVITY_ACTIVITY) && ($item['verb'] != Activity::ANNOUNCE)) {
return;
}
*/
private static function insertNotificationByItem(int $type, int $uid, array $item): void
{
- if (($item['gravity'] == GRAVITY_ACTIVITY) &&
+ if (($item['verb'] != Activity::ANNOUNCE) && ($item['gravity'] == GRAVITY_ACTIVITY) &&
!in_array($type, [self::TYPE_DIRECT_COMMENT, self::TYPE_DIRECT_THREAD_COMMENT])) {
// Activities are only stored when performed on the user's post or comment
return;
$title = '';
}
+ $this->logger->debug('Got verb and type', ['verb' => $Notification->verb, 'type' => $Notification->type]);
+
switch ($Notification->verb) {
case Activity::LIKE:
switch ($Notification->type) {
case Post\UserNotification::TYPE_DIRECT_THREAD_COMMENT:
$msg = $userL10n->t('%1$s shared your post %2$s');
break;
+ case Post\UserNotification::TYPE_SHARED:
+ if (($causer['id'] != $author['id']) && ($title != '')) {
+ $msg = $userL10n->t('%1$s shared the post %2$s from %3$s');
+ } elseif ($causer['id'] != $author['id']) {
+ $msg = $userL10n->t('%1$s shared a post from %3$s');
+ } elseif ($title != '') {
+ $msg = $userL10n->t('%1$s shared the post %2$s');
+ } else {
+ $msg = $userL10n->t('%1$s shared a post');
+ }
+ break;
}
break;
case Activity::POST: