diff options
| author | 2018-03-10 16:32:35 +0100 | |
|---|---|---|
| committer | 2018-03-10 16:32:35 +0100 | |
| commit | 2f98978f6def423c46fe668b57107b3019b7a744 (patch) | |
| tree | c4a342ee309f9d04eea97ddcde5ed5b6f4c9f76a /cli | |
| parent | 948b44ee1e90773ba11d00cb2d348224ee11bc97 (diff) | |
Improve error catching
Diffstat (limited to 'cli')
| -rw-r--r-- | cli/i18n/I18nData.php | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/cli/i18n/I18nData.php b/cli/i18n/I18nData.php index b8f958288..77e0e2993 100644 --- a/cli/i18n/I18nData.php +++ b/cli/i18n/I18nData.php @@ -49,7 +49,8 @@ class I18nData { * @throws Exception */ public function addKey($key, $value) { - if (array_key_exists($key, $this->data[static::REFERENCE_LANGUAGE][$this->getFilenamePrefix($key)])) { + if (array_key_exists($this->getFilenamePrefix($key), $this->data[static::REFERENCE_LANGUAGE]) && + array_key_exists($key, $this->data[static::REFERENCE_LANGUAGE][$this->getFilenamePrefix($key)])) { throw new Exception('The selected key already exist.'); } $this->data[static::REFERENCE_LANGUAGE][$this->getFilenamePrefix($key)][$key] = $value; @@ -67,7 +68,8 @@ class I18nData { if (!in_array($language, $this->getAvailableLanguages())) { throw new Exception('The selected language does not exist.'); } - if (!array_key_exists($key, $this->data[static::REFERENCE_LANGUAGE][$this->getFilenamePrefix($key)])) { + if (!array_key_exists($this->getFilenamePrefix($key), $this->data[static::REFERENCE_LANGUAGE]) || + !array_key_exists($key, $this->data[static::REFERENCE_LANGUAGE][$this->getFilenamePrefix($key)])) { throw new Exception('The selected key does not exist for the selected language.'); } $this->data[$language][$this->getFilenamePrefix($key)][$key] = $value; @@ -80,7 +82,8 @@ class I18nData { * @throws Exception */ public function duplicateKey($key) { - if (!array_key_exists($key, $this->data[static::REFERENCE_LANGUAGE][$this->getFilenamePrefix($key)])) { + if (!array_key_exists($this->getFilenamePrefix($key), $this->data[static::REFERENCE_LANGUAGE]) || + !array_key_exists($key, $this->data[static::REFERENCE_LANGUAGE][$this->getFilenamePrefix($key)])) { throw new Exception('The selected key does not exist.'); } $value = $this->data[static::REFERENCE_LANGUAGE][$this->getFilenamePrefix($key)][$key]; @@ -102,7 +105,8 @@ class I18nData { * @throws Exception */ public function removeKey($key) { - if (!array_key_exists($key, $this->data[static::REFERENCE_LANGUAGE][$this->getFilenamePrefix($key)])) { + if (!array_key_exists($this->getFilenamePrefix($key), $this->data[static::REFERENCE_LANGUAGE]) || + !array_key_exists($key, $this->data[static::REFERENCE_LANGUAGE][$this->getFilenamePrefix($key)])) { throw new Exception('The selected key does not exist.'); } foreach ($this->getAvailableLanguages() as $language) { |
