From 929455bd01d58c3cb576fa1d283f613b5d296ca6 Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 19 May 2020 20:28:27 +0000 Subject: [PATCH 1/3] Update the "vid" --- static/dbstructure.config.php | 2 +- update.php | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/static/dbstructure.config.php b/static/dbstructure.config.php index dd1528a2f..512002f25 100755 --- a/static/dbstructure.config.php +++ b/static/dbstructure.config.php @@ -54,7 +54,7 @@ use Friendica\Database\DBA; if (!defined('DB_UPDATE_VERSION')) { - define('DB_UPDATE_VERSION', 1348); + define('DB_UPDATE_VERSION', 1349); } return [ diff --git a/update.php b/update.php index 4b719682a..48d44813b 100644 --- a/update.php +++ b/update.php @@ -474,3 +474,28 @@ function update_1348() return Update::SUCCESS; } + +function update_1349() +{ + $correct = true; + foreach (Item::ACTIVITIES as $index => $activity) { + if (!DBA::exists('verb', ['id' => $index + 1, 'name' => $activity])) { + $correct = false; + } + } + + if (!$correct) { + // The update failed - but it cannot be recovered, since the data doesn't match our expectation + // This means that we can't use this "shortcut" to fill the "vid" field and we have to rely upon + // the postupdate. This is not fatal, but means that it will take some longer time for the system + // to fill all data. + return Update::SUCCESS; + } + + if (!DBA::e("UPDATE `item` INNER JOIN `item-activity` ON `item`.`uri-id` = `item-activity`.`uri-id` + SET `vid` = `item-activity`.`activity` + 1 WHERE `gravity` = ? AND (`vid` IS NULL OR `vid` = 0)", GRAVITY_ACTIVITY)) { + return Update::FAILED; + } + + return Update::SUCCESS; +} \ No newline at end of file From eeda115e32a9798116cfa506d4bc23a744d8a9ac Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 19 May 2020 20:32:15 +0000 Subject: [PATCH 2/3] Adding some more verb handling --- src/Model/Item.php | 4 ++-- src/Model/Verb.php | 22 +++++++++++++++++++++- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/src/Model/Item.php b/src/Model/Item.php index 006c70860..14e6d02ba 100644 --- a/src/Model/Item.php +++ b/src/Model/Item.php @@ -94,7 +94,7 @@ class Item // All fields in the item table const ITEM_FIELDLIST = ['id', 'uid', 'parent', 'uri', 'parent-uri', 'thr-parent', - 'guid', 'uri-id', 'parent-uri-id', 'thr-parent-id', + 'guid', 'uri-id', 'parent-uri-id', 'thr-parent-id', 'vid', 'contact-id', 'type', 'wall', 'gravity', 'extid', 'icid', 'iaid', 'psid', 'created', 'edited', 'commented', 'received', 'changed', 'verb', 'postopts', 'plink', 'resource-id', 'event-id', 'attach', 'inform', @@ -669,7 +669,7 @@ class Item $fields = []; $fields['item'] = ['id', 'uid', 'parent', 'uri', 'parent-uri', 'thr-parent', - 'guid', 'uri-id', 'parent-uri-id', 'thr-parent-id', + 'guid', 'uri-id', 'parent-uri-id', 'thr-parent-id', 'vid', 'contact-id', 'owner-id', 'author-id', 'type', 'wall', 'gravity', 'extid', 'created', 'edited', 'commented', 'received', 'changed', 'psid', 'resource-id', 'event-id', 'attach', 'post-type', 'file', diff --git a/src/Model/Verb.php b/src/Model/Verb.php index 46b306c1d..570c62d84 100644 --- a/src/Model/Verb.php +++ b/src/Model/Verb.php @@ -33,7 +33,7 @@ class Verb * @return integer verb id * @throws \Exception */ - public static function getID($verb) + public static function getID(string $verb) { if (empty($verb)) { return 0; @@ -48,4 +48,24 @@ class Verb return DBA::lastInsertId(); } + + /** + * Return verb name for the given ID + * + * @param integer $id + * @return string verb + */ + public static function getbyID(int $id) + { + if (empty($id)) { + return ''; + } + + $verb_record = DBA::selectFirst('verb', ['name'], ['id' => $id]); + if (!DBA::isResult($verb_record)) { + return ''; + } + + return $verb_record['name']; + } } From b7b6fae389bbd33b173d4c305f05a3741cec2294 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Tue, 19 May 2020 22:42:01 +0200 Subject: [PATCH 3/3] Update src/Model/Verb.php Co-authored-by: Hypolite Petovan --- src/Model/Verb.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Model/Verb.php b/src/Model/Verb.php index 570c62d84..759c1b0f2 100644 --- a/src/Model/Verb.php +++ b/src/Model/Verb.php @@ -55,7 +55,7 @@ class Verb * @param integer $id * @return string verb */ - public static function getbyID(int $id) + public static function getByID(int $id) { if (empty($id)) { return '';