From c03455af1161befa404ed8759ca55b63bbf593a2 Mon Sep 17 00:00:00 2001 From: ArthurHoaro Date: Sat, 4 Feb 2017 12:01:48 +0100 Subject: [PATCH] Fixes #775: LinkDB do not access LinkDB before ID system migration To access LinkDB items with its ArrayAccess implementation, the IDs must be consistent, which isn't the case before `updateMethodDatastoreIds()` execution. v0.6.4 method `updateMethodRenameDashTags()` was accessing it, so an upgrade <0.6.4 to >0.8.x was failing. This just move the minor update `RenameDashTags` after the IDs update. --- application/Updater.php | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/application/Updater.php b/application/Updater.php index eb03c6d3..90aba745 100644 --- a/application/Updater.php +++ b/application/Updater.php @@ -132,21 +132,6 @@ public function updateMethodMergeDeprecatedConfigFile() return true; } - /** - * Rename tags starting with a '-' to work with tag exclusion search. - */ - public function updateMethodRenameDashTags() - { - $linklist = $this->linkDB->filterSearch(); - foreach ($linklist as $key => $link) { - $link['tags'] = preg_replace('/(^| )\-/', '$1', $link['tags']); - $link['tags'] = implode(' ', array_unique(LinkFilter::tagsStrToArray($link['tags'], true))); - $this->linkDB[$key] = $link; - } - $this->linkDB->save($this->conf->get('resource.page_cache')); - return true; - } - /** * Move old configuration in PHP to the new config system in JSON format. * @@ -257,6 +242,21 @@ public function updateMethodDatastoreIds() return true; } + /** + * Rename tags starting with a '-' to work with tag exclusion search. + */ + public function updateMethodRenameDashTags() + { + $linklist = $this->linkDB->filterSearch(); + foreach ($linklist as $key => $link) { + $link['tags'] = preg_replace('/(^| )\-/', '$1', $link['tags']); + $link['tags'] = implode(' ', array_unique(LinkFilter::tagsStrToArray($link['tags'], true))); + $this->linkDB[$key] = $link; + } + $this->linkDB->save($this->conf->get('resource.page_cache')); + return true; + } + /** * Initialize API settings: * - api.enabled: true