mirror of
https://github.com/processwire/processwire.git
synced 2025-08-13 10:15:28 +02:00
Fix issue processwire/processwire-issues#456
This commit is contained in:
@@ -909,7 +909,7 @@ class Page extends WireData implements \Countable, WireMatchable {
|
|||||||
// if the page is currently loading from the database, we assume that any set values are 'raw' and need to be woken up
|
// if the page is currently loading from the database, we assume that any set values are 'raw' and need to be woken up
|
||||||
if(!$this->isLoaded) {
|
if(!$this->isLoaded) {
|
||||||
// queue for wakeup and sanitize on first field access
|
// queue for wakeup and sanitize on first field access
|
||||||
$this->wakeupNameQueue[$field->name] = $field->name;
|
$this->wakeupNameQueue[$key] = $key;
|
||||||
// page is currently loading, so we don't need to continue any further
|
// page is currently loading, so we don't need to continue any further
|
||||||
return parent::set($key, $value);
|
return parent::set($key, $value);
|
||||||
}
|
}
|
||||||
|
@@ -37,14 +37,16 @@ class FieldtypeTextLanguage extends FieldtypeText implements FieldtypeLanguageIn
|
|||||||
// great, already what we wanted
|
// great, already what we wanted
|
||||||
} else {
|
} else {
|
||||||
// convert it to a LanguagesPageFieldValue
|
// convert it to a LanguagesPageFieldValue
|
||||||
$pageValue = $page->getUnformatted($field->name);
|
$pageValue = $page->data($field->name); // raw unformatted value, with no load possible
|
||||||
if(!$pageValue instanceof LanguagesPageFieldValue) {
|
if(!$pageValue instanceof LanguagesPageFieldValue) {
|
||||||
$pageValue = new LanguagesPageFieldValue($page, $field, $pageValue); // #98
|
$pageValue = new LanguagesPageFieldValue($page, $field, $pageValue); // #98
|
||||||
}
|
}
|
||||||
if(is_array($value)) {
|
if(is_array($value)) {
|
||||||
$pageValue->importArray($value);
|
$pageValue->importArray($value);
|
||||||
} else {
|
} else {
|
||||||
$pageValue->setLanguageValue($this->wire('user')->language->id, (string) $value);
|
$user = $this->wire('user');
|
||||||
|
$language = $user ? $user->language : null;
|
||||||
|
if($language) $pageValue->setLanguageValue($language->id, (string) $value);
|
||||||
}
|
}
|
||||||
$value = $pageValue;
|
$value = $pageValue;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user