diff --git a/wire/core/PageTraversal.php b/wire/core/PageTraversal.php index a6dfe982..05c1bddf 100644 --- a/wire/core/PageTraversal.php +++ b/wire/core/PageTraversal.php @@ -606,7 +606,7 @@ class PageTraversal { */ public function urlOptions(Page $page, $options = array()) { - $config = $page->wire('config'); + $config = $page->wire()->config; $template = $page->template; $defaults = array( @@ -615,7 +615,7 @@ class PageTraversal { 'data' => array(), 'urlSegmentStr' => is_string($options) ? $options : '', 'urlSegments' => array(), - 'language' => is_object($options) && $options instanceof Page && $options->className() === 'Language' ? $options : null, + 'language' => is_object($options) && wireInstanceOf($options, 'Language') ? $options : null, ); if(empty($options)) { @@ -625,7 +625,7 @@ class PageTraversal { } $options = is_array($options) ? array_merge($defaults, $options) : $defaults; - $sanitizer = $page->wire('sanitizer'); + $sanitizer = $page->wire()->sanitizer; $language = null; $url = null; diff --git a/wire/modules/LanguageSupport/LanguageSupportPageNames.module b/wire/modules/LanguageSupport/LanguageSupportPageNames.module index 9fac658d..53daa8cd 100644 --- a/wire/modules/LanguageSupport/LanguageSupportPageNames.module +++ b/wire/modules/LanguageSupport/LanguageSupportPageNames.module @@ -894,13 +894,18 @@ class LanguageSupportPageNames extends WireData implements Module, ConfigurableM /** @var array $extraData */ $extraData = $event->return; - $alwaysActiveTypes = array('User', 'Role', 'Permission', 'Language'); + $alwaysActiveTypes = array( + 'User', 'UserPage', + 'Role', 'RolePage', + 'Permission', 'PermissionPage', + 'Language', 'LanguagePage', + ); $pageNameCharset = $this->wire('config')->pageNameCharset; $isCloning = $pages->editor()->isCloning(); if(!is_array($extraData)) $extraData = array(); - foreach($this->wire('languages') as $language) { + foreach($this->wire()->languages as $language) { if($language->isDefault()) continue; $language_id = (int) $language->id; diff --git a/wire/modules/LanguageSupport/Languages.php b/wire/modules/LanguageSupport/Languages.php index 4d9c711d..a854539d 100644 --- a/wire/modules/LanguageSupport/Languages.php +++ b/wire/modules/LanguageSupport/Languages.php @@ -138,7 +138,9 @@ class Languages extends PagesType { * */ public function getPageClass() { - return 'Language'; + if($this->pageClass) return $this->pageClass; + $this->pageClass = class_exists(__NAMESPACE__ . "\\LanguagePage") ? 'LanguagePage' : 'Language'; + return $this->pageClass; } /** diff --git a/wire/modules/Process/ProcessPageEdit/ProcessPageEdit.module b/wire/modules/Process/ProcessPageEdit/ProcessPageEdit.module index b1424ee7..2cc360b5 100644 --- a/wire/modules/Process/ProcessPageEdit/ProcessPageEdit.module +++ b/wire/modules/Process/ProcessPageEdit/ProcessPageEdit.module @@ -324,10 +324,10 @@ class ProcessPageEdit extends Process implements WirePageEditor, ConfigurableMod * */ protected $otherCorePageClasses = array( - 'User', - 'Role', - 'Permission', - 'Language' + 'User', 'UserPage', + 'Role', 'RolePage', + 'Permission', 'PermissionPage', + 'Language', 'LanguagePage', ); /***********************************************************************************************************************