From f9c695e78d6353abc4da6dfd8d1bd7f5a3731b13 Mon Sep 17 00:00:00 2001 From: Michael Date: Fri, 11 May 2018 09:20:59 +0000 Subject: [PATCH] Fix SQL error during postupdate --- src/Database/PostUpdate.php | 12 +++++++++--- src/Model/Item.php | 2 +- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/Database/PostUpdate.php b/src/Database/PostUpdate.php index e4bfa710a..13da43779 100644 --- a/src/Database/PostUpdate.php +++ b/src/Database/PostUpdate.php @@ -120,7 +120,8 @@ class PostUpdate logger("Start", LOGGER_DEBUG); // Check if the first step is done (Setting "author-id" and "owner-id" in the item table) - $r = dba::select('item', ['author-link', 'owner-link', 'uid'], ['author-id' => 0, 'owner-id' => 0], ['limit' => 1000]); + $fields = ['author-link', 'author-name', 'author-avatar', 'owner-link', 'owner-name', 'owner-avatar', 'network', 'uid']; + $r = dba::select('item', $fields, ['author-id' => 0, 'owner-id' => 0], ['limit' => 1000]); if (!$r) { // Are there unfinished entries in the thread table? $r = q("SELECT COUNT(*) AS `total` FROM `thread` @@ -162,8 +163,13 @@ class PostUpdate // Set the "author-id" and "owner-id" in the item table and add a new public contact entry if needed foreach ($item_arr as $item) { - $author_id = Contact::getIdForURL($item["author-link"]); - $owner_id = Contact::getIdForURL($item["owner-link"]); + $default = ['url' => $item['author-link'], 'name' => $item['author-name'], + 'photo' => $item['author-avatar'], 'network' => $item['network']]; + $author_id = Contact::getIdForURL($item["author-link"], 0, false, $default); + + $default = ['url' => $item['owner-link'], 'name' => $item['owner-name'], + 'photo' => $item['owner-avatar'], 'network' => $item['network']]; + $owner_id = Contact::getIdForURL($item["owner-link"], 0, false, $default); if ($author_id == 0) { $author_id = -1; diff --git a/src/Model/Item.php b/src/Model/Item.php index b67ad8da4..01a0b7497 100644 --- a/src/Model/Item.php +++ b/src/Model/Item.php @@ -2047,7 +2047,7 @@ EOT; $result = dba::update('thread', $fields, ['iid' => $itemid]); - logger("Update thread for item ".$itemid." - guid ".$item["guid"]." - ".(int)$result." ".print_r($item, true), LOGGER_DEBUG); + logger("Update thread for item ".$itemid." - guid ".$item["guid"]." - ".(int)$result, LOGGER_DEBUG); // Updating a shadow item entry $items = dba::selectFirst('item', ['id'], ['guid' => $item['guid'], 'uid' => 0]);