diff options
Diffstat (limited to 'Digitigrade/Model')
| -rw-r--r-- | Digitigrade/Model/Actor.php | 15 |
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 { |
