diff --git a/lib/Db/StreamActionsRequest.php b/lib/Db/StreamActionsRequest.php index 5242b98d..99cf906d 100644 --- a/lib/Db/StreamActionsRequest.php +++ b/lib/Db/StreamActionsRequest.php @@ -52,6 +52,10 @@ class StreamActionsRequest extends StreamActionsRequestBuilder { $qb = $this->getStreamActionInsertSql(); $values = $action->getValues(); + $liked = $this->getBool(StreamAction::LIKED, $values, false); + $boosted = $this->getBool(StreamAction::BOOSTED, $values, false); + $replied = $this->getBool(StreamAction::REPLIED, $values, false); + $qb->setValue('actor_id', $qb->createNamedParameter($action->getActorId())) ->setValue('actor_id_prim', $qb->createNamedParameter($this->prim($action->getActorId()))) ->setValue('stream_id', $qb->createNamedParameter($action->getStreamId())) @@ -61,13 +65,9 @@ class StreamActionsRequest extends StreamActionsRequestBuilder { json_encode($values, JSON_UNESCAPED_SLASHES) ) ) - ->setValue('liked', $qb->createNamedParameter($this->getBool(StreamAction::LIKED, $values, false))) - ->setValue( - 'boosted', $qb->createNamedParameter($this->getBool(StreamAction::BOOSTED, $values, false)) - ) - ->setValue( - 'replied', $qb->createNamedParameter($this->getBool(StreamAction::REPLIED, $values, false)) - ); + ->setValue('liked', $qb->createNamedParameter(($liked) ? 1 : 0)) + ->setValue('boosted', $qb->createNamedParameter(($boosted) ? 1 : 0)) + ->setValue('replied', $qb->createNamedParameter(($replied) ? 1 : 0)); $qb->execute(); } @@ -84,10 +84,14 @@ class StreamActionsRequest extends StreamActionsRequestBuilder { $qb = $this->getStreamActionUpdateSql(); $values = $action->getValues(); + $liked = $this->getBool(StreamAction::LIKED, $values, false); + $boosted = $this->getBool(StreamAction::BOOSTED, $values, false); + $replied = $this->getBool(StreamAction::REPLIED, $values, false); + $qb->set('values', $qb->createNamedParameter(json_encode($values, JSON_UNESCAPED_SLASHES))) - ->set('liked', $qb->createNamedParameter($this->getBool(StreamAction::LIKED, $values, false))) - ->set('boosted', $qb->createNamedParameter($this->getBool(StreamAction::BOOSTED, $values, false))) - ->set('replied', $qb->createNamedParameter($this->getBool(StreamAction::REPLIED, $values, false))); + ->set('liked', $qb->createNamedParameter(($liked) ? 1 : 0)) + ->set('boosted', $qb->createNamedParameter(($boosted) ? 1 : 0)) + ->set('replied', $qb->createNamedParameter(($replied) ? 1 : 0)); $this->limitToActorId($qb, $action->getActorId()); $this->limitToStreamId($qb, $action->getStreamId()); diff --git a/lib/Migration/Version0002Date20190925000001.php b/lib/Migration/Version0002Date20190925000001.php index 606bf810..50ea07bf 100644 --- a/lib/Migration/Version0002Date20190925000001.php +++ b/lib/Migration/Version0002Date20190925000001.php @@ -146,9 +146,9 @@ class Version0002Date20190925000001 extends SimpleMigrationStep { $streamId = $data['stream_id']; $values = json_decode($data['values'], true); - $liked = (int)((array_key_exists('liked', $values)) ? $values['liked'] : 0); - $boosted = (int)((array_key_exists('boosted', $values)) ? $values['boosted'] : 0); - $replied = (int)((array_key_exists('replied', $values)) ? $values['replied'] : 0); + $liked = (array_key_exists('liked', $values) && ($values['liked'])) ? 1 : 0; + $boosted = (array_key_exists('boosted', $values) && $values['boosted']) ? 1 : 0; + $replied = (array_key_exists('replied', $values) && $values['replied']) ? 1 : 0; $update->set('actor_id_prim', $update->createNamedParameter(hash('sha512', $actorId))); $update->set('stream_id_prim', $update->createNamedParameter(hash('sha512', $streamId)));