X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=update.php;h=a1343255bcb180aa5ebe1c6f098ea0ee497a5582;hb=437f96e57345639d5f455ec7e22db36b4ccca994;hp=6f796cd0fa692af7da80a0a8f36ac06068221fb3;hpb=9e1f03ca11ec5efc48c6f503ce16ea5df39c59af;p=friendica.git diff --git a/update.php b/update.php index 6f796cd0fa..a1343255bc 100644 --- a/update.php +++ b/update.php @@ -817,3 +817,87 @@ function update_1400() return Update::SUCCESS; } + +function pre_update_1403() +{ + // Necessary before a primary key change + if (!DBA::e("DROP TABLE `parsed_url`")) { + return Update::FAILED; + } + + return Update::SUCCESS; +} + +function update_1404() +{ + $tasks = DBA::select('workerqueue', ['id', 'command', 'parameter'], ['command' => ['notifier', 'delivery', 'apdelivery', 'done' => false]]); + while ($task = DBA::fetch($tasks)) { + $parameters = json_decode($task['parameter'], true); + + if (in_array($parameters[0], [Delivery::MAIL, Delivery::SUGGESTION, Delivery::REMOVAL, Delivery::RELOCATION])) { + continue; + } + + switch (strtolower($task['command'])) { + case 'notifier': + if (count($parameters) == 3) { + continue 2; + } + $item = DBA::selectFirst('item', ['uid', 'uri-id'], ['id' => $parameters[1]]); + if (!DBA::isResult($item)) { + continue 2; + } + + $parameters[1] = $item['uri-id']; + $parameters[2] = $item['uid']; + break; + case 'delivery': + if (count($parameters) == 4) { + continue 2; + } + $item = DBA::selectFirst('item', ['uid', 'uri-id'], ['id' => $parameters[1]]); + if (!DBA::isResult($item)) { + continue 2; + } + + $parameters[1] = $item['uri-id']; + $parameters[3] = $item['uid']; + break; + case 'apdelivery': + if (count($parameters) == 6) { + continue 2; + } + + if (empty($parameters[4])) { + $parameters[4] = []; + } + + $item = DBA::selectFirst('item', ['uri-id'], ['id' => $parameters[1]]); + if (!DBA::isResult($item)) { + continue 2; + } + + $parameters[5] = $item['uri-id']; + break; + default: + continue 2; + } + DBA::update('workerqueue', ['parameter' => json_encode($parameters)], ['id' => $task['id']]); + } +} + +function update_1407() +{ + if (!DBA::e("UPDATE `post` SET `causer-id` = NULL WHERE `causer-id` = 0")) { + return Update::FAILED; + } + if (!DBA::e("UPDATE `post-user` SET `causer-id` = NULL WHERE `causer-id` = 0")) { + return Update::FAILED; + } + if (!DBA::e("UPDATE `post-thread` SET `causer-id` = NULL WHERE `causer-id` = 0")) { + return Update::FAILED; + } + if (!DBA::e("UPDATE `post-thread-user` SET `causer-id` = NULL WHERE `causer-id` = 0")) { + return Update::FAILED; + } +}