diff --git a/CHANGELOG.md b/CHANGELOG.md index 74030e08d..01e7d8cbe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,12 @@ +# v1.7.0-rc.1 +## mm/dd/2019 + +1. [](#bugfix) + * Fixed `Page::untranslatedLanguages()` not being symmetrical to `Page::translatedLanguages()` + # v1.7.0-beta.10 ## 10/03/2019 -1. [](#new) 1. [](#improved) * Flex: Removed extra exists check when creating object (messes up "non-existing" pages) * Support customizable null character replacement in `CSVFormatter::decode()` diff --git a/system/src/Grav/Common/Page/Page.php b/system/src/Grav/Common/Page/Page.php index 67b10023f..e8c761613 100644 --- a/system/src/Grav/Common/Page/Page.php +++ b/system/src/Grav/Common/Page/Page.php @@ -245,38 +245,9 @@ class Page implements PageInterface $language = $grav['language']; $languages = $language->getLanguages(); - $defaultCode = $language->getDefault(); + $translated = array_keys($this->translatedLanguages(!$includeUnpublished)); - $name = substr($this->name, 0, -strlen($this->extension())); - $untranslatedLanguages = []; - - foreach ($languages as $languageCode) { - $path = $this->path . DS . $this->folder . DS . $name . '.' . $languageCode . '.md'; - $exists = file_exists($path); - - // Default language may be saved without language file location. - if (!$exists && $languageCode === $defaultCode) { - $path = $this->path . DS . $this->folder . DS . $name . '.md'; - $exists = file_exists($path); - } - - if ($exists) { - if ($includeUnpublished) { - continue; - } - - $aPage = new Page(); - $aPage->init(new \SplFileInfo($path), $languageCode . '.md'); - - if (!$aPage->published()) { - continue; - } - } - - $untranslatedLanguages[] = $languageCode; - } - - return $untranslatedLanguages; + return array_values(array_diff($languages, $translated)); } /**