X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=update.php;h=551d208fe4230500c86afc1b8748525e9248c340;hb=bb60ed40941c6b31d64abdf79bb257fd17177633;hp=819085f7ff2f5c6f1342d4f36c3a9e851997b039;hpb=2bda6980bbd36ef011e6c19502ea2a0fe3376d02;p=friendica.git diff --git a/update.php b/update.php index 819085f7ff..551d208fe4 100644 --- a/update.php +++ b/update.php @@ -49,6 +49,7 @@ use Friendica\Database\DBStructure; use Friendica\DI; use Friendica\Model\Contact; use Friendica\Model\Item; +use Friendica\Model\ItemURI; use Friendica\Model\Notification; use Friendica\Model\Photo; use Friendica\Model\Post; @@ -660,7 +661,7 @@ function update_1380() function pre_update_1395() { - if (DBStructure::existsTable('post-user') && !DBA::e("DROP TABLE `post-user`")) { + if (DBStructure::existsTable('post-user') && !DBStructure::existsColumn('post-user', ['id']) && !DBA::e("DROP TABLE `post-user`")) { return Update::FAILED; } return Update::SUCCESS; @@ -834,7 +835,7 @@ function update_1404() while ($task = DBA::fetch($tasks)) { $parameters = json_decode($task['parameter'], true); - if (in_array($parameters[0], [Delivery::MAIL, Delivery::SUGGESTION, Delivery::REMOVAL, Delivery::RELOCATION])) { + if (is_array($parameters) && count($parameters) && in_array($parameters[0], [Delivery::MAIL, Delivery::SUGGESTION, Delivery::REMOVAL, Delivery::RELOCATION])) { continue; } @@ -912,3 +913,31 @@ function update_1413() return Update::FAILED; } } + +function update_1419() +{ + $mails = DBA::select('mail', ['id', 'from-url', 'uri', 'parent-uri', 'guid'], [], ['order' => ['id']]); + while ($mail = DBA::fetch($mails)) { + $fields = []; + $fields['author-id'] = Contact::getIdForURL($mail['from-url'], 0, false); + if (empty($fields['author-id'])) { + continue; + } + + $fields['uri-id'] = ItemURI::insert(['uri' => $mail['uri'], 'guid' => $mail['guid']]); + $fields['parent-uri-id'] = ItemURI::getIdByURI($mail['parent-uri']); + + $reply = DBA::selectFirst('mail', ['uri', 'uri-id', 'guid'], ['parent-uri' => $mail['parent-uri'], 'reply' => false]); + if (!empty($reply)) { + $fields['thr-parent'] = $reply['uri']; + if (!empty($reply['uri-id'])) { + $fields['thr-parent-id'] = $reply['uri-id']; + } else { + $fields['thr-parent-id'] = ItemURI::insert(['uri' => $reply['uri'], 'guid' => $reply['guid']]); + } + } + + DBA::update('mail', $fields, ['id' => $mail['id']]); + } + return Update::SUCCESS; +}