From b684fffcb7c4715568cc8cbff929ec671edd4871 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Sat, 27 Jul 2019 23:51:04 -0400 Subject: [PATCH 1/4] Replace last instance of Contact::select --- include/api.php | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/include/api.php b/include/api.php index bb241039a..39a61c983 100644 --- a/include/api.php +++ b/include/api.php @@ -6223,13 +6223,10 @@ function api_friendica_profile_show($type) // select all users from contact table, loop and prepare standard return for user data $users = []; - $nurls = Contact::select(['id', 'nurl'], ['uid' => api_user(), 'profile-id' => $rr['id']]); - - if (DBA::isResult($nurls)) { - foreach ($nurls as $nurl) { - $user = api_get_user($a, $nurl['nurl']); - ($type == "xml") ? $users[$k++ . ":user"] = $user : $users[] = $user; - } + $nurls = Contact::selectToArray(['id', 'nurl'], ['uid' => api_user(), 'profile-id' => $rr['id']]); + foreach ($nurls as $nurl) { + $user = api_get_user($a, $nurl['nurl']); + ($type == "xml") ? $users[$k++ . ":user"] = $user : $users[] = $user; } $profile['users'] = $users; From a61ce4fed0eba0c1cee3b96e81be6fa89e96c9f9 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Sun, 28 Jul 2019 00:03:42 -0400 Subject: [PATCH 2/4] Ensure *toArray returns an array --- src/Database/Database.php | 4 +++- src/Model/Attach.php | 4 ++-- src/Model/Item.php | 10 ++-------- 3 files changed, 7 insertions(+), 11 deletions(-) diff --git a/src/Database/Database.php b/src/Database/Database.php index 501d65fe7..a2e31d89b 100644 --- a/src/Database/Database.php +++ b/src/Database/Database.php @@ -1512,16 +1512,18 @@ class Database public function toArray($stmt, $do_close = true) { if (is_bool($stmt)) { - return $stmt; + return []; } $data = []; while ($row = $this->fetch($stmt)) { $data[] = $row; } + if ($do_close) { $this->close($stmt); } + return $data; } diff --git a/src/Model/Attach.php b/src/Model/Attach.php index 758d3ae83..0073a6ed3 100644 --- a/src/Model/Attach.php +++ b/src/Model/Attach.php @@ -44,7 +44,7 @@ class Attach extends BaseObject * @param array $conditions Array of fields for conditions * @param array $params Array of several parameters * - * @return boolean|array + * @return array * * @throws \Exception * @see \Friendica\Database\DBA::selectToArray @@ -55,7 +55,7 @@ class Attach extends BaseObject $fields = self::getFields(); } - $r = DBA::selectToArray('attach', $fields, $conditions, $params); + return DBA::selectToArray('attach', $fields, $conditions, $params); } /** diff --git a/src/Model/Item.php b/src/Model/Item.php index c2bb6c892..c9d3e4269 100644 --- a/src/Model/Item.php +++ b/src/Model/Item.php @@ -383,16 +383,10 @@ class Item extends BaseObject $result = self::select($fields, $condition, $params); if (is_bool($result)) { - return $result; + return []; } - $data = []; - while ($row = self::fetch($result)) { - $data[] = $row; - } - DBA::close($result); - - return $data; + return DBA::toArray($result); } /** From 3334a3d497a6f409d690378448b51cbf207c08f5 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Sun, 28 Jul 2019 00:06:05 -0400 Subject: [PATCH 3/4] Fix indent in Model\Item --- src/Model/Item.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Model/Item.php b/src/Model/Item.php index c9d3e4269..67a6a2daa 100644 --- a/src/Model/Item.php +++ b/src/Model/Item.php @@ -386,7 +386,7 @@ class Item extends BaseObject return []; } - return DBA::toArray($result); + return DBA::toArray($result); } /** From 50f3098495b3858671489121f8ec4cb37a283f24 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Sun, 28 Jul 2019 00:12:49 -0400 Subject: [PATCH 4/4] Revert adding DBA::toArray to Item::selectToArray --- src/Model/Item.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/Model/Item.php b/src/Model/Item.php index 67a6a2daa..28f7b436d 100644 --- a/src/Model/Item.php +++ b/src/Model/Item.php @@ -386,7 +386,13 @@ class Item extends BaseObject return []; } - return DBA::toArray($result); + $data = []; + while ($row = self::fetch($result)) { + $data[] = $row; + } + DBA::close($result); + + return $data; } /**