From cb5bb693ded2c6c003d2cfb5e89c336a27c6f1fe Mon Sep 17 00:00:00 2001
From: Christoph Wurst <christoph@winzerhof-wurst.at>
Date: Fri, 13 Nov 2020 09:10:35 +0100
Subject: [PATCH] Convert the card resource to a string if necessary

Apparently the fetched column can be a string or resource. Hence we have
to catch the resource type and convert it to a string.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
---
 apps/contactsinteraction/lib/Db/CardSearchDao.php | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/apps/contactsinteraction/lib/Db/CardSearchDao.php b/apps/contactsinteraction/lib/Db/CardSearchDao.php
index 391dca60fab..0636829272b 100644
--- a/apps/contactsinteraction/lib/Db/CardSearchDao.php
+++ b/apps/contactsinteraction/lib/Db/CardSearchDao.php
@@ -28,6 +28,8 @@ namespace OCA\ContactsInteraction\Db;
 use OCP\DB\QueryBuilder\IQueryBuilder;
 use OCP\IDBConnection;
 use OCP\IUser;
+use function is_resource;
+use function stream_get_contents;
 
 class CardSearchDao {
 
@@ -79,12 +81,15 @@ class CardSearchDao {
 			->andWhere($cardQuery->expr()->in('addressbookid', $cardQuery->createFunction($addressbooksQuery->getSQL()), IQueryBuilder::PARAM_INT_ARRAY))
 			->setMaxResults(1);
 		$result = $cardQuery->execute();
-		/** @var string|false $card */
+		/** @var string|resource|false $card */
 		$card = $result->fetchColumn(0);
 
 		if ($card === false) {
 			return null;
 		}
+		if (is_resource($card)) {
+			return stream_get_contents($card);
+		}
 
 		return $card;
 	}
-- 
GitLab