From d59a4c63db918d8500c2175dbac5e30cb2a30759 Mon Sep 17 00:00:00 2001 From: Matias Griese Date: Wed, 1 Dec 2021 14:57:27 +0200 Subject: [PATCH] Added `translated()` method to `PageTranslateInterface` --- CHANGELOG.md | 1 + .../Grav/Common/Flex/Types/Pages/PageObject.php | 15 ++++++--------- .../Page/Interfaces/PageTranslateInterface.php | 5 +++++ .../Flex/Pages/Traits/PageTranslateTrait.php | 8 ++++++++ 4 files changed, 20 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4b8e2b183..49a9d1882 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ 1. [](#new) * Made `Grav::redirect()` to accept `Route` class + * Added `translated()` method to `PageTranslateInterface` 2. [](#improved) * Upgraded vendor libs for PHP 8.1 compatibility * Upgraded to **composer v2.1.14** for PHP 8.1 compatibility diff --git a/system/src/Grav/Common/Flex/Types/Pages/PageObject.php b/system/src/Grav/Common/Flex/Types/Pages/PageObject.php index 4c83f959b..9d8e1b62e 100644 --- a/system/src/Grav/Common/Flex/Types/Pages/PageObject.php +++ b/system/src/Grav/Common/Flex/Types/Pages/PageObject.php @@ -25,9 +25,9 @@ use Grav\Common\Page\Pages; use Grav\Common\User\Interfaces\UserInterface; use Grav\Common\Utils; use Grav\Framework\Filesystem\Filesystem; -use Grav\Framework\Flex\FlexObject; use Grav\Framework\Flex\Interfaces\FlexObjectInterface; use Grav\Framework\Flex\Pages\FlexPageObject; +use Grav\Framework\Object\ObjectCollection; use Grav\Framework\Route\Route; use Grav\Framework\Route\RouteFactory; use Grav\Plugin\Admin\Admin; @@ -93,11 +93,6 @@ class PageObject extends FlexPageObject } } - public function translated(): bool - { - return $this->translatedLanguages(true) ? true : false; - } - /** * @param string|array $query * @return Route|null @@ -282,7 +277,7 @@ class PageObject extends FlexPageObject /** * @param array|bool $reorder - * @return FlexObject|FlexObjectInterface + * @return static */ public function save($reorder = true) { @@ -317,7 +312,7 @@ class PageObject extends FlexPageObject } /** - * @return PageObject + * @return static */ public function delete() { @@ -466,7 +461,9 @@ class PageObject extends FlexPageObject if ($isMoved && $this->order() !== false) { $parentKey = $this->getProperty('parent_key'); if ($parentKey === '') { - $newParent = $this->getFlexDirectory()->getIndex()->getRoot(); + /** @var PageIndex $index */ + $index = $this->getFlexDirectory()->getIndex(); + $newParent = $index->getRoot(); } else { $newParent = $this->getFlexDirectory()->getObject($parentKey, 'storage_key'); if (!$newParent instanceof PageInterface) { diff --git a/system/src/Grav/Common/Page/Interfaces/PageTranslateInterface.php b/system/src/Grav/Common/Page/Interfaces/PageTranslateInterface.php index be7ba15de..5fba7512c 100644 --- a/system/src/Grav/Common/Page/Interfaces/PageTranslateInterface.php +++ b/system/src/Grav/Common/Page/Interfaces/PageTranslateInterface.php @@ -7,6 +7,11 @@ namespace Grav\Common\Page\Interfaces; */ interface PageTranslateInterface { + /** + * @return bool + */ + public function translated(): bool; + /** * Return an array with the routes of other translated languages * diff --git a/system/src/Grav/Framework/Flex/Pages/Traits/PageTranslateTrait.php b/system/src/Grav/Framework/Flex/Pages/Traits/PageTranslateTrait.php index 877fec10e..0ce0d7308 100644 --- a/system/src/Grav/Framework/Flex/Pages/Traits/PageTranslateTrait.php +++ b/system/src/Grav/Framework/Flex/Pages/Traits/PageTranslateTrait.php @@ -26,6 +26,14 @@ trait PageTranslateTrait /** @var PageInterface[] */ private $_translations = []; + /** + * @return bool + */ + public function translated(): bool + { + return (bool)$this->translatedLanguages(true); + } + /** * @param string|null $languageCode * @param bool|null $fallback