Fix SQL error during postupdate

This commit is contained in:
Michael 2018-05-11 09:20:59 +00:00
parent a2dbf17a3d
commit f9c695e78d
2 changed files with 10 additions and 4 deletions

View File

@ -120,7 +120,8 @@ class PostUpdate
logger("Start", LOGGER_DEBUG); logger("Start", LOGGER_DEBUG);
// Check if the first step is done (Setting "author-id" and "owner-id" in the item table) // 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) { if (!$r) {
// Are there unfinished entries in the thread table? // Are there unfinished entries in the thread table?
$r = q("SELECT COUNT(*) AS `total` FROM `thread` $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 // 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) { foreach ($item_arr as $item) {
$author_id = Contact::getIdForURL($item["author-link"]); $default = ['url' => $item['author-link'], 'name' => $item['author-name'],
$owner_id = Contact::getIdForURL($item["owner-link"]); '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) { if ($author_id == 0) {
$author_id = -1; $author_id = -1;

View File

@ -2047,7 +2047,7 @@ EOT;
$result = dba::update('thread', $fields, ['iid' => $itemid]); $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 // Updating a shadow item entry
$items = dba::selectFirst('item', ['id'], ['guid' => $item['guid'], 'uid' => 0]); $items = dba::selectFirst('item', ['id'], ['guid' => $item['guid'], 'uid' => 0]);