From b3c2e47b4285dee57e0a2fe7e901b2194ea67020 Mon Sep 17 00:00:00 2001 From: Josh Crawford Date: Wed, 12 Aug 2020 18:09:31 +1000 Subject: [PATCH] version 3.0.13.1 --- CHANGELOG.md | 5 ++++ composer.json | 2 +- .../m200812_000000_fix_layoutid.php | 24 ++++++++++--------- .../m200812_100000_layout_sortorder.php | 8 ++++--- 4 files changed, 24 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b3e1d0c..30057af 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## 3.0.13.1 - 2020-08-12 + +### Fixed +- Fixed potential issue with migration. + ## 3.0.13 - 2020-08-12 ### Added diff --git a/composer.json b/composer.json index d029b2c..bb9c94f 100644 --- a/composer.json +++ b/composer.json @@ -2,7 +2,7 @@ "name": "verbb/cp-nav", "description": "Control Panel Nav helps you managing your Control Panel navigation.", "type": "craft-plugin", - "version": "3.0.13", + "version": "3.0.13.1", "keywords": [ "craft", "cms", diff --git a/src/migrations/m200812_000000_fix_layoutid.php b/src/migrations/m200812_000000_fix_layoutid.php index 9066a70..cf65b5e 100644 --- a/src/migrations/m200812_000000_fix_layoutid.php +++ b/src/migrations/m200812_000000_fix_layoutid.php @@ -31,22 +31,24 @@ public function safeUp() // Remove `layoutId` and add `layout` for its UID $navs = Craft::$app->getProjectConfig()->get(NavigationsService::CONFIG_NAVIGATION_KEY); - foreach ($navs as $navUid => $nav) { - $layoutId = ArrayHelper::remove($nav, 'layoutId'); + if (is_array($navs)) { + foreach ($navs as $navUid => $nav) { + $layoutId = ArrayHelper::remove($nav, 'layoutId'); - if (!$layoutId) { - continue; - } + if (!$layoutId) { + continue; + } - $layout = CpNav::$plugin->getLayouts()->getLayoutById($layoutId); + $layout = CpNav::$plugin->getLayouts()->getLayoutById($layoutId); - if (!$layout) { - continue; - } + if (!$layout) { + continue; + } - $nav['layout'] = $layout->uid; + $nav['layout'] = $layout->uid; - Craft::$app->getProjectConfig()->set(NavigationsService::CONFIG_NAVIGATION_KEY . '.' . $navUid, $nav); + Craft::$app->getProjectConfig()->set(NavigationsService::CONFIG_NAVIGATION_KEY . '.' . $navUid, $nav); + } } return true; diff --git a/src/migrations/m200812_100000_layout_sortorder.php b/src/migrations/m200812_100000_layout_sortorder.php index c429e81..0cac8d6 100644 --- a/src/migrations/m200812_100000_layout_sortorder.php +++ b/src/migrations/m200812_100000_layout_sortorder.php @@ -37,10 +37,12 @@ public function safeUp() $sortOrder = 0; - foreach ($layouts as $layoutUid => $layout) { - $layout['sortOrder'] = ++$sortOrder; + if (is_array($layouts)) { + foreach ($layouts as $layoutUid => $layout) { + $layout['sortOrder'] = ++$sortOrder; - Craft::$app->getProjectConfig()->set(LayoutsService::CONFIG_LAYOUT_KEY . '.' . $layoutUid, $layout); + Craft::$app->getProjectConfig()->set(LayoutsService::CONFIG_LAYOUT_KEY . '.' . $layoutUid, $layout); + } } return true;