diff --git a/lib/kolab_sync_backend_state.php b/lib/kolab_sync_backend_state.php --- a/lib/kolab_sync_backend_state.php +++ b/lib/kolab_sync_backend_state.php @@ -72,7 +72,7 @@ $data = parent::object_to_array($object); if (is_array($object->pendingdata)) { - $data['pendingdata'] = json_encode($object->pendingdata); + $data['pendingdata'] = gzdeflate(json_encode($object->pendingdata)); } return $data; @@ -86,7 +86,10 @@ $object = parent::get_object($data); if ($object->pendingdata) { - $object->pendingdata = json_decode($object->pendingdata, true); + $inflated = gzinflate($object->pendingdata); + // Inflation may fail for backward compatiblity + $data = $inflated ? $inflated : $object->pendingdata; + $object->pendingdata = json_decode($data, true); } return $object;