Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/jsxc.nextcloud.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'build/lib/db/presencemapper.php')
-rw-r--r--build/lib/db/presencemapper.php10
1 files changed, 6 insertions, 4 deletions
diff --git a/build/lib/db/presencemapper.php b/build/lib/db/presencemapper.php
index f34bf92..adc4831 100644
--- a/build/lib/db/presencemapper.php
+++ b/build/lib/db/presencemapper.php
@@ -109,8 +109,8 @@ class PresenceMapper extends Mapper
$stmt = $this->execute("SELECT * FROM `*PREFIX*ojsxc_presence` WHERE `userid` != ?", [$this->userId]);
$results = [];
while ($row = $stmt->fetch()) {
- $row['from'] = $row['userid'] . '@' . $this->host . '/internal';
- $row['to'] = $this->userId . '@' . $this->host . '/internal';
+ $row['from'] = [$row['userid'], $this->host . '/internal'];
+ $row['to'] = [$this->userId, $this->host . '/internal'];
$results[] = $this->mapRowToEntity($row);
}
$stmt->closeCursor();
@@ -196,11 +196,13 @@ class PresenceMapper extends Mapper
$presenceToSend->setPresence('unavailable');
$presenceToSend->setFrom($inactiveUser);
foreach ($onlineUsers as $user) {
+ // send to every online user (except the user who initiated the update)
$presenceToSend->setTo($user);
$this->messageMapper->insert($presenceToSend);
}
- $presenceToSend->setTo($this->userId . '@' . $this->host . '/internal');
- $presenceToSend->setFrom($inactiveUser . '@' . $this->host . '/internal');
+ // and now send it to the user who initiated the update
+ $presenceToSend->setTo($this->userId, $this->host . '/internal');
+ $presenceToSend->setFrom($inactiveUser, $this->host . '/internal');
$this->newContentContainer->addStanza($presenceToSend);
}
}