Fixes languageCustomItemValue for "reseted" language items
authorMatthias Schmidt <gravatronics@live.com>
Sun, 5 Jan 2014 21:18:36 +0000 (22:18 +0100)
committerMatthias Schmidt <gravatronics@live.com>
Sun, 5 Jan 2014 21:18:36 +0000 (22:18 +0100)
If you use a custom version of language item, but don't want to use it anymore and don't want the custom version to be saved, you uncheck the "Use custom value" checkbox and leave the "Custom Value" textarea empty. This is the same state as the state of a never edited language item which is why the `languageCustomItemValue` value of the previously customized language item has to be `NULL` as it is for the never edited language item.

This fixes the number of custom phrases in the language table of LanguageListPage which currently counts all language items which ever had a custom value.

wcfsetup/install/files/lib/data/language/item/LanguageItemAction.class.php

index 793c5b839b9a94bf6b2c437fbe2110ad4d9aa640..4ba38efe846bf6cab76334b6ab450ba3509f31f5 100644 (file)
@@ -97,7 +97,7 @@ class LanguageItemAction extends AbstractDatabaseObjectAction {
                $editor = reset($this->objects);
                if ($editor->languageItemOriginIsSystem) {
                        $updateData = array(
-                               'languageCustomItemValue' => $this->parameters['languageCustomItemValue'],
+                               'languageCustomItemValue' => !$this->parameters['languageUseCustomValue'] && empty($this->parameters['languageCustomItemValue']) ? null : $this->parameters['languageCustomItemValue'],
                                'languageUseCustomValue' => ($this->parameters['languageUseCustomValue'] ? 1 : 0)
                        );
                }