aboutsummaryrefslogtreecommitdiffhomepage
path: root/Digitigrade/Model/Actor.php
diff options
context:
space:
mode:
Diffstat (limited to 'Digitigrade/Model/Actor.php')
-rw-r--r--Digitigrade/Model/Actor.php15
1 files changed, 8 insertions, 7 deletions
diff --git a/Digitigrade/Model/Actor.php b/Digitigrade/Model/Actor.php
index 18aba15..d7fde42 100644
--- a/Digitigrade/Model/Actor.php
+++ b/Digitigrade/Model/Actor.php
@@ -193,12 +193,12 @@ class Actor extends PushableModel implements RpcReceiver {
return;
case 'poke':
- $obj = json_decode($args[1] ?? '');
+ parse_str($args[1], $params);
(new PokeNotif(
$args[0],
- PokeVerb::tryFrom($obj?->verb ?? '') ?? PokeVerb::POKE,
+ PokeVerb::tryFrom($params['verb'] ?? '') ?? PokeVerb::POKE,
$this,
- $obj?->urgent ?? false
+ isset($params['urgent'])
))->processNotifications();
return;
@@ -348,10 +348,11 @@ class Actor extends PushableModel implements RpcReceiver {
}
public function poke(self $target, PokeVerb $verb = PokeVerb::POKE, bool $urgent = false) {
- $target->rpcCall('poke', [$this, json_encode([
- 'verb' => $verb->value,
- 'urgent' => $urgent
- ])], $target->getPokeEndpoint());
+ $params = ['verb' => $verb->value];
+ if ($urgent) {
+ $params['urgent'] = '1';
+ }
+ $target->rpcCall('poke', [$this, http_build_query($params)], $target->getPokeEndpoint());
}
public function isPokeable(): bool {